Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Удаление таблицы (инструкция DROP table)

 

С течением времени структура базы данных изменяется. Ненужные таблицы можно удалять посредством инструкции DROP TABLE. Стандартная синтаксическая диаграмма приведена на рисунке

 

Инструкция содержит имя удаляемой таблицы. Обычно пользователь удаляет одну из своих собственных таблиц и указывает в инструкции простое имя таблицы. Имея соответствующее разрешение, можно также удалить таблицу другого пользователя, но в этом случае необходимо указать полное имя таблицы.

В соответствии со стандартом инструкция DROP TABLE должна включать в себя либо параметр CASCADE, либо RESTRICT, которые определяют, как влияет удаление таблицы на другие объекты базы данных (например, представления), зависящие от этой таблицы. Если задан параметр CASCADE и в базе данных имеются объекты, которые содержат ссылку на удаляемую таблицу, то выполнение инструкции закончится неуспешно. В большинстве коммерческих СУБД допускается применение инструкции DROP TABLE без каких-либо параметров.

Синтаксическая диаграмма DROP TABLE в Oracle имеет следующий вид:

 

DROP TABLE [ schema.] table_name

[CASCADE CONSTRAINTS] [PURGE];

 

Конструкция CASCADE CONSTRAINTS позволит удалить таблицу, если на ее столбцы определены ссылки внешними ключами других таблиц (внешний ключ, ссылающийся на значения столбцов «собственной» таблицы, не препятствует ее удалению). При этом СУБД удалит сначала «мешающее» правило внешнего ключа, а столбцы другой, оставшейся таблицы в результате сохранят свои значения, но они уже не будут обременены ограничением ссылочной целостности. Фактически использование CASCADE CONSTRAINTS равносильно последовательному удалению всех правил внешнего ключа, ссылающихся на удаляемую таблицу (таковых может быть несколько), и выполнению простой команды DROP TABLE.

Конструкция PURGE появилась в 10 версии Oracle и изменила смысл команды DROP. Теперь после ее выполнения описание и данные таблицы продолжают храниться на своих местах, но под новыми, присвоенными системой автоматически именами. Для пользователя таблица удалена, однако все, что нужно для ее восстановления, если такая необходимость возникнет, продолжает храниться в БД. Тем самым для таблиц реализована техника «мусорной корзины» (recycle bin), хорошо известная по файловым системам.

Список содержимого мусорной корзины можно получить из системной таблицы USER_RECYCLEBIN (публичный синоним — RECYCLEBIN) командой:

 

SELECT object_name, original_name, droptime FROM user_recyclebin;

 

Восстановить таблицу по исходному имени (поле ORIGINAL_NAME из USER_RECYCLEBIN) можно, например, так:

 

FLASHBACK TABLE table_name TO BEFORE DROP;

 

При этом у восстановленной таблицы будут отсутствовать, возможно, имевшиеся до удаления ограничения целостности, а индексы, хотя и восстановятся, но с системными именами.

Для удаления таблицы из мусорной корзины нужно использовать команду PURGE, например:

 

PURGE TABLE table_name;

 

Можно очистить корзину целиком:

 

PURGE RECYCLEBIN;

 

Чтобы таблица удалялась сразу без возможности восстановления, следует использовать конструкцию PURGE в команде DROP:

:

DROP TABLE table_name PURGE;

 

 

<== предыдущая лекция | следующая лекция ==>
Создание таблиц (инструкция create table) | Изменение определения таблицы (инструкция alter table)
Поделиться с друзьями:


Дата добавления: 2013-12-12; Просмотров: 1069; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.