Nehmen Sie als Beispiel die Darlehenstabelle unten. Benötigt es einen Primärschlüssel?Benötigt jede Tabelle einen Primärschlüssel?
Antwort
Ja.
Ihre Darlehenstabelle sieht wie eine Verbindungstabelle aus, daher sollte die PK die Kombination DocumentID
und EmployeeID
sein.
Ich denke, ein Dokument kann mehrmals vom selben Mitarbeiter ausgeliehen werden, also ist es nicht einzigartig. Wenn die Datumsfelder "datetime" sind, können Sie eins hinzufügen, um es eindeutig zu machen, aber ich würde empfehlen, ein 'id'Feld zu verwenden, das automatisch in jeder Tabelle als Primärschlüssel inkrementiert wird, um sicher zu sein. – BitAccesser
Hat jede Tabelle einen Primärschlüssel NEED: Nein
sollte jede Tabelle einen Primärschlüssel hat: Ja. Es kann Situationen geben, in denen eine Tabelle keinen Primärschlüssel benötigt, aber diese sind selten und im Allgemeinen sollte jede Tabelle einen haben. Dies liegt daran, dass Sie einen Datensatz eindeutig identifizieren möchten und es schwierig wird, mit Datensätzen zu arbeiten, die keine Primärschlüssel haben.
In Ihrem Fall, YES Ihre Kredit-Tabelle sollte einen Primärschlüssel haben. Wie Andre bereits in seiner Antwort gesagt hat, sollte es eine Kombination aus dem DocumentID
und dem EmployeeID
sein.
Auf die Gefahr einige Verwirrung der Einführung: Verwenden Sie entweder DocumentID
+ EmployeeID
oder EmployeeID
+ DocumentID
. Die Bestellung kann einen Unterschied machen. Wenn Sie sagen, DocumentID
+ EmployeeID
(in dieser Reihenfolge) dann wird die Datenbank den Primärschlüssel bei der Suche auf DocumentID
plus EmployeeID
(beliebiger Reihenfolge in Ihrer Abfrage) und für die Suche auf nur die DocumentID
verwenden, wird es aber nicht bei der Suche verwenden auf nur EmployeeID
.
- 1. Der Entitätstyp ‚Konfiguration‘ benötigt einen Primärschlüssel
- 2. Einen Primärschlüssel zweimal in derselben Tabelle referenzieren
- 3. MySQL - Primärschlüssel für die Partition benötigt
- 4. Primärschlüssel auf isolierte Tabelle
- 5. Primärschlüssel in Cassandras Tabelle
- 6. Tabelle keinen Primärschlüssel
- 7. Lehre - Tabelle ohne Primärschlüssel
- 8. Benötigt jede Klasse einen Eintrag in JSHint globals?
- 9. MySQL: Bestimmen Tabelle Primärschlüssel dynamisch
- 10. Alter Tabelle Primärschlüssel - Crate DB
- 11. Wie Primärschlüssel zweite Tabelle einfügen
- 12. Erstellen Join-Tabelle ohne Primärschlüssel
- 13. Primärschlüssel temporäre Tabelle existiert bereits
- 14. Hinzufügen Primärschlüssel zu bestehenden Tabelle
- 15. Ändern Primärschlüssel in PostgreSQL Tabelle
- 16. SQLAlchemy: Beziehung Tabelle mit zusammengesetzten Primärschlüssel
- 17. Iterating über jede Tabelle
- 18. Jede einfache Art und Weise einen Primärschlüssel als Fremdschlüssel für mehrere Tabellen setzen
- 19. Chrome Tabelle Flüssigkeitshöhe benötigt beheben
- 20. Spalte als Primärschlüssel festlegen, wenn die Tabelle keinen Primärschlüssel hat
- 21. Wird @FXML für jede Deklaration benötigt?
- 22. Zwei Primärschlüssel
- 23. SQL: Zum Primärschlüssel oder nicht zum Primärschlüssel?
- 24. Hive externe Tabelle benötigt Schreibzugriff
- 25. .net mvc3 mysql Tabelle ohne Primärschlüssel
- 26. Sollten Fremdschlüssel zum Primärschlüssel der Tabelle werden?
- 27. Mysql - Beste Primärschlüssel für Termine Tabelle
- 28. JPA-Entität für eine Tabelle ohne Primärschlüssel
- 29. Ansicht in Oracle-Datenbank mit vier Tabellen erstellen, jede Tabelle hat Primärschlüssel
- 30. mysql - Primärschlüssel zu einer großen Tabelle hinzufügen
Wie beabsichtigen Sie, es zu benutzen? Warum fragst du? – doctorlove
Im Falle von "Notfall" haben Sie einen besseren Zugriff auf jeden einzelnen Datensatz. – reporter