Database structure

Hello everyone,
I’m making an app for 3 different customers, they all have languages centers. I have many tables: Languages, Groups, Teachers, Classrooms, Students, Parents, Attendances, … etc

My first try: I made the app and it’s worked, and then I made 3 copies, one for each center, and then I thought if I will get more customers, do I need to make a copy each time ? and if I want to update the app, do I need to do it separately for each customer ? … it’s not a good idea at all.

My second try which is more better than the first one: I have added a column “Center ID” in every single table of the app and added for each table “Security Filters” to filter the tables by “Center ID” so each customer sees only his data, and then I got scared when I saw this:

The question is: am I doing right with adding the column “Center ID” in every single table ? or there is a better way to do it to achieve the same result “every customer sees only his data”.

I appreciate your help, thank you.

It’s a good approach. You might also try partitioning:

2 Likes

Thank you @Steve, so I will continue with my approach.
The partitioning needs the Business plan and I want to stay in Pro plan for the moment.
Thanks again

1 Like