Mailinglisten-Archive |
Hi Lars, LB schrieb: > Das heisst, du würdest als Schlüssel links|rechts verwenden und id als not > null feld, das aber nicht unique ist? > > (bin gerade dabei meine mysql-nestetset-baum klasse neu aufzubauen, die > war so schlampig von den sql abfragen her. allmählich beginne ich Deine Ausgangsfrage zu verstehen... ;-) Man merkt, daß ich noch nicht praktisch mit Nested Sets gearbeitet habe. :-D Hintergrund Deiner Frage scheint zu sein, daß sowohl die Knoten-ID als auch das Zahlenpaar links/rechts nur einmal vorkommen darf, sich das aber nicht zuverlässig mit einem Primärschlüssel abdecken läßt, oder? Wir müssen sogar noch weiter gehen. Nicht nur die Links/Rechts-Kombination muß eindeutig sein, sondern auch jeder Links- und Rechts-Wert für sich. D.h. Knoten-ID, Links-Wert und Rechts-Wert müssen jeweils eindeutig sein. Das könnte man datenbankseitig z.B. so lösen: Knoten-ID -> Primary Key Links-Wert -> Unique Index Rechts-Wert -> Unique Index So - und nun kommt dann noch die ID hinein, die ich bisher immer mit Element-ID bezeichnet hatte. Deren Werte dürfen dann mehrfach in der Tabelle vorkommen. Die Element-ID holt dann aus der Elemente-Tabelle eine Beschreibung für den Knoten. Diese separate Elemente-Tabelle macht z.B. für mehrsprachige Inhalte Sinn oder für die Mehrfachverwendung von Beschreibungen. Ich hoffe, jetzt habe ich das endlich richtig zusammengekriegt. ;-) Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive