Có lẽ không, có những cảnh báo về sự thừa kế bảng PostgreSQL, chẳng hạn như không có ràng buộc duy nhất toàn cầu, vì vậy bạn mất nhiều sự đảm bảo nhất quán. Việc viết các truy vấn hoạt động tốt cũng có thể là một thách thức. Như được chỉ ra bởi Scott, sự thừa kế PostgreSQL chỉ thực sự hữu ích cho việc phân vùng bảng, nơi nó là một sự cân bằng hiệu suất để bắt đầu.
Có 2 cách phổ biến để sử dụng thành ngữ SQL chuẩn cho lớp kế thừa:
- Mỗi đối tượng có một hàng cá nhân trong một bảng cha, và các đối tượng lớp con cũng có một hàng trong một bảng phân lớp cụ thể, mà đề cập đến các trường siêu lớp bằng tham chiếu khóa ngoài.
- Chỉ cần gộp tất cả các trường siêu lớp và phân lớp trong một bảng lớn duy nhất và để chúng là NULL mà giá trị của chúng không áp dụng được. Điều này làm việc đặc biệt tốt trong PostgreSQL, bởi vì giá trị NULL chỉ tiêu thụ 1 bit cho mỗi hàng, và thêm/xóa các trường vào bảng hiện có là rất nhanh (bất kể số lượng dữ liệu). Bạn có thể có thể viết một trình kích hoạt để xác minh rằng các trường bắt buộc cho một loại lớp cụ thể có mặt.
@ Dr.PersonPersonII Quý ông! Tôi không quan tâm khi bạn chỉnh sửa bài viết của mình cho rõ ràng, nhưng không phải khi bạn thay đổi ý nghĩa. Để tâm trí của tôi: _ "Để được sự thật tôi là một chút nghi ngờ về trộn mô hình quan hệ và OO ..." _ và _ "Tôi không hoàn toàn hiểu sự khác biệt giữa các mô hình quan hệ và OO" _ là những điều quá khác nhau ! Sẽ được tốt đẹp nếu bạn sẽ khôi phục lại lời nói của tôi! Cảm ơn. –
Prokofviev. Tôi không có ý định thay đổi ý nghĩa của bạn và tôi không thấy sự khác biệt giữa tóc và tóc mà bạn đang nói đến. Trong bối cảnh thiếu ngữ pháp trong bài viết gốc của bạn (tôi nghĩ tôi đã giúp người nói không phải là người bản ngữ), tôi không tin rằng bạn nghĩ rằng tôi đã hủy hoại câu hỏi của bạn và giọng giận dữ của bạn. Bạn chỉ đơn giản là có thể đã cố định "vấn đề" trong 5 giây và tất cả sẽ được tốt. Bạn có thể tự thay đổi bản chỉnh sửa! Tôi sẽ không bận tâm. –
Không có gì cá nhân! Tôi không phải là một niềm vui lớn của tính năng StackExhange này. Nó vẫn là của tôi Orwell 1984 quá nhiều ... –