Ich erstelle eine neue Datenbank und habe ein Dilemma: Ich habe eine Autoren-Tabelle. Meine Anforderungen sind, dass es die Spalten firstName und lastName enthalten sollte, und ich sollte zwei Autoren nicht erlauben, die den gleichen firstName und lastName haben.SQL: Zeichenfolge PK (möglicherweise Composite) oder Auto-Nummer künstliche PK mit eindeutigen Einschränkung?
Meine erste Idee war, firstName und lastName composite pk zu machen, und das war's!
Aber ich werde diese Tabelle an andere Tabellen so binden, um mein Leben einfacher zu machen, obwohl ich eine int Auto_increment PK verwenden und eine zusammengesetzte UC von firstName und lasteName machen.
Meine Frage ist allgemein: Sagen wir, ich habe eine Personen Tabelle und ich kann die SSN als PK verwenden. Wenn ich diese Tabelle mit n Tabellen verknüpfe, die den SSN-Wert in den Kindtabellen duplizieren, kann mehr Speicher verbraucht werden, als mit einer int auto_increment-PK und UC der SSN-Spalte zu machen?
Welcher Ansatz ist besser und wann was zu verwenden?
Mit freundlichen Grüßen
Aber in der SSN Beispiel? Ich meine, wenn ich nur einen einzigen Comic habe, kann ich SSN die PK richtig machen? – adragomir
SSN ist Sozialversicherungsnummer, richtig? –
Wenn dies der Fall ist, ist es immer noch besser, eine separate ID-Spalte zu haben, auch wenn der SSN eindeutig ist und keine Duplikate enthalten kann. Ich weiß, das ist es, was sie mir in der Schule beigebracht haben, eine einzigartige Kolumne wie SSN als PK zu benutzen, aber es ist nicht gut für die Performance. –