Теория баз данных


add constraint FK_EXEMPLAR_RELATION_READERS foreign key



references BOOKS (ISBN)

go

alter table EXEMPLAR

add constraint FK_EXEMPLAR_RELATION_READERS foreign key (NUM_READER)

references READERS (NUM_READER) go alter table RELATION_67

add constraint FK_RELATION_IOIINEONY_BOOKS foreign key (ISBN)

references BOOKS (ISBN) go alter table RELATION_67

add constraint FK_RELATION_I_AANOAAE_CATALOG foreign key (KW_KOD)

references CATALOG (KW_KOD) go

В языке SQL присутствует и операция удаления таблиц. Синтаксис этой операции предельно прост:

<Удалить таблицу>::= DROP TABLE <имя таблицы> [CASCADE | RESTRICT]

Параметр CASCADE означает, что при удалении таблицы одновременно удаляются и все объекты, связанные с ней. С таблицей, кроме рассмотренных ранее ограничений, могут быть связаны также объекты типа триггеров и представления. Понятие представления будет рассмотрено в следующем подразделе, а триггеров мы коснемся в разделах, связанных с архитектурой клиент-сервер. Однако операция удаления объектов определяется еще правами пользователей, что связано с концепцией безопасности в базах данных. Это значит, что если вы не являетесь владельцем объекта, то вы можете не иметь прав на его удаление. И в этом случае синтаксически правильный оператор DROP TABLE не может быть выполнен системой в силу отсутствия прав на удаление связанных с удаляемой таблицей объектов. Кроме того, операция удаления таблицы не должна нарушать целостность базы данных, поэтому удалять таблицу, на которую имеются ссылки других таблиц, невозможно.

Например, в нашей схеме, связанной с библиотекой, мы не можем удалить ни таблицу BOOKS, ни таблицу READERS, ни таблицу CATALOG. У этих таблиц есть связь с подчиненными таблицами EXEMPLAR и RELATION_67. Поэтому если вы хотите удалить некоторый набор таблиц, то сначала необходимо грамотно построить последовательность их удаления, которая не нарушит базовых принципов поддержки целостности вашей схемы БД. В нашем примере последовательность операторов удаления таблиц может быть следующей:

DROP TABLE EXEMPLAR

DROP TABLE RELATION_67

DROP TABLE CATALOG

DROP TABLE READERS

DROP TABLE BOOKS




Содержание  Назад  Вперед