Проектування баз даних
За навчальною програмою 2018 року
Урок 3
10
(11)
Проектування баз даних
Розділ 1 § 1.3
Проектування БД — це досить відповідальний етап, від якості виконання якого залежить ефективність її функціонування. Проект БД доцільно спочатку розробити на папері, а потім реалізувати на комп'ютері.
Слід зважати на те, що від того, як раціонально вона спроектована на папері, суттєво залежать ефективність її функціонування та подальші трудовитрати на її вдосконалення безпосередньо на комп'ютері.
10�(11)
Проектування баз даних
Розділ 1 § 1.3
У створений проект БД можна вносити зміни й у процесі її експлуатації. Більше того, такі зміни неминучі. Але такі зміни не мають бути зумовлені помилками проектування.
10�(11)
Проектування баз даних
Розділ 1 § 1.3
Кінцевий користувач зазвичай проектує БД на логічному рівні, що не має жодного відношення до фізичного проектування. Ця функція, покладена на СУБД і операційні системи.
Проектування БД здійснюється на фізичному та логічному рівнях.
Тому далі розглядається сутність тільки логічного проектування. Існують кілька методів логічного проектування БД, але їх сутність мало відрізняється.
10�(11)
Проектування баз даних
Розділ 1 § 1.3
Одним із засобів моделювання предметної області на етапі проектування БД є модель сутність-зв'язок, яку ще називають ER-моделлю. У ній застосовуються графічні засоби.
Сутність — це деякий об'єкт реального світу. Вона має екземпляри, які відрізняються один від одного значеннями атрибутів.
Основними поняттями такої моделі є:
сутність
атрибут
зв'язок
10�(11)
Проектування баз даних
Розділ 1 § 1.3
Атрибут — це властивість сутності. Наприклад, сутність ХОЛОДИЛЬНИК характеризується такими атрибутами, як:
назва
вага
ціна
потужність
Конкретний холодильник є екземпляром сутності ХОЛОДИЛЬНИК.
Атрибут, який є унікальним, тобто однозначно визначає екземпляр сутності, називають ключем.
10�(11)
Проектування баз даних
Розділ 1 § 1.3
У ER-діаграмах:
зображується прямокутником
сутність
зображується ромбом
зв'язки між сутностями
Зв'язок фактично встановлює взаємодію між сутностями.
В реляційних БД:
сутності
відповідає
таблиця
екземпляру
відповідає
запис
10�(11)
Проектування баз даних
Розділ 1 § 1.3
Головне на етапі логічного проектуванні БД полягає у виконанні таких основних дій:
10�(11)
Проектування баз даних
Розділ 1 § 1.3
Розглянемо реалізацію цих дій — розробимо БД для предметної області Автобаза. Вважатимемо, що на основі аналізу структури та завдань автобази, які вона виконує, у БД достатньо мати три таблиці:
АВТОМОБІЛЬ
ВОДІЙ
МЕХАНІК
назви полів, які однозначно визначають технічні дані автомобілів, що є на обліку автобази
назви полів про дані водіїв, які працюють на цій автобазі
назви полів про дані механіків, що обслуговують закріплені за ними автомобілі.
10�(11)
Проектування баз даних
Розділ 1 § 1.3
Для кожної з цих таблиць визначимо такі їх структури:
10�(11)
Проектування баз даних
Розділ 1 § 1.3
Базу даних предметної області Автобаза на основі ER-схеми можна зобразити так, як показано на рисунку.
Номер автомобіля* |
Модель автомобіля |
Рік виготовлення |
Вантажопідйомність |
Потужність |
Витрати пального |
Максимальна швидкість |
Посвідчення водія* |
Прізвище |
Рік народження |
Номер автомобіля |
Стаж водія |
Код механіка |
Код механіка* |
Прізвище |
Оклад |
Домашня адреса |
Телефон |
Загальний стаж |
Автомобіль
Керує
Водій
Механік
Обслуговує
1
Б
Б
1
10�(11)
Проектування баз даних
Розділ 1 § 1.3
У таблицях:
АВТОМОБІЛЬ
ВОДІЙ
ключовим полем може бути тільки поле Номер автомобіля, оскільки кожен автомобіль має унікальний номер
поле Номер автомобіля може повторюватися, оскільки на одному й тому самому автомобілі можуть працювати кілька водіїв (робота за графіком, за-змінами)
Тому між таблицями АВТОМОБІЛЬ і ВОДІЙ існує зв'язок один до багатьох (на одному кінці цієї лінії розміщено значення <1>, а на другому — символ <Б>.
10�(11)
Проектування баз даних
Розділ 1 § 1.3
У таблиці ВОДІЙ ключовим полем є Посвідчення водія, оскільки лише це поле має унікальне значення. Решта, у тому числі поле Прізвище, можуть дублюватися (на базі можуть працювати водії з однаковими прізвищами, ім'ям та по-батькові).
Поле Код механіка також може дублюватися, тому що один механік обслуговує, як правило, кілька автомобілів. Але це поле є унікальним у таблиці МЕХАНІК. Тому між таблицями ВОДІЙ і МЕХАНІК існує зв'язок багато до одного.
Б:1
10�(11)
Проектування баз даних
Розділ 1 § 1.3
Для наочності зв'язки між таблицями можна зобразити схемою, приклад якої наведено на рисунку.
Автомобіль |
Номер автомобіля* |
Модель автомобіля |
Рік виготовлення |
Вантажопідйомність |
Потужність |
Витрати пального |
Максимальна швидкість |
Водій |
Посвідчення водія* |
Прізвище |
Рік народження |
Номер автомобіля |
Стаж водія |
Код механіка |
Механік |
Код механіка* |
Прізвище |
Оклад |
Домашня адреса |
Телефон |
Загальний стаж |
1
1
Б
Б
10�(11)
Проектування баз даних
Розділ 1 § 1.3
Наступним кроком проектування БД є визначення вмісту її таблиць. Зразок вмісту табл. 1 ВОДІЙ наведено далі.
Посвідчення водія | Прізвище | Рік народження | Номер автомобіля | Стаж водія | Код механіка |
СН2374 | Сокіл А.С. | 1990 | АА2387КИ | 6 | 23 |
РК1173 | Корж В.М. | 1980 | АА8874КИ | 14 | 24 |
СН7322 | Рожко П.Т. | 1985 | АА4492КИ | 11 | 23 |
КН5475 | Шрам А.І. | 1970 | АА3395КИ | 27 | 23 |
Таблиця 1. Водій
10�(11)
Проектування баз даних
Розділ 1 § 1.3
На цьому проектування БД на папері можна вважати завершеним. Далі робота продовжується на комп'ютері за допомогою обраної СУБД.
10�(11)
Запитання для самоперевірки знань
Розділ 1 § 1.3
10�(11)
Домашнє завдання
Проаналізувати
§ 1.3, ст. 11-14
Розділ 1 § 1.3
10�(11)
Дякую за увагу!
За навчальною програмою 2018 року
Урок 3
10
(11)