You are on page 1of 13

Лабораторна робота 1.

1 Проєктування бази даних

Мета роботи: навчитися проєктувати найпростіші бази


даних.

Постановка завдання

Виконати проєктування БД відповідно до варіанту (табл. 1.1):


1. Виконати аналіз предметної області, виділити
інформаційні об’єкти для подання їх в БД.
2. Описати інформаційні об’єкти за допомогою заданих
атрибутів (можна вводити до розгляду додаткові атрибути).
3. Перейти до подання інформаційних об’єктів у вигляді
реляційних таблиць:
 визначити склад полів базових таблиць;
 визначити властивості кожного поля в таблиці.
 в кожній таблиці визначити ключове поле.
4. Визначити тип зв’язків між таблицями БД.

Таблиця 1.1
Варіанти завдань

Варіанти 1, 11, 21. База даних «Платний прийом у поліклініці»


Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
Платний прийом пацієнтів 1. ПІП лікаря 1. ЛІКАРІ
проводиться лікарями різних 2. Спеціаль- 2. ПАЦІЄНТИ
спеціальностей (хірург, терапевт, ність лікаря 3. ПРИЙОМ
кардіолог, офтальмолог тощо). 3. Вартість ПАЦІЄНТІВ
При оформленні прийому повинна прийому
бути сформована квитанція про 4. Відсоток
оплату прийому, в якій відрахуван-
Продовження табл. 1.1
Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
зазначається інформація про
ня на зарплату
пацієнта, про лікаря, який
5. Прізвище
консультує пацієнта, про вартість пацієнта
прийому, про дату прийому. 6. Ім’я
Пацієнт оплачує за прийом деяку пацієнта
суму, яка встановлюється7. По батькові
персонально для кожного лікаря. пацієнта
За кожен прийом лікаря
8. Дата
відраховується фіксований
народження
відсоток від вартості прийому. пацієнта
Відсоток відрахування від вартості 9. Адреса
прийому на зарплату лікаря також пацієнта
встановлюється персонально для 10. Дата
кожного лікаря. Розмір
прийому
нарахованої заробітної плати
лікаря за кожен прийом
обчислюється за формулою:
Зарплата = Вартість прийому х
Відсоток відрахування на
зарплату. З цієї суми віднімається
прибутковий податок, що
становить 13% від нарахованої
зарплати
Варіанти 2, 12, 22. База даних «Прокат автомобілів»
Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
Фірма видає напрокат автомобілі. 1. ПІП 1. КЛІЄНТИ
При цьому фіксуються дані про клієнта 2. АВТОМО-
клієнтів, дані про автомобіль, дата 2. Серія, БІЛІ
початку прокату і кількість днів номер паспорту 3. ПРОКАТ
прокату, вартість одного дня клієнта
прокату. 3. Модель
Вартість одного дня прокату може автомобіля
відрізнятися для різних 4. Колір
автомобілів. автомобіля
Для кожного автомобіля 5. Рік випуску

2
Продовження табл. 1.1
Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
визначається страхова вартість. автомобіля
Вартість прокату автомобіля 6. Держномер
визначається як Вартість одного автомобіля
дня прокату х Кількість днів 7. Страхова
прокату. Фірма щорічно страхує вартість
автомобілі, які видаються автомобіля
клієнтам. Страховий внесок, який 8. Вартість
виплачується фірмою, дорівнює 10 одного дня
відсоткам від страхової вартості прокату
автомобіля 9. Дата
початку прокату
10. Кількість
днів прокату
Варіанти 3, 13, 23. База даних «Облік оптових продажів магазину»
Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
Оптовий магазин закуповує товар 1. Назва 1. ТОВАРИ
за ціною закупівлі та продає товар товару 2. ПРОДАВЦІ
за ціною продажу. Різниця між 2. Одиниця 3. ПРОДАЖИ
ціною продажу і ціною закупівлі виміру товару
становить дохід магазину від 3. Ціна
реалізації кожної одиниці товару. закупівлі
У магазині працює кілька 4. Ціна
продавців. Кожен продавець продажу
отримує комісійну винагороду за 5. Дата
проданий товар. Відсоток продажу
комісійних призначається 6. Кількість
індивідуально кожному проданих
продавцеві. одиниць товару
Розмір комісійної винагороди за 7. ПІП
проданий товар визначається за продавця
формулою: Комісійна 8. Процент
винагорода = Ціна продажу комісійних
одиниці товару х Кількість
проданих одиниць товару х
Відсоток комісійних. Прибуток

3
Продовження табл. 1.1
Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
від продажу декількох одиниць
товару обчислюється як (Ціна
продажу - Ціна закупівлі) х
Кількість проданих одиниць
товару
Варіанти 4, 14, 24. База даних «Облік порушень правил дорожнього
руху»
Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
При порушенні правил 1. Модель 1. АВТОМОБІ-
дорожнього руху (ПДР) автомобіля ЛІ
фіксується інформація про 2. Рік випуску 2. ВИДИ
автомобіль, водія, його праві на 3. Держномер ПОРУШЕНЬ
керування автомобілем, про вид 4. Страхова 3. ФАКТИ
порушення, розмір штрафу. Розмір вартість ПОРУШЕНЬ
штрафу є фіксованим і 5. ПІП
визначається видом порушення. власника
Власник автомобіля щорічно 6. Паспортні
страхує автомобіль. При дані власника
страхуванні встановлюється 7. Вид
страхова вартість автомобіля. порушення ПДР
Страхові внески, виплачуються 8. Розмір
власником при страхуванні, штрафу
дорівнюють 10 відсоткам від 9. Дата
страхової вартості автомобіля порушення ПДР
10. ПІП водія
11. Право
керування
(власник чи ні)
Варіанти 5, 15, 25. База даних «Туристичне агентство»
Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
Фірма надає клієнтам послуги по 1. ПІП клієнта 1. КЛІЄНТИ
організації закордонних поїздок. 2. Паспортні 2. МАРШРУ-
При цьому цілі поїздок можуть дані ТИ

4
Продовження табл. 1.1
Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
бути різними (відпочинок, туризм, 3. Країна 3. ПОЇЗДКИ
лікування тощо). При оформленні призначення
поїздки встановлюється фіксована 4. Мета
вартість 1 дня перебування в тій поїздки
чи іншій країні, що включає 5. Вартість 1
вартість проживання, харчування, дня перебування
екскурсійного обслуговування та 6. Вартість
інших послуг. Ця вартість є транспортних
характеристикою кожного послуг
конкретного маршруту. Вартість 7. Вартість
поїздки може бути обчислена як оформлення візи
Вартість 1 дня перебування х (визначається
Кількість днів + Вартість вибором
транспортних послуг + Вартість маршруту)
оформлення візи. Крім того, 8. Дата
клієнт платить податок на додану початку поїздки
вартість (ПДВ) в розмірі 20% від 9. Кількість
вартості поїздки днів
Варіанти 6, 16, 26. База даних «Облік підписки на періодичні
друковані видання»
Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
БД для зберігання інформації про 1. ПІП 1. ВИДАННЯ
підписку на періодичні друковані передплатника 2. ПЕРЕД-
видання. При оформленні 2. Вулиця ПЛАТНИКИ
передплати на те чи інше 3. Номер 3. ДОСТАВКА
друковане видання слід вказати будинку
дані про передплатника, дані про 4. Номер
видання, дату початку підписки і квартири
кількість місяців, на які 5. Індекс
оформляється підписка. Вартість видання за
передплати може бути обчислена каталогом
як Ціна 1 примірника х Термін 6. Вид видання
підписки. Клієнт платить (газета або
поштовому відділенню 1% від журнал)
вартості підписки за доставку. У 7. Назва

5
Продовження табл. 1.1
Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
вартість передплати включається видання
податок на додану вартість (ПДВ), 8. Ціна 1
що обчислюється як Вартість примірника
підписки х 20% 9. Дата початку
підписки
10. Строк
підписки
(кількість
місяців)
Варіанти 7, 17, 27. База даних «Облік угод із нерухомістю»
Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
Фірма займається оформленням 1. Назва вулиці 1. КВАРТИРИ
угод з об'єктами житлової 2. Номер 2. РІЕЛТОРИ
нерухомості. При оформленні будинку 3. УГОДИ
угоди фіксується інформація про 3. Номер
квартиру, що продається, про квартири
ріелтора, який оформлює угоду 4. Площа
купівлі-продажу, про дату квартири
оформлення угоди. Ріелтор, який 5. Кількість
оформив угоду купівлі-продажу, кімнат
отримує комісійну винагороду, яка 6. Дата угоди
обчислюється як Вартість 7. Вартість
квартири х Відсоток квартири
винагороди. Відсоток винагороди 8. ПІП ріелтора
є індивідуальним і фіксованим для 9. Відсоток
кожного конкретного ріелтора винагороди
Варіанти 8, 18, 28. База даних «Облік договорів страхування»
Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
Договір страхування укладається 1. ПІП клієнта 1. КЛІЄНТИ
між страховою компанією і 2. Відсоток 2. СТРАХОВІ
клієнтом на 1 рік. При укладанні знижки АГЕНТИ
договору вказується вид 3. Вид 3. ДОГОВОРИ
страхування, страхова сума, дата страхування

6
Продовження табл. 1.1
Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
початку дії договору. Кожен (страхування
клієнт виплачує при укладенні майна,
договору страхову премію. Розмір автомобілю,
страхової премії залежить від суми життя тощо)
страхування, тарифу та 4. Тариф
індивідуальної знижки клієнта: (залежить від
Страхова премія = Сума виду
страхування х (Тариф – Відсоток страхування)
знижки). Тариф приймає 5. Сума
значення від 1 до 5 відсотків, страхування
індивідуальна знижка – від 0.1 до 6. Дата
5 відсотків. Кожен страховий закінчення
агент отримує комісійну договору
винагороду за висновок 7. Прізвище
страхового договору, яке агента
обчислюється як Комісійні = 8. Ім’я агента
Сума страхування х (Тариф - 9. По батькові
Відсоток знижки) х відсоток агента
винагороди 10. Відсоток
винагороди
Варіанти 9, 19, 29. База даних «Штатний розклад»
Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
При складанні штатного розкладу 1. Назва 1. ПІДРОЗ-
наявні в організації штатні підрозділу ДІЛИ
одиниці розподіляються по 2. Тип 2. ШТАТНІ
підрозділам. Кожна штатна підрозділу (цех, ОДИНИЦІ.
одиниця характеризується назвою відділ, бригада 3. РОЗПОДІЛ
посади, розміром посадового тощо) ШТАТНИХ
окладу, відсотком надбавки за 3. Відсоток ОДИНИЦЬ.
ненормований робочий день. надбавки 1 (за
Кожен підрозділ характеризується шкідливі умови
найменуванням, типом, відсотком праці, залежить
надбавки за шкідливі умови праці. від підрозділу,
Заробітна плата для кожної приймає
штатної одиниці обчислюється як значення від 0 до

7
Продовження табл. 1.1
Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
Розмір зарплати = Оклад х (1+ 100%)
Відсоток надбавки за шкідливі 4. Назва посади
умови праці + Відсоток 5. Посадовий
надбавки за ненормований оклад
робочий день). З нарахованої 6. Відсоток
заробітної плати віднімається надбавки 2 (за
прибутковий податок, що ненорм. робочий
дорівнює 13 відсоткам від розміру день,
зарплати встановлюється
для конкретної
шт. од. від 0 до
100%)
7. Відпустка
(к-ть днів
відпустки на рік,
встановлюється
для конкр. шт.
од.)
Варіанти 10, 20, 30. База даних «Облік результатів складання вступних
іспитів»
Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
БД повинна містити інформацію 1. ПІП 1. АБІТУ-
про абітурієнтів, екзаменаторів і абітурієнта РІЄНТИ
результати складання вступних 2. Адреса 2. ЕКЗАМЕ-
іспитів. Про кожний факт 3. Рік НАТОРИ
складання іспиту зазначаються: народження 3. ІСПИТИ
дата складання іспиту, назва абітурієнта
іспиту, хто складав іспит, хто 4. Серія та
приймав іспит, який результат номер паспорта
складання іспиту. Екзаменатор абітурієнта
отримує за прийом іспиту 5. ПІП
встановлену оплату, яка екзаменатора
призначається індивідуально. З 6. Розмір
цієї суми утримується оплати (за
прибутковий податок у розмірі прийом іспиту у

8
Закінчення табл. 1.1
Опис предметної області Мінімальний Запропонований
набір полів набір базових
базових таблиць таблиць
13%. Навчальний заклад одного
відраховує до бюджету соціальний абітурієнта,
податок у розмірі 20% від може бути
нарахованої викладачеві оплати за різним для
прийом іспиту різник
екзаменаторів)
7. Дата
складання іспиту
8. Назва іспиту
(історія,
математика
тощо)
9. Оцінка

Приклад виконання завдань

1.1 Створення бази даних «Платний прийом у


поліклініці» у Microsoft Access

1.1.1 Аналіз предметної області та виділення


інформаційних об’єктів для подання їх в базі даних

Платний прийом пацієнтів проводиться лікарями різних


спеціальностей (хірург, терапевт, кардіолог, офтальмолог тощо).
При оформленні прийому повинна бути сформована квитанція про
оплату прийому, в якій зазначається інформація про пацієнта, про
лікаря, який консультує пацієнта, про вартість прийому, про дату
прийому. Пацієнт оплачує за прийом деяку суму, яка
встановлюється персонально для кожного лікаря. За кожний
прийом лікаря відраховується фіксований відсоток від вартості
прийому. Відсоток відрахування від вартості прийому на зарплату
лікаря також встановлюється персонально для кожного лікаря.
Розмір нараховується лікаря заробітної плати за кожний прийом
обчислюється за формулою: Зарплата = Вартість прийому х

9
Відсоток відрахування на зарплату. З цієї суми віднімається
прибутковий податок, що становить 13% від нарахованої зарплати.
Аналіз опису предметної області дозволяє виділити набір
даних, які мають зберігатися в БД, що проектується:
 ПІП лікаря.
 Спеціальність лікаря.
 Вартість прийому.
 Відсоток відрахування на зарплату.
 Прізвище пацієнта.
 Ім’я пацієнта.
 По батькові пацієнта.
 Дата народження пацієнта.
 Адреса пацієнта.
 Дата прийому.
Виходячи з цього, можна виділити два інформаційні об’єкти:
Лікар і Пацієнт.

1.1.2 Опис інформаційних об’єктів

Інформаційні об’єкти Лікар та Пацієнт можна описати за


допомогою атрибутів даних, які зберігаються у БД. Для об’єкту
Лікар це – Прізвище, Ім’я, По батькові, Спеціальність, Вартість
прийому та Відсоток відрахування на зарплату. ПІБ позначає
лікаря як особистість і є різним для кожного об’єкту, Спеціальність
є одною з багатьох спеціальностей медичної сфери, вартість
прийому і відсоток відрахування на зарплату залежать від рівня
кваліфікації та стажу лікаря.
Об’єкт Пацієнт можна описати наступними атрибутами:
Прізвище, Ім’я, По батькові, Дата народження та Адреса. ПІБ
позначає Пацієнта як особистість і є різним для кожного об’єкту,
Дата народження необхідна для вказання віку пацієнта та дозволяє
передбачити можливі проблеми, і Адреса потрібна для вказання
місця проживання у разі необхідності.

10
1.1.3 Подання інформаційних об’єктів у вигляді
реляційних таблиць

Можна визначити таблиці БД – Лікарі та Пацієнти, до яких


додаються ключові поля Код, унікальні для кожного запису
(рис. 1.1).

Рисунок 1.1 – Таблиці Лікарі та Пацієнти


У таблиці Лікарі будуть зберігатися дані такого типу:
1 Іванов Іван Іванович Хірург 3000.00$ 15

У таблиці Пацієнти будуть зберігатися дані такого типу:


1 Іванов Іван Іванович 22.01.1997 Бул.Вацлава Гавела
27, кв.16

У таблицях 1.2 – 1.3 подані властивості полів таблиць Лікарі


та Пацієнти.
Таблиця 1.2
Властивості полів таблиці Лікарі
Ім’я поля Тип поля Розмір поля
Код лікаря Лічильник Довге ціле
Прізвище Текстовий 20 байт
Ім’я Текстовий 20 байт
По батькові Текстовий 20 байт
Спеціальність Текстовий 30 байт
Вартість прийому Грошовий Авто
Відсоток відрахування Числовий Ціле
на зарплату

11
Таблиця 1.3
Властивості полів таблиці Пацієнти
Ім’я поля Тип поля Розмір поля
Код пацієнта Лічильник Довге ціле
Прізвище Текстовий 20 байт
Ім’я Текстовий 20 байт
По батькові Текстовий 20 байт
Дата народження Дата і час Авто
Адреса Текстовий 255 байт

1.1.4 Визначення типу зв’язків між таблицями бази даних

Один лікар може приймати різних пацієнтів. Пацієнт може


відвідувати різних лікарів. Між таблицями Лікарі і Пацієнти має
бути встановлений зв’язок типу «багато-до-багатьох». Для
організації такого зв’язку необхідна третя таблиця, в яку ключові
поля вже присутніх таблиць увійдуть як зовнішні ключі. Її назва –
Прийоми пацієнтів. Дані до неї будуть заноситись при записі
конкретного пацієнта на прийом до конкретного лікаря. До таблиці,
окрім ключових полів інших таблиць, також увійдуть поля Код
прийому і Дата прийому.
Визначення зв’язків: між Лікарі і Прийоми пацієнтів буде
існувати зв’язок «один-до-багатьох», Лікарі на стороні «один»,
оскільки один лікар може мати скільки завгодно прийомів. Те саме
повторюється і з таблицями Пацієнти і Прийоми пацієнтів. За
допомогою такого посередника, між Лікарі і Пацієнти утворюється
зв’язок «багато-до-багатьох»(рис. 1.2).

Рисунок 1.2 – Зв’язки між таблицями БД

12
У таблиці 1.4 подані властивості полів кожної з таблиць БД.

Таблиця 1.4
Властивості полів таблиці Прийоми пацієнтів
Ім’я поля Тип поля Розмір поля
Код прийому Лічильник Довге ціле
Код лікаря Числовий Довге ціле
Код пацієнта Числовий Довге ціле
Дата прийому Дата і час Авто

13

You might also like