Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв БД 2013-06-02.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
26.54 Mб
Скачать

5.1.3. Кластеры

Кластер - это объект, состоящий из одной или нескольких таблиц, c одним или несколькими общими столбцами.

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

Кластеры уменьшают время доступа к таблице и место на диске.

Столбцы, определенные в операторе Create Cluster, сос­тав­ля­ют ключ кластера. Эти столбцы имеют собственное имя, но по типу и по размеру должны соответствовать столбцам, включенным в кластер.

Кластеры бывают индексируемые (indexed cluster) и хэшируемые (hash cluster). В индексируемом/хэшируемом кластере сохраняются вместе строки, имеющие одинаковое значение ключа кластера/хэширования. Каждое отличное значение ключа кластера хранится в каждом блоке данных только один раз, что экономит дисковое пространство. Для хэширования можно использовать функцию Оracle или пользователя. Функция по ключу кластера возвращает результат для нахождения соответствующей строки.

5.1.4. Словарь данных

Словарь данных содержит всю служебную информацию об объ­ектах базы данных. Большинство видов словаря данных доступны пользователю с полномочиями Create Session. Виды, названия которых начинаются с DBA_, доступны только для пользователей с полномочиями Sele­ct _Any_Tab­le. При инсталляции базы данных такие полномочия назна­ча­ются роли DBA. Командой Desc All_Tables в SQL*Plus можно вывести описания всех столбцов вида All_Tables словаря.

5.1.5. Объекты базы данных

Объекты можно разделить на две группы: схемы и несхемы.

Схема - это группа объектов различной логической структуры. Схе­ма принадлежит пользователю и имеет оди­на­ковое с ним имя. Каждый пользователь владеет одной схемой. При создании базы данных по умолчанию создаются для пользователей учетные записи SYS и SYSTEM. Схемы создаются SQL-оператором. Cхема может содержать: кластеры, связи (линки) базы данных, триггеры, индексы, таблицы, пакеты, хра­ни­мые процедуры, виды, снимки, журналы репликаций и др.

К несхемным объектам относятся: каталоги, профили, роли, сег­мен­­ты отката, табличные пространства, пользователи.

5.1.6. Виды

Вид (view), представление - это логическая таблица (сохра­ня­емый запрос), получаемая из других таблиц и видов. Таблицы, на основе которых строится вид, называются базовыми (исходными) таблицами. Вид позволяет ограничивать доступ к таблице, выполнять переименование столбцов, формировать расчетные столбцы, эффективно выполнять объ­еди­нение таблиц.

5.1.7. Триггеры

Триггер базы данных - это блок команд PL/SQL, связанный с не­ко­то­­рой таблицей и запускаемый автоматически при выполнении SQL-опе­ра­торов Delete, Insert, Update. Можно определить 4 различных триггера: запускаемый всего один раз/для каждой строки, до/после выпол­не­­ния SQL-оператора. Следующие команды разрешают (Enabled)/зап­ре­ща­ют (Disabled) использование триггера:

Alter trigger enabled/disabled

Alter table enabled/disabled

5.1.8. Последовательности

Последовательность (sequency) создается с целью формирования зна­че­ний столбца, используемого в качестве первичного ключа. Для полу­чения следующего/текущего значения используется столбец NEXT­VAL/ CUR­VAL. Информация обо всех последовательностях (имя, начальное и ко­неч­ное значения и шаг приращения) хранится в виде DBA_SEQUENCES.

5.1.9. Синонимы и линки

Синоним определяет дополнительное имя, используемое для доступа к объекту. Синонимы бывают общедоступные или индиви­дуаль­ные, которые может применять только пользователь, владеющий объек­том. Все общедоступные синонимы принадлежат схеме Public.

Линк базы данных (database link) содержит информацию о под­клю­чении к удаленной базе данных.

5.1.10. Пакеты

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

5.1.11. Снимки

Снимок (cnapshot) - это таблица, содержащая результат запроса из одной или нескольких таблиц или видов базы данных. Таблицы и виды, участвующие в запросе, называются главными таблицами. База данных, содержащая эти таблицы, называется главной (master database).

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

Снимки позволяют Администратору базы данных:

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

  • Получать более быстрый доступ к данным, расположенным в снимке, чем к их оригиналу на удаленном сервере.

Можно создавать два типа снимков: простой или составной.

Простой снимок - снимок, для которого выполняются условия:

  • Запрос, создающий снимок, использует только одну главную таблицу.

  • Каждая строка получается из одной строки главной таблицы.

  • Запрос не должен содержать таких SQL-операторов, как Group By Clause, Connect By Clause, подзапрос, объединение, операторы присваивания.

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

Репликацией называется процесс синхронизации снимков и базы данных.