Från schemat du angav kan jag se att den främmande nyckelbegränsningen finns i tabellen parents_children
, vilket säkerställer att länken mellan förälder och barn endast kan existera om både förälder och barn finns.
Detta hindrar dig dock inte från att infoga en post i parents
, utan åtföljande post i parents_children
eller för den delen children
.
Så kort sagt, detta schema tillåter en förälder att existera, utan ett barn.
Problemet med din logik här skulle vara att både föräldern och barnet måste skapas innan relationen kan skapas i parents_children
(på grund av relationerna med främmande nyckel). Den ytterligare logiken som du letar efter (inget barn ingen förälder och vice versa) skulle dock kräva all länk mellan förälder och barn innan en förälder eller ett barn kan skapas.
Ser du problemet med kyckling/ägg här?