От предоставената от вас схема виждам, че ограничението за външния ключ съществува в таблица parents_children
, което ще гарантира, че връзката между родител и дете може да съществува само ако съществуват и родител, и дете.
Това обаче не ви пречи да вмъкнете запис в parents
, без придружаващ запис в parents_children
или по този въпрос children
.
Така че накратко, тази схема позволява съществуването на родител, без дете.
Проблемът с вашата логика тук би бил, че и родителят, и детето трябва да бъдат създадени, преди връзката да може да бъде създадена в parents_children
(поради връзките с външния ключ). Въпреки това допълнителната логика, която търсите (без дете, няма родител и обратно), ще изисква цялата връзка между родител и дете, преди да може да се създаде родител или дете.
Виждате ли проблема пиле/яйце тук?