Giả sử tôi có bảng đại diện cho một lớp siêu, sinh viên. Và sau đó tôi có N bảng đại diện cho các lớp con của đối tượng đó (vận động viên, nhạc sĩ, v.v ...). Làm thế nào tôi có thể thể hiện một ràng buộc sao cho một học sinh phải được mô hình hóa trong một lớp con (không nhiều hơn, không ít hơn)?Duy trì tính toàn vẹn của lớp con trong cơ sở dữ liệu quan hệ
Làm rõ về ý kiến:
- này đã được duy trì bằng tay, không thông qua một gói ORM.
- Dự án này liên quan đến việc ngồi trên máy chủ SQL (nhưng sẽ rất tuyệt khi xem giải pháp chung)
- Đây có thể không phải là ví dụ tốt nhất. Có một vài tình huống chúng ta có thể xem xét liên quan đến phân lớp, và tôi đã tình cờ phát minh ra ví dụ sinh viên/vận động viên này.
A) Theo kiểu hướng đối tượng thực sự, có thể lớp cha có thể tồn tại và không cần phải được mô hình hóa trong bất kỳ lớp con nào.
B) Trong cuộc sống thực, bất kỳ đối tượng hoặc học sinh nào đều có thể có nhiều vai trò.
C) Kịch bản cụ thể mà tôi đã cố gắng minh họa là yêu cầu mọi đối tượng phải được thực hiện chính xác trong một lớp con. Hãy nghĩ về siêu lớp như một sự triển khai trừu tượng, hoặc chỉ các tính phổ biến được tạo ra từ các lớp/cá thể đối tượng khác nhau.
Cảm ơn tất cả những gì bạn đã nhập, đặc biệt là Bill.
Chỉ cần làm rõ: Bạn có quản lý thủ công điều này hoặc sử dụng giải pháp ORM như ngủ đông không? – Uri
Bạn đang sử dụng cơ sở dữ liệu nào? Nếu bạn đang sử dụng PostgreSQL, nó có bảng kế thừa có sẵn. – Elijah
Tôi rất tò mò, Tại sao không thể trở thành một vận động viên và một nhạc sĩ? –