Обратите внимание, что столбец CONSTRAINT_TYPE (под заголовком "С") показывает различные типы ограничений: "Р" означает ограничение PRIMARY KEY. "U" — ограничение UNIQUE. "R" — ограничение ссылочной целостности. а "С" — ограничение CHECK и ограничение NOT NULL (точнее определить последние ограничения можно по столбцу SEARCH_CONDITION).
Удаление столбцов
Так как команда Oracle7 ALTER TABLE не включает в себя возможности удаления столбца таблицы, то, если вам требуется именно это, все ее преимущества "бледнеют". Примите во внимание побочные эффекты (потерю доступности данных и массу лишней работы), и если желание удалить столбец у вас не пропало, выполните следующие шаги:
1. Если вы работаете в рабочей базе данных, уже доступной для пользователей приложений, завершите те приложения, которым необходим доступ к данной таблице.
2. Создайте новую копию таблицы, не включая в нее удаляемые столбцы. Используйте для новой версии таблицы временное имя.
3. Для копирования данных из старой таблицы в новую используйте оператор INSERT с подзапросом:
INSERT INTO newtable SELECT соl1, col2, col3 FROM oldtable
4. Переименуйте старую и новую версии таблицы:
RENAME oldtable ТО oldtabletemporary
RENAME newtable TO oldtable
5. Назначьте для новой таблицы те же полномочия доступа, которые имелись у старой версии.
6. Заново создайте необходимые представления и процедуры, зависящие от удаленного столбца. Если они не ссылаются явно на удаленную версию, то будут без проблем работать с новой таблицей.
Проверив корректность работы приложения, использующего новую версию таблицы, вы можете удалить старую версию и освободить место на диске.
Удаление таблиц
Если вы хотите полностью удалить таблицу из схемы приложения, то можете сделать это с помощью командыSQL DROP TABLE. Использование этой команды демонстрируют следующие операторы:
DROP TABLE item
DROP TABLE orders CASCASE CONSTRAINTS
Первый оператор показывает, как удалять таблицу, не содержащую первичного или уникального ключа, на который ссылаются другие таблицы. Второй оператор показывает, как удалять таблицу с первичным или уникальным ключом, некоторый имеются ссылки в других таблицах. При указании предложения CASCADE CONSTRAINTS Oracle7 будет автоматически удалять внешние ключи, зависящие от первичного ключа удаляемой таблицы.
Примечание
Чтобы удалить таблицу с помощью команды DROPTABLE, вы должны быть владельцем таблицы или иметь системные полномочия DROPANYTABLE.
Управление представлениями
Завершив разработку таблиц в схеме приложения, вы можете создать на их основе различные представления, применение которых в схеме приложения может быть вызвано многими причинам. (См. выше раздел "Эффективное использование представлений при проектировании схемы").
Создание представлений
Чтобы создать для приложения новое представление, используйте командуSQL CREATE VIEW. Правила присваивания представлениям имен идентичны правилам присваивания имен таблицам. (См. выше раздел "Создание таблиц", где об этом рассказывается подробнее.)
При создании нового представления вы можете задать в команде CREATE VIEW несколько параметров, включая:
· Определение запроса представления
· Псевдонимы и имена столбцов в представлении
· Ограничения целостности для представления
Каждый из них описывается в следующих разделах.
Примечание
Для создания представления вы должны иметь системные полномочия CREATEVIEWили CREATEANYVIEW. Д
Спецификация запроса представления
Основным, что нужно принимать во внимание при создании нового представления, является определение запроса представления. Запрос представления точно описывает, какие табличные данные он будет представлять. Представление может быть простым, как. например, следующее, в котором маскируется имя таблицы:
CREATE V!EW inventory AS
SELECT • FROM stock
При работе пользователей с представлением INVENTORY оно будет выглядеть точно также, как если бы они работали с таблицей STOCK. Следующие примеры иллюстрируют аналогичную работу операторов SELECT и INSERT для представления INVENTORY и таблицы STOCK.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.