Naja.
Tabelle PrivilegeCaptions: PrivilegeID int, Caption varchar(255), PRIMARY KEY PrivilegeID autoincrement;
Ordnet jedem recht, das durch eine zahl identifiziert ist, eine beschreibung zu.
Tabelle Privileges: UserID int, Privilege int
Ordnet einzelnen usern einzelne rechte zu.
Tabelle ProfileLinks: UserID int, PrivilegeProfile int
Ordnet einzelnen usern Profile zu
Tabelle Profiles: ProfileID int, Privilege int
Ordnet einzelnen profilen rechte zu.
So könnte man es machen, ist aber so normalisiert, dass die einfache frage, "darf user $userid eine aktion ausführen, die das recht $privilege erfordert" einiges an logik über der
DB erfordert. (also anwendungscode oder SP)