СУБД Oracle
Фільми, книги, фотографії, листівки та марки…
Спасибі пану Ілюшечкіну Володимиру Михайловичу.
Стаття містить стислий огляд логічної структури бази даних Oracle: об'єкти БД, логічну структуру зберігання даних, табличні простори, управління доступом до даних.
Логічна структура бази даних 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)
Табличні простори
Схема — іменована колекція таких об'єктів, як таблиці, уявлення, кластери та процедури, пов'язані з певним користувачем.
Механізм схем та користувачів застосовується адміністраторами БД (АБД) для управління захистом бази даних, зокрема для управління доступом до даних. Ім'я схеми та ім'я користувача збігаються (взаємозамінні поняття). За замовчуванням, користувач має доступ до всіх об'єктів, що є в його схемі.
Блок даних — найменший модуль пам'яті, який СУБД 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 =]