2017-07-05 9 views

答えて

1

はい。

あなたのローンテーブルはジャンクションテーブルのように見えるので、PKはDocumentIDEmployeeIDの組み合わせである必要があります。

+0

私は、同じ従業員が複数回ドキュメントを借りることができると思いますので、一意ではありません。日付フィールドが 'datetime'の場合は、それを一意にするために追加することができますが、' id'フィールドを使用することをお勧めします。 – BitAccesser

1

は、すべてのテーブルには主キーが必要なの:はい:いいえ

は、すべてのテーブルは主キーを持っているべきです。テーブルにプライマリキーは必要ない場合もありますが、まれにあり、一般的にはすべてのテーブルに1つのキーが必要です。これは、レコードを一意に識別し、主キーを持たないレコードを処理するのが難しくなるためです。

あなたの場合、ローンテーブルにはプライマリキーが必要です。 Andreがすでに彼の答えで言ったように、それはDocumentIDEmployeeIDの組み合わせでなければなりません。

混乱を招く恐れがあります。DocumentID + EmployeeIDまたはEmployeeID + DocumentIDのいずれかを使用してください。順序は違いを生むことができます。 DocumentID + EmployeeID(その順番)の場合、データベースはDocumentIDに加えてEmployeeID(問合せの順序は問わない)を検索する場合はプライマリ・キーを使用し、DocumentIDの検索の場合は検索時には使用しませんただEmployeeIDに。

関連する問題