User table design approach

Looking for advice about how to best create tables of users and groups.

For example, I have been expanding the users table to go way beyond name, email, role. I’m building a lesson managment app so i have all sorts of related info like the name of the student’s parents, when the lesson start time is, which lessons have been favorited by the student, etc.

So my question is - is it a best practice to centralize and expand the users table or is it cleaner to store a minimal set of columns in this table and create separate tables for students, parents, followers etc?

I have found that its easy to grab related data from user profile > but I don’t get the same access when I create table specific columns in broken out tables (e.g. parents)

Is it a best practice to use data in the users table to update the broken out tables - which results in data getting replicated in multiple tables?

I realize this is a topic with many nuances that may be better addressed with more details but I am hopeful that there is a general best practice for this topic in the Glide community. I looked at posts and in glide university but couldnt find anything specific.

Thanks

I would recommend watching the below video on Database Normalisation.
Most of the rules described can be directly applied to Glide database design.

2 Likes