СУБД Oracle. ТЕМА 2. Логическая структура базы данных Oracle.

Спасибо господину Илюшечкину Владимиру Михайловичу.

Статья содержит краткий обзор логической структуры базы данных Oracle: объекты БД, логическую структуру хранения данных, табличные пространства, управление доступом к данным.

ТЕМА 2

Логическая структура базы данных Oracle

Объекты БД:

  • Таблицы / Tables
  • Кластеры / Clusters — набор таблиц, хранящихся физически вместе как одна таблица. Есть общий столбец, по которому они соединяются.
  • Индексы / Indexes — создаются по столбцу или нескольким, чтобы ускорить поиск информации.
  • Представления / Views
  • Синонимы / Synonyms
  • Последовательности / Sequences
  • Функции / Functions и Процедуры / Procedures
  • Пакеты / Packages
  • Триггеры / Triggers — программный код, хранится в БД, который вызывается при событиях, связанных с изменениями в БД. Для поддержания БД в правильном состоянии.

Наиболее часто используемые типы данных Oracle:

  • BLOB — 4 Гбайта. Большие объекты
  • CHAR(n) — текстовые поля фиксированной длины. Максимальное количество символом около 2000
  • DATE — поля длиной 7 байт, содержащие дату и время
  • INT — Целое число длиной 38 знаков
  • NUMBER(n,d) — n — указание общего количества значащих цифр, d — дробной части. Числа с фиксированной точкой или запятой
  • VARCHAR(n) — переменного размера строки. 4000 символов
  • VARCHAR2(n)

Логические структуры хранения данных:

  • табличные пространства (table spaces)
  • схемы (schemas)
  • блоки данных (data blocks)
  • экстенты (extents)
  • сегменты (segments)

Табличные пространства

Пользователь (user) — именованная учетная запись, определенная в базе данных, с помощью которой выполняется подключение и доступ к объектам.

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

Механизм схем и пользователей применяется администраторами БД (АБД) для управления защитой базы данных, в частности, для управления доступом к данным. Имя схемы и имя пользователя совпадают (взаимозаменяемые понятия). По умолчанию, пользователь имеет доступ ко всем объектам имеющимся в его схеме.

Блок данных — самый маленький модуль памяти, который СУБД Oracle может использовать или распределять. Один блок данных соответствует конкретному числу байтов физического дискового пространства.

Экстент — определенно количество расположенных рядом блоков данных, в которых хранится информация конкретного типа.

Сегмент — набор нескольких экстентов. Экстенты, входящие в сегмент, могут не располагаться рядом с друг другом на дисковом пространстве. Сегмент — набор экстентов, отведенных для определенной логической структуры.

Управление доступом к данным

Имя пользователя — обычный идентификатор языка SQL, используемый для обозначения некоторого пользователя базы данных.

Привилегия — право выполнять определенный тип операторов языка SQL или право доступа к объекту другого владельца (пользователя). Объектные привилегии относятся к типам объектов.

Роль — группирует несколько привилегий и других ролей, позволяя назначать или отменять всю группу одновременно.

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

GRANT имя(имена)_привилегии ON имя_таблицы TO имя_пользователя

REVOKE имя(имена)_привилегии ON имя_таблицы FROM имя_пользователя

CREATE ROLE (GRANT и REVOKE — также и для ролей)

Пример:

GRANT select, insert, delete ON bonus TO stud;

REVOKE insert, delete ON bonus FROM stud;

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

Awayka из страны Notavailable =]