Đây là điều khiến tôi khó hiểu. Tôi thường có các khóa chính kết hợp trong các bảng cơ sở dữ liệu. Mặt xấu của phương pháp đó là tôi có thêm nhiều công việc khi tôi xóa hoặc chỉnh sửa các mục nhập. Tuy nhiên, tôi cảm thấy rằng cách tiếp cận này là theo tinh thần của thiết kế cơ sở dữ liệu. Ở phía bên kia, có những người bạn của tôi, những người không bao giờ sử dụng các phím tổng hợp, mà là giới thiệu một cột 'id' khác trong một bảng và tất cả các khóa khác chỉ là FK. Họ có ít công việc hơn trong khi mã hóa các thủ tục xóa và chỉnh sửa. Tuy nhiên, tôi không biết cách chúng duy trì tính duy nhất của các mục nhập dữ liệu.Khóa chính kết hợp hay không?
Ví dụ:
Way 1
create table ProxUsingDept (
fkProx int references Prox(ProxID) NOT NULL,
fkDept int references Department(DeptID) NOT NULL,
Value int,
PRIMARY KEY(fkProx,fkDept)
)
Way 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
)
Mà cách nào tốt hơn? Các mặt xấu của việc sử dụng phương pháp thứ 2 là gì? Bất kỳ đề xuất?
Khám phá http://stackoverflow.com/questions/159087/composite-primary-keys-versus-unique-object-id-field – TechTravelThink