既存の列の使用を回避できる場合に、PK に ID 列を使用することが正しい方法であるかどうかを判断するために、私はまだ戦っています。
例:
CREATE TABLE person_link
(
person_link_id INT NOT NULL IDENTITY(1,1)
,owner_person_id INT NOT NULL
,link_person_id INT NOT NULL
,link_date_created DATETIME NOT NULL DEFAULT(GETDATE())
,deleted_person_id INT NULL
CONSTRAINT pk_person_link PRIMARY KEY(person_link_id)
,CONSTRAINT fk_person_link_owner FOREIGN KEY (owner_person_id) REFERENCES person (person_id)
,CONSTRAINT fk_person_link_link FOREIGN KEY (link_person_id) REFERENCES person (person_id)
)
または、person_link_id を削除し、常に一意になる 2 つの列に主キーを配置する必要があります。すなわち:
CONSTRAINT pk_person_link PRIMARY KEY(owner_person_id, link_person_id)
それは単なる個人的な選択ですか、それともアイデンティティを使用しない正当な理由がありますか (純粋に、私は常に使用しているため、私は賛成です)。