ER-Diagramm MYSQL-Datenbank

Binio

Erfahrenes Mitglied
Hallo Leute ich habe total das Brett vorm Kopf
Habe folgendes ER-Diagramm(siehe Anhang)
Nun habe ich totales Problem bei der Datenbank.
Die Entitäten "berechtigt" & "beinhaltet" kriege ich gernicht hin.
Habe eine SQL datenbank die ich mit "phpmyadmin" konfiguriere.
Wie sehen diese 2 Tabellen aus ?
ist da eine Spalte oder 2, 3 oder mehrere ?
Weiss echt nicht mehr weiter.
Und wie würde dann der SQL befehl heissen um auf alle Daten der Entität zu zu greifen ?
Ihr würdet mir sehr Helfen wenn paar Tipps kömmen würden.

Danke im vorraus
 

Anhänge

  • themenusw.jpeg
    themenusw.jpeg
    36,7 KB · Aufrufe: 121
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. ^^
 
nein super Beispiel das mit dem Forum. Hätte ich doch gleich drauf kommen sollen :o)
Deine Berechtigt gefällt mir sehr. Was sind da nun die Primärschlüssel ?
die ersten 4 ID's Oder nur die BID ?
 
Zurück