Другой причиной использования представлений является исключение из кода приложения сложных команд SQL. Это позволяет повысить эффективность его разработки. Например, приложение может применять сложные команды SQL для объединения данных нескольких таблиц или для использования простых запросов с представлениями, выполняющими те же операции объединения. В последнем случае вы можете кодировать и тестировать сложный запрос объединения только один раз — при создании представления. В первом же случае вам придется работать со сложными запросами каждый раз, когда приложению необходимо будет объединить данные таблиц. Это преимущество применения представлений иллюстрируется рис. 15.6.
Защита
Другой причиной использования в схеме приложения представлений является защита. Например, если система клиент/сервер поддерживает для конечных пользователей специальные инструментальные средства запросов, иногда желательно, чтобы эти пользователи запрашивали табличную информацию косвенно, через представления. Это позволяет сделать часть информации скрытой. Например, следующее представление позволяет пользователю, обращаясь к информации о сотрудниках, запросить данные о себе, но не о других пользователях.
CREATE VIEW myinformation AS
SELECT * FROM emp WHERE ename = USER
Подробнее о создании представлений и управлении ими рассказывается ниже в разделе "Управление представлениями".
Эффективное использование синонимов в схеме приложения
В предыдущем разделе вы узнали о том, как для отделения логики приложения от тех таблиц, от которых она непосредственно зависит, можно с успехом использовать логику приложения: если приложение ссылается на представление, то при изменении имени таблицы оно сможет продолжать работать без модификации — потребуется лишь переопределить представление, задав в нем адресацию к новой таблице. Аналогичным образом вы можете применять другое средство Oracle7 —синонимы, которые позволяют достичь тех же целей, но в более широком масштабе. Синоним — это просто псевдоним (альтернативное имя) таблицы Oracle7. представления, последовательности, хранимой процедуры, функции, пакета пли другого синонима. Синонимы вы можете использовать, когда хотите устранить прямую зависимость приложения от объектов подобного типа. Например, следующие операторы показывают, как синонимы функции INVENTORY скрывают от кода приложения реальное имя таблицы STOCK:
CREATE SYNONYM inventory FOR stock
INSERT FROM inventory VALUES (...)
DELETE FROM inventory WHERE id = 5
Примечание
Синонимы играют важную роль в распределенных СУБД, где приложения в процессе работы могут ссылаться как на локальные, так и на удаленные объекты базы данных. В распределенной базе данных, применяя синонимы, скрывающие от приложений местонахождение структур данных, вы можете упростить код приложения, сделав его более простым и гибким. Это называется прозрачностью местонахождения.
Подробнее о создании синонимов и управлении ими в схеме приложения рассказывается ниже в разделе "Управление синонимами".
Управление таблицами и ограничения ссылочной целостности
Если для создания схемы приложения вы не можете воспользоваться средством CASE или инструментом проектирования базы данных, то нужно вручную спланировать и изобразить эту схему на бумаге, а затем создать таблицы и представления приложения с помощью команд SQL. Даже если для проектирования и создания схемы применяется средство CASE, полезно знать, как для создания, изменения и удаления таблиц и представлений (если вы с ними работаете) используются DDL-команды SQL. В следующих разделах описывается, как с помощью отдельных DDL-команд SQL создаются и обслуживаются таблицы, а также ограничения ссылочной целостности. (Ниже в данной главе описываются те же операции для представлений. См. также главу 16, в которой обсуждаются другие объекты схемы приложения, позволяющие улучшить его производительность, такие как индексы и последовательности.)
Создание таблиц
Если вы хотите создать для приложения новые таблицы, используйте команду SQL CREATE TABLE. Ниже приведен оператор, создающий новую таблицу и сохраняющий в ней информацию о заказах:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.