Тема: Взаємозв'язки в моделях даних
План
1. поняття адміністратора бази даних;
2. дослідження предметної області;
3. створення інфологічної моделі;
4. універсальне відношення;
5. поняття нормалізації відношень.
6. встановлення зв’язків між таблицями бази даних;
7. Типи відношень.
Проектування зазвичай доручається людині (або групі осіб) – адміністратору бази даних (АБД). Адміністратором бази даних може бути як спеціально виділений співробітник організації, так і майбутній користувач, досить добре знайомий з машинною обробкою даних.
Перед початком роботи над створенням моделі даних потрібно дослідити предметну область:
Створення інфологічної моделі
Поєднуючи уявлення про вміст бази даних, одержані в результаті опитування майбутніх користувачів, і свої уявлення про дані, що можуть бути потрібними в майбутніх додатках, спочатку створюється інфологічна модель даних.
Логічне проектування полягає:
Виконання завдань логічного проектування бази даних в основному визначається специфікою задач предметної області. Найбільш важливою тут є проблема структуризації даних.
У реляційних моделях об'єкти та взаємозв'язки між даними подаються за допомогою відношень. Із прикладної точки зору, аналогом відношення в БД є таблиця. Отже, у теорії БД таблиці називають відношеннями, рядки записами, а стовпціi полями. Найпростіша БД містить одну таблицю, а складні віть сотні.
Універсальне відношення для невеликих баз даних (до 15 атрибутів) можна використовувати як основу для початку проектування.
Однак, таке перетворення приводить до виникнення значного обсягу надлишкових даних.
Використання універсального відношення може привести до виникнення таких проблем:
1. Надмірність. Дані практично всіх стовпців багаторазово повторюються.
2. Потенційна суперечливість (аномалії відновлення).
3. Аномалії включення.
4. Аномалії вилучення.
Нормалізація відношень – це розбиття всієї інформації на дві або більше таблиць, що мають кращі властивості щодо включення, зміни та вилучення даних.
Проект, у якому кожний факт з'являється лише в одному місці, називається “чистим”.
Остаточна мета нормалізації – одержання такого проекту бази даних, у якому кожний факт з'являється лише в одному місці, тобто виключена надмірність інформації.
Нормалізація виконується не стільки з метою економії пам'яті, скільки для виключення можливої суперечності даних, що зберігаються.
Після закінчення проектування база даних створюється за допомогою системи управління базами даних.
Відношення між таблицями встановлюють зв'язок між даними, що знаходяться у різних таблицях бази даних.
Зв’язки між таблицями встановлюються шляхом об’єднання співпадаючих значень ключових полів, які викорисовуються для швидкого пошуку потрібних даних, а також для звязування даних із різних таблиць.
Ключ який містить одне поле, називається простим, а ключ, який містить кілька полів – складним.
Відношення між таблицями визначаються відношенням між групами об'єктів відповідного типу. Наприклад, один автор може написати кілька книг і видати їх у різних видавництвах, або видавництво може опублікувати кілька книг різних авторів. Отож, між авторами і назвами книг є відношення один-до-багатьох, а між видавництвами і авторами є відношення багато-до-багатьох.
Відношення один-до-одного
Якщо між двома таблицями є відношення один-до-одного, то це означає, що кожний запис в одній таблиці відповідає лише одному запису в іншій таблиці.
Прикладом такого відношення може служити відношення між таблицями Автори, що містить коротку інформацію про авторів (прізвище, ім’я по батькові, рік народження) і Особа, що містить персональну інформацію про авторів (домашня адреса, телефон, освіта тощо).
Між таблицями Автори і Особа є відношення один-до-одного, оскільки один запис, що ідентифікує автора, однозначно відповідає лише одному запису в таблиці Особа, що містить персональні дані про автора.
Зв'язок між таблицями визначається за допомогою співпадаючих значень полів: Код автора в таблиці Автори і в таблиці Особа.
Відношення один-до-багатьох
Гарним прикладом відношення між таблицями один-до-багатьох є відношення між авторами і назвами книг (таблиці Автори і Публікації), оскільки кожний автор може мати відношення до створення кількох книг.
Аналогічне відношення є між видавництвами і назвами виданих книг, організацією і працюючими в ній співробітниками, автомобілем і деталями, з яких він складається, тощо. Зрозуміло, що такий тип відношення між таблицями в проектуванні структури баз даних зустрічається найчастіше.
Відношення багато-до-одного
Відношення багато-до-одного повністю аналогічне розглянутому вище відношенню один-до-багатьох.
Відношення багато-до-багатьох
У відношенні між двома таблицями багато-до-багатьох кожний запис в одній таблиці пов'язаний з кількома записами в іншій таблиці і навпаки.
Ілюстрацією такого відношення може служити відношення між таблицями Видавництва і Автори. З одного боку, кожне видавництво може публікувати книги різних авторів, а з іншого боку, кожен автор може публікуватися в різних видавництвах.
Для зручності роботи з таблицями, що мають відношення багато-до-багатьох, зазвичай в базу даних додають ще одну таблицю, яка знаходиться у відношенні один-до-багатьох і багато-до-одного до відповідних таблиць.
Питання для самоконтролю
1. Які функції виконує адміністратор бази даних?
2. Хто може бути адміністратором бази даних?
3. З чого починають проектування бази даних?
4. Чому універсальне відношення, зазвичай не
можна використовувати як таблицю бази даних?
5. Що Ви розумієте під нормалізацією відношень?
6. З якою метою виконують нормалізацію відношень?
7. Який проект бази даних називають "чистим"?
8. Як зв’язуються між собою таблиці бази даних?
9. Які типи відношень Ви знаєте?
10. Який тип відношень називають відношенням один-до-одного?
11. Який тип відношень називають відношенням один-до-багатьох?
12. Який тип відношень називають відношенням багато-до-одного?
13. Який тип відношень називають відношенням багато-до-багатьох?
Домашнє завдання: Виконайте тестове завдання https://docs.google.com/forms/d/e/1FAIpQLSc8oVvPyx0XTqAj3ZItIQuiLEFdduDIpF0JS0nh7lT3ehFLAw/viewform