Модель “сутність-зв’язок”
Завантажити презентаціюПрезентація по слайдам:
Спецкурс “Основи баз даних” Розділ 2. Модель “сутність-зв’язок” За підручником І. О. Завадського
Актуалізація опорних знань Стан чого відображує база даних? З чого складається предметна область? Чим відрізняється схема БД від її наповнення? Що таке цілісність даних? Які ролі користувачів, що працюють з БД?
Об'єкти Будь-яка предметна область містить об'єкти. У предметній області “школа” об'єктами можуть бути учні Козак Степан Трохимович та Петренко Іван Степанович, класи 11 А і 11 Б тощо. Класи 11 А і 11 Б є однотипними об'єктами (оскільки вони обидва є класами), а клас 11 А і учень Козак Степан Трохимович - об'єктами різного типу.
Сутність Замість фрази “однотипні об'єкти” кажуть – об'єкти належать до однакової сутності. Учні Козак Степан Трохимович та Петренко Іван Степанович належать до сутності “учень”, а класи 11 А і 11 Б - до сутності “клас”. Критерій того, чи належать об'єкти до однієї сутності: об'єкти повинні мати однаковий набір параметрів. Сутність у предметній області - це множина об'єктів, які мають однаковий набір параметрів.
Зв'язки Об'єкти, що належать до однієї сутності, мають не лише однаковий набір параметрів, а й однотипні зв'язки з об'єктами інших сутностей. Зв'язки властиві не лише об'єктам, а і сутностям. Не лише об'єкт, а й сама сутність має певний набір параметрів. Будь-який клас може бути зв'язаний з учнем зв'язком “учень вчиться у класі”, а з учителем – зв'язком “учитель викладає в класі”. Твердження “учень вчиться у класі”, та “учитель навчає клас” – приклади зв'язків між сутностями. Прикладом зв'язку між об'єктами є твердження “учень Шпак Максим вчиться у 10 А класі”. Сутність “учень” має такі параметри, як прізвище, ім'я, стать, зріст, дату народження тощо.
Модель “сутність-зв’язок” Модель “сутність-зв’язок” призначено для графічного зображення сутностей певної предметної області, їх параметрів та зв'язків між ними. Завдання 2.1. Назвіть кілька сутностей з предметних областей “залізниця”, “адміністративний устрій”, “водопостачання”. Які параметри мають ці сутності? Які між ними можуть існувати зв'язки?
Графічні позначення в моделі “сутність-зв’язок” Сутності в моделі “сутність-зв’язок” позначаються прямокутниками, всередині яких записуються їхні назви. Назви параметрів сутностей (атрибути) записуються під прямокутниками сутностей і підкреслюються. Від прямокутника сутності проводять вертикальну лінію вздовж усіх атрибутів. Зображення сутності Учитель у моделі “сутність-зв’язок”
Графічні позначення в моделі “сутність-зв’язок” Зв'язки між сутностями позначаються ребрами, що з'єднуються з прямокутниками. Всередині ромба записують дієслово або словосполучення, що визначає зміст зв'язку. Якщо записано лише дієслово, над ним часто малюють стрілку, що показує в якому порядку дієслово сполучає іменники-сутності. Зв’язок між сутностями Учитель та Клас. Стрілка означає, що саме учитель навчає клас, а не клас навчає учителя. навчає
Різновиди зв'язків Зображення зв'язку “один-до-багатьох”. Скільки учнів може бути в одному класі? Очевидно, відповідь – “багато”. У скількох класах може навчатися кожен учень? Відповідь очевидна: в одному. Це означає, що клас зв'язано з учнем зв'язком “один-до-багатьох”. Клас Учень вчиться 1 1 1 Учень вчиться в одному класі У класі вчиться багато учнів
Типи зв'язків Щоб зв’язок між сутностями А і В віднести до одного з цих трьох типів, слід відповісти на два запитання: Зі скількома об'єктами сутності А може бути зв'язаний об'єкт сутності В? Зі скількома об'єктами сутності В може бути зв'язаний об'єкт сутності А?
Різновиди зв'язків Тип зв'язку Графічне позначення Зі скількома об'єктами А може бути зв'язано об'єкт В? Зі скількома об'єктами В може бути зв'язано об'єкт А? “один-до-багатьох” З одним З багатьма “один-до-одного” З одним З одним “багато-до-багатьох” З багатьма З багатьма
Класифікація зв'язку Віднесення зв'язку до одного з трьох розглянутих типів називають класифікацією зв'язку за множинністю, а самі позначення “один” та “багато” - множинностями зв'язку з того чи іншого боку. Зв’язок “учитель навчає клас”. У кожному класі можуть викладати багато вчителів. З іншого боку, кожен учитель може викладати в багатьох класах. Таким чином зв’язок “учитель навчає клас” має тип “багато-до-багатьох” Зображення зв'язку “багато-до-багатьох”
Класифікація зв'язку Зв’язок “учитель є класним керівником”. Учитель може керувати лише одним класом, а у класі може бути тільки один класний керівник. Таким чином зв’язок “учитель є класним керівником” має тип “один-до-одного” Зображення зв'язку “один-до-одного”
Завдання 2.2. Визначте типи зв'язків та зобразіть зв'язки графічно: курка несе яйця у яйці є жовток річка протікає територією держави у команді 11 футболістів.
До уваги! Якщо ви відкриваєте рахунок у банку, купляєте квиток на літак або вступаєте у вищий навчальний заклад, вас неодмінно попросять вказати номер і серію свого паспорта. Чому саме так, чому недостатньо, скажімо, назвати своє прізвище, ім'я та по батькові? Річ у тім, що номер та серія паспорта однозначно ідентифікують особу, оскільки ніколи не повторюються. Про ім'я, прізвище та по батькові цього не можна сказати, і в принципі можлива ситуація, коли Іванчук Дмитро Васильович прийде до банку і забажає зняти кошти з рахунку іншого Іванчука Дмитра Васильовича. Якби особа, якій належить рахунок, визначалася за прізвищем, ім'ям та по батькові, в описаний спосіб можна було б вкрасти гроші.
Ключові атрибути Атрибут, значення якого не може повторюватися, називають ключовим або просто ключем. Ключі відіграють у базах даних украй важливу роль, адже саме за їх допомогою СКБД ідентифікує об'єкти. Для сутності Учитель таким атрибутом може бути номер та серія паспорту (назвемо його просто паспорт). Об'єкти сутності Клас у предметній області «школа» можна ідентифікувати за атрибутом назва, адже в одній школі не може бути двох класів з однаковою назвою. Зазначимо, що ключові атрибути на моделі «сутність-зв'язок» позначаються символом «*» Ключі сутностей Учитель та Клас
Ключові атрибути Дещо складніша ситуація з ключем сутності Учень. Більшість учнів не мають паспорта, а прізвище та ім'я в різних учнів можуть бути однаковими. Можна припустити, що в одній школі не може бути двох учнів з однаковим прізвищем та ім'ям, які народилися в один день, — тоді ключ сутності Учень складатиметься з трьох атрибутів: прізвище, ім'я, дата народження. Коли ключ складається з кількох атрибутів, окремі значення кожного з них можуть повторюватися, а комбінації значень усіх ключових атрибутів — ні. Ключ сутності Учень. Складений ключ, що містить три атрибути
Ключові атрибути Проте в дуже рідкісних випадках припущення про неіснування двох учнів з однаковим прізвищем та ім'ям, що народилися в один день, може не справджуватися і, крім того, оперувати в СКБД з ключем, який містить три атрибути, незручно. Тому часто вихід знаходять у додаванні штучного ключового атрибута, який можна назвати код. У такому випадку учні школи в базі даних ідентифікуватимуться за спеціальним, штучно створеним, кодом. Ключ сутності Учень. Штучно доданий ключовий атрибут
Завдання 2.3 Після назв сутностей у дужках вказано їхні атрибути. Визначте які ключі мають ці сутності. Якщо з наведених атрибутів утворити ключ неможливо, вкажіть, які атрибути слід додати. Холодильник (модель, об'єм, рік випуску, серійний номер). Ріка (назва, довжина). Місто (назва, кількість населення, рік заснування, область, держава). Авіарейс (аеропорт відльоту, аеропорт посадки, дата відльоту).
Побудова моделі «сутність-зв'язок» У попередніх підрозділах ми фактично побудували модель «сутність-зв'язок» для предметної області «школа». Опишемо детально ту частину предметної області, якої стосується ця модель. Про учнів певної школи відомі їхні імена, прізвища, дати народження та стать. Кожен учень вчиться у певному класі. У класах викладають вчителі. Потрібно зберігати відомості про номер та серію паспорта, прізвище, ім'я та по батькові, а також про спеціальність вчителів. Деякі вчителі є класними керівниками.
Побудова моделі «сутність-зв'язок» Модель «сутність-зв'язок» описаної частини предметної області “школа”: керує навчає вчиться 1 1 1
Головний принцип семантичного моделювання Міркування, подібні до наведених у попередньому підрозділі, дозволяють сформулювати головний принцип, якому має відповідати правильно побудована модель «сутність-зв'язок» предметної області, або, інакше кажучи, головний принцип семантичного моделювання. У будь-якій базі даних зберігаються не просто відомості, а факти. Наприклад, той факт, що вчитель із паспортом СН 410268 має прізвище Михайлик, ім'я Дмитро, по батькові Семенович, стать чоловічу та спеціальність математик, може зберігатися в таблиці Учителі, а той факт, що Михайлик Дмитро Семенович викладає в 11А класі, зберігатиметься завдяки зв'язку «учитель викладає у класі». Головний принцип семантичного моделювання. Модель «сутність-зв'язок» повинна дозволяти зберігання будь-якого факту лише в одному місці.
Висновки Сутність у предметній області — це множина об'єктів, які мають однаковий набір параметрів. Модель «сутність-зв'язок» призначено для графічного зображення сутностей певної предметної області, їхніх параметрів та зв'язків між ними. Сутності в моделі «сутність-зв'язок» позначаються прямокутниками, всередині яких записуються їхні назви. Назви параметрів сутностей записують під прямокутниками сутностей і підкреслюють. У теорії реляційних баз даних такі параметри називають атрибутами. Зв'язки між сутностями позначають ромбами, які з'єднують з прямокутниками. Всередині ромбу записують дієслово або словосполучення, яке визначає зміст зв'язку. Коли записано лише дієслово, над ним малюють стрілку, що показує, у якому порядку дієслово сполучає іменники-сутності.
Висновки Зв'язки між сутностями бувають трьох типів: «один-до-багатьох»; «один-до-одного»; «багато-до-багатьох». Віднесення зв'язку до одного з цих типів називають його класифікацією за множинністю. Сутність А зв'язана з сутністю В зв'язком «один-до-багатьох», якщо кожен об'єкт А може бути зв'язаний з довільною кількістю об'єктів В, а кожен об'єкт В — лише з одним об'єктом А. Сутність А зв'язана з сутністю В зв'язком «один-до-одного», якщо кожен об'єкт А може бути зв'язаний тільки з одним об'єктом В, а кожен об'єкт В — лише з одним об'єктом А. Сутність А зв'язана з сутністю В зв'язком «багато-до-багатьох», якщо кожен об'єкт А може бути зв'язаний з довільною кількістю об'єктів В, а кожен об'єкт В — з довільною кількістю об'єктів А. Ключем називають атрибут або набір атрибутів, значення яких дозволяють однозначно ідентифікувати об'єкти певної сутності. Головний принцип семантичного моделювання полягає в тому, що модель «сутність-зв'язок» повинна дозволяти зберігання будь-якого факту лише в одному місці.
Завдання для самостійного виконання Побудуйте моделі «сутність-зв'язок» для описаних далі предметних областей. Визначте: сутності; атрибути сутностей; ключі; зв'язки між сутностями; типи зв'язків. 1. Предметна область «автомобілі». Про кожен автомобіль відомо: його реєстраційний номер в ДАІ, рік випуску, марка, а також хто є власником автомобіля. Про власника відомо: прізвище та ім'я, а також номер прав водія. Щодо кожної марки автомобіля відома її назва, об'єм та потужність двигуна, а також тип автомобіля (седан, хетчбек, джип тощо). На автомобілі виписують страхові поліси, у яких зазначається термін початку та завершення дії, тип страховки, страхова сума та назва компанії-страхувальника. На один автомобіль може бути виписано багато страхових полісів.
Завдання для самостійного виконання 2. Предметна область «вулиці та будинки». Щодо кожної вулиці потрібно зберігати відомості про її назву та довжину, а також про те, які інші вулиці вона перетинає. Про кожен будинок відомо: його номер, кількість поверхів та квартир, а також на якій вулиці він розташований. ВКАЗІВКА. У моделі «сутність-зв'язок» цієї предметної області одна з сутностей буде зв'язана сама з собою. З . Предметна область «зовнішнє незалежне оцінювання». Потрібно зберігати відомості про склад тестів зовнішнього незалежного оцінювання. Кожен тест стосується певного предмета, проводиться в певному році та складається з низки запитань. Кожне запитання має формулювання, а також кілька варіантів відповідей. Один із варіантів є правильним. ВКАЗІВКА. У моделі «сутність-зв'язок» цієї предметної області між двома тими самими сутностями потрібно буде створити два різних зв'язки.
4. Предметна область «залізнична мережа». Залізнична мережа розглядається як сукупність залізничних ділянок, кожна з яких має певну довжину і сполучає дві вузлові станції або вузлову та кінцеву станції. Ділянку посередині не можуть перетинати інші ділянки. Про кожну станцію відома її назва, а також на якій ділянці вона розташована. Вузлові станції можуть належати кільком ділянкам. ВКАЗІВКА. У моделі «сутність-зв'язок» цієї предметної області варто використати зв'язок типу «два-до-багатьох», а також два різних зв'язки між двома тими самими сутностями. 5*. Предметна область «розклад занять». Про класи певної школи відомі їхні назви та яка кількість учнів навчається в кожному класі, про навчальні дисципліни — назви та тип (гуманітарна, природнича тощо), а про вчителів — прізвища та номери паспортів. Необхідно зберігати відомості про те, який учитель в якому класі яку дисципліну викладає. ВКАЗІВКА. Для адекватного моделювання цієї предметної області потрібно створити зв'язок відразу між трьома сутностями. Спробуйте самостійно здогадатися, які бувають типи зв'язків між трьома сутностями та за яким критерієм ці типи визначати. Завдання для самостійного виконання
Питання для роздумів Вкажіть, які ключові атрибути можуть мати сутності Населений пункт, Країна, Автобус, Дачна ділянка, Книжка. Що з переліченого нижче може бути сутністю у предметній області «школа»: класна кімната, номер класної кімнати, директор, навчальна дисципліна, школа? Одним із атрибутів сутності Клас є кількість учнів. Чи варто відображати цей атрибут у моделі «сутність-зв'язок», поданій на рис. слайду 21? Відповідь аргументуйте. Які зв'язки в моделях, побудованих у завданнях для самостійного виконання, є обов'язковими? Чи може сутність мати більше одного ключа? Якщо відповідь «так», наведіть приклад, якщо «ні» — аргументуйте. Зауважте, що йдеться не про той випадок, коли до складу одного ключа входить кілька атрибутів, а саме про той, коли є кілька ключів.
Узагальнююче повторення, первинне застосування набутих знань, оцінювання учнів Робота з навчально-контролюючою програмою І. Завадського (режим on-line). Тема 2
Схожі презентації
Категорії