私は何を混乱させるのですか?私はしばしば、データベーステーブルに複合主キーを持っています。そのアプローチの悪い点は、エントリを削除または編集するときにかなり余分な作業があることです。しかし、私はこのアプローチがデータベース設計の精神であると感じています。複合主キーかどうか
反対側には、私の友人がいて、コンポジットキーを決して使っていないのですが、テーブルに別の '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のアプローチを使うことの悪い面は何ですか?助言がありますか?
をチェックアウトhttp://stackoverflow.com/questions/159087/composite-primary-keys-versus-unique-object-id-field – TechTravelThink