PDA

Vollständige Version anzeigen : PK mit Autowert und fixem "Default-Eintrag"


lukas_kel
05.05.2011, 13:00
Ich benutze Tabellen mit Autowerten als Primary-Keys (PK). Da ich in den Tabellen häufig einen "Default"-Eintrag benötige, habe ich jenen mit dem PK=1 genommen. Das funktioniert bislang ohne Probleme.

Ich frage mich jedoch, ob es nicht solche geben kann, falls beispielsweise die PKs aus irgendwelchen Gründen vom DBMS neuorganisiert werden. Kann ich irgendwie sicherstellen, dass in solchen Fällen mein Default-Wert immer auf den Eintrag mit dem PK=1 fällt? Falls nicht, was ist das übliche Vorgehen in solchen Fällen?

Ich danke Euch für Euer Feedback

Beste Grüsse
Lukas

Edgar Basler
05.05.2011, 13:14
Es gibt doch nur einen einzigen Fall den dies betrifft. Nämlich nur dann wenn der "1. Datensatz" gelöscht wird .... Muß man dies überhaupt berücksichtigen?

Atrus2711
05.05.2011, 13:18
Hi,

du könntest den Defaultwert

mit einem Ja/Nein-Feld markieren (X = Default)
in einer separaten Tabelle ("Programmoptionen") speichern, und zwar nicht anhand des PK-Werts, sondern anhand der Bedeutung
einheitlich bezeichnen (z.B. mit einem führenden * o.ä.)


"Magic Numbers" wie 1, 42 oder 4711 sollten jedenfalls vermieden werden.

Aber zum Trost: die Autowert-PKs bestehender Sätze werden im Normalfall nicht verändert (Fehler/Bugs/Abstürze natürlich ausgenommen).

lukas_kel
05.05.2011, 14:04
Vielen Dank für die Feedbacks. Da ich doch den nicht Normalfall auch einplanen möchte, werde ich nicht um ein zusätzliches Attribut oder ggf eine separate Steuertabelle herumkommen.