Eindeutiger Schlüssel immer, Kunstkey (sprich Zähler) meistens, wegen der Problematik Änderung semantischer Keyfelder und einfacherer Normalisierung, die Alternative ist dabei:
- Erzeugung des Schlüssels in der Applikation und reinschreiben in die Datenbank
- Erzeugung des Schlüsselwertes in der Datenbank und dann ermitteln aus der Datenbank
Bei Access (Eingabe in die Datenbank ohne Applikation) spricht einiges für den zweiten Weg. Bei DB2 spricht vieles für den ersten Weg, es sei denn, man will wirklich mit ODBC (oder von der schnellen Eingreiftruppe DFU 9) ohne Applikation Daten in die Datenbank reinmalen lassen - net wirklich ernst gemeint???

D*B

Zitat Zitat von Fuerchau Beitrag anzeigen
Naja, ganz so schlimm ist es ja nicht.
Ich arbeite auch gerne mit dem Zähler, da viele Zugriffe und Querverweise mit dieser eindeutigen Nummer einfach klarer sind.
Ausserdem stellt es (ggf.) sicher, dass man nicht so einfach per ODBC Daten unterjubeln kann.

Um den Wert zu erfragen, kann man auch in 2 Schritten vorgehen, wenn man denn das Ergebnis benötigt:

exec sql set : MyCount = next value for MySeq;
insert into mytable Values(: MyCount, ...);

Ob das aber performant ist ...