これが私を混乱させているものです。私はデータベーステーブルに複合主キーを持っていることがよくあります。このアプローチの悪い面は、エントリを削除または編集するときにかなり余分な作業が必要になることです。しかし、このアプローチはデータベース設計の精神に基づいていると思います。
反対に、複合キーを使用することはなく、テーブルに別の「id」列を導入する友人がいます。他のすべてのキーは単なるFKです。削除および編集手順をコーディングする際の作業ははるかに少なくなります。ただし、データエントリの一意性をどのように保持するかはわかりません。
例:
方法1
create table ProxUsingDept (
fkProx int references Prox(ProxID) NOT NULL,
fkDept int references Department(DeptID) NOT NULL,
Value int,
PRIMARY KEY(fkProx,fkDept)
)
方法2
create table ProxUsingDept (
ID int NOT NULL IDENTITY PRIMARY KEY
fkProx int references Prox(ProxID) NOT NULL,
fkDept int references Department(DeptID) NOT NULL,
Value int
)
どちらが良いですか?2番目のアプローチを使用することの悪い面は何ですか?助言がありますか?