Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
кожин / Лекции / Лекция 05 create_table.DOC
Скачиваний:
32
Добавлен:
20.03.2016
Размер:
233.47 Кб
Скачать
    1. Create synonym

Создание синонимов для таблиц, обзоров, последо­вательностей с возможностями:

* создание общего синонима (PUBLIC)

* создание синонима, ссылающегося на удаленную базу данных

Необходимо быть владельцем или иметь привилегию SELECT таблицы или обзора, для которых создаётся синоним. Чтобы создать синоним типа PUBLIC или синоним для объекта, владельцем которого являет­ся другой пользователь, необходимо иметь приви­легию DBA.

CREATE [PUBLIC] SYNONYM [user.]synonym

FOR [user.]table [@databaselink]

PUBLIC специфицирует, что синоним будет доступен всем пользователям. По умолчанию синоним доступен толь­ко его создателю.

synonym имя синонима, следующее соглашениям по именованию объектов.

user существующее в базе данных имя пользователя. Если оно опущено, оператор CREATE SYNONYM предпо­лагает, что владелец таблицы или обзора тот кто выдал данную операцию.

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

databaselink существующая связь к удаленной базе данных. Если user опущен, синоним ссылается к таблице, принадлежащей пользователю, спе­цифицированному в межбазовой связи.

Использование синонимов продиктовано соображения­ми безопасности и удобства, включая следующие:

* для обращения к таблице или обзору без ука­зания их владельца

* для обращения к таблице или обзору без ука­зания базы данных, которой они принадлежат

* для назначения другого имени таблице

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

Личный синоним должен иметь имя, отличное от остальных объектов данного пользователя. ORACLE пытается разрешить ссылки к объектам на уровне пользователя перед объектами на уровне "PUBLIC" синонимов. Например, если пользователь SCOTT владеет таблицей с именем DEPT, а DBA создал PUBLIC синоним с именем DEPT для объекта BLAKE.DEPT, то если SCOTT выполнит следующий оператор:

SELECT * FROM DEPT

то выберутся строки из SCOTT.DEPT. Для выборки строк из одноименной таблицы другого пользователя SCOTT должен выполнить следующий оператор:

SELECT*FROMBLAKE.DEPT

ORACLE будет пытаться разрешить ссылки к объектам через синонимы, если верны следующие предположе­ния:

* таблице или обзору не предшествует имя пользователя

* за именем таблицы или обзора не следует имя межбазовой связи

    1. Индексы

      1. Работа с индексами

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

Таблица БД

Запрос к таблице

Условие отбора записей

Таблица БД

Запрос к таблице

Условие отбора записей

Таблица индексов


Рис.1 Использование индексов при работе с таблицами

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

Таблица может иметь любое количество индексов. Однако большое количество индексов может привести к большим накладным расходам при внесении изменений в таблицы.

Соседние файлы в папке Лекции