Hmm ... so schnell habe ich das nicht erwartet.
Also:
Wenn ich das richtig verstanden habe, hast Du ZWEI Aufgaben:
1. Identifikation und
2. Sortierung
Für beide Zwecke führst Du jeweils ein eigenes Feld in Deiner Datenstruktur.
1. die ID
ein eigener Zähler, der unabhängig von allen anderen Operationen immer nur hochgezählt wird.
Manche Datenbanken bieten dafür als Datentyp autoincrement o.ä. an.
Wenn Du den Datensatz ansprichst, dann am Besten über diese ID, die NIEMALS verändert werden darf
2. die Ordnungsnummer
beim Anlegen des Datensatzes kann man die ruhig auf dienselben Wert setzen, wie die ID, dadurch ist gewährleistet, daß sie noch nicht vorkommt. Später kannst Du diese Ordnungsnummer aber ändern (z.B. tauschen, um zwei Sätzen in der DARSTELLUNG zu vertauschen). Damit wird aber die ID nicht verändert. Der Datensatz bleibt eindeutig aber beliebig sortierbar.
Es ist keine gute Idee, die Datenstruktur oder die Identifikation für eine Darstellung zu verändern. Das ist
imho, was omata mit "Design" meinte.
Beispiel
FILM_ID integer (eindeutig, wird nur angelegt, nie verändert)
FILM_ORDER integer
FILM_NAME char(50)
...
So eine Struktur macht es leicht, später z.B. abhängige Tabellen hinzuzufügen, weil eine eindeutige Zuordnung über die FILM_ID möglich ist...
Lies mal z.B.
Andreas Kosch: Interbase Datenbankentwicklung mit Delphi, nicht mehr besonders aktuell, aber an den Prinzipien guten Designs hat sich nichts geändert....