Hallo Roman
Natürlich hast Du recht, bezüglich den Normalformen.
Die bescreibenden Inhalte wie Text etc. gehören in eine separate Tabelle mit einem eigenen Key (z.B. Ele_ID). Dieser Key wir dann in der eigentlichen Strukturtabelle verwendet, um auf das Element zu referenzieren.
Das Datenmodel sieht dann etwa so aus:
Structure:
Feld Datentyp Bemerkungen
Str_ID int PrimaryKey
Str_ParentID int Zeiger auf das übergeordnete Element
Str_FirstChildID int Zeiger auf das erste untergeordnete Element
Str_NextID int Zeiger auf das nächste Element auf der gleichen Ebene
Ele_ID int ForeignKey, Zeiger zum eigentlichen Element in der Tabelle Element
Element:
Feld Datentyp Bemerkungen
Ele_ID int PrimaryKey
Ele_Text char(255) Textfeld für das Element.
Hier können nun beliebig viele beschreibende Felder angehängt werden.
Ich hoffe, dies hält Deiner messerscharfen Kritik stand ;-)
Grüsse
Tom