Наше рассмотрение команд для определения данных было бы неполным без такой
важной команды, как DROP TABLE. Поскольку у вас есть файл demo_small.sql, то вос-
создать таблицы базы данных будет совсем нетрудно, поэтому вы можете смело вы-
полнять команды удаления таблиц. Давайте сначала попытаемся удалить таблицу
aircrafts:
DROP TABLE aircrafts;
Казалось бы, не должно быть никаких проблем, но в результате СУБД выдает сооб-
щение об ошибке:
ОШИБКА: удалить объект таблица aircrafts нельзя, так как от него зависят
другие объекты
,
→
ПОДРОБНОСТИ: ограничение flights_aircraft_code_fkey в отношении таблица
flights зависит от объекта таблица aircrafts
,
→
ограничение seats_aircraft_code_fkey в отношении таблица
seats зависит от объекта таблица aircrafts
,
→
ПОДСКАЗКА: Для удаления зависимых объектов используйте DROP ... CASCADE.
Дело в том, что таблица «Самолеты» (aircrafts) является ссылочной для таблиц «Рей-
сы» (flights) и «Места» (seats), что и отражено в сообщении. Выполнив команду
\d flights
мы увидим внешний ключ, ссылающийся на таблицу «Самолеты» (aircrafts). В сооб-
щении содержится также и подсказка, рекомендующая в команду DROP TABLE доба-
вить фразу CASCADE, означающую каскадное удаление зависимых объектов. Давайте
так и сделаем:
Достарыңызбен бөлісу: