Manchmal liegts auch daran das sie die Leute sich nicht klar sind was der Autor eines Threads von Ihnen will. Ich mußte jetzt auch erstmal ne Weile überlegen weil ich mit der Ausführung so wirklich nichts anfangen konnte.
Das erstes suche ich mir mal einen realen bezug zu diesem Diagramm und weils so schön passt nehmen wir mal dieses Forum dazu denn hier findest du genau dieses Diagramm, wenn auch in anderer Form als Datenbank wieder.
Als erstes schauen wir uns mal
"berechtigt" an, wie sieht das in bezug auf die Nutzer des Forums aus... es gibt User, Moderatoren und Administratoren, jeder hat eine bestimmte berechtigung in einem Forum.
Administrator:
- kann überall schreiben
- kann jeden Beitrag editieren
- kann jeden Thread verschieben, löschen
Moderator:
- kann überall schreiben
- kann in seinen moderierten Foren Beiträge editieren
- kann in seinen moderierten Foren Threads verschieben aber nicht löschen
User:
- kann nur wo das Forum es ihm erlaubt schreiben (Bsp. keine News)
- kann nur seine eigenen Beiträge editieren
- kann keinen Thread verschieben oder löschen
Das müssen wir jetzt auf deine Tabelle
"berechtigt" in etwa so anwenden, bedeutet das in dieser Tabelle geregelt wird welche Zugriffs- & Bearbeitungs-Rechte der
"User" auf
"Thema" und auf
"Unterthema" hat. Ich könnte mir das in etwa so vorstellen:
Code:
Bsp. Tabelle "berechtigung":
| BID | UID | TID | UTID | view_TID | view_UTID | edit_TID | edit_UTID |
Bsp. Daten für "berechtigung":
| 1 | 1 | 2 | 5 | true | true | false | false |
In diesem Beispiel hätte der User das Recht
Thema 2 sowie
Unterthema 5 anzuschauen aber nicht sie zu bearbeiten. Ich denke soweit sollte das klar sein.
Ok, kommen wir zu
"beinhaltet", das ist in etwa das gleiche Schema wie eben nur das hier, wenn ich das richtig interpretieren das
Unterthema dem
Thema zugeordnet wird. Hier kann man sich wieder das Forum als Vorbild nehmen, es gibt die Hauptforen und die Unterforen und irgendwo muß ja festgelegt werden das das PHP-Forum zu Programming gehört.
Das könnte ich mir so vorstellen:
Code:
Bsp. Tabelle "beinhaltet":
| BID | TID | UTID |
Bsp. Daten für "beinhaltet":
| 1 | 1 | 3 |
| 2 | 1 | 7 |
| 3 | 2 | 4 |
In diesem Falle würden
UTID 3 und 7 der
TID 1 zugeordnet und dort angezeigt,
UTID 4 jedoch würde
TID 2 zugeordnet und dort angezeigt.
Ähm... jo ich hoffe das hilft, kann aber auch sein das ich das ganze vollkommen falsch interpretiert habe. ^^