I’m working on a new project that has a reasonably simple structure:
-
Organizations table
-
People table where employees and clients are tagged as such
-
Employees: can belong to one organization, can see all of their client records, but not all org level clients
-
Clients: have a one-to-one relationship with an employee and organization
-
Meta Data: 5 or 6 other tables with various data like courses, assessments, task list etc
-
an org admin can see everything about all of their clients
-
an employee can see everything about the clients they’ve been assigned to (and they can add courses, - assessments, tasks etc, to a client profile)
-
a client can see their own stuff only
Basically the approach I was thinking of was to create join tables for all of the meta data tables like this:
PeopleCourses:
- PersonID (links to people table)
- Course ID ( links to courses table)
- ShowToEmployee (links to people table)
- ShowInOrganizationDashboard (links to Org table)
I’ll be using Stacker for the front end so I’m a bit limited with using views and filtering with dynamic variables.