
- •Работа с таблицами в системе управления базами данных oracle
- •Типы данных Oracle
- •Строки символов
- •Числовые типы
- •Двоичные данные
- •Дата и время
- •Преобразование типов данных
- •Правила сравнения типов данных
- •Значения Null
- •Псевдостолбцы
- •Объекты базы данных
- •Создание таблиц
- •Ограничения для таблиц и столбцов
- •Alter table
- •Удаление таблицы
- •Ввод данных в таблицы
- •Удаление таблицы
- •Представление
- •Индексы
- •Create sequence
- •Create synonym
- •Индексы
- •Работа с индексами
- •Явные и неявные индексы
- •Изменение индекса
- •Удаление индексов
- •Битовые индексы
- •Кластеры
- •Создание кластеров
- •Удаление кластеров
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 Использование индексов при работе с таблицами
Желательно индексы создавать после заполнения таблицы. Вставка строк в таблицу с уже имеющимся индексом может привести к необходимости обновления индексов.
Таблица может иметь любое количество индексов. Однако большое количество индексов может привести к большим накладным расходам при внесении изменений в таблицы.