Проектування бази даних - сторінка 2

Вид матеріалуНавчальний посібник

Зміст

2. Модель предметної области 2.1. Об'єкти та класи об'єктів 2.2. Зв'язки між класами об'єктів 2.3. Типи зв'язків у предметній області 2.3.2. Характеристика повноти зв'язку
Подібний матеріал:
  • 1 навчитися створювати таблицю бази даних як таблиці, 54.71kb.
  • Методичні вказівки до курсового проектування курсу "Бази даних" Москва, 654.27kb.
  • Лекція Проектування баз даних, 227.73kb.
  • Ms access Розробка бази даних, 34.31kb.
  • Лекція 2 10. Повнотекстові бази даних 133.46kb.
  • Практична робота № "Створення бази даних", 21.96kb.
  • Інформаційні системи, що використовують бази даних: обладнання, програмне забезпечення, 102.98kb.
  • Конспект лекцій з курсу бази даних (Ч., 861.92kb.
  • Реферат на тему: Access. Бази даних 274.77kb.
  • Лекція: Етапи проектування іс із застосуванням uml: Основні типи uml-діаграм, що використовуються, 209.83kb.

2. Модель предметної галузі

Модель предметної області (інфологічна модель) – це опис предметної області, виконане без орієнтації на програмні та технічні засоби, що використовуються в подальшому. Мета інфологічного проектування полягає у поданні семантики (тобто сенсу) предметної області. Ця модель повинна бути зрозуміла замовнику, який не є фахівцем у галузі баз даних.

Для опису предметної області найчастіше використовується модель «сутність-зв'язок», запропонована П. Ченом 1976 року (чи його модифікації). Скорочено таку модель називають ER-моделлю від англійської назви "Entity-Relationship" ("Сутність-зв'язок").Діаграма моделі має лексикографічну структуру, тобто включає текст і елементи графіки. З назви моделі зрозуміло, що основними її структурними елементами будуть об'єкти та зв'язки між ними. Розглянемо кожен із структурних елементів.

2.1. Об'єкти та класи об'єктів

Предметна область складається з об'єктів, якими можуть виступати люди, матеріальні предмети, виробничі відділи, паперові документи, операції, явища, абстрактні ідеї. Наприклад, об'єктами можуть бути: студент Іванов І. І., група 22301, економічний факультет, стипендія студента Іванова І. І., залікова книжка студента Іванова І. І. тощо.

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

Кожен клас визначається набором атрибутів, тобто властивостей, які має кожен об'єкт, що належить до цього класу. Наприклад, клас Студент може мати такі властивості: ПІБ, Рік народження, Курс навчання, Номер залікової книжки, а клас Товар – Найменування, Дата виготовлення, Ціна.

Властивості можуть мати статичний або динамічний характер, що означає, що значення властивості не може змінитися або може змінитися з часом. Наприклад, значення якості Рік народження для класу Студент не може змінитися, а значення якості Курс навчання того ж класу змінюватиметься кожен навчальний рік, якщо, звичайно, це сумлінний студент.

У термінах моделі«Сутність-зв'язок» класи об'єктів позначаються прямокутниками, а властивості – овалами. Усередині прямокутника записується назва класу, усередині овалу – назва властивості. Мінливість властивостей на схемі позначається латинськими літерами S та D. Буква S означає статичний характер властивості, літера D – динамічний.

На малюнку нижче представлений клас Студент, який має чотири властивості, дві з яких є статичними (Рік народження та Номер залікової книжки), а два інших – динамічними (ПІБ та Курс).

2.2. Зв'язки між класами об'єктів

Між класами об'єктів можуть бути деякі відносини, звані зв'язками. Наприклад, між класами Студент та Група існує зв'язок: студенти розподілені за групами чи можна сказати, що групи складаються зі студентів.

Зв'язки можуть бути бінарними, тобто між двома класами об'єктів, або між більшою кількістю класів. Можна визначити і циклічні зв'язки, тобто зв'язки між об'єктами того самого класу.

Між одними й тими самими класами може бути будь-яку кількість зв'язків. Наприклад, між класами Студент та Група можна утворити зв'язок «розподіл студентів за групами» та зв'язок «старота групи».

Зв'язки, як і класи, можуть мати властивості. Наприклад, між двома класами Товар і Постачальник існує зв'язок, який назвемо Постачання, яке означає, що постачальник постачає товар. Цей зв'язок матиме дві властивості – Дата постачання та Кількість. Зрозуміло, як і дата, і кількість неможливо знайти властивостями ні класу Товар, ні класу Постачальник. Це характеристики зв'язку між двома класами.

У термінах ER-діаграм зв'язок зображується у вигляді ромба, у якому записується назва зв'язку. Класи об'єктів, що у цьому зв'язку, з'єднуються з ромбомстрілки. Вживання подвійних стрілок буде розглянуто нижче.

Властивості зв'язку зображуються так само, як властивості класу, і з'єднуються з ромбом, що позначає зв'язок.

2.3. Типи зв'язків у предметній галузі

2.3.1. Характеристика однозначності для бінарних зв'язків

  1. Зв'язок 1:1, один до одного. Цей зв'язок означає, що кожному об'єкту з першого класу відповідає один об'єкт з другого класу і, навпаки, кожному об'єкту з другого класу відповідає рівно один об'єкт з першого класу. Стосовно вступають два об'єкти з різних класів.
Наприклад, зв'язок між класами Факультет та Декан. Факультет може мати лише одного декана, а декан може бути деканом лише одного факультету. На схемі такий зв'язок зображується двома одинарними стрілками.

  1. Зв'язок 1: M, «один-до-багатьом» (або M:1, «багато до одного»). Цей зв'язок означає, що одному об'єкту першого класу відповідає кілька об'єктів другого класу, але кожному об'єкту другого класу відповідає лише один об'єкт першого класу. У таке відношення вступають кілька об'єктів – один об'єкт з першого класу, інші з другого, і якщо якийсь об'єкт з другого класу вже належить до якогось об'єкта з першого класу, то він уже не може входити в таке саме ставлення з іншим об'єктом першого класу.
Такий характер носить зв'язок між класами Група та Студент. У групі може бути кілька студентів, але кожен студент може лише в одній групі. Або відношення між класами Факультет та Кафедра. Факультет може мати декілька кафедр, але кожна кафедра належить лише одному факультету.

На схемі зв'язок зображується однією одинарною та однією подвійною стрілками. Подвійна стрілкаспрямована до того класу, об'єкти якого можуть входити до будь-якої кількості.

На схемі такий зв'язок зображується двома подвійними стрілками.

2.3.2. Характеристика повноти зв'язку

Характеристика повноти відбиває залежність класу від зв'язку, куди він входить.

  1. Необов'язковий стосовно класу зв'язок означає, що існування об'єктів класу залежить від наявності зв'язку.
  2. Обов'язковий стосовно класу зв'язок означає, що існування об'єктів класу залежить від наявності зв'язку.

На схемі обов'язкова по відношенню до класу зв'язок позначається квадратом з точкою всередині, що примикає до прямокутника, що представляє клас, перед стрілкою зв'язку, що входить до нього.

Наприклад:

  1. Зв'язок між класами Факультет та Комп'ютерний клас. В університеті є факультети, що не мають комп'ютерних класів, і є комп'ютерні класи, не приписані до жодного з факультетів, тобто і комп'ютерні класи, і факультети існують незалежно від того, чи комп'ютерний клас належить до факультету і чи факультет має хоча б один комп'ютерний клас. Такий зв'язок є необов'язковим і щодо класу Факультет, і стосовно класу Комп'ютерний клас.

  1. Зв'язок між класами Службовець та Посада. Кожен співробітник у створенні повинен мати якусь посаду, т. е. немає співробітника без посади. Це означає, що немає об'єкта класу Службовець, не пов'язаного з будь-яким об'єктом класу Посада. Але посада може бути і вакантною, тобто бути не пов'язаною з жодним об'єктом класу Службовець. Такий зв'язок є обов'язковим щодо класу Службовець і необов'язковим стосовно класу Посада.

  1. Зв'язок між класами Студент та Група. Не може бути студента, що не належить до жодної групи, так само, як не може бути групи без студентів. Такий зв'язок є обов'язковим і стосовно класу Студент, і стосовно класу Група.

Загальна схема, що містить усі класи об'єктів, їх властивості, зв'язки між класами та властивості цих зв'язків, і буде інфологічною моделлю предметної області, іноді її називають концептуальною моделлю.

Після того як побудовано інфологічну модель предметної області, можна переходити до побудови моделі даних.