Такие вещи лучше делать на уровне БД. Например, посредством триггеров. Вот тут почитай, например:
http://phpforum.su/index.php?showtopic=84107 (естественно, что не только триггеры можно и нужно использовать).
Использование триггеров лучше по той причине, что ты можешь удалять из любого скрипта и тебе не надо помнить про тонкости логики. Ты просто формируешь (в ПХП) команду на удаление и отправляешь ее в БД. А уже БД определяет, что там можно делать и что нельзя, какие связанные действия необходимо выполнить и т.д. А в ПХП надо только обработать, что ответит БД.
Если ведется командная разработка с использованием одной и той же БД, то такой подход вообще единственно верный.
PS. Еще добавлю, что я считаю БД полноправным участником, а не "тупым" хранилищем данных. Поэтому немалую часть логики работы с данными необходимо относить к БД. Это я к тому уточняю, что на форуме уже были споры на эту тему. И я всегда утверждал и буду утверждать, что надо пользоваться всеми возможностями БД, в т.ч. и по обработке данных, а не только по их хранению. А именно, "статичная" часть логики просто обязана быть перенесена из ПХП в БД. Под "статичной" я подразумеваю то, что закладывается изначально и потом не будет изменено. В частности, связанность данных в таблицах, и не только она.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)