
7. Моделі даних, підтримувані субд.
7.1. Організація даних
Організація даних характеризується на двох рівнях логічному і фізичному.
Фізична організація визначає спосіб розміщення даних безпосередньо на машинному носії. У сучасних прикладних програмних засобах цей рівень організації забезпечується автоматично без втручання користувача. Користувач, як правило, оперує в прикладних програмах та універсальних програмних засобах уявленнями про логічну організацію даних.
Логічна організація даних на машинному носії залежить від програмних засобів організації і ведення даних, які використовуються. Логічна організація даних визначається типом структур даних і видом моделі, яка використовується і підтримується програмним засобом.
Для розміщення одної і тієї самої інформації можуть бути використані різні структури і моделі даних. Їх вибір покладається на користувача, що створює інформаційну базу, і залежить від багатьох факторів, у тому числі і від наявного технічного та програмного забезпечення, і визначається складністю задач, що автоматизуються, та обсягом інформації.
3.1. Файлова модель.
Основні типи структур даних файлової моделі -поле, запис, файл.
У файлових системах реалізується модель типу плоский файл. При цій моделі інформаційна база (ІБ) є сукупністю не пов'язаних між собою файлів (незалежних) з однотипних записів з лінійною (однорівневою) структурою. Структура запису файлу - лінійна, тобто поля мають єдине значення і відсутні групові дані.
Опис логічної організації даних файлової моделі. При описі логічної організації даних кожному файлу надається унікальне ім'я і дається опис структури його записів. Опис структури записів включає перелік полів, що входять у неї, та їх порядок усередині запису.
Для кожного поля задається скорочене позначення - ім'я поля (ідентифікатор поля всередині запису), формат поля - тип даного, що зберігається, довжина поля і точність числових даних. Для полів, що виконують роль унікального (первинного) ключа запису, вказується ознака ключа.
Індексування. Засобом ефективного доступу за ключем до записів файлу є індексування. При індексуванні створюється додатковий індексний файл, який в упорядкованому вигляді містить усі значення ключа файлу даних. Для кожного значення ключа в індексному файлі міститься показник на відповідний запис файлу даних. При наявності індексного файлу, розмір якого менший від основного, за заданим ключем швидко знаходиться запис. За допомогою показника на запис у файлі даних здійснюється прямий доступ до цього запису. Індексування може проводитися не лише за первинним, а й за вторинним ключем.
3.2. Структури даних.
Структури файлової моделі даних. Ці структури даних є базовими для файлової моделі даних, але використовуються і в ряді СУБД, що робить ці поняття універсальними. Основні первинні типи структур даних - поле, запис, файл.
Розглянемо ці структури даних на прикладі опису об’єкту «УГОДА»:
Рис. 1.6.а
Деталізуємо і уточнюємо концептуальну модель:
Рис.1.6.б
Поле - це елементарна одиниця логічної організації даних, яка відповідає окремій, неподільній одиниці інформації - реквізиту.
Запис — це сукупність полів, що відповідають логічно пов'язаним реквізитам. Структура запису визначається складом і послідовністю полів, які в неї входять, кожне з яких містить елементарне дане. Запис є основною структурною одиницею обробки даних і одиницею обміну між оперативною і зовнішньою пам'яттю.
Файл - це сукупність однакових за структурою примірників записів зі значеннями окремих полів. Примірник (екземпляр) запису є реалізацією запису, що містить конкретні значення полів.
Рис. 1.6.в
Кожний примірник запису однозначно ідентифікується унікальним ключем запису. Загалом ключі запису бувають двох видів: первинний (унікальний) і вторинний ключ.
Первинний ключ (ПК) — це одне або кілька полів, які однозначно ідентифікують запис. Якщо первинний ключ складається з одного поля, він називається простим, якщо з кількох - складним ключем.
Вторинний ключ (ВК), на відміну від первинного, - це таке поле, значення якого може повторюватись у кількох записах файлу, тобто він не є унікальним. Якщо за значенням первинного ключа може бути знайдений лише один примірник запису, то за вторинним - кілька.
На рис. 1.6.г наведено приклад структури запису, що містить інформацію про угоду із замовниками на постачання товарів.
Рис. 1.6.г Приклад структури запису документа «Угода»
Структури даних у моделях. До типових структур даних відносяться:
елемент даних, агрегат даних, запис, база даних тощо.
Елемент даних - це мінімальна пойменована структурна одиниця даних (аналог поля у файлових системах).
Агрегат даних - це пойменована підмножина елементів даних або інших агрегатів усередині запису.
Запис - це складний агрегат, який не входить до складу інших агрегатів. Він
характеризується структурою взаємозв'язків її елементів й агрегатів. Таким чином,
структура запису може мати ієрархічний характер.
Усі примірники запису однакової структури створюють тип запису. Запис конкретного типу є об'єктом у моделі даних.