Проектирование схемы приложения. Эффективное использование синонимов в схеме приложения, страница 12

Если окажется, что представление больше не нужно, то для очистки схемы приложения и словаря базы данных его лучше удалить. Для удаления используйте команду SQL DROP VIEW:

DROP VIEW reorder

Примечание

Принадлежащее вам представление вы можете уда­лить всегда. Чтобы с помощью команды DROPVIEW удалить представление в другой схеме приложения, нужно иметь системные полномочия DROPANYVIEW

Управление синонимами

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

Создание частных и общедоступных синонимов

Перед созданием синонима нужно решить, должен ли он быть общедоступным или частным для содержащей его схемы. К общедоступному синониму могут обращаться все пользователи базы данных. При создании такого синонима вы задаете имя. на которое могут ссылаться все пользователи (хотя для доступа к соответствующему объекту базы данных им потребуются те или иные полномо­чия). Частный синоним доступен только для того пользователя, который его со­здал, и для тех пользователей, которые имеют полномочия доступа к базовому объекту синонима. (Подробнее о полномочиях защиты для общедоступных и лич­ных синонимов рассказывается в главе 19.)

Когда вы решите, какой тип синонимов больше для вас подходит, то можете создать его для таблицы, представления, хранимой процедуры, функции, пакета или другого синонима. Для этого используется команда SQL CREATE SYNONYM. Создание общедоступных и личных синонимов иллюстрируют сле­дующие примеры:

CREATE SYNONYM sales.inventory FOR sales.stock;

CREATE PUBLIC SYNONYM parts FOR sales.stock;

Примечание

Чтобы создать общедоступный синоним, вы должны иметь системные полномочия CREATEPUBLICSYNONYM, а для создания частного синонима требуются полномочия CREATESYNONYM. Чтобы создать частный синоним в другой схеме приложения, необходимы полномочия CREATEANYSYNONYM.

Использование синонимов

После создания общедоступного или частного синонима разработчики прило­жения могут в процессе работы ссылаться на него в своем коде. Например, в коде приложения можно с равным успехом ссылаться на таблицу STOCK или на ее личный синоним INVENTORY.

INSERT INTO stock VALUES (...)

UPDATE stock...

DELETE FROM stock WHERE ...

INSERT INTO inventory VALUES (...)

 UPDATE inventory...

 DELETE FROM Inventory WHERE ...

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

Удаление синонимов

Если вы удаляете соответствующий синониму объект базы данных или решили, что синоним вам больше не нужен, то лучше удалить его. Это очистит словарь базы данных. Удалить синоним можно с помощью команды DROP SYNONYM. При удалении общедоступного синонима нужно указать ключевое слово PUBLIC.

DROP SYNONYM sales.inventory

DROP PUBLIC SYNONYM parts

Примечание

Чтобы удалить частный синоним, вы должны быть его владельцем или иметь системные полномочия DROPANYSYNONYM. Для удаления общедоступного синони­ма нужны системные полномочия DROPPUBLICSYNONYM.

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

• Планирование таблиц в плане нормализации и выбора ключей

• Идентификацию и задание доменов, информационных блоков и правил ссы­лочной целостности с помощью ограничений целостности 0гас1е7

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

* Применение синонимов для устранения зависимости кода от таблиц схемы

• Создание, изменение и удаление таблиц, представлений и синонимов

Эта информация используется в следующей главе, которая начинается с обсуждения тонкой настройки производительности приложения клиент/сервер с помощью других объектов схемы 0гас1е7, включая индексы, кластеры данных последовательности.