mySQL: Rechtematrix vernünftig in DB ablegen?!

BeaTBoxX

Erfahrenes Mitglied
Hallo zusammen,

ich bräuchte mal wieder ein bisschen Hilfe bitte :)

Ich habe eine Seite deren Inhalt vielfach kategorisiert ist.
Weiter hab ich eine Tablel fuer die User.
Bis jetzt sind die Zugriffsrechte für die Benutzer so gelöst, dass fuer jede Kategorie in der Usertabelle eine Spalte existiert, in der eben ein Ja oder Nein drin steht(bzw 1 oder 0).
Mit anlegen neuer Kategorien wird eben die Usertabelle immer breiter und breiter.

Nun meine Frage:

Ist es sinnvoller für die Rechte eine eigene Tabelle zu erstellen?
Die würde dann meines Erachtens so aussehen:

Code:
Kategorie        user     read     write
A                    1         1         0
B                    1         1         1
B                    2         0         0


usw..

Oder gibt es eine noch geschicktere Lösung die Zugriffsinformationen effizient unterzubringen?


Danke

Gruß
Frank
 
Zuletzt bearbeitet:
Aufsummieren der Rechte halte ich für sinnvoller

1 = lesen
2 = schreiben
4 = ausführen

1+2 = 3 ==> lesen/schreiben
1+4 = 5 ==> lesen/ausführen
2+4 = 6 ==> schreiben/ausführen
1+2+4 = 7 ==> lesen/schreiben/ausführen

==> Ergebnis: weniger Zeilen, weniger Spalten
 
Grundsätzlich (da relationale Datenbank ;-) ):

Alles was ein eigenes Thema ist => eigene Tabelle.

Realität:

Kommt immer drauf an, wie das ganze dann genutzt wird.


Wenn es mehrere Kategorien werden können (im Laufe der Zeit) oder von vornherein sehr viele sind, dann würd ich's auf jeden Fall auslagern.

Sinds aber nur 3 und werden auch nicht mehr, dann kannst du s auch zu den Userdaten packen
 
Nein dafür sinds zu viele..

SO geschätzt mal :

5 Bereiche a 15 Hauptkategorien a jeweils ca 25 Subkategorien. (hat sich nun nach der Erweiterung rausgestellt.) Deswegen hab ich das hier ja auch gefragt :)

Danke dir! :)

Gruß
Frank
 
Zurück