Từ lược đồ bạn đã cung cấp, tôi có thể thấy rằng Ràng buộc khóa ngoại tồn tại trên bảng parents_children
, điều này sẽ đảm bảo rằng liên kết giữa cha và con chỉ có thể tồn tại nếu cả cha và con đều tồn tại.
Tuy nhiên, điều này không ngăn bạn chèn một mục nhập vào parents
, không có mục đi kèm trong parents_children
hoặc cho vấn đề đó children
.
Vì vậy, nói ngắn gọn, lược đồ này cho phép tồn tại một phần tử gốc, không có phần tử con.
Vấn đề với logic của bạn ở đây là cả cha và con đều cần được tạo trước khi có thể tạo mối quan hệ trong parents_children
(do các mối quan hệ khóa ngoài). Tuy nhiên, logic bổ sung mà bạn đang tìm kiếm (không có con nào không có cha mẹ và ngược lại) sẽ yêu cầu tất cả liên kết giữa cha mẹ và con trước khi cha mẹ hoặc con có thể được tạo.
Bạn thấy vấn đề về gà / trứng ở đây?