Die Debatte über natürliche vs künstliche Schlüssel ist so alt wie jede Datenbankimplementierung. Lesen Sie über Pro's und Con's auf wikipedia.
Argumente für die Ersatzschlüssel sind auf theoretischer Ebene leicht zu bestreiten (zum Beispiel Argument, dass mit natürlichen Schlüsseln Sie das Risiko von Ihrem PK werden nicht eindeutig kann mit Antwort - gut argumentiert werden - wenn ich in dieser Situation Es ist gut, dass Dinge brechen würden, anstatt künstlich eindeutige Primärschlüssel mit doppelten Datensätzen für die eigentlichen Daten zu haben.
Ein weiteres gutes Argument ist, dass künstliche Schlüssel entweder redundant sind (es gibt einen anderen eindeutigen Schlüssel in der Tabelle) oder sie erlauben Ihnen, im Wesentlichen nicht eindeutige Datensätze zu speichern.
Noch ist es manchmal so schwierig, gute natürliche Schlüssel zu finden, dass Sie etwas Künstliches wählen müssen und eine Situation zulassen, in der Sie eine Person gleichen Namens, am gleichen Datum (oder mit unbekanntem Datum) mit einer anderen xy-Eigenschaft haben das sind gleiche Werte.
Auch ist es nicht so klar, was künstlich und was natürlich ist. Sie könnten zum Beispiel sagen, dass SSN für Ihre Daten natürlich ist. Auch wenn es sich wirklich um eine Nummer handelt.
Für die Leistung von Multi-Key-Beziehungen - diese sind nicht so schlecht, wie Sie denken, außerdem - segmentiert die Indizes auf natürliche Weise und mit solchen Schlüsseln Sie in der Regel mit einer Datenbank, die wirklich gut mit häufige Abfragen ohne zusätzliche Indizes.
Wenn Sie diese Probleme ernsthaft in Erwägung ziehen, und wenn Sie komplexe System versuchen zu bauen, finden Sie einige gute Literatur (C.J.Date Einführung in Datenbanksysteme, die derzeit in der 8. Auflage in den Sinn kommt)
zu registrieren Meintest du: "Wenn das NICHT möglich ist, dann Sie müssten Ihre Eindeutigkeitsbeschränkung erweitern, um eine weitere Spalte einzubeziehen. "? –
Eigentlich hatte ich anfangs Recht, nur schlecht formuliert. Ich habe es korrigiert. Wenn die drei Spalten tatsächlich nicht eindeutig sind, müssten Sie die Eindeutigkeitseinschränkung natürlich erweitern. – Thomas
Ah! Hab es jetzt verstanden. Vielen Dank! –