Nếu lưu trữ dữ liệu có thể là một mối quan tâm, thì hãy chia các bảng: key / A / B key / C key / D
Bạn có thể thực hiện truy cập thông qua chế độ xem (định nghĩa vị trí dữ liệu trong db) hoặc thông qua thay đổi định nghĩa ORM.
Đây không phải là hoạt động hiệu quả nhất (tham gia có liên quan), nhưng nó có thể trình bày bất kỳ sự kết hợp A / B / C / D nào theo thời gian mà không thay đổi bộ nhớ bên dưới & tùy thuộc vào mẫu truy cập thực của bạn, nó có thể đủ.
Bạn có thể không may mắn với khả năng mất thời gian chết, cơ cấu lại các bảng, vv trong một hệ thống sản xuất.
Thực hiện truy cập thông qua chế độ xem cho phép bạn chuyển từ A / B / C sang A / B / C / D sang A / B / D trong bảng bên dưới với sự thay đổi tối thiểu và không có chuyển động dữ liệu. Một khung nhìn sẽ trong suốt đối với logic đọc và nếu dbms của bạn hỗ trợ các hàm hoặc các khung nhìn có thể cập nhật thì cũng trong suốt đối với logic ghi.
Thực sự tôi nghĩ rằng quyết định của bạn sẽ phản ánh rất nhiều mối quan tâm trong thế giới thực: 1) kiểu dữ liệu C & D 2) khối lượng dữ liệu tương đối được thu thập cho C / D 3) Sự chồng chéo tương đối của dữ liệu C / D so với các mục nhập C hoặc D hoàn toàn 4) Tính sẵn sàng và thời lượng của cửa sổ thời gian ngừng hoạt động 5) DBMS Hỗ trợ cho các chế độ xem có thể cập nhật 6) Mong muốn giữ các chi tiết cấu trúc vật lý trong ORM so với làm cho nó trong suốt bằng cách hiển thị qua các chế độ xem / chức năng trong db (trong đó giống nhau cho tất cả các truy cập các ứng dụng, không chỉ là ứng dụng hiện tại)
Câu trả lời của tôi được ưu tiên cho các kiểu dữ liệu lớn / phức tạp cho (1), ít trùng lặp cho (3) và thời gian chết tối thiểu cho (4), lý tưởng là có hỗ trợ dbms tốt trong (5) và nhiều ứng dụng truy cập dữ liệu trong (6)
Nhưng không có đúng / sai đối với nhiều lựa chọn thay thế: - bắt đầu bằng A / B / C, sau đó thêm D, điều chỉnh ORM, sau đó vẫn thả cột C - bắt đầu với A / B / C / D và bỏ qua null, v.v. , xem xét giải pháp của bạn và những gì bạn biết về mục đích / vòng đời dự định của nó, thực hiện một số mô hình kích thước / khối lượng & mong muốn thay đổi mọi thứ sau này vì không phải mọi thứ sẽ biến chúng ta như mong đợi.