Einzelnen Beitrag anzeigen

Benutzerbild von Billa
Billa

Registriert seit: 11. Aug 2003
237 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

Re: Datensatznummern für ein DBGrid

  Alt 17. Sep 2008, 10:52
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....
Gruß Billa

Nur weil ich paranoid bin, heißt das nicht, daß die da draussen nicht hinter mir her sind....
  Mit Zitat antworten Zitat