5.1. Моделі баз даних та їх проектування
Проектування бази даних складається з кількох етапів. При концептуальному проектуванні баз даних треба вказати всі об’єкти, які будуть використовуватися в базі даних, вказати їх властивості і встановити зв’язки між ними. Цей етап називається концептуальним проектуванням бази даних [10].
Нехай ми наприклад маємо такі об’єкти:
Зв’язки відображають суттєві взаємовідношення між об’єктами. Для врахування оцінок з різних предметів слід встановити зв’язок ОДЕРЖУЄ між об’єктами УЧЕНЬ і ПРЕДМЕТ. Зв’язки можуть мати свої властивості. Наприклад зв’язок бере книгу має властивість: дата тижня, ознака повернення книги читачем.
Ступені зв’язку між об’єктами показують як саме об’єкти зв’язані між собою. Ступені зв’язку бувають двох типів – „багато” і „один”. Позначаються великими латинськими буквами коли „багато” і „1”, коли „один”. Ступені зв’язку двома об’єктами позначаються у вигляді пари: 1:1, М:1, Н:К [2, 4].
Крім ступеня важливою характеристикою зв’язку є обов’язковість. Не має бути учнів, які не навчаються в жодному класі. Отже участь у зв’язку НАВЧАЄТЬСЯ для об’єкта учень є обов’язкова і позначається трикутником. Якщо зв’язок не є обов’язковим, то біля ступень ставиться крапка [2].
Другим етапом проектування бази даних є логічне проектування: об’єкти і зв’язки між ними перетворюємо в логічну модель даних – модель, збудовану за законами логіки. Логічні моделі даних: реляційна, ієрархічна, мережева.
У реляційній моделі об’єкти і зв’язки між ними подані у вигляді таблиць, що складаються з рядків і стовпців. Стовпець – це поле, рядок – це запис. Кожне поле має ім’я і тип. Імена полів це атрибути. Тип задає спосіб представлення атрибута. Основні типи:
Об’єкт учень може бути перетворений у таку таблицю:
Для короткого позначення структури таблиці будемо використовувати такий запис: Учень (прізвище, ім’я, по-батькові, адреса). Основна властивість таблиці в реляційній базі даних полягає у тому, що вона не може містити однакових записів. Це означає, що в таблиці має бути один або декілька атрибутів, які забезпечують унікальність кожного рядка. Такі атрибути називають ключем. Ключів може бути декілька. Для таблиці „учень” виберемо один, який буде представляти кожний запис таблиці. Такий ключ називається первинним. Нехай це прізвище, але можуть бути учні з однаковими прізвищами, тоді до первинного ключа додамо адрес, але можуть бути брат і сестра, тоді ще додамо ім’я. Первинний ключ: (прізвище, адрес, ім’я). Такий ключ задовгий, бо ключ служить для організації зв’язків між таблицями. Введемо ще один атрибут – порядковий номер, цей атрибут і буде ключем таблиці. Тоді структура таблиці буде така: учень (№ п/п, прізвище, ім’я, по-батькові, адреса) [2, 4].
Решта об’єктів таблиці характеризуємо аналогічно, і одержуємо кінцеву логічну модель бази даних.
Мережева модель даних – логічна модель даних, що є розширенням ієрархічного підходу, сувора математична теорія, що описує структурний аспект, аспект цілісності і аспект обробки даних в мережевих базах даних. Недоліком мережевої моделі даних є висока складність і жорсткість схеми БД, побудованої на її основі. Оскільки логіка процедури вибірки даних залежить від фізичної організації цих даних, то ця модель не є повністю незалежною від програми. Іншими словами, якщо необхідно змінити структуру даних, то потрібно змінити і додаток [8].
Ієрархічна модель даних – це модель даних, де використовується представлення бази даних у вигляді деревовидної (ієрархічної) структури, що складається з об'єктів (даних) різних рівнів.
Між об'єктами існують зв'язки, кожен об'єкт може включати в себе кілька об'єктів більш низького рівня. Такі об'єкти перебувають у відношенні предка (об'єкт більш близький до кореня) до нащадку (об'єкт більш низького рівня), при цьому можлива ситуація, коли об'єкт-предок не має нащадків або має їх декілька, тоді як в об'єкта-нащадка обов'язково тільки один предок.
Об'єкти, що мають спільного предка, називаються близнюками (в програмуванні стосовно до структури даних дерево усталена назва брати).
Дo oснoвних пoнять iєрaрхiчнoї структури вiднoсяться: рiвeнь, eлeмeнт (вузoл), зв'язoк. Вузoл – цe сукупнiсть aтрибутiв дaних, щo oписують дeякий oб'єкт. Нa схeмi iєрaрхiчнoгo дeрeвa вузли прeдстaвляються вeршинaми грaфa.
Кoжeн вузoл нa бiльш низькoму рiвнi пoв'язaний лишe з oдним вузлoм, щo знaхoдиться нa бiльш висoкoму рiвнi.
Iєрaрхiчнe дeрeвo мaє тiльки oдну вeршину, нe пiдпoрядкoвaну нiякий iнший вeршинi i знaхoдиться нa найвищому (пeршoму) рiвнi. Зaлeжнi вузли знaхoдяться нa другoму, трeтьoму i т. д. рiвнях. Кiлькiсть дeрeв у бaзi дaних визнaчaється числoм кoрeнeвих зaписiв. Дo кoжнoгo зaпису бaзи дaних iснує тiльки oдин (iєрaрхiчний) шлях вiд кoрeнeвoгo зaпису [8, 9].
Відредаговано: 28.10.2024