double arrow

Триггеры и хранимые процедуры (InterBase)


Резюме

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

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

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

CREATE [PUBLIC]PRIVATE] SYNONYM ИМЯ_СИНОНИМА FOR ТАБЛИЦА |ПРЕДСТАВЛЕНИЕ

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

CREATE SYNONYM CUST FOR CUSTOMER_TBL;

SELECT CUST_NAME FROM CUST;

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

CREATE SYNONYM PRODUCTS_TBL FOR USER1.PRODUCTS_TBL;

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

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

Вот пример:

DROP SYNONYM CUST

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

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

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

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

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

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

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

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

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

Тесты

1. Можно ли удалить строку данных из представления, созданного на основе данных нескольких таблиц?

2. При создании таблицы ее владелец автоматически получает соответствующие привилегии в отношении этой таблицы. Верно ли это в случае создания представлений?

3. Какое выражение используется для упорядочения данных при создании представления?

4. Какая опция может быть использована для создания представления из другого представления, если необходимо гарантировать целостность данных?

5. При попытке удаления представления было получено сообщение об ошибке ввиду того, что имелись зависимые представления. Что нужно сделать, чтобы все-таки удалить представление?

Упражнения

1. Запишите оператор, создающий представление на основе всех данных таблицы EMPLOYEE_TBL.

2. Запишите оператор, создающий представление, возвращающее среднюю почасовую оплату и среднюю зарплату по каждому из городов для таблицы EMPLOYEE_TBL.

3. Запишите операторы, удаляющие представления, созданные в результате выполнения пп. 1 и 2.



Сейчас читают про: