1 of 36

Поняття моделі подання даних

За навчальною програмою 2018 року

Урок 2

10

(11)

2 of 36

Поняття моделі подання даних

Розділ 1 § 1.2

Раніше вже було зазначено, що об'єкти предметної області характеризуються сукупністю атрибутів (властивостей) та їх значеннями. Одне значення атрибута називають елементарною одиницею даних.

Наприклад, для об'єкта автомобіль його елементарними одиницями можуть бути:

марка

двигун

Volkswagen

дизельний

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

3 of 36

Поняття моделі подання даних

Розділ 1 § 1.2

Таким чином, об'єкти БД характеризуються сукупністю елементарних одиниць даних, між якими мають бути встановлені однозначні зв'язки.

Це означає, що основою будь-якої структури даних є відображення елементарної одиниці даних у вигляді трійки:

<об'єкт, атрибут об'єкта, значення атрибута>

Наприклад:

<учень, прізвище, Костирко >; <учень, клас, 10>

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

4 of 36

Поняття моделі подання даних

Розділ 1 § 1.2

Отже, дані, що зберігаються в БД, мають певну логічну структуру, тобто описуються певною моделлю даних, яка підтримується відповідною СУБД.

Існують різні способи відображення зв'язків між даними, тобто існують різні моделі даних. Зараз є три класичні моделі даних:

ієрархічна

мережна

реляційна

Розвиваються й інші моделі, що засновані на класичних, наприклад, об'єктно-реляційна модель даних.

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

5 of 36

Поняття моделі подання даних

Розділ 1 § 1.2

Таким чином, модель даних визначає, як відбувається об'єднання даних у структури. Вона також визначає можливі операції над даними та обмеження на їх значення.

Ієрархічна й мережна моделі засновані на поняттях:

рівень

вузол

зв'язок

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

6 of 36

Поняття моделі подання даних

Розділ 1 § 1.2

Об'єкт, розташований на вершині схеми, є головним, інші — підлеглі. Між головним і підлеглими об'єктами існує зв'язок «один до багатьох».

Для кожного підлеглого об'єкта існує тільки один головний. Класичним прикладом цієї моделі є:

університетфакультетикафедривикладачістуденти.

Ієрархічна модель

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

7 of 36

Поняття моделі подання даних

Розділ 1 § 1.2

Продавець (рівень 1)

Товар (рівень 2)

Модель (рівень 4)

Ціна (рівень 5)

Виробник (рівень 3)

$306

$312

S93

X93B

Sony

Phillips

Samsung

Монітори

Принтери

Іван

Прайс-лист:

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

8 of 36

Поняття моделі подання даних

Розділ 1 § 1.2

Кожний об'єкт може мати зв'язок з усіма іншими. Між об'єктами існує зв'язок «багато до багатьох». Один об'єкт може бути як головним, так і підлеглим.

Прикладами цієї моделі і є економічні зв'язки між регіонами України, між цехами машинобудівельного комбінату.

Мережна модель

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

9 of 36

Поняття моделі подання даних

Розділ 1 § 1.2

Із рисунку видно, що ієрархічна модель у цьому випадку містить три рівні об'єктів.

Ієрархічна модель

На верхньому рівні розташовано головний об'єкт.

На другому рівні містяться два вузли.

На третьому — три вузли.

Зв'язки між вузлами зображені стрілками.

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

10 of 36

Поняття моделі подання даних

Розділ 1 § 1.2

Мережна модель на рисунку містить два рівні (реально їх може бути скільки завгодно), на кожному з яких є два вузли.

Мережна модель

Звернемо увагу, що в мережній моделі кожен вузол може мати зв'язок із будь-яким іншим вузлом.

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

11 of 36

Реляційна модель даних

Розділ 1 § 1.2

Основним недоліком ієрархічних і мережних БД є складність їх розроблення.

Найпоширенішою нині є реляційна модель даних, її основна перевага полягає в простоті розроблення БД і систем управління ними.

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

12 of 36

Реляційна модель даних

Розділ 1 § 1.2

У реляційних моделях об'єкти та взаємозв'язки між даними представляються за допомогою відношень.

Порядок розміщення рядків і стовпців у таблиці довільний.

В теорії БД:

називають відношеннями

таблиці

записами

рядки

полями

стовпці

Найпростіша БД містить одну таблицю, а складні — десятки й навіть сотні.

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

13 of 36

Реляційна модель даних

Розділ 1 § 1.2

Нижче наведено приклад найпростішої реляційної БД, що містить лише одну таблицю УЧНІ.

Таблиця. Учні

Номер

Прізвище

Дата народження

Адреса

Клас

Зріст

1

Колот А.І.

07.02.2002

Зоряна, 2,

кв. 7

10

172

2

Федорчук Ю.А.

30.05.2003

Лісова, 5

9

165

3

Таранов С.О.

02.06.2003

Поштова, 3, кв. 9

9

174

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

14 of 36

Реляційна модель даних

Розділ 1 § 1.2

Зазначимо, що не кожна таблиця може бути об'єктом БД. Щоб таблиця була об'єктом БД, необхідно виконати їх нормалізацію.

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

15 of 36

Реляційна модель даних

Розділ 1 § 1.2

Сутність нормалізації полягає в тому, що таблиця має бути перетворена так, щоб вона відповідала таким основним вимогам:

кожне поле повинно мати унікальне ім'я;

усі поля мають бути однорідними. Це означає, що значення елементів одного поля можуть бути лише одного типу, наприклад, тільки числовими, тільки рядковими або іншими;

у таблиці не може бути однакових записів, вони мають відрізнятися значеннями хоча б одного поля;

у таблиці має бути унікальне поле або набір кількох полів, які однозначно ідентифікують записи. Такі поля називають ключем.

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

16 of 36

Реляційна модель даних

Розділ 1 § 1.2

Ключове поле використовується для швидкого пошуку необхідних даних, а також для зв'язування даних із різних таблиць.

Ключ, який містить тільки одне поле, називають

Ключ, який містить кілька полів називають

простим

складним

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

17 of 36

Реляційна модель даних

Розділ 1 § 1.2

У таблиці УЧНІ складним ключем можна вважати поля:

Прізвище

Дата народження

і

Оскільки вони однозначно ідентифікують записи.

У таблиці може бути кілька ключів, але тільки один із них може бути первинним. Найкраще первинним ключем вибрати простий ключ. Бажано, щоб він мав цілочисловий тип. У такому випадку операції опрацювання даних виконуватимуться швидше. У таблиці УЧНІ простим є поле з іменем Номер.

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

18 of 36

Реляційна модель даних

Розділ 1 § 1.2

У таблиці часто використовують поле, яке називається лічильником. Він використовується для того, щоб зробити кожний запис унікальним. Окрім того, лічильник забезпечує нумерацію записів. Лічильником у таблиці УЧНІ є поле з іменем Номер.

Номер

Прізвище

Дата народження

Адреса

Клас

Зріст

1

Колот А.І.

07.02.2002

Зоряна, 2,

кв. 7

10

172

2

Федорчук Ю.А.

30.05.2003

Лісова, 5

9

165

3

Таранов С.О.

02.06.2003

Поштова, 3, кв. 9

9

174

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

19 of 36

Реляційна модель даних

Розділ 1 § 1.2

Важливо усвідомити, що БД будь-якої складності можна створити на основі однієї таблиці. Але в такому випадку таблиця може містити сотні полів і тисячі записів. Розібратися і працювати з такою таблицею досить складно. Крім того, це може призвести до значного дублювання даних.

Тому для кожного об'єкта розробляється власна таблиця. А щоб можна було одночасно отримати дані з кількох таблиць, слід установити зв'язки між ними.

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

20 of 36

Реляційна модель даних

Розділ 1 § 1.2

Наприклад, для БД фірми:

в одній таблиці можуть зберігатися дані про співробітників фірми

у другій — дані про їх заробітну платню

у третій — відомості Про постачальників продукції.

Такий підхід спрощує подальшу модифікацію БД і має низку інших переваг.

Зв'язки можуть установлюватися між двома, трьома й більшою кількістю таблиць.

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

21 of 36

Реляційна модель даних

Розділ 1 § 1.2

Для встановлення зв'язків між двома таблицями одна із них вважається основною (батьківською), а друга — допоміжною (дочірньою).

В основній таблиці вибирають первинний ключ, а в допоміжній — зовнішній ключ.

Головна вимога до зовнішнього ключа така: у ньому не може бути даних, відсутніх у первинному ключі, інакше зв'язок буде некоректним. Але часто зовнішній ключ вибирають із тим самим іменем, що й первинний ключ основної таблиці.

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

22 of 36

Реляційна модель даних

Розділ 1 § 1.2

Часто для забезпечення зв'язку між таблицями в допоміжну таблицю спеціально вводять поле із таким самим іменем, що й ім'я первинного ключа основної таблиці.

У такому випадку деякі СУБД, наприклад, Access 2016, автоматично встановлюють зв'язок між цими таблицями. Якщо ж імена вказаних полів різні, користувач має сам установити зв'язок між ними.

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

23 of 36

Реляційна модель даних

Розділ 1 § 1.2

Пояснимо сутність зв'язків між двома таблицями на прикладі.

У БД будівельної компанії є дві таблиці:

Приклад 1

Фірма

Директор

Телефон

РПЗ-1

Сопко А.І.

345-23-51

БУТ-5

Маслов В.М.

295-44-87

ДМК-2

Бондаренко К.О.

454-98-56

ПОСТАЧАЛЬНИКИ

ТОВАРИ

Матеріал

Вага (тонни)

Фірма

Бетон

100

РПЗ-1

Бетон

120

БУТ-5

Бетон

200

ДМК-2

Цемент

50

БУТ-5

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

24 of 36

Реляційна модель даних

Розділ 1 § 1.2

У таблиці ПОСТАЧАЛЬНИКИ первинним ключем є поле з іменем Фірма. У таблиці ТОВАРИ поле із цим іменем не може бути первинним ключем, бо в ньому повторюються назви фірм, але воно може бути зовнішнім ключем, оскільки його значення збігаються зі значеннями однойменного поля таблиці ПОСТАЧАЛЬНИКИ.

Більше того, вони мають однакове ім'я. За даними цього поля можна встановити зв'язок між таблицями ПОСТАЧАЛЬНИКИ й ТОВАРИ.

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

25 of 36

Реляційна модель даних

Розділ 1 § 1.2

Якщо потрібно дізнатися телефон і прізвище директора фірми, яка постачає 120 тонн бетону і 50 тонн цементу, то слід із таблиці ТОВАРИ вибрати назву фірми БУТ-5 і за її назвою в таблиці ПОСТАЧАЛЬНИКИ знайти прізвище Маслов В.М., телефон 295-44-87.

Фірма

Директор

Телефон

РПЗ-1

Сопко А.І.

345-23-51

БУТ-5

Маслов В.М.

295-44-87

ДМК-2

Бондаренко К.О.

454-98-56

Таблиця 1. ПОСТАЧАЛЬНИКИ

Таблиця 2. ТОВАРИ

Матеріал

Вага (тонни)

Фірма

Бетон

100

РПЗ-1

Бетон

120

БУТ-5

Бетон

200

ДМК-2

Цемент

50

БУТ-5

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

26 of 36

Реляційна модель даних

Розділ 1 § 1.2

Таким чином, зв'язки між таблицями дають змогу отримати дані з кількох таблиць. Окрім того, вони забезпечують цілісність даних у пов'язаних таблицях, якщо з деяких причин сталися зміни в одній таблиці.

Пояснимо сутність цілісності даних на прикладі вже розглянутих раніше таблиць.

Припустимо, що між табл. 1 і 2 зв'язок не встановлено, з табл. 1 видалено запис, де директором фірми є Маслов В. М., а в табл. 2 усі дані є цілісними. Ця ситуація відображена в табл. 3.

Приклад 2

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

27 of 36

Реляційна модель даних

Розділ 1 § 1.2

Фірма

Директор

Телефон

РПЗ-1

Сопко А.І.

345-23-51

ДМК-2

Бондаренко К.О.

454-98-56

ДМК-2

Бондаренко К.О.

454-98-56

Таблиця 3. ПОСТАЧАЛЬНИКИ

Вважається, що в такому випадку сталося порушення цілісності даних і ця ситуація має бути автоматично виявлена.

У такому випадку стає невідомим телефон і прізвище директора фірми БУТ-5, яка постачає 120 тонн бетону і 50 тонн цементу.

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

28 of 36

Зв'язки в реляційних базах даних

Розділ 1 § 1.2

Дані в таблицях потрібно узгодити, для чого і використовують зв'язки між таблицями.

За множинністю виділяють такі типи зв'язків:

один до одного

один до багатьох

багато до одного

багато до багатьох

позначають 1:1

позначають 1: або 1:Б

позначають ∞:1 або Б:1

позначають ∞:∞ або Б:Б

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

29 of 36

Зв'язки в реляційних базах даних

Розділ 1 § 1.2

  • один до одного — будь-якому запису першої таблиці відповідає тільки один запис другої таблиці, і навпаки. Наприклад, одним автомобілем може керувати лише один водій і керувати цим автомобілем може тільки один водій;

Код

Прізвище

Ім'я

1

Іванов

Кузьма

2

Петров

Василь

Код

Рік народження

Адреса

1

1992

Шевченка, б.20, кв. 6

2

1993

Франка вул., б. 30, кв. 18

1

1

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

30 of 36

Зв'язки в реляційних базах даних

Розділ 1 § 1.2

  • один до багатьох — будь-якому запису першої таблиці відповідає кілька записів другої таблиці, але будь-якому запису другої таблиці відповідає тільки один запис першої таблиці. Наприклад, учень може мати з предмета «Інформатика» багато оцінок, і кожна з цих оцінок належить тільки одному учневі;

Код

Назва

1

Монітор

2

Вінчестер

Код

Код товару

Ціна

123

1

2 999

345

1

2 499

1

Б

товари

прайс-лист

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

31 of 36

Зв'язки в реляційних базах даних

Розділ 1 § 1.2

  • багато до одного — будь-якому запису першої таблиці відповідає тільки один запис другої таблиці, але будь-якому запису другої таблиці відповідає кілька записів першої таблиці. Наприклад, водій працює тільки на одному тролейбусі, але цим тролейбусом можуть керувати кілька водіїв;

Код

Прізвище

1

Іванов

2

Петров

Код

Назва

1

Історія

2

Географія

3

Біологія

Код

Код вчителя

Код предмету

Клас

1

1

1

9-А

2

1

2

8-Б

3

2

3

7-В

розклад

Б

Б

1

1

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

32 of 36

Зв'язки в реляційних базах даних

Розділ 1 § 1.2

  • багато до багатьох — будь-якому запису першої таблиці відповідає кілька записів другої таблиці, й будь-якому запису другої таблиці відповідає кілька записів.першої таблиці. Наприклад, учень Рябко навчається в кількох учителів, і кожен учитель працює з кількома учнями.

Код

Прізвище

1

Іванов

2

Петров

Код

Назва

1

Історія

2

Географія

3

Біологія

вчителі

предмети

Б

Б

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

33 of 36

Запитання для самоперевірки знань

Розділ 1 § 1.2

  1. Що називають елементарною одиницею даних у БД?
  1. Які існують основні моделі даних у БД?
  1. Поясніть сутність ієрархічної моделі даних.
  1. Які типи зв'язків існують між таблицями?
  1. Поясніть сутність реляційної моделі даних.
  1. Які поля таблиць називають ключем?
  1. Які ключі існують в таблицях БД?
  1. Наведіть означення моделі БД.

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

34 of 36

Запитання для самоперевірки знань

Розділ 1 § 1.2

  1. Назвіть основні вимоги до таблиць БД.
  1. Поясніть сутність зв'язування таблиць БД.
  1. У чому полягає забезпечення цілісності даних БД?

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

35 of 36

Домашнє завдання

Проаналізувати

§ 1.2, ст. 7-11

Розділ 1 § 1.2

10�(11)

© Вивчаємо інформатику teach-inf.at.ua

36 of 36

Дякую за увагу!

За навчальною програмою 2018 року

Урок 2

10

(11)