Chỉ vì dữ liệu có cấu trúc tương tự không có nghĩa là nó có cùng ý nghĩa hoặc các ràng buộc giống nhau. Giữ các bảng tra cứu của bạn riêng biệt. Điều này giữ khóa ngoại riêng biệt, do đó, cơ sở dữ liệu có thể tự bảo vệ khỏi tham chiếu sai loại dữ liệu tra cứu.
Tôi ước các DBMS quan hệ được hỗ trợ kế thừa, nơi bạn có thể xác định cấu trúc cơ bản trong bảng mẹ và chỉ cần thêm các FK cụ thể trong các bảng con. Như hiện tại, bạn sẽ cần phải chịu đựng một số lần lặp lại trong DDL của mình ...
LƯU Ý:Một ngoại lệ từ quy tắc "giữ các bảng tra cứu riêng biệt" có thể là khi hệ thống của bạn cần phải động (tức là có thể thêm các loại dữ liệu tra cứu mới mà không thực sự tạo bảng vật lý mới trong cơ sở dữ liệu), nhưng có vẻ như vậy từ câu hỏi của bạn.
Với một bảng tra cứu lớn, chỉ FK sẽ không dừng lại (ví dụ) ShippingLog
bảng từ tham chiếu một hàng dành cho EmployeeTask
bàn. Bằng cách sử dụng xác định các mối quan hệ và di chuyển PK, bạn có thể bảo vệ mình khỏi điều này, nhưng không phải là không đưa ra một số điểm dư thừa và cần một số ràng buộc cẩn thận. Sẽ rõ ràng hơn và có lẽ hiệu quả hơn khi chỉ cần làm đúng và giữ các bảng tra cứu riêng biệt.