Синоним (база данных)
![]() | Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( июнь 2021 г. ) |
В базах данных синоним — это псевдоним или альтернативное имя таблицы , представления , последовательности или другого схемы объекта . Они используются в основном для того, чтобы облегчить пользователям доступ к объектам базы данных, принадлежащим другим пользователям. Они скрывают личность базового объекта и затрудняют нацеливание вредоносной программы или пользователя на базовый объект. Поскольку синоним — это всего лишь альтернативное имя объекта, для него не требуется никакого хранилища, кроме его определения. Когда приложение использует синоним, СУБД перенаправляет запрос базовому объекту синонима. Записывая свои программы так, чтобы они использовали синонимы вместо имен объектов базы данных, вы изолируете себя от любых изменений имени, владельца или местоположения объектов. Если вы часто ссылаетесь на объект базы данных с длинным именем, возможно, вам понравится возможность обращаться к нему с более коротким именем без необходимости переименовывать его и изменять код, ссылающийся на него.
Синонимы очень эффективны с точки зрения предоставления пользователям доступа к объектам, которые не входят в их схему . Все синонимы должны быть созданы явно с помощью команды CREATE SYNONYM, а базовые объекты могут находиться в той же базе данных или в других базах данных, связанных между собой. ссылки на базу данных [ объяснить ]
Синонимы используются в двух основных случаях:
- Невидимость объекта : можно создавать синонимы, чтобы исходный объект был скрыт от пользователя.
- Невидимость местоположения . Синонимы можно создавать как псевдонимы для таблиц и других объектов, которые не являются частью локальной базы данных.
Когда создается таблица или процедура, они создаются в определенной схеме, и другие пользователи могут получить к ней доступ, только используя имя этой схемы в качестве префикса к имени объекта. Обходной путь заключается в том, что владелец схемы создает синоним с тем же именем, что и имя таблицы.
Публичные синонимы
[ редактировать ]Публичные синонимы принадлежат специальной схеме в базе данных Oracle, называемой PUBLIC. Как упоминалось ранее, на общедоступные синонимы могут ссылаться все пользователи базы данных. Общедоступные синонимы обычно создаются владельцем приложения для таблиц и других объектов, таких как процедуры и пакеты, чтобы пользователи приложения могли видеть объекты.
Следующий код показывает, как создать общедоступный синоним для таблицы сотрудников:
CREATE PUBLIC SYNONYM employees for hr.employees;
Теперь любой пользователь может просмотреть таблицу, просто введя исходное имя таблицы. При желании вы можете указать для этой таблицы другое имя в операторе CREATE SYNONYM. Помните, что администратор базы данных должен создавать общедоступные синонимы. Тот факт, что вы можете видеть таблицу через общедоступный (или частный) синоним, не означает, что вы также можете выполнять над таблицей операции SELECT, INSERT, UPDATE или DELETE. Чтобы иметь возможность выполнять эти операции, пользователю необходимы определенные привилегии для базового объекта либо напрямую, либо через роли владельца приложения.
Частные синонимы
[ редактировать ]Частный синоним — это синоним в схеме базы данных, который разработчик обычно использует для маскировки истинного имени таблицы, просмотра хранимой процедуры или другого объекта базы данных в схеме приложения.
На частные синонимы, в отличие от общедоступных синонимов, может ссылаться только схема, которой принадлежит таблица или объект. Возможно, вам захочется создать частные синонимы, если вы хотите ссылаться на одну и ту же таблицу в разных контекстах. Частный синоним переопределяет определения общедоступных синонимов. Вы создаете частные синонимы так же, как и общедоступные синонимы, но опускаете ключевое слово PUBLIC в инструкции CREATE.
В следующем примере показано, как создать частный синоним под названием «адреса» для таблицы местоположений. Обратите внимание: после создания частного синонима вы можете ссылаться на него точно так же, как на исходное имя таблицы.
CREATE SYNONYM addresses FOR hr.locations;
Удали синоним
[ редактировать ]Синонимы, как частные, так и общедоступные, удаляются одинаково с помощью команды DROP SYNONYM, но есть одно важное отличие. Если вы удаляете общедоступный синоним; вам нужно добавить ключевое слово PUBLIC после ключевого слова DROP.
DROP SYNONYM addresses;
Представление ALL_SYNONYMS (или DBA_SYNONYMS) предоставляет информацию обо всех синонимах в вашей базе данных.
Ссылки
[ редактировать ]- Палински, Джон Адольф (2002). Справочник по Oracle SQL и PL/SQL: Руководство для администраторов данных, разработчиков и бизнес-аналитиков . Аддисон-Уэсли . ISBN 978-0-201-75294-6 .
- Генник, Джонатан (2004). Oracle SQL*Plus: полное руководство . О'Рейли Медиа . ISBN 978-0-596-00746-1 .
- Алапати, Сэм Р. (2005). Эксперт по администрированию базы данных Oracle 10g . Апресс . ISBN 978-1-59059-451-3 .
- Бобровски, Стив. Практическое использование Oracle Database 10g Express Edition для Windows . МакГроу-Хилл . ISBN 978-0-07-226331-2 .