Класифікація моделей даних. Трирівнева схема подання даних
Поняття про модель даних
МОДЕЛІ ДАНИХ
Моделлю даних(Model of Data) називають спосіб відображення об'єктів предметної області, їх властивостей і взаємозв'язків.
Якщо модель даних не буде правильною, то створена на її основі БД, не зможе ефективно обробляти інформацію.
У процесі створення БД прийнято розглядати предметну область послідовно у вигляді таких подань:
- у тому виді, як предметна область реально існує;
- у тому виді, як цю предметну область сприймає проектувальник БД;
- у виді певних символів.
Про цей перелік подань кажуть, що розглядають саму реальність, опис реальності та дані, які відображають цей опис. Названим поданням відповідають певні моделі даних.
Існують різноманітні підходи до класифікації моделей даних.
Згідно з однією розглядають дві категорії: концептуальні моделі та моделі реалізації.
Концептуальна (понятійна, смислова) модель (conceptual Model) відбиває логічну природу даних, тобто уявлення про них основних користувачів. Модель цього типу має подавати інформацію про предметну область у вигляді, незалежному від СКБД. Таку модель використовують на початку проектування автоматизованої інформаційної системи - при створенні її концепції.
Головне призначення концептуальної моделі – смисловий опис предметної області, подання інформації про неї в зручній для користувача формі, а подробиці організації фізичного збереження даних він може і не знати. Дуже часто замість слова ”смисловий” вживають слово ”семантичний”, від грецького слова semantikos – ”той, що визначає (означає)”.
Ця модель розглядає основні логічні об'єкти (сутності) предметної області та зв'язки між ними, необхідні та достатні для ефективного застосування інформації з точки зору користувача. Фахівці називають її інформаційно – логічною моделлю, або просто інфологічною (infological Model).
Проектувальники інфологічної моделі розглядають модель предметної області у вигляді „сутність - зв'язок” (entity – relationship model, ER – model), запропоновану Петером Пін-Шен Ченом у 1976 р. Цей вид моделі не орієнтований на конкретні програмні та технічні засоби і призначений для логічного подання даних. При її створенні звичайно розглядають 3 основні конструктивні одиниці, а саме
- сутність;
- атрибут;
- зв'язок.
Довільний фрагмент предметної області представляють як множину сутностей, між якими існує деяка множина зв'язків.
Сутність (Entity) – це об'єкт будь-якої природи (реальний або уявний), що може бути ідентифікований певним способом, який вирізняє його від інших об’єктів.
Атрибут (Attribute) - це поіменована логічно неподільна властивість (характеристика) сутності.
Зв'язок (Relationship)– це спосіб, за допомогою якого відображають відношення між сутністю та атрибутами, а також між декількома сутностями.
Зв’язки характеризують типом, направленістю, степенем, потужністю, обов’язковістю. Їм надають імена.
Модель реалізації, на відміну від концептуальної, спрямована на відбиття способу представлення (синтаксису) даних у БД, тобто пов’язана з типом СКБД. Вона відображає те, яким чином мають бути реалізовані структури даних для адекватного відбиття семантики моделі. До моделей реалізації БД відносять ієрархічну, сіткову, реляційну та об'єктно- орієнтовану. Моделі реалізації за рівнем абстракції розділяють на зовнішні, внутрішні та фізичні.
Розглянемо також іншу класифікацію моделей даних, яка використовує схожу термінологію з дещо зміненим змістом.
Комітет стандартів і норм (Standards Planning and Requirements Committee - SPARC) Національного інституту стандартизації США (American National Standards Institute – ANSI) запропонував трирівневий підхід до подання даних при побудові СКБД.
Так звана модель ANSI — SPARCне стала стандартом, але її використовують для розуміння функціональних особливостей СКБД.
Модель ANSI — SPARC виділяє три моделі у відповідності з рівнями абстракції: зовнішню, концептуальну та внутрішню (див. рис. 2.2.). Рівень, на якому дані сприймає користувач - зовнішній (external Level), операційна система і СКБД сприймають дані на внутрішньому рівні (internal Level). Концептуальний рівень (conceptual Level) подання даних призначений для відображення зовнішнього рівня на внутрішній (тому його іноді називають допоміжним). Для відбиття проблем реалізації БД, специфічних для обраної СКБД у внутрішній моделі, до цих рівнів абстракції додається ще один – фізичний.
Загальний опис БД називають схемою БД. Тому зазначені у ANSI — SPARC моделі три рівні іноді називають трьома схемами.
Детальніше розглянемо визначені ANSI та наведені на рис. 2.2 рівні абстракції подання даних.
Зовнішній рівень- це рівень розуміння даних користувачем (зовнішнє подання даних). Кожна група користувачів виділяє в модельованій предметній області, спільній для всієї установи, необхідні саме для неї дані. Опис БД, необхідний окремій групі користувачів або орієнтований на певний аспект предметної області, називають підсхемою.
Концептуальний рівень є проміжним і забезпечує подання всієї інформації бази даних в абстрактній формі. Опис БД на цьому рівні є результатом концептуального проектування, яке передбачає аналіз інформаційних потреб усіх користувачів. Таким чином, концептуальна схема – це узагальнений логічний опис всіх даних і відношень між ними, інакше – логічна структура всієї бази даних. Для кожної бази даних є тільки одна концептуальна схема, яка визначає наступне: сутності та атрибути; зв'язки між сутностями; обмеження, що накладаються на дані; семантична інформація про дані, вона повинна також забезпечувати безпеку і підтримку цілісності даних.
Внутрішній рівень абстракції відображає внутрішнє розуміння даних. Внутрішня схема передбачає опис фізичної реалізації бази даних і призначений для досягнення оптимальної продуктивності і забезпечення економного використання дискового простору. На внутрішньому рівні зберігається інформація про розподіл дискового простору для зберігання даних і індексів, подробиці збереження записів (з вказівкою реальних розмірів елементів даних, що зберігаються); відомості про розміщення записів, стискання даних, вибрані методи їх шифрування. Для кожної бази даних існує тільки одна внутрішня схема.
Внутрішня схема СКБД встановлює відповідність між трьома типами схем різних рівнів.
Нижче за внутрішній рівень знаходиться фізичний рівень, який контролюється операційною системою, але під керівництвом СКБД. Він має індивідуальні риси для кожної системи. Проектувальники фізичної бази даних працюють тільки з відомими операційній системі елементами. Проте функції СКБД і операційної системи на фізичному рівні не цілком чітко розділені і можуть варіюватися від системи до системи.
Фізична модель (physical Model) даних оперує категоріями, що стосуються організації зовнішньої пам'яті і структур зберігання у даному операційному середовищі. Сучасні фізичні моделі використовують різні методи розташування даних, які базуються на файлових структурах: це файли прямого й послідовного доступу, індексні, інвертовані та взаємозалежні файли, файли, що використовують різні методи хешування тощо. Сучасні СКБД використовують також сторінкову організацію даних. Фізичні моделі даних, засновані на сторінковій організації, є найбільш перспективними.
Основним призначенням трирівневої моделі (інакше кажуть - архітектури) є забезпечення незалежності від даних. Сутність цієї незалежності полягає в тому, що зміни на нижніх рівнях ніяк не впливають на верхні рівні.
Інфологічні моделі даних використовують на початкових стадіях проектування для опису структур даних в процесі розробки додатку користувача, а даталогічні моделі даних підтримуються конкретною СКБД. Даталогічні моделі належать до теоретико-графових моделей і відображають сукупність об'єктів реального світу у вигляді графа взаємопов'язаних інформаційних об'єктів.
Наведені основні типи даталогічних моделей:
а) ієрархічні;
б) сіткові;
в) реляційні.