Читаем SQL за 24 часа полностью

Управление синонимами обычно осуществляет администратор базы данных (или другое уполномоченное лицо) или конкретные пользователи. Ввиду существования двух типов синонимов (PUBLIC и PRIVATE), для их создания могут потребоваться привилегии разного уровня доступа к системе. Любой пользователь имеет возможность создавать синонимы с атрибутом PRIVATE. Право создавать синонимы с атрибутом PUBLIC обычно имеется у администратора или привилегированных пользователей базы данных. По поводу требуемых для создания синонимов привилегий обратитесь к документации той реализации языка, которую вы используете.


Создание синонимов

Общий синтаксис оператора для создания синонимов следующий.

CREATE [PUBLIC]PRIVATE] SYNONYM ИМЯ_СИНОНИМА FOR

ТАБЛИЦА |ПРЕДСТАВЛЕНИЕ

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

CREATE SYNONYM CUST FOR CUSTOMER_TBL;

Синоним создан.

SELECT CUST_NAME FROM CUST;

CUST_NAME

---------------------------

LESLIE GLEASON

NANCY BUNKER

ANGELA DOBKO

WENDY WOLF

MARYS GIFT SHOP

SCOTTYS MARKET

JASONS AND DALLAS GOODIES

MORGAN CANDIES AND TREATS

SCHYLERS NOVELTIES

GAVINS PLACE

HOLLYS GAMEARAM

HEALTHERS FEATHERS AND THINGS

RAGANS HOBBIES

ANDYS CANDIES

RYANS STUFF

15 строк выбраны.

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

CREATE SYNONYM PRODUCTSJTBL FOR USER1.PRODUCTS_TBL;

Синоним создан.


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

Удаление синонимов подобно удалению любого другого объекта базы данных. Общий синтаксис оператора для удаления синонима следующий.

DROP [PUBLIC|PRIVATE] SYNONYM ИМЯ_СИНОНИМА

Вот пример:

DROP SYNONYM CUST

Синоним удален.


Резюме

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

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


Вопросы и ответы

Как это представление может содержать данные и не требовать места для их хранения?

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

Что случится, если таблица, на основе которой строится представление, будет удалена?

Представление окажется несостоятельным, поскольку данные для отбора перестанут существовать.

Существуют ли какие-либо ограничения на имена синонимов при их создании?

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


Практикум

Перейти на страницу:

Похожие книги

Adobe InDesign CS3
Adobe InDesign CS3

Книга посвящена верстке и макетированию в программе Adobe InDesign CS3. Помимо того что в ней описываются возможности программы, рассматриваются также принципы и традиции верстки, приводятся примеры решения типичных задач. Все это позволит читателю не только овладеть богатым инструментарием программы, но и грамотно применять его.Материал книги разделен на логические части: теоретические сведения, инструментарий программы, решение задач, – а также рассчитан на два уровня подготовки читателей – начинающих и опытных пользователей, что выгодно отличает книгу от других изданий. Это позволит применять ее как новичкам для знакомства с программой, так и пользователям со стажем для пополнения своих знаний.

Владимир Гавриилович Завгородний , Владимир Завгородний

Программирование, программы, базы данных / Программное обеспечение / Книги по IT