JOINs
to complete a query using multiple tables.
SELECT
the redundant table instead of doing a join on the original tables.List out each set of core objects you want to track data for, e.g. users, logs, etc. Make a table for each one.
Make unique columns in each table, for the data you want to track.
Model the relationships between your tables.
Implement the relationships.
For One-to-One relationships: Add one object as a column in the other object’s table.
Many
table, pointing to the primary key of the One
table. 

Walk through all the actions that’ll happen during a user’s operation of the app.