Wie alles begann ...
Vor ca. 10 Jahren suchte ich nach einer Lösung, wie man eine Rubrikenstruktur für Kleinanzeigenmärkte realisieren könnte, ohne vorher festlegen zu müssen an welcher Stelle sich eine Rubrik und deren Unterrubriken befindet. Die Struktur sollte weder durchnummeriert sein noch nach Alphabet sortiert werden und es sollte möglich sein, ganze Bereiche auszuschneiden und an anderer Stelle wieder einzufügen.
Die Lösung war einfach und genial. Man gibt einer Rubrik eine eindeutige zufällig erzeugte Nummer, dann erstellt man eine Unterrubrik, wieder mit einer eindeutigen Nummer und einer Gruppe, in die man die Nummer der Rubrik einfügt. Damit ist sichergestellt, dass egal wo sich die Unterrubrik befindet, es immer möglich ist, einen Zusammenhang zwischen Rubrik und Unterrubrik herzustellen.
Gruppe |
UniqueID |
Name |
Ardesse |
00000 |
11111 |
Hauptrubrik |
url-der-hauptrubrik |
11111 |
22222 |
Unterrubrik |
url-der-unterrubrik |
11111 |
33333 |
Unterrubrik2 |
url-der-unterrubrik2 |
Verschiebt man nun die Unterrubrik 2 eine Zeile nach oben, bleibt die Struktur von Haupt und Unterrubrik erhalten, dass Gleiche gilt, wenn man zwischen Unterrubrik und Unterrubik2 eine neue Zeile einfügt.
So war es also Möglich, eine dynamische Struktur mit einer beliebigen 3-Dimensionalen Strukturtiefe zu erstellen, die sich nach belieben aufbauen und verschieben lässt.
Im Laufe der Zeit habe ich endeckt, dass man mit dieser Tabelle fast alle Arten von Objekten speichern kann und es wurde zusätzlich ein Index erzeugt, mit dem man überkreuz auf alle Zellen zugreifen konnte.
z.B. Suche den Namen, wo die Adresse url-der-unterrubrik ist u.s.w.