Целостность данных в БД и попытка отслеживать это.

Gremboloid

инженера Гр...
Целостность данных в БД и попытка отслеживать это.

Посидев вечерок, столкнулся с такой мыслью:
Как можно в MySQL (да и не только в нем) проверять целостность данных?
К примеру у нас есть две сущности "Автобус" и "Пассажир". Причем "пассажир" зависимая сущность.
По условию задачи "Пассажир" не может (не должен существовать) без "Автобус".
На уровне приложения можно прописать: не добавлять "Пассажира" пока не указан его "Автобус", не удалять "Автобус" пока в нем есть "Пассажиры"
Но вдруг случилось что-то или пошалил кто-то и у нас из БД пропал один "Автобус". Что делать?
Ну для двух таблиц делать JOIN'ы легко.
А для для трех, четырех и т.д.?
PS Стуктура БД заранее известна, изменяются только данные.
 
Сверху