Mailinglisten-Archive |
Hallo Liste, Ich entschuldige mich direkt mal für meine OffTopic-Frage, aber vor kurzem (genauer gesagt am 07.09. im Thread "wertepaare (x/y) in DB speichern" von Olaf Gleba) wurde in der Liste über die optimale DB-Struktur für ein Problem diskutiert. Da mir an dieser Stelle anscheinend die Grundlagenkentnisse fehlen stehe ich vor einem ähnlichen Problem, die Vorraussetzungen sind folgende: Ich habe eine variable Anzahl Benutzer, die auf eine variable Anzahl Verzeichnisse Zugriff bekommt, oder eben nicht. Über die Benutzer werden natürlich noch allerhand anderer Informationen gespeichert, ebenso über die Verzeichnisse, und da ich sowieso den Thread über Normalisierung gelesen hatte dachte ich, ich werde es folgendermaßen lösen: tabelle benutzer (id, name, pw) tabelle verzeichnisse (id, name, details) tabelle benutzer2verzeichnisse (benutzerid, verzeichnissid) Die letzte Tabelle soll aussagen, dass wenn ein Datensatz 2/3 existiert, das der Benutzer mit der ID 2 Zugriff auf das Verzeichnis mit der ID 3 hat. Klingt eigentlich logisch, oder? Jetzt möchte ich aber eine Übersichtstabelle aller Zugriffsrechte darstellen: dir1 dir2 dir3 user1 1 0 1 user2 0 0 0 user3 0 1 0 Aber wie kann ich auf eine vernünftige Art und Weise die Daten so aufarbeiten? Ich könnte mit PHP jetzt eine Liste aller User abfragen und dazu eine Liste aller Verzeichnisse abfragen. Für jeden einzelnen User könnte ich dann für jedes Verzeichniss ein Query absenden was prüft ob der Eintrag in der Verknüpfungstabelle vorhanden ist... Die Anzahl der Querys schiesst aber so immens schnell in die Höhe, und im Allgemeinen sieht mir das auch irgendwie nicht sehr elegant aus. Irgendwie habe ich das Gefühl in meinem Knopf sitzt ein Knoten den ich gerade nicht raus bekomme, vielleicht sollte ich auch die ganze Struktur über den Haufen werfen und es anders machen? Schon im Vorraus vielen Dank André Gemünd
php::bar PHP Wiki - Listenarchive