Del esquema que proporcionó, puedo ver que la restricción de clave externa existe en la tabla parents_children
, lo que garantizará que el vínculo entre el padre y el hijo solo pueda existir si existen tanto el padre como el hijo.
Sin embargo, esto no le impide insertar una entrada en parents
, sin una entrada adjunta en parents_children
o para el caso children
.
En resumen, este esquema permite que exista un padre, sin un hijo.
El problema con su lógica aquí sería que tanto el padre como el hijo deben crearse antes de que se pueda crear la relación en parents_children
(debido a las relaciones de clave externa). Sin embargo, la lógica adicional que está buscando (no child no parent y viceversa) requeriría un vínculo entre el padre y el hijo antes de que se pueda crear un padre o un hijo.
¿Ves el problema del huevo y la gallina aquí?