phpbar.de logo

Mailinglisten-Archive

[php] [OT] Nested Set mit mehr als einem Vorfahren?

[php] [OT] Nested Set mit mehr als einem Vorfahren?

Ralf Eggert r.eggert at travello.de
Die Mai 22 21:13:26 CEST 2007


Hallo Lutz,

etwas verspätet nun meine Antwort.

> rein intuitiv würde ich sagen, daß Du dieses Problem genauso wie bei der 
> klassischen ID/ParentID-Struktur lösen mußt, d.h. eine Tabelle mit den 
> geographischen Angaben (ID, Sprache, Bezeichnung, ...) und eine Nested 
> Sets-Tabelle, die dann mit den IDs arbeitet und so eine 
> Mehrfachzuordnung ermöglicht, ohne die Bezeichnung doppelt vorhalten zu 
> müssen (ID, links, rechts, ...). So ungefähr stelle ich mir das 
> vor. :-)

So in etwa hatte ich es auch überlegt und so sieht meine Struktur auch
gerade aus. Um mal bei dem Beispiel zu bleiben, wird es eben schwierig
mit dem Setzen der LEFT/RIGHT Werte. In der Tabelle habe ich den Text
dazu geschrieben, auch wenn der ausgelagert ist:

------------------------------------------------------
ID | TEXT                               | LEFT | RIGHT
------------------------------------------------------
1  | Deutschland                        |    1 |    12
2  | Mecklenburg-Vorpommern             |    2 |    11
3  | Landkreis Bad Doberan              |    3 |     6
5  | Heiligendamm                       |    4 |     5
4  | Ostseeküste Mecklenburg-Vorpommern |    7 |    10
5  | Heiligendamm                       |    8 |     9
------------------------------------------------------

So wären die LEFT/RIGHT Werte korrekt, aber Heiligendamm taucht zwei mal
auf. Wenn ich Heiligendamm haben möchte, wie soll ich da die LEFT/RIGHT
Werte setzen?

Oder sollte man das so umsetzen? D.h. bisher verwende ich für die Nested
Set Tabelle und die Text Tabelle den selben Primary Key. Wenn ich das
ändere, wäre so etwas möglich?

------------------------------------------------------------------
SETID | TEXTID | TEXT                               | LEFT | RIGHT
------------------------------------------------------------------
    1 |      1 | Deutschland                        |    1 |    12
    2 |      2 | Mecklenburg-Vorpommern             |    2 |    11
    3 |      3 | Landkreis Bad Doberan              |    3 |     6
    4 |      4 | Heiligendamm                       |    4 |     5
    5 |      5 | Ostseeküste Mecklenburg-Vorpommern |    7 |    10
    6 |      4 | Heiligendamm                       |    8 |     9
------------------------------------------------------------------

Gruß,

Ralf

php::bar PHP Wiki   -   Listenarchive