Лабораторна робота № 1.
|
Побудова моделі даних предметної області
|
Мета: |
Засвоїти поняття моделі подання даних, сутності, атрибута, ключа та зв’язку. Навчитися визначати сутності, атрибути, зокрема ключові, а також зв’язки між сутностями в предметній області та представляти ці відомості у вигляді моделі «сутність-зв’язок». |
Визначте типи зв’язків та зобразіть зв’язки графічно для сутностей: Співробітник цеху автоматизації обслуговує Технічний засіб автоматизації.
Поставимо просте запитання: скільки технічних засобів автоматизації може обслуговувати один співробітник цеху автоматизації? Очевидно, відповідь на нього – «багато». Тепер поставимо зворотне запитання: скільки співробітників цеху автоматизації може обслуговувати технічний засіб автоматизації? Відповідь також очевидна: багато. Це означає, що сутності Співробітник цеху автоматизації та Технічний засіб автоматизації пов’язані зв’язком «багато-до-багатьох».
На моделі «сутність-зв’язок» сутності позначаються прямокутниками, всередині яких записуються їхні назви.
Зв’язки між сутностями позначаються ромбами, що з’єднуються лініями зв’язку з прямокутниками. Всередині ромба записують дієслово або словосполучення, що визначає зміст зв’язку, над ним часто креслять стрілку, що показує, в якому порядку дієслово сполучає іменники-сутності.
Порядок виконання Позначимо задані за умовою сутності:
Співробітник цеху автоматизації |
|
Технічний засіб автоматизації |
За умовою суть зв’язку визначає дієслово «обслуговує», позначимо це на моделі
«сутність-зв’язок»
Біля лінії, що з’єднує ромб зв’язку з прямокутником сутності Співробітник цеху автоматизації і біля лінії, що з’єднує ромб зв’язку з прямокутником сутності Технічний засіб автоматизації ми маємо записати символ «» (нескінченність, багато), адже кожен співробітник обслуговує багато засобів автоматизації і кожен засіб автоматизації може обслуговувати багато співробітників.
Вкажіть кілька сутностей з предметної області: «Автосалон». Зазначте, які атрибути (параметри) мають ці сутності
Пригадуємо, що предметна область – це певна сфера діяльності. Будь-яка предметна область містить об’єкти, а сутність у предметній області – це множина об’єктів, які мають однаковий набір атрибутів.
Магазин автосалону продає автомобілі. Отже, до предметної області «Автосалон» належать сутності: Магазин автосалону та Автомобіль.
Які параметри (атрибути) може мати магазин? Це: назва магазину, його адреса, номер телефону, директор магазину, менеджер з продажу.
Які властивості (атрибути) визначають автомобіль? Атрибутами автомобіля можуть бути: його модель, виробник, рік випуску, ціна, колір, комплектація, кількість автомобілів у автосалоні.
На моделі «сутність-зв’язок» сутності позначаються прямокутниками, всередині яких записуються їхні назви:
Магазин автосалону |
|
Автомобіль |
Назви атрибутів сутностей записуються під прямокутниками сутностей і підкреслюються. Від прямокутника сутності проводять вертикальну лінію вздовж усіх атрибутів.
Розгляньте діаграму «сутність–зв’язок» (рисунок 1). Визначте:
1) кількість і назву сутностей, зображених на діаграмі; 2) властивості кожної сутності; 3) види зв’язків для випадків:
а) є кілька видів товару та є кілька складів, кожний товар зберігається на одному складі і на кожному складі зберігається тільки один вид товару;
б) є кілька видів товару і всі вони зберігаються на одному складі;
Рисунок 1. Діаграма сутність-зв’язок
На моделі «сутність-зв’язок» сутності позначаються прямокутниками, а їх властивості (атрибути) – овалами. Назви сутностей і їх властивостей записують відповідно всередині указаних фігур.
Відомо, що для того щоб зв’язок між сутностями А і В віднести до одного з цих типів, слід відповісти на два запитання:
1) Зі скількома об’єктами сутності А може бути зв’язаний об’єкт сутності В? 2) Зі скількома об’єктами сутності В може бути зв’язаний об’єкт сутності А?
Поставимо ці запитання: скільки видів товарів може зберігатися на одному складі? Очевидно, відповідь на нього за умовою 3а) – один товар. Тепер поставимо зворотне запитання: у скількох складах може зберігатися кожен товар? Відповідь за умовою 3а) також очевидна: кожний товар зберігається на одному складі. Все це означає, що сутності «Товар» і «Склад» пов’язані зв’язком «один-до-одного».
Аналогічно проаналізуємо умову 3б): скільки видів товарів може зберігатися на одному складі? Відповідь: багато. У скількох складах може зберігатися кожен товар? Відповідь: в одному. Отже, сутності «Товар» і «Склад» пов’язані зв’язком «багато-доодного».
1) На даній діаграмі (рисунок 1) зображено два прямокутники-сутності «Склад» і «Товар».
2) Сутність «Склад» має властивості: Площа, Об’єм, Керівник, Адреса, Назва.
Сутність «Товар» має властивості: Назва, Вид, Кількість, Ціна, Розміри, Термін зберігання, Дата виготовлення.
3) а) Якщо є кілька видів товару та є кілька складів, кожний товар зберігається на одному складі і на кожному складі зберігається тільки один вид товару, то сутності «Товар» і «Склад» пов’язані зв’язком «один-до-одного».
б) Якщо є кілька видів товару і всі вони зберігаються на одному складі, то
сутності «Товар» і «Склад» пов’язані зв’язком «багато-до-одного».
У групах певного коледжу викладають викладачі. Потрібно зберігати відомості про номер та серію паспорта, прізвище, ім’я та по батькові, а також про спеціальність викладачів. Про студентів даного коледжу відомі їхні прізвища, імена, дати народження та стать. Кожен студент навчається за денною формою навчання у певній групі. Деякі викладачі є класними керівниками груп.
Побудуйте модель «сутність-зв’язок» для предметної області «Коледж». Визначте:
сутності; зв’язки між сутностями; типи зв’язків; атрибути сутностей та ключі.
1. За умовою даної задачі маємо: предметна область – Коледж. Сутності у даній предметній області: Викладач, Група, Студент.
2. Щодо зв’язків, то вони визначені умовою задачі: «у групах викладають викладачі» (Викладач навчає Групу); «студент навчається у групі»; «деякі викладачі є класними керівниками груп» (Викладач керує Групою).
3. Визначимо типи даних зв’язків за множинністю.
3.1 Проаналізуємо зв’язок «Викладач навчає Групу»: у кожній групі можуть викладати багато викладачів. З іншого боку, кожен викладач може викладати в багатьох групах. Таким чином, зв’язок «Викладач навчає Групу» має тип «багато-добагатьох».
3.2 Проаналізуємо зв’язок «Студент навчається у Групі». За денною формою навчання студент може навчатися тільки в одній групі. Натомість у групі навчається багато студентів. Отже, зв’язок «Студент навчається у Групі» має тип «багато-доодного».
3.3 Зв’язок «Викладач керує Групою». Викладач може керувати лише однією групою, а у групи може бути тільки один класний керівник. Таким чином, зв’язок «Викладач керує Групою» має тип «один-до-одного»
4. Визначимо атрибути кожної із сутностей: Викладач – номер та серія паспорта, прізвище, ім’я, по батькові та спеціальність; Група – назва; Студент – прізвище, ім’я, дата народження та стать.
5. Визначимо ключові атрибути даних сутностей, пам’ятаючи, що ключем називають атрибут або набір атрибутів, значення яких дозволяють однозначно ідентифікувати об’єкти певної сутності.
5.1 Оскільки номер та серія паспорта ніколи не повторюються, то вони однозначно ідентифікують особу, в тому числі і викладача. Назвемо даний атрибут сутності Викладач просто «паспорт».
5.2 Академічна група однозначно визначається назвою (1ТМ-1, 2А-2, 3Е-1 тощо), отже даний атрибут і буде ключовим для сутності Група.
5.3 Дещо складніша ситуація з ключем сутності Студент. Атрибут «паспорт» для даної сутності за умовою задачі не заданий, прізвище та ім’я у різних студентів можуть бути однаковими. Можна припустити, що в одному коледжі не може бути двох студентів з однаковими прізвищем та ім’ям, які народилися в один день, – тоді ключ сутності Студент складатиметься із трьох атрибутів: прізвище, ім'я, дата народження. Коли ключ складається з кількох атрибутів, окремі значення кожного з них можуть повторюватися, а комбінації значень усіх ключових атрибутів – ні. Проте в дуже рідкісних випадках припущення про неіснування двох студентів з однаковим прізвищем та ім’ям, що народилися в один день, може не справджуватися і, крім того, оперувати з ключем, який містить три атрибути, незручно. Тому часто вихід знаходять у додаванні штучного ключового атрибута, який можна назвати «код». Отже, студенти коледжу ідентифікуватимуться за спеціальним, штучно створеним, кодом.
1. Предметна область «Коледж» має три сутності:
Викладач |
|
Група |
|
Студент |
2. Позначимо зв’язки між даними сутностями і типи цих зв’язків за множинністю:
2.1 Зв’язок «Викладач навчає Групу», тип «багато-до-багатьох»
2.2 Зв’язок «Студент навчається у Групі», тип «багато-до-одного»
2.3 Зв’язок «Викладач керує Групою», тип «один-до-одного»
3. Додамо до сутностей їх з атрибути, позначаючи ключові атрибути (*):
Рисунок 2. Модель «сутність-зв’язок» для предметної області «Коледж»
1. Визначте типи зв’язків та зобразіть зв’язки графічно для сутностей: Робоча група виконує Контракт; Проектом системи автоматизації передбачено Технічний засіб автоматизації
2. Вкажіть кілька сутностей з предметної області: «Кінотеатр», «Телефонний довідник студентів групи». Зазначте, які атрибути (параметри) мають ці сутності
3. Розгляньте діаграму «сутність–зв’язок» (рисунок 1). Визначте види зв’язків між сутностями на діаграмі для випадків:
а) є кілька видів товару та є кілька складів, на кожному складі є всі види товарів;
б) є тільки один вид товару і він зберігається на одному складі;
в) є один вид товару і він зберігається на кількох складах.
4. Розгляньте фрагмент таблиці реляційної бази даних, поданий на рисунку 3. Визначте:
а) назви об’єктів, виділених на рисунку іншим кольором і позначених
цифрами 1 і 2;
б) яке поле можна використати як ключове для цієї таблиці, поясніть чому;
в) як можна назвати сутність, дані про яку представлені в таблиці;
г) скільки екземплярів сутності подано на рисунку;
д) які властивості екземплярів сутності описані в даній таблиці.
Рисунок 3. Фрагмент таблиці реляційної бази даних
5. Побудуйте моделі «сутність-зв’язок» для описаних далі предметних областей. Визначте: сутності; зв’язки між сутностями; типи зв’язків; атрибути сутностей та ключові атрибути.
Варіант |
Опис предметної області |
1, 7, 13, 19, 25 |
Предметна область «Автомобілі». Про кожен автомобіль відомо: його реєстраційний номер, рік випуску, марка, а також хто є власником автомобіля. Про власника відомо: прізвище та ім’я, а також номер прав водія. Щодо кожної марки автомобіля відома її назва, об’єм та потужність двигуна, а також тип автомобіля (седан, хетчбек, джип тощо). На автомобілі виписують страхові поліси, у яких зазначається термін початку та завершення дії, тип страховки, страхова сума та назва компаніїстрахувальника. На один автомобіль може бути виписано багато страхових полісів. |
2, 8, 14, 20, 26 |
Предметна область «Вулиці та будинки». Щодо кожної вулиці потрібно зберігати відомості про її назву та довжину, а також про те, які інші вулиці вона перетинає. Про кожен будинок відомо: його номер, кількість поверхів та квартир, а також на якій вулиці він розташований. |
3, 9, 15, 21, 27 |
Предметна область «Зовнішнє незалежне оцінювання». Потрібно зберігати відомості про склад тестів зовнішнього незалежного оцінювання. Кожен тест стосується певного предмета, проводиться в певному році та складається з низки запитань. Кожне запитання має формулювання, а також кілька варіантів відповідей. Один із варіантів є правильним. |
4, 10, 16, 22, 28 |
Предметна область «Залізнична мережа». Залізнична мережа розглядається як сукупність залізничних ділянок, кожна з яких має певну довжину і сполучає дві вузлові станції або вузлову та кінцеву станції. Ділянку посередині не можуть перетинати інші ділянки. Про кожну станцію відома її назва, а також на якій ділянці вона розташована. Вузлові станції можуть належати кільком ділянкам. ВКАЗІВКА. У моделі «сутність-зв’язок» цієї предметної області варто використати зв’язок типу «два-до-багатьох». |
5, 11, 17, 23, 29 |
Предметна область «Розклад занять». Про класи певної школи відомі їхні назви та яка кількість учнів навчається в кожному класі, про навчальні дисципліни – назви та тип (гуманітарна, природнича тощо), а про вчителів – прізвища та номери паспортів. Необхідно зберігати відомості про те, який учитель в якому класі яку дисципліну викладає. |
6, 12, 18, 24, 30 |
Предметна область Бібліотека. Про кожен об’єкт зберігання бібліотеки потрібно зберігати такі відомості: код, найменування, автор, кількість, ціна, рік видання, зображення титульної сторінки. Кожен об’єкт зберігання бібліотеки належить до певної категорії, яка може набувати таких значень: книга, аудіокнига, газета, журнал.
|
- Три схеми зв’язків сутностей: Співробітник цеху автоматизації обслуговує Технічний засіб автоматизації; Робоча група виконує Контракт; Проектом системи автоматизації передбачено Технічний засіб автоматизації.
- Для трьох предметних областей («Автосалон», «Кінотеатр», «Телефонний довідник студентів групи») наведено приклади сутностей з їх атрибутами.
- Встановлено види зв’язків між сутностями на діаграмі (рисунок 1) для п’яти випадків.
- Побудовано модель «сутність-зв’язок» для предметної області «Коледж».
- Визначено відповіді на запитання а)–д) щодо фрагмента таблиці реляційної бази даних, поданого на рисунку 3.
- Побудовано модель «сутність-зв’язок» для предметної області за своїм варіантом
завдання.
1. Поясніть, що таке сутність у предметній області.
2. Коли і ким було розроблено теорію реляційної моделі даних?
3. Що таке модель «сутність–зв’язок»? Що вона описує?
4. Що таке ЕR-модель?
5. Назвіть складові моделі даних.
6. Поясніть, що визначає структура даних у моделі даних.
7. Які типи даних можуть використовуватись у базах даних?
8. Що таке обмеження цілісності в моделі даних?
9. Яка структура таблиці реляційної бази даних? Які об’єкти вона має?
10. Для чого призначені таблиці в реляційній базі даних?
11. Які особливості має реляційна база даних?
12. Що таке ключове поле? Які вимоги до ключового поля?
13. Які види ключів використовують в реляційній базі даних? Чим вони відрізняються?
14. Які типи зв’язків можна установити між об’єктами таблиць у реляційній базі даних?
15. Які особливості зв’язку один до одного між об’єктами таблиць у реляційній базі даних?
16. Які особливості зв’язку один до багатьох між об’єктами таблиць у реляційній базі даних?
17. Які особливості зв’язку багато до багатьох між об’єктами таблиць у реляційній базі даних?
18. Опишіть позначення, що використовуються під час графічного подання моделі «сутність–зв’язок».
19. Які є способи представлення зв’язків між сутностями на моделі «сутністьзв’язок»?
20. Як називають рядок таблиці реляційної бази даних, що у ньому може міститися?
21. Як називають стовпець таблиці реляційної бази даних, що у ньому може міститися?