18 Stimmen

Sollte eine Datenbanktabelle immer Primärschlüssel haben?

Sollte ich immer einen Primärschlüssel in meinen Datenbanktabellen haben?

Nehmen wir die SO-Kennzeichnung. Sie können das Tag in jeder Revision sehen, es befindet sich wahrscheinlich in einer tag_rev-Tabelle mit der postID und der Revisionsnummer. Würde ich dafür eine PK benötigen?

Auch da es in einer Rev-Tabelle ist und nicht derzeit verwenden die Tags sollte ein Blob von tagIDs statt mehrere Einträge von mehreren post_id tagid Paar sein?

-1voto

Cyberherbalist Punkte 11773

Datenbanken haben an sich keine Schlüssel, wohl aber die Tabellen, aus denen sie bestehen. Ich nehme an, Sie meinen das, aber nur für den Fall...

Tabellen mit einer großen Anzahl von Zeilen sollten auf jeden Fall Primärschlüssel haben; Tabellen mit nur wenigen Zeilen brauchen sie nicht unbedingt, obwohl sie nicht schaden können. Es hängt von der Verwendung und der Größe der Tabelle ab. Puristen werden Primärschlüssel in jede Tabelle einbauen. Das ist nicht verkehrt, ebenso wenig wie das Weglassen von PKs in kleinen Tabellen.

Geändert um hinzuzufügen einen Link zu meinem Blogeintrag zu dieser Frage, in dem ich einen Fall erörtere, in dem Mitarbeiter der Datenbankverwaltung es nicht für notwendig hielten, einen Primärschlüssel in eine bestimmte Tabelle aufzunehmen. Ich denke, dies veranschaulicht meinen Standpunkt hinreichend.

Cyberherbalist's Blog Post über Primärschlüssel

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X