Lieber Linuchs,
Beim Löschen von einem Satz
termine.idsollen auch 0..n Sätze mittermin_typ.termin_idgelöscht weren.
Also löschst Du Termine in etwa dieser Art:
DELETE FROM `termine`
WHERE `termine`.`id`=:termin_id;
Und jetzt musst Du "aufräumen", damit damit zusammenhängende Daten auch aus der DB verschwinden:
DELETE FROM `termin_typ`
WHERE NOT EXISTS (
SELECT *
FROM `termine`
WHERE `termine`.`termin_typ`=`termin_typ`.`typ`
);
Keine Ahnung, wie Deine Tabellen genau aussehen, insbesondere welche Spaltennamen Du in welchen Tabellen hast. Aber Du wirst das Prinzip mit dem Sub-Select schon verstanden haben.
Liebe Grüße
Felix Riesterer