Best Practice: Feldname für Datensatzbezeichner bzw. Primärindex
Moin in die Runde,
Ich bin gerade dabei eine Datenbank neu zu strukturieren und zu konsolidieren, um einiges an "Altlasten" rauszubekommen und diese für neue Anforderungen umzustellen und vorzubereiten
Dabei bin ich wiedereinmal darüber gestolpert, daß in der derzeitegen DB. nahezu alle Primärschlüssel den Feldnamen "Nr" oder "Auto_ID" haben (als autoincrement).
Kurze und knappe Frage:
Gibt es eigentlich sowas wie eine Empfehlung für die Benennung der Feldnamen von Datensatzbezeichnern / Primärinexen?
Ist es also Sinnvoller für jede Tabelle einen Eindeutigen Feldnamen zu verwenden, oder wird das i.d.R. eher nicht gemacht oder muss das jeder für sich selbst entscheiden, ohner das es dafür allegemeingültige Empfehlungen gibt.
ciao
Lothar
Ich bin gerade dabei eine Datenbank neu zu strukturieren und zu konsolidieren, um einiges an "Altlasten" rauszubekommen und diese für neue Anforderungen umzustellen und vorzubereiten
Dabei bin ich wiedereinmal darüber gestolpert, daß in der derzeitegen DB. nahezu alle Primärschlüssel den Feldnamen "Nr" oder "Auto_ID" haben (als autoincrement).
Kurze und knappe Frage:
Gibt es eigentlich sowas wie eine Empfehlung für die Benennung der Feldnamen von Datensatzbezeichnern / Primärinexen?
Ist es also Sinnvoller für jede Tabelle einen Eindeutigen Feldnamen zu verwenden, oder wird das i.d.R. eher nicht gemacht oder muss das jeder für sich selbst entscheiden, ohner das es dafür allegemeingültige Empfehlungen gibt.
ciao
Lothar
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 208293
Url: https://administrator.de/contentid/208293
Ausgedruckt am: 08.11.2024 um 21:11 Uhr
7 Kommentare
Neuester Kommentar
Moin Digi-Quick,
selbstverständlich sollten die Feldnamen eindeutig sein.
Auch eine Autoincrement-ID in einer Kunden-Tabelle (also Kunden.ID ist fachlich und auch im logischen Datenmodell eine andere Entität als eine Autoincrement-ID im Ticket-System (also Ticket.ID)
Welchen Wartungsvorteil sollte es denn haben, in jeder Tabelle ein PK-Feld mamens "ID" oder "Nr" zu haben?
Soll ich dann mal ein Selectstatement mit 18 verjointen und verunionten Tabellen konstruieren?
Außerdem wäre dann ja die weitergedachte Konsequenz, dass auch die Nicht-PK-Felder ein bisschen weniger phantasievoll gestaltet werden könnten.
Die könntest du auch ganz toll runtercopy&pasten als CHARFELD01, CHARFELD02, DATEFELD01, DATEFELD02 etc in jeder Tabelle.
Dann hast du beim Tabellen-Anlegen ganz viele Tippsekunden gespart, die du 100fach wieder draufzahlst, wenn du irgendwann mal die Tabellenstruktur dokumentieren oder offenlegen musst.
Kurz: ein PK KundenID heisst auch KundenID. und nicht ID.
Grüße
Biber
selbstverständlich sollten die Feldnamen eindeutig sein.
Auch eine Autoincrement-ID in einer Kunden-Tabelle (also Kunden.ID ist fachlich und auch im logischen Datenmodell eine andere Entität als eine Autoincrement-ID im Ticket-System (also Ticket.ID)
Welchen Wartungsvorteil sollte es denn haben, in jeder Tabelle ein PK-Feld mamens "ID" oder "Nr" zu haben?
Soll ich dann mal ein Selectstatement mit 18 verjointen und verunionten Tabellen konstruieren?
Außerdem wäre dann ja die weitergedachte Konsequenz, dass auch die Nicht-PK-Felder ein bisschen weniger phantasievoll gestaltet werden könnten.
Die könntest du auch ganz toll runtercopy&pasten als CHARFELD01, CHARFELD02, DATEFELD01, DATEFELD02 etc in jeder Tabelle.
Dann hast du beim Tabellen-Anlegen ganz viele Tippsekunden gespart, die du 100fach wieder draufzahlst, wenn du irgendwann mal die Tabellenstruktur dokumentieren oder offenlegen musst.
Kurz: ein PK KundenID heisst auch KundenID. und nicht ID.
Grüße
Biber
Hallo,
Externe Firma oder eigene Mitarbeiter?
Wenn das ganze aber von einem Externen gemcht wird, Pech, das ist dann sein ding. Ansonsten gehört soetwas geregelt und wer sich nicht dran hält kassiert notfalls auch eine Abmahnung oder schlimmeres. Wie die Namen aber geregelt sind bleibt eurer Phanstasie überlassen, wobei allerdings sprechende namen sinnvoll sind und alle diese dann verwenden.
Das einführen von Standards an den sich gerade Programmierer halten sollen kann schwieriger sein als den Quellcode für das ganze Projekt zu schreiben
mist Programmierstil und "meine Variablen nennn sich immer so" seit Jahren in sein Kopf drin. Ausgetretene Pfade ...
ausgetauscht wurden damit es eben funktioniert und neuer Quellcode zum Erfolg führen konnte...
Gruß,
Peter
Externe Firma oder eigene Mitarbeiter?
sieht das anders
Gibt es bei euch kein Regelwerk was dies Betrifft an der siche jeder halten muss?bei ihm heissen Variablen aber auch a,b, c,... x
Sehr klug ... und dämmlich. Dieser Programmierer beweisst doch das er sein Handwerk nicht gelernt hat. Und unfähige Leute proggramieren bei euch?- und niemand anderess ausser Ihm kann da jemals durchblicken
Spätestens auf der zweitenQquellcode seite kann er ohne nachzuschauen es auch nicht mehr...- entsprechend Kommentiert ist das nämlich auch nicht
Ist es bei euch keine Arbeitsanweisung?Wenn das ganze aber von einem Externen gemcht wird, Pech, das ist dann sein ding. Ansonsten gehört soetwas geregelt und wer sich nicht dran hält kassiert notfalls auch eine Abmahnung oder schlimmeres. Wie die Namen aber geregelt sind bleibt eurer Phanstasie überlassen, wobei allerdings sprechende namen sinnvoll sind und alle diese dann verwenden.
Das einführen von Standards an den sich gerade Programmierer halten sollen kann schwieriger sein als den Quellcode für das ganze Projekt zu schreiben
es soll sozusagen bei Null neu aufgebaut werden
Sehr schwierig. Jeder der Entwickler hat doch seinen und vernünftig strukturiert werden.
Ich habe schon erlebt das hier die ganzen EntwicklerGruß,
Peter