Синоним (база данных) - Synonym (database)

А синоним это псевдоним или альтернативное имя для стол, Посмотреть, последовательность, или другой схема объект. Они используются в основном для облегчения пользователям доступа к объектам базы данных, принадлежащим другим пользователям. Они скрывают идентификацию базового объекта и затрудняют нацеливание вредоносной программы или пользователя на базовый объект. Поскольку синоним - это просто альтернативное имя объекта, он не требует никакого хранения, кроме своего определения. Когда приложение использует синоним, СУБД перенаправляет запрос в базовый объект синонима. Кодируя свои программы для использования синонимов вместо имен объектов базы данных, вы изолируете себя от любых изменений в имени, владельце или расположении объектов. Если вы часто обращаетесь к объекту базы данных с длинным именем, вы можете оценить возможность ссылаться на него с более коротким именем без необходимости переименовывать его и изменять относящийся к нему код.

Синонимы очень эффективны с точки зрения предоставления пользователям доступа к объектам, которые не находятся в их пределах. схема. Все синонимы должны быть созданы явно с помощью команды CREATE SYNONYM, и лежащие в основе объекты могут быть расположены в одном и том же база данных или в других базах данных, связанных ссылки на базу данных[уточнить ].

Есть два основных использования синонимов:

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

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

Общедоступные синонимы

Общедоступные синонимы принадлежат специальной схеме в База данных Oracle называется PUBLIC. Как упоминалось ранее, на общедоступные синонимы могут ссылаться все пользователи в базе данных. Общедоступные синонимы обычно создаются владельцем приложения для таблиц и других объектов, таких как процедуры и пакеты, чтобы пользователи приложения могли видеть объекты.

В следующем коде показано, как создать общедоступный синоним для таблицы сотрудников:

СОЗДАЙТЕ ОБЩЕСТВЕННЫЙ СИНОНИМ сотрудники за час.сотрудники;

Теперь любой пользователь может увидеть таблицу, просто набрав исходное имя таблицы. При желании вы можете указать другое имя для этой таблицы в операторе CREATE SYNONYM. Помните, что администратор базы данных должен создавать общедоступные синонимы. Тот факт, что вы можете видеть таблицу через общедоступный (или частный) синоним, не означает, что вы также можете выполнять операции SELECT, INSERT, UPDATE или DELETE с таблицей. Чтобы иметь возможность выполнять эти операции, пользователю необходимы определенные привилегии для базового объекта либо напрямую, либо через роли от владельца приложения.

Частные синонимы

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

На частные синонимы, в отличие от общедоступных синонимов, может ссылаться только схема, которой принадлежит таблица или объект. Вы можете захотеть создать частные синонимы, если хотите ссылаться на одну и ту же таблицу в разных контекстах. Частный синоним имеет приоритет над определениями общедоступных синонимов. Вы создаете частные синонимы так же, как и общедоступные синонимы, но опускаете ключевое слово PUBLIC в операторе CREATE.

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

СОЗДАЙТЕ СИНОНИМ адреса ЗА час.локации;

Отбросьте синоним

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

УРОНИТЬ СИНОНИМ адреса;

Представление ALL_SYNONYMS (или DBA_SYNONYMS) предоставляет информацию обо всех синонимах в вашей базе данных.

Рекомендации

  • Палински, Джон Адольф (2002). Oracle SQL and PL / SQL Handbook: Руководство для администраторов данных, разработчиков и бизнес-аналитиков. Эддисон – Уэсли. ISBN  978-0-201-75294-6.
  • Генник, Джонатан (2004). Oracle SQL * Plus: полное руководство. O'Reilly Media. ISBN  978-0-596-00746-1.
  • Алапати, Сэм Р. (2005). Экспертное администрирование Oracle Database 10g. Apress. ISBN  978-1-59059-451-3.
  • Бобровски, Стив. Практическое руководство Oracle Database 10g Express Edition для Windows. Макгроу-Хилл. ISBN  978-0-07-226331-2.