Database Design Question
Posted on 2005-04-24
I wanted to see if someone could suggest a good solution to the problem I am having.
The goal is to store menu settings in my database so a user or myself can turn off certain "windows" and links within those windows off and on.
So say we have three user types.
UserTypeA, UserTypeB, UserTypeC
In our app we have a right navigation menu made up of content windows basically boxes with sublinks titled:
Users & Groups
Based on a users role/permission we first need to decide which window's they see (Reports, Users & Groups, etc) then within each "content window" there may be a given set of sublinks. So two users may have "Users & Groups" window available, but one user might see "add user" and "delete user" while user # 2 would just see "add User".
I need to have the ability to store these settings in the database. We have a "Preferences" section in our app and I want to allow the user to check boxes that determine what they want to show or dont show. This way a user checks or unchecks some boxes and then hits save and its stored into the database, so next time they login I can pull this info from the db and display the menu as they want it..
So to start I created a table called MenuOptions with a structure like:
MenuOptionID INT PK
UserID INT FK
I am not sure how to handle the sublink part in my database. The "Reports" option in my table can have 3-4 sublinks that I display in the UI, I need to somehow relate that option in the above table to a set of sub-options if that makes sense.
Any help appreciated