Тема: Структуризація та організація даних. Реляційна модель даних
План заняття
- поняття про концептуальну модель;
- поняття датологічної моделі даних;
- типи моделей даних;
- реляційна модель даних;
- основні елементи реляційної моделі.
Проектування інформаційних систем, що включають бази даних, здійснюється на фізичному і логічному рівнях. На логічному рівні проектується концептуальна модель даних. Концептуальна (інфологічна) модель представляє об’єкти та взаємозв’язки між ними без визначення способів їхнього фізичного збереження.
Поєднуючи уявлення про вміст бази даних, одержані в результаті опитування майбутніх користувачів, і свої власні уявлення про дані, що можуть знадобитися в майбутніх додатках, спочатку створюють інфологічну модель даних.
Інфологічна модель даних - це опис предметної області, виконаний природною мовою, за допомогою математичних формул, графіків, таблиць тощо
Концептуальна модель транслюється потім в модель даних, сумісну з обраною системою управління базами даних, іншими словами створюється датологічна модель.
Датологічна модель даних - це опис предметної області, виконаний мовою обраної системи управління базами даних
Версія концептуальної моделі, що може бути забезпеченою певною системою управління базами даних, називається логічною моделлю.
Логічна модель відображає логічні зв’язки між елементами даних, незалежно від їхнього змісту та середовища збереження.
Фізична модель визначає розміщення даних, методи доступу та техніку індексування. Рішення проблем проектування на фізичному рівні багато в чому залежить від системи управління базами даних, що використовується. Воно автоматизоване і сховане від користувача.
Збережені в базі дані мають визначену логічну структуру, тобто представлені деякою моделлю, що підтримує система управління базами даних. До числа найважливіших відносяться такі моделі даних:
ієрархічна;
мережна;
реляційна;
об’єктно - орієнтована.
В ієрархічній моделі дані представляються у вигляді деревоподібної (ієрархічної) структури. Вона зручна для роботи з ієрархічно упорядкованою інформацією і громіздка для інформації зі складними логічними зв'язками.
Недоліком мережної моделі даних є висока складність і жорсткість схеми бази даних, побудованої на її основі.
Реляційна модель даних (РМД) назву одержала від англійського терміна relation - відношення. Її запропонував у 70-х роках співробітник фірми IBM Эдгар Кодд. При дотриманні визначених умов відношення представляється у вигляді двохвимірної таблиці, звичної для людини. Більшість сучасних баз даних для персональних електронно-обчислювальних машин є реляційними.
Об’єктно – орієнтовані бази даних поєднують у собі дві моделі даних, реляційну і мережну, що використовуються для створення баз даних зі складними структурами даних.
Модель даних у загальному випадку описує набір базових ознак, які повинні мати всі конкретні системи управління базами даних і керовані ними бази даних, засновані на цій моделі.
Реляційна модель даних
Реляційна модель даних (РМД) певної предметної області є набором відношень, що змінюються в часі. Під час створення інформаційної системи сукупність відношень дозволяє зберігати дані про об'єкти предметної області та моделювати зв’язки між ними.
Реляційна модель даних - це набір відношень, що змінюються в часі
Основні елементи реляційної бази даних та форма їхнього представлення наведені в таблиці 1.
Таблиця 1. Основні елементи реляційної моделі
Елемент реляційної моделі
|
Форма представлення
|
Атрибут
|
Заголовок стовпця таблиці
|
Відношення
|
Таблиця
|
Домен
|
Стовпець таблиці
|
Кортеж
|
Рядок таблиці
|
Первинний ключ
|
Один або кілька атрибутів
|
Сутність
|
Опис властивостей об'єкту
|
Схема відношення
|
Рядок заголовків таблиці
|
Тип даних
|
Тип значень елементів таблиці
|
Відношення є двохвимірною таблицею, що містить деякі дані.
Сутність - це об'єкт будь-якої природи
Дані про об'єкт зберігаються в базі даних. Дані про сутність зберігаються у відношенні.
Атрибут - це поіменована характеристика сутності
Його ім’я має бути унікальним для певного типу сутності, але може бути однаковим для різного типу сутностей (наприклад, КОЛІР може бути визначений для багатьох сутностей: СОБАКА, АВТОМОБІЛЬ, ДІМ тощо.).
Атрибути використовуються для визначення того, яка інформація має бути зібрана про сутність.
Прикладами атрибутів для сутності АВТОМОБІЛЬ є ТИП, МАРКА, НОМЕРНИЙ ЗНАК, КОЛІР тощо.
Потрібно також розрізняти між собою тип та екземпляр сутності. Тип атрибуту КОЛІР має багато екземплярів тобто значень: Червоний, Синій, тощо. Однак кожному екземпляру сутності привласнюється лише одне значення атрибуту.
Безліч усіх значень кожного атрибуту відношення утворює домен.
Домен - це множина атомарних значень одного типу
Розглянемо, наприклад, відношення "Співробітник".
Прізвище
|
Відділ
|
Посада
|
Дата народження
|
Іваненко
|
002
|
Начальник
|
27.09.51
|
Петренко
|
001
|
Заступник
|
15.04.55
|
Сидоренко
|
002
|
Інженер
|
13.01.70
|
|
Відношення "Співробітник", включає 4 домени:
домен 1 - містить прізвища всіх співробітників,
домен 2 - номери усіх відділів фірми,
домен 3 - назви всіх посад,
домен 4 - дати народження всіх співробітників.
Кожний домен утворює значення одного типу, наприклад, числові або символьні.
Значення всіх атрибутів одного екземпляру сутності у відношенні складають кортеж.
Кортеж - це значення всіх атрибутів одного екземпляру сутності у відношенні
Відношення "Співробітник" містить 3 кортежі. Кортеж розглянутого відношення складається з 4-х елементів, кожний з який вибирається з відповідного домену. Кожному кортежу відповідає рядок таблиці.
Ключ (первинний ключ) - це мінімальний набір атрибутів, за значеннями яких можна однозначно знайти кожний екземпляр сутності
Первинний ключ однозначно ідентифікує кожний з кортежів відношення. Мінімальність у цьому визначенні означає, що виключення з набору будь-якого атрибуту не дозволить ідентифікувати сутність з тими, що залишилися.
Наприклад, у відношенні "Співробітник" (Прізвище, Відділ, Посада, Дата_народження) ключовим є атрибут "Прізвище".
Ключ може бути простим (значення одного атрибуту) та складеним, тобто складатися зі значень кількох атрибутів.
Наприклад, у відношенні "Співробітник" ключ може бути простим (атрибут "Прізвище"). Проте, за атрибутом "Прізвище" не завжди можна однозначно знайти кожний екземпляр сутності (можуть бути співробітники з однаковим прізвищем). Тоді виникає необхідність у складених ключах (наприклад, таких, що складаються з атрибутів "Прізвище", "Ім’я", "По батькові").
Є також поняття зовнішнього ключа. За допомогою зовнішніх ключів встановлюються зв'язки між відношеннями.
Наприклад, є два відношення: "Студент" (Прізвище, Група, Спеціальність) і "Предмет" (Назва_предмету, Години), що зв'язані між собою відношенням Студент_Предмет (Прізвище, Назва_предмету, Оцінка).
Відношення "Студент" Відношення "Предмет"
Прізвище
|
Група
|
Спеціальність
|
|
Назва_предмету
|
Години
|
|
ключ
|
|
|
|
|
|
|
|
|
ключ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Прізвище
|
Назва_предмету
|
Оцінка
|
Відношення "Студент_Предмет"
|
зовнішній ключ
|
зовнішній ключ
|
|
|
|
|
|
У відношенні "Студент" первинним ключем буде атрибут "Прізвище", у відношенні "Предмет" первинним ключем буде атрибут "Назва_предмету".
У відношенні "Студент_Предмет" атрибути "Назва_предмету" та "Прізвище" будуть зовнішніми ключами, призначеними для здійснення зв’язків з відношеннями "Предмет" і "Студент" відповідно.
Питання для самоконтролю
1. Що розуміють під інфологічною моделлю даних?
2. Що розуміють під датологічною моделлю даних?
3. Які типи моделей даних Ви знаєте?
4. Яку модель даних називають реляційною?
5. Що Ви розумієте під відношенням?
6. Що Ви розумієте під сутністю?
7. Що таке атрибут?
8. Що таке домен?
9. Що таке кортеж?
10. Що називають первинним ключем?
11. Для чого призначені первинні ключі?
12. Для чого призначені зовнішні ключі?
|