2017-07-05 5 views

Antwort

1

Ja.

Ihre Darlehenstabelle sieht wie eine Verbindungstabelle aus, daher sollte die PK die Kombination DocumentID und EmployeeID sein.

+0

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

1

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.

Verwandte Themen