logo
Книга по БД(Вальке А

5.9.7. Синонимы

Существуют случаи, когда по историческим причинам разным пользователям удобнее работать с одними и теми же таблицами (в том числе и псевдотаблицами), но под разнвми именами. Такое бывает при реорганизации базы данных и желании сохранить работающие программы без каких-либо изменений.

SQL позволяет создавать синонимы для таблиц. Синонимы бывают публичными или личными. Публичный синоним доступен после создания всем пользователям. Личный синоним - тольо владельцу, то есть пльзователю, который его создал. Нельзя создать синоним на синоним. Публичный синоним создается оператором

CREATE PUBLIC SYNONYM <имя синонима> FOR <имя таблицы>

Личный синоним создается аналогично, только вместо ключевого слова PUBLIC используется слово PRIVATE:

CREATE PRIVATE SYNONYM <имя синонима> FOR <имя таблицы>

Личных синонимов с одинаковым именем может быть несколько, но они будут принадлежать разным пользователям и, соответсвенно, для каждого пользователя обозначать что-то свое.

Примеры создания синонимов:

CREATE PUBLIC SYNONYM goods FOR items

CREATE PRIVATE SYNONYM tovary FOR items

Для баз данных в режиме ANSI синонимы бывают только личными и при создании синонима слово PRIVATE указывать не надо. Имена синонимов могут использоваться в операторах GRANT и REVOKE при передаче или лишения права на доступ к таблице..

Удаляется синоним оператором

DROP SYNONYM <имя синонима>