Z podanego schematu widzę, że ograniczenie klucza obcego istnieje w tabeli parents_children
, co zapewni, że połączenie między rodzicem a dzieckiem może istnieć tylko wtedy, gdy istnieje zarówno rodzic, jak i dziecko.
To jednak nie powstrzymuje Cię przed wstawieniem wpisu do parents
, bez towarzyszącego wpisu w parents_children
lub o to chodzi children
.
Krótko mówiąc, ten schemat pozwala na istnienie rodzica bez dziecka.
Problem z twoją logiką polegałby na tym, że zarówno rodzic, jak i dziecko muszą zostać utworzone przed utworzeniem relacji w parents_children
(ze względu na relacje klucza obcego). Jednak dodatkowa logika, której szukasz (bez dziecka, bez rodzica i na odwrót) wymagałaby wszystkich połączeń między rodzicem a dzieckiem, zanim można by utworzyć rodzica lub dziecko.
Widzisz tutaj problem z kurczakiem/jajkiem?