Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

Головний принцип семантичного моделювання.

Хоч би як добре працювала машина,

вона зможе розв'язувати всі задачі,

Що ставляться перед нею,

але сама жодної задачі не придумає.

А. Ейнштейн

Модель «сутність-зв’язок» предметної області. Поняття сутності, атрибута, ключа, зв’язку. Правила побудови моделі даних предметної області. Класифікація зв’язків за множинністю.

Мета.

Навчальна.Ввести поняття моделі «сутність-зв’язок» предметної області; поняття сутності, атрибута, ключа, зв’язку; ознайомити з правилами побудови моделі даних предметної області; з класифікацією зв’язків за множинністю.

Розвиваюча.Розвивати логічне та алгоритмічне мислення.

Виховна.Виховувати культуру мовлення.

Тип уроку.Урок засвоєння нових знань.

Учні повинні знати:

·

Учні повинні уміти:

·

Матеріали для роботи з учнями:

· Основи баз даних: Навч. посіб. / І.О.Завадський. - К.: Видавець І.О. Завадський, 2013.

· Мультимедійне обладнання;

· Презентація “Модель “сутність-зв’язок””.

· База даних (Вікіпедія).

План

1. Організація початку уроку

2. Правила ТБ при роботі в кабінеті Інформатики.

3. Мотивація навчальної діяльності.

4. Актуалізація опорних знань.

5. Вивчення нового матеріалу.

6. Побудова математичної моделі до задачі.

7. Запитання до уроку.

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

Хід уроку

1. Організація початку уроку.

3. Актуалізація опорних знань.

1. Стан чого відображує база даних?

2. 3 чого складається ’предметна область?

3. Чим відрізняється схема бази даних від її наповнення?

4. Що таке цілісність даних?

Тестування “Основи баз даних”

4. Мотивація навчальної діяльності.

Із попереднього розділу ви знаєте, що база даних відображає стан об’єктів певної предметної області та зв’язки між ними. Розробник бази даних, проектуючи її схему, встановлює, які параметри мають ці об’єкти. Крім того, він має визначити, які зв’язки можуть існувати між об’єктами. Інакше кажучи, роз­робник будує модель предметної області, яку в теорії баз даних називають моделлю «сутність зв'язок». Це найперше завдан­ня, яке виконують ще до того, як схема бази даних буде ство­рена в СКБД, і саме над ним ми працюватимемо сьогодні.

5. Вивчення нового матеріалу.

Об’єкти, сутності, зв’язки

Як уже наголошувалося, будь-яка предметна область містить об’єкти. Наприклад, у предметній області «школа» об’єктами можуть бути учителі Михайлюк Дмитро Семенович та Петрова Ніна Володимирівна, класи 10А і 11Б тощо. При цьому класи 10А і 11Б єоднотипними об’єктами (оскільки вони обидва є класами), а клас 10А і учитель Михайлюк Дмитро Семено­вич — об’єктами різного типу. Замість фрази «однотипні об’єкти» кажуть також, що об’єкти належать до однакової сутності, наприклад учителі Михайлюк Дмитро Семенович та Петрова Ніна Володимирівна належать до сутності «учитель», а класи 10А та 11Б — до сутності «клас». Критерій того, чи на­лежать об’єкти до однієї сутності, дуже простий: такі об’єкти повинні мати однаковий набір параметрів.

Сутність у предметній області — це множина об’єктів, які мають однаковий набір параметрів.

Об’єкти, що належать до однієї сутності, мають не лише одна­ковий набір параметрів, а й однотипні зв’язки з об’єктами ін­ших сутностей. Наприклад, будь-який клас може бути зв’яза­ний з учнем зв’язком «учень вчиться у класі», а з учителем — зв’язком «учитель викладає у класі». Тому можна казати, що зв’язки властиві не лише об’єктам, а і сутностям. Твердження «учень вчиться у класі» та «учитель навчає клас» — приклади зв’язків саме між сутностями. (Прикладом зв’язку між об’єк­тами є твердження «учень Шпак Максим вчиться у 10А кла­сі».) Так само можна казати, що не лише об’єкт, а й сама сут­ність має певний набір параметрів. Наприклад, сутність «учень» має такі параметри, як прізвище, ім’я, стать, зріст, дату народження тощо.

Тепер ми готові точно визначити призначення моделі «сутність- зв’язок».

Модель «сутність-зв’язок» призначено для графічного зоб­раження сутностей певної предметної області, їх параметрів та зв’язків між ними.

Для допитливих.

Модель «сутність-зв’язок» називають та­кож ЕR-моделлю (від англ. Еntity-Relashionship), а процес її побудови — ЕR-моделювання, абосемантичним моделю­ванням.. «Семантичний» означає «змістовий», і це слово під­креслює, що під час ЕR-моделювання ми виявляємо зміст сутностей у предметній області та зв’язків між ними.

Завдання 2.1

Назвіть кілька сутностей з предметних областей «залізниця», «адміністративний устрій», «водопостачання». Які параметри мають ці сутності? Які між ними можуть існувати зв’язки?

Графічні позначення в моделі «сутність-зв’язок»

Сутності в моделі «сутність-зв’язок» позначаються прямокут­никами, всередині яких записуються їхні назви. Назви параме­трів сутностей (у теорії реляційних баз даних їх називають атрибутами) записуються під прямокутниками сутностей і підкреслюються. Від прямокутника сутності проводять верти­кальну лінію вздовж усіх атрибутів. Як приклад на рис. 2.1 зображено сутність Учитель із атрибутами паспорт, прізвище, ім'я, по батькові, стат еціальні сть.

Зв’язки між сутностями поз­начаються ромбами, що з’єд­нуються з прямокутниками. Всередині ромба записують дієслово або словосполучен­ня, що визначає зміст зв’яз­ку. Якщо записано лише дієслово, над ним часто ма­люють стрілку, що показує, в якому порядку дієслово сполучає іменники-сутності. Так, на рис. 2.2 зображено зв’язок між сутностями Учи­тель та Клас. Стрілка озна­чає, що саме учитель навчає клас, а не клас навчає учителя.

Різновиди зв’язків

Поставимо просте запитання: скільки учнів може бути в одно­му класі? Очевидно, відповідь на нього — «багато». Тепер поставимо зворотне запитання: у скількох класах може навчатися кожен учень? Відповідь також очевидна: в одному. Все це означає, що клас зв’язано з учнем зв’язком «один-до-багатьох».

На моделі «сутність-зв’язок» позначимо цей зв’язок словом «вчиться»: учень вчиться у класі. Біля лінії, що з’єднує ромб зв’язку з прямокутником «Клас», ми маємо записати символ «1», адже учень вчиться в одному класі. А біля лінії, що з’єднує ромб зв’язку з прямокутником «Учень», ми маємо за­писати символ « » (нескінченність, багато), адже у класі вчиться багато учнів (рис. 2.3).

Загалом зв’язки між сутностями бувають трьох типів:

· « один-до-багатьох »;

· « один-до-одного »;

· « багато-до-багатьох ».

Щоб зв’язок між сутностями А і В віднести до одного з цих трьох типів, слід відповісти на два запитання:

· Зі скількома об’єктами сутності А може бути зв’язаний об’єкт сутності В?

· Зі скількома об’єктами сутності В може бути зв’язаний об’єкт сутності А?

Як відповіді на ці запитання визначають типи зв’язків і як ці зв’язки позначаються графічно, стане зрозуміло після уважно­го розгляду табл. 2.1.

Таблиця 2.1. Різновиди зв’язків

Віднесення зв’язку до одного з трьох розглянутих типів нази­вають класифікацією зв’язку за множинністю, а самі позна­чення «один» та «багато» — множинностями зв’язку з того чи іншого боку. Є й інші способи класифікації зв’язків, деякі з котрих ми розглянемо в наступному розділі. А зараз наведемо приклади зв’язків різної множинності.

Зв’язок «учитель навчає клас». У кожному класі можуть ви­кладати багато вчителів. З іншого боку, кожен учитель може викладати в багатьох класах. Таким чином, зв’язок «учитель навчає клас» має тип «багато-до-багатьох» (рис. 2.4).

Рис. 2.4. Зображення зв’язку «багато-до-багатьох»

Зв’язок «учитель є класним керівником». Учитель може керу­вати лише одним класом, а у класі може бути тільки один клас­ний керівник. Таким чином, зв’язок «учитель є класним керів­ником» має тип «один-до-одного» (рис. 2.5).

Для допитливих.

Крім трьох розглянутих типів множинності бувають й інші. Наприклад, батьки зв’язані з дітьми зв’яз­ком типу «два-до-багатьох»: кожна дитина має двох батьків, а в кожного батька може бути скільки завгодно дітей.

Завдання 2.2.

Визначте типи зв’язків та зобразіть зв’язки графічно:

· курка несе яйця;

· у яйці є жовток;

· річка протікає територією держави;

· у команді 11 футболістів.

Ключові атрибути

Якщо ви відкриваєте рахунок у банку, купляєте квиток на літак або вступаєте у вищий навчальний заклад, вас неодмінно попросять вказати номер і серію свого паспорта. Чому саме так, чому недостатньо, скажімо, назвати своє прізвище, ім’я та по батькові? Річ у тім, що номер та серія паспорта однозначно ідентифікують особу, оскільки ніколи не повторюються. Про ім’я, прізвище та по батькові цього не можна сказати, і в принципі можлива ситуація, коли Іванчук Дмитро Васильович прийде до банку і забажає зняти кошти з рахунку іншого Іванчука Дмитра Васильовича. Якби особа, якій належить рахунок, визначалася за прізвищем, ім’ям та по батькові, в описаний спосіб можна було б вкрасти гроші.

Атрибут, значення якого не може повторюватися, називають ключовим або просто ключем. Ключі відіграють у базах даних украй важливу роль, адже саме за їх допомогою СКБД ідентифі­кує об’єкти. Ви вже зрозуміли, що для сутності Учитель таким атрибутом може бути номер та серія паспорту (назвемо його про­сто паспорт). Об’єкти сутності Клас у предметній області «шко­ла» можна ідентифікувати за атрибутомназва, адже в одній школі не може бути двох класів з однаковою назвою.

Зазначимо, що ключові атрибути на моделі «сутність-зв’язок» позначаються символом «*» (рис. 2.6).

Дещо складніша ситуація з ключем сутності Учень. Більшість учнів не мають паспорта, а прізвище та ім’я в різних учнів можуть бути однаковими. Можна припустити, що в одній шко­лі не може бути двох уч­нів з однаковим гірізви щем та ім’ям, які наро­дилися в один день, — тоді ключ сутності Учень складатиметься з трьох атрибутів: прізвище, ім'я, дата народження (рис. 2.7, а). Коли ключ складається з кількох атрибутів, окремі зна­чення кожного з них мо­жуть повторюватися, а комбінації значень усіх ключових атрибутів — ні.

Проте в дуже рідкісних випадках припущення про неіснування двох учнів з однаковим прізвищем та ім’ям, що народилися в один день, може не справджуватися і, крім того, оперувати в СКБД з ключем, який містить три атрибути, незручно. Тому часто вихід знаходять у додаванні штучного ключового атрибу­та, який можна назвати код (рис. 2.7, б). У такому випадку учні школи в базі даних ідентифікуватимуться за спеціальним, штучно створеним, кодом.

Після назв сутностей у дужках вказано їхні атрибути. Визнач­те, які ключі мають ці сутності. Якщо з наведених атрибутів утворити ключ неможливо, вкажіть, які атрибути слід додати.

· Холодильник (модель, об’єм, рік випуску, серійний номер).

· Ріка (назва, довжина).

· Місто (назва, кількість населення, рік заснування, область, держава).

· Авіарейс (аеропорт відльоту, аеропорт посадки, дата від­льоту).

Побудова моделі «сутність-зв’язок»

У попередніх підрозділах розділу 17 ми фактично побудували модель «сутність-зв’язок» для предметної області «школа». Опишемо детально ту частину предметної області, якої стосу­ється ця модель.

Про учнів певної школи відомі їхні імена, прізвища, дати на­родження та стать. Кожен учень вчиться у певному класі. У класах викладають вчителі. Потрібно зберігати відомості про номер та серію паспорта, прізвище, ім*я та по батькові, а також про спеціальність вчителів. Деякі вчителі є класними керівниками.

Модель «сутність-зв’язок» описаної частини предметної області подано на рис. 2.8.

Зауважте, що в розглянутій частині предметної області «шко­ла», на додаток до трьох зображених зв’язків між сутностями, можна виявити й інші, зокрема «учитель навчає учня». Проте зображувати цей зв’язок на моделі «сутність-зв’язок» неможна, оскільки він є наслідком вже показаних зв’язків: які вчителі навчають того чи іншого учня, зрозуміло з того, у якому класі цей учень вчиться та які вчителі в цьому класі викладають.

Щоб краще зрозуміти, чому зв’язок «учитель навчає учня» зайвий, припустимо, що ми його створили. Припустимо також, що учитель Петрова Ніна Володимирівна викладає у класах 10А і 11А, тобто зв’язана з ними зв’язком «учитель викладає в класі». Нам нічого не завадить, однак, зв’язати цього вчителя і з учнями 11Б класу через новостворений зв’язок «учитель нав­чає учня». Вийде, що вчитель навчає учнів того класу, у якому не викладає, що суперечить здоровому глузду. Якщо ж модель «сутність-зв’язок» має такий вигляд, як на рис. 2.8, то описана ситуація неможлива в принципі.

Зазначимо, що додатковий зв’язок між учителем і учнем стане доцільним, якщо ми забажаємо відображувати відомості про ін­дивідуальні позакласні заняття. Однак у наведеному вище опи­сі предметної області про це нічого не сказано.

Головний принцип семантичного моделювання

Міркування, подібні до наведених у попередньому підрозділі, дозволяють сформулювати головний принцип, якому має від­повідати правильно побудована модель «сутність-зв’язок» пре­дметної області, або, інакше кажучи, головний принцип семан­тичного моделювання. Але перш ніж його формулювати, зро­бимо одне важливе зауваження. А саме, зазначимо, що в будь- якій базі даних зберігаються не просто відомості, а факти. Наприклад, той факт, що вчитель із паспортом СН 410268 має прізвище Михайлюк, ім’я Дмитро, по батькові Семенович, стать чоловічу та спеціальність математик, може зберігатися в таблиці Учителі, а той факт, що Михайлюк Дмитро Семенович викладає в 11А класі, зберігатиметься завдяки зв’язку «учи­тель викладає у класі».

З описаної точки зору модель «сутність-зв’язок» встановлює правила збереження фактів у базі даних і головний критерій якості цієї моделі є таким.

Головний принцип семантичного моделювання.

Модель “сутність-зв’язок” повинна дозволяти зберігання будь-якого факту лише в одному місці.

Зауважимо, що введення до зображеної на рис. 2.8 моделі зв’язку «учитель навчає учня» порушить цей принцип: той факт, що певний учитель навчає певного учня, зберігатиметься і в цьому зв’язку, і у зв’язках «учитель викладає в класі» та «учень навчається в класі», разом узятих.

Для допитливих. Головний принцип семантичного моделю­вання дуже вдало формулюється через поняття надлишково- сті інформації (згадайте матеріал 9-го класу): модель «сут­ність-зв’язок» потрібно проектувати так, щоб інформація, яка зберігатиметься у спроектованих за цією моделлю БД, мала якомога меншу надлишковість.

Висновки

  • Сутність у предметній області — це множина об’єктів, які мають однаковий набір параметрів.
  • Модель «сутність-зв’язок» призначено для графічного зоб­раження сутностей певної предметної області, їхніх пара­метрів та зв’язків між ними.
  • Сутності в моделі «сутність-зв’язок» позначаються прямо­кутниками, всередині яких записуються їхні назви. Назви параметрів сутностей записують під прямокутниками сут- ностей і підкреслюють. У теорії реляційних баз даних такі параметри називають атрибутами.
  • Зв’язки між сутностями позначають ромбами, які з’єднують з прямокутниками. Всередині ромбу записують дієслово або словосполучення, яке визначає зміст зв’язку. Коли записано лише дієслово, над ним малюють стрілку, що показує, у якому порядку дієслово сполучає іменники-сутності.
  • Зв’язки між сутностями бувають трьох типів: «один-до-ба- гатьох»; «один-до-одного»; «багато-до-багатьох». Віднесен­ня зв’язку до одного з цих типів називають його класифі­кацією за множинністю.
  • Сутність А зв’язана з сутністю В зв’язком «один-до-бага- тьох», якщо кожен об’єкт А може бути зв’язаний з довіль­ною кількістю об’єктів В, а кожен об’єкт В — лише з од­ним об’єктом А.
  • Сутність А зв’язана з сутністю В зв’язком «один-до-одного», якщо кожен об’єкт А може бути зв’язаний тільки з одним об’єктом В, а кожен об’єкт В — лише з одним об’єктом А.
  • Сутність А зв’язана з сутністю В зв’язком «багато-до-бага- тьох», якщо кожен об’єкт А може бути зв’язаний з довіль­ною кількістю об’єктів В, а кожен об’єкт В — з довільною кількістю об’єктів А.
  • Ключем називають атрибут або набір атрибутів, значення яких дозволяють однозначно ідентифікувати об’єкти певної сутності.
  • Головний принцип семантичного моделювання полягає в тому, що модель «сутність-зв’язок» повинна дозволяти збе­рігання будь-якого факту лише в одному місці.

7. Завдання для самостійного виконання

Побудуйте моделі «сутність-зв’язок» для описаних далі пред­метних областей. Визначте:

· сутності;

· атрибути сутностей;

· ключі;

· зв’язки між сутностями;

· типи зв’язків.

  1. Предметна область «автомобілі». Про кожен автомобіль відомо: його реєстраційний номер в ДАІ, рік випуску, мар­ка, а також хто є власником автомобіля. Про власника ві­домо: прізвище та ім’я, а також номер прав водія. Щодо кожної марки автомобіля відома її назва, об’єм та потуж­ність двигуна, а також тип автомобіля (седан, хетчбек, джип тощо). На автомобілі виписують страхові поліси, у яких зазначається термін початку та завершення дії, тип страховки, страхова сума та назва компанії-страхуваль- ника. На один автомобіль може бути виписано багато стра­хових полісів.
  2. Предметна область «вулиці та будинки». Щодо кожної ву­лиці потрібно зберігати відомості про її назву та довжину, а також про те, які інші вулиці вона перетинає. Про кожен будинок відомо: його номер, кількість поверхів та квартир, а також на якій вулиці він розташований.

ВКАЗІВКА. У моделі «сутність-зв’язок» цієї предметної об­ласті одна з сутностей буде зв’язана сама з собою.

  1. Предметна область «зовнішнє незалежне оцінювання». По­трібно зберігати відомості про склад тестів зовнішнього не­залежного оцінювання. Кожен тест стосується певного пред­мета, проводиться в певному році та складається з низки запитань. Кожне запитання має формулювання, а також кі­лька варіантів відповідей. Один із варіантів є правильним.

ВКАЗІВКА. У моделі «сутність-зв’язок» цієї предметної об­ласті між двома тими самими сутностями потрібно буде створити два різних зв’язки.

  1. Предметна область «залізнична мережа». Залізнична ме­режа розглядається як сукупність залізничних ділянок, кожна з яких має певну довжину і сполучає дві вузлові станції або вузлову та кінцеву станції. Ділянку посередині не можуть перетинати інші ділянки. Про кожну станцію відома її назва, а також на якій ділянці вона розташована. Вузлові станції можуть належати кільком ділянкам.

ВКАЗІВКА. У моделі «сутність-зв’язок» цієї предметної області варто використати зв’язок типу «два-до-багатьох», а також два різних зв’язки між двома тими самими сут- ностями.

  1. Предметна область «розклад занять». Про класи певної школи відомі їхні назви та яка кількість учнів навчається в кожному класі, про навчальні дисципліни — назви та тип (гуманітарна, природнича тощо), а про вчителів — прізвища та номери паспортів. Необхідно зберігати відомості про те, який учитель в якому класі яку дисципліну викладає.

ВКАЗІВКА. Для адекватного моделювання цієї предметної області потрібно створити зв’язок відразу між трьома сут- ностями. Спробуйте самостійно здогадатися, які бувають типи зв’язків між трьома сутностями та за яким критерієм ці типи визначати.

  1. Предметна область «векторні зображення в MS Word». Векторне зображення складається з геометричних фігур: ліній, кіл, прямокутників, трикутників, ромбів. Кожна з фігур має координати точки прив’язки на площині малюн­ка. Крім того, замкнені фігури мають заливку, кола — ра­діус, прямокутники — координати протилежного до точки прив’язки кута тощо. Фігури можуть об’єднуватися в гру­пи. Група — це також фігура, яка має координати точки прив’язки на площині малюнка. Саме векторне зображен­ня характеризується місцем у документі та способом обті­кання текстом.

ВКАЗІВКА. Якщо кожну з сутностей Лінія, Коло, Прямо­кутник і т. д. зв’язувати із сутностями Зображення та Група, модель вийде надто захаращеною зв’язками, а в сутностях фігур повторюватимуться ті самі атрибути. На­томість краще створити сутність Фігура.Подумайте, якою буде множинність її зв’язків з сутностями Лінія, Коло, Прямокутник тощо.

8. Питання для роздумів

1. Вкажіть, які ключові атрибути можуть мати сутності На­селений пункт, Країна, Автобус, Дачна ділянка, Книж­ка.

2. Що з переліченого нижче може бути сутністю у предметній області «школа»: класна кімната, номер класної кімнати, директор, навчальна дисципліна, школа?

3. Одним із атрибутів сутності Клас є кількість учнів. Чи ва­рто відображати цей атрибут у моделі «сутність-зв’язок», поданій на рис. 2.8? Відповідь аргументуйте.

4. Які зв’язки в моделях, побудованих у завданнях для само­стійного виконання, є обов’язковими?

5. Чи може сутність мати більше одного ключа? Якщо відпо­відь «так», наведіть приклад, якщо «ні» — аргументуйте. Зауважте, що йдеться не про той випадок, коли до складу одного ключа входить кілька атрибутів, а саме про той, коли є кілька ключів.

6. Чому у завданні для самостійного виконання № 5 недостат­ньо створити два або три зв’язки, кожен із яких зв’язу­ватиме лише дві сутності?

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

1. Опрацювати конспект.

2. Виконати завдання згідно своєму варіанту.

3. Підготувтися до тестування.