phpbar.de logo

Mailinglisten-Archive

[php] [1/2 OT] Bäume abbilden

[php] [1/2 OT] Bäume abbilden

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Fre Jan 21 14:51:00 CET 2005


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