従業員テーブルの主キーは何ですか?
Table Stores
(PK) StoreID
{other store columns}
Table Employee
StoreID
EmployeeID
{other employee columns...}
[編集] 従業員は常に 1 つの店舗にのみ所属するように設定されています。すべての従業員は一意の ID を持つ必要があります (つまり、従業員が異なる店舗に所属していても、同じ ID を持つことはありません)。
PK は常に一意である必要があるため、EmployeeID のみにする必要があると思います。私の同僚は、PK は StoreID+EmployeeID と組み合わせるべきだと考えていますが、(理論的には) 従業員 ID が重複する可能性があります。私は彼の推論に完全に従うわけではありませんが、彼が引用したことの 1 つはパフォーマンスです。私たちのデータベースでは Employee テーブルが 5000 レコードを超えたことがないので、クエリのパフォーマンスについてはあまり心配していません。StoreID を参照する他の大きな子テーブルがありますが、これはそのようなキーを作成する正当な理由ですか?
[編集] EmployeeID のみに一意性を強制する内部キーも作成した場合、複合 PK は問題ありませんか? これを行うには複数の方法があるかもしれませんが、最も受け入れられている方法を選びたいと思います。