Chỉ cần một chút nền lý thuyết ở đây ... Khi lập mô hình bảng của bạn, bạn xác định một tập hợp các phím . Các phím này tương đương về mặt logic, nhưng với mục đích thực tế bạn chọn một trong số chúng và gọi nó là "chính" trong khi phần còn lại của chúng trở thành "thay thế".
(Trong DDL SQL, một khóa chính được gọi là "PRIMARY KEY", trong khi "chìa khóa thay thế" được gọi là "hạn chế UNIQUE".)
Vì vậy, trong bối cảnh đó, câu hỏi của bạn là tương đương với : "có lý do chính đáng để có hai khóa giống nhau" và câu trả lời là: "không".
đó đang được nói, bạn có thể có phím chồng chéo (tức là phím mà chia sẻ một số lĩnh vực nhưng không phải tất cả), nhưng điều này thường là một dấu hiệu của một thiết kế xấu ... và câu trả lời là: "có lẽ không phải là".
OTOH, nếu bằng cách "khóa duy nhất", bạn thực sự có nghĩa là "độc đáo index", sau đó có, bạn cần cả hai.
Chỉ mục không phải là một ràng buộc hợp lý - chỉ có để cho phép một ràng buộc logic như PRIMARY KEY để thực hiện tốt (và để truy vấn, nhưng đó là một chủ đề khác).
Nguồn
2011-08-28 23:25:44
Khóa chính theo định nghĩa duy nhất nên tôi không thể thấy bất kỳ lý do nào để thêm một ràng buộc/chỉ mục duy nhất khác – Phil