Спасибо господину Илюшечкину Владимиру Михайловичу.
Статья содержит краткий обзор логической структуры базы данных 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 =]