Si tu base de datos permite triggers, puede hacer un trigger sobre la tabla de relaciones que borre cabecera y detalle.
O un trigger sobre cabecera que al borrar borre los detalles relacionados.
También puedes hacer esto con un procedimiento almacenado, al que le pasas el ID y borra las tres tablas.
Otra opción es hacer 3 SQL al los que le envías la sentencia
Código SQL
[-]DELETE FROM TABLA WHERE ID = :ID
También existen en algunas bases de datos como Firebird, índices para foreign keys (contraints) en los que le puedes decir que si se modifica/borra un registro, se modifique/borre el de la tabla.
Así al borrar la cabecera, se borrarían las tablas que la tengan como contraint.
Código SQL
[-]
ALTER TABLE TABLA_RELACIONES
ADD CONSTRAINT FK_TABLA_RELACIONES
FOREIGN KEY (ID_CAB)
REFERENCES TABLA_CABECERAS(ID)
ON DELETE CASCADE
ON UPDATE CASCADE
ALTER TABLE TABLA_DETALLES
ADD CONSTRAINT FK_TABLA_DETALLES
FOREIGN KEY (ID)
REFERENCES TABLA_RELACIONES(ID_DET)
ON DELETE CASCADE
ON UPDATE CASCADE