Thomas Schmieder: Sinnvolle Datenbankstruktur für dynamische Navigation

Beitrag lesen

Hallo,

habe mir das theoretische Modell angeschaut. Das ist mir zu unvollkommen. Ich würde das so machen:

ID_Element       Primärschlüssel
ID_Own           im Prinzip der beim Anlegen erteilte Primärschlüssel beim Zuordnen als Kindelement in Sekundärschlüssel übertragen
ID_belongsTo     ID des übergeordneten Elementes
Level            Level der Suchtiefe

so kann jedes Element des Baumes Kindelement eines anderen auf bestimmtem Level sein. Man muss ggf. "nur" darauf achten, dass keine Rekursion entsteht, d.h. dass ein Element sich selbst als Eltern, Großeltern oder Urgroßeltern oder so hat. Das heißt auf geraden Weg der Levels zurück zu MinLevel darf es nicht als Elternelement vorkommen.

Level würde ich bei 0 beginnen für "ROOT" und hochzählen für jede untergeordnete Hierarchiestufe. Man könnte Level dann nachträglich auch negativ werden lassen, um "ROOTs" zu Familien zusammenzufassen.

Jedes Element des Level 2 darf Tochterelement jeden Elementes des Level 1 sein, nur nicht von sich selbst (ID_OWN) und auch auf den übergeordnetn Leveln bis MinLevel darf es nicht vorkommen. Das gilt, solange es noch keine Kinder hat, also NEU angelegt wird.

Im Falle von Stücklisten muss man leider auch alle Kinder und Kindeskinder auf Vorhandensein in einer höheren Hierarchiestufe untersuchen.

Liebe Grüße aus <http//www.braunschweig.de>

Tom