- •Лекція 2. Середовище бази даних
- •Структура цієї лекції
- •2.1. Трьохрівнева архітектура ansi-sparc
- •2.1.1. Зовнішній рівень Зовнішній рівень - Представлення бази даних з погляду користувачів. Цей рівень описує ту частину бази даних, що відноситься до кожного користувача.
- •2.1.2. Концептуальний рівень Концептуальний рівень - узагальнююче представлення бази даних. Цей рівень описує, які дані зберігаються в базі даних, а також зв'язку, що існують між ними.
- •2.1.3. Внутрішній рівень Внутрішній рівень Фізичне представлення бази даних у комп'ютері. Цей рівень описує, як інформація зберігається в базі даних.
- •2.1.4. Схеми, відображення й екземпляри
- •2.1.5. Незалежність від даних
- •2.2. Мови баз даних
- •2.2.1. Мова визначення даних - ddl Мова ddl - описова мова, що дозволяє абд чи користувачу описати і поіменувати сутності, необхідні для роботи деякої програми, а також зв'язку між різними сутностями.
- •2.2.2. Мова керування даними - dml Мова dml - мова, що містить набір операторів для підтримки основних операцій маніпулювання даними, що містилися в базі.
- •Процедурні мови dml Процедурна мова dml - мова, що дозволяє повідомити системі про те, які дані необхідні, і точно вказати, як їх можна витягти.
- •Не процедурні мови dml Не процедурна мова dml - мова, що дозволяє вказати лише те, які дані вимагаються, але не те, як їх варто витягати.
- •2.2.3. Мови 4gl
- •Генератори форм
- •Генератори звітів
- •Генератори графічного представлення даних
- •Генератори програм
- •2.3. Моделі даних і концептуальне моделювання
- •Модель даних - Інтегрований набір понять для опису даних, зв'язків між ними й обмежень, що накладаються на дані в деякій організації.
- •2.3.1. Об'єктні моделі даних
- •2.3.2. Моделі даних на основі записів
- •Реляційна модель даних
- •Мережна модель даних
- •Ієрархічна модель даних
- •2.3.3. Фізичні моделі даних
- •2.3.4. Концептуальне моделювання
- •2.4. Функції скбд
- •2.4.1. Збереження, витяг і відновлення даних
- •2.4.2. Каталог, доступний кінцевим користувачам
- •2.4.3. Підтримка транзакцій
- •2.4.4. Сервисы керування паралельністю
- •2.4.5. Сервіси відновлення
- •2.4.6. Сервіси контролю доступу до даних
- •2.4.7. Підтримка обміну даними
- •2.4.8. Служби підтримки цілісності даних
- •2.4.9. Служби підтримки незалежності від даних
- •2.4.10. Допоміжні служби
- •2.5. Компоненти скбд
- •2.6. Архітектура багатокористувачевих скбд
- •2.6.1. Телеобробка
- •2.6.2. Файловий сервер
- •2.6.3. Технологія „клиент/сервер"
- •2.7. Системні каталоги
- •Системний каталог - сховище даних, що описують інформацію, що зберігається в базі даних, тобто мета-дані, чи "дані про дані".
- •2.7.1. Служба irds
Мережна модель даних
У мережній моделі дані представлені у вигляді колекцій записів, а зв'язки - у вигляді наборів. На відміну від реляційної моделі, зв'язку тут явно моделюються наборами, що реалізуються за допомогою покажчиків. Мережну модель можна представити як граф із записами у виді вузлів графа і наборами у виді його ребер. На мал.2.4 показаний приклад мережної схеми для тих же наборів даних, що показані в табл. 2.1 і 2.2. Самою популярною мережною СКБД є система IDMS/R фірми Computer Associates.
Рис. 2.4. Приклад фрагмента мережної схеми
Ієрархічна модель даних
Ієрархічна модель є обмеженим підтипом мережної моделі. У ній дані також представлені як колекції записів, а зв'язку — як набори. Однак в ієрархічній моделі вузол може мати тільки одного батька. Ієрархічна модель може бути представлена як деревоподібний граф із записами у виді вузлів (які також називаються сегментами) і множинами у виді ребер. На мал. 2.5 приведений приклад ієрархічної схеми для тих же наборів даних, що показані в табл. 2.1 і 2.2. Найпоширенішої ієрархічний СКБД є система IMS корпорації IBM, хоча вона має також деякі інші неієрархічні риси.
Засновані на записах (логічні) моделі даних використовуються для визначення загальної структури бази даних і високорівневого опису її реалізації. Їх основний недолік полягає в тім, що вони не дають адекватних засобів для явної вказівки обмежень, що накладаються на дані. У той же час в об'єктних моделях даних відсутні засобу вказівки їх логічної структури, але за рахунок надання користувачу можливості вказати обмеження для даних, вони дозволяють у більшій мері представити семантичну суть збереженої інформації.
Більшість сучасних комерційних систем засновано на реляційній парадигмі, тоді як найперші системи баз даних будувалися на основі мережної чи ієрархічної моделі. При використанні останніх двох моделей від користувача потрібно знання фізичної організації бази даних, до якої він повинний здійснювати доступ, у той час як при роботі з реляційною моделлю незалежність від даних забезпечується в значно більшому ступені. Отже, якщо в реляційних системах для обробки інформації в базі даних прийнятий декларативний підхід (тобто вони вказують, які дані варто витягти), те в мережних і ієрархічних системах - навігаційний підхід (тобто вони вказують, як їх варто витягти}.
2.3.3. Фізичні моделі даних
Фізичні моделі даних описують те, як дані зберігаються в комп'ютері, представляючи інформацію про структуру записів, їх упорядкованості і існуючих шляхах доступу. Фізичних моделей даних не так багато, як логічних, а самими популярними серед них є узагальнююча модель (unifying model) i модель пам'яті кадрів (frame memory).
2.3.4. Концептуальне моделювання
Як показує вивчення трьохрівневої архітектури СКБД, концептуальна схема є "серцем" бази даних. Вона підтримує всі зовнішні представлення, а сама підтримується засобами внутрішньої схеми. Однак внутрішня схема є усього лише фізичним утіленням концептуальної схеми. Саме концептуальна схема покликана бути повним і точним представленням вимог до даних деякого підприємства. У противному випадку визначена частина інформації про підприємство буде упущена чи перекручена, у результаті чого можуть виникнути труднощі при спробах повної реалізації одного чи декількох зовнішніх представлень.
Концептуальне моделювання, чи концептуальне проектування, бази даних це процес конструювання моделі використання інформації на деякім підприємстві. Цей процес не залежить від таких подробиць, як використовувана СКБД, прикладні програми, мови програмування чи будь-які інші питання фізичної організації інформації. Подібна модель називається концептуальною моделлю даних. Концептуальні моделі в літературі іноді також називають логічними моделями. Однак ми проводимо розділ між концептуальною і логічною моделями даних. Концептуальна модель не залежить від будь-яких деталей реалізації, тоді як при розробці логічної моделі передбачається знання типу базової моделі представлення даних в обраної цільовий СКБД.