Из системного каталога удаляется определение таблицы;
Удаляются все строки таблицы;
3. Удаляются все связанные с этой таблицей объекты, а именно: ограничения, индексы и триггеры.
Кроме того, из системного словаря удаляются все настройки прав доступа пользователей на удаленную таблицу.
Таким образом, удаление таблицы при помощи команды DROP TABLE является в значительной степени радикальной мерой, к которой следует прибегать, принимая во внимание ее последствия.
Таблица по умолчанию не может быть удалена, если ее поля использованы в существующих ограничениях FOREIGN KEY других таблиц. Для игнорирования данного правила следует использовать следующий вариант команды:
DROP TABLE "Клиент(кп)" CASCADE CONSTRAINTS
Интересным вопросом является, что же происходит с данными после удаления таблицы. В ранних версиях Oracle удаление таблицы было необратимым действием; единственным способом восстановления данных было восстановление базы данных с резервных копий. В современной системе поддерживается понятие корзины, в которую помещаются удаленные объекты базы данных и из которой эти объекты можно при необходимости восстановить.
FLASHBACK TABLE ToDrop TO BEFORE DROP
- восстановаление таблицы из корзины, однако индекс востановлен не будет. Теперь корзина пуста, а таблица восстановлена и может использоваться в запросах; индекс же необходимо создать заново.
Если необходимо удалить таблицу без помещения ее предварительно в корзину, следует использовать следующий вариант:
DROP TABLE ToDrop PURGE
Для очистки корзины можно вопользоваться командой PURGE RECYCLEBIN.
Команда FLASHBACK TABLE может использоваться и для восстновления таблицы к состоянию в некотрый момент времени. Однако восстновление объектов из корзины возможно не всегда; это связано с подробностями настройки сервера. Для более детального и полного описания работы с корзиной следует обращаться к документации.
Литература:
1. Бобровский, С. Oracle Database XE для Windows. Эффективное использование/ С. Бобровский. – М. : Лори. 2009. – 512 с.
2. Джейсон Прайс. SQL для Oracle 10g. Изд. Лори. 2010 г. – 556 с.
Объектами базы данных Oracle называются специальные структуры, используемые системой баз данных для представления пользовательской и системной информации. К рассматриваемым в данном пособии объектам базы данных относятся следующие: