Theo ý kiến của học sinh Bảng đơn Thừa kế làm cho cơ sở dữ liệu nhỏ hơn nhiều so với các cách tiếp cận khác vì cô chỉ sử dụng 1 bảng.
Không nhất thiết. Nếu các thực thể của hệ thống phân cấp của bạn không có nhiều thuộc tính chung, điều này sẽ dẫn đến nhiều cột null và sẽ lãng phí rất nhiều không gian.
Nhưng tôi đọc rằng phương pháp tiếp cận ưa thích hơn là Thừa kế bảng lớp theo Bill Karwin.
IMHO, không có câu trả lời duy nhất, các chiến lược khác nhau (một bảng cho mỗi phân cấp, một bảng cho mỗi lớp cụ thể, một bảng cho mỗi lớp) có tất cả điểm mạnh và điểm yếu và lựa chọn một hoặc khác.
Bảng đơn Ưu điểm và nhược điểm kế thừa và trong trường hợp nào nó được sử dụng?
Chiến lược này là tốt khi bạn cần truy vấn "đa hình" (không cần tham gia hoặc đoàn kết) miễn là bạn có thể giảm thiểu số cột không có giá trị (và thuyết phục DBA rằng lược đồ không chuẩn hóa sẽ không phải là vấn đề về lâu dài).
Trên thực tế, tôi đề nghị để kiểm tra Mapping Objects to Relational Databases: O/R Mapping In Detail Scott Ambler (tác giả của bài báo tham khảo về ORM) và đặc biệt là phần 2.6 Comparing The Strategies - không có điểm tại diễn giải ông - mà tôi trích dẫn dưới đây:
Ưu điểm:
- Cách tiếp cận đơn giản.
- Dễ dàng thêm các lớp mới, bạn chỉ cần thêm các cột mới cho dữ liệu bổ sung .
- Hỗ trợ đa hình bằng cách thay đổi loại hàng.
- Truy cập dữ liệu nhanh vì dữ liệu nằm trong một bảng.
- Báo cáo đặc biệt rất dễ dàng vì tất cả dữ liệu được tìm thấy trong một bảng.
Nhược điểm:
- nối trong hệ thống phân cấp lớp được tăng lên bởi vì tất cả các lớp học được kết trực tiếp đến cùng một bảng. A thay đổi trong một lớp học có thể ảnh hưởng đến bảng mà sau đó có thể ảnh hưởng đến các lớp khác trong cấu trúc phân cấp.
- Không gian có khả năng bị lãng phí trong cơ sở dữ liệu.
- Cho biết loại trở nên phức tạp khi chồng chéo đáng kể giữa các loại tồn tại.
- Bảng có thể phát triển nhanh chóng cho các cấu trúc phân cấp lớn.
Khi sử dụng:
- Đây là một chiến lược tốt cho đơn giản và/hoặc lớp nông phân cấp nơi có rất ít hoặc không có sự chồng chéo giữa các loại trong hệ thống phân cấp.
Nhưng tôi nhiệt liệt khuyên bạn nên đọc toàn bộ bài báo.
Nguồn
2010-05-31 23:47:13
Cảm ơn bạn rất nhiều Paskal! Bây giờ tôi hiểu nhiều hơn – Yosef
Cảm ơn bạn rất nhiều vì lời giải thích tốt và bài viết tuyệt vời! – Yosef