Науковий посібник

Вінницький державний технічний університет містить море(!) аналітичної інформації

Розробка ER-моделі предметної області

2.6 Розробка ER–моделі предметної області

Заключна фаза аналiзу предметної областi складається з розробки її iнформацiйної структури (або концептуальної схеми).

В звичайних випадках для побудови концептуальної схеми використовуються традицiйнi методи агрегацiї та узагальнення. При агрегацiї декiлька iнформацiйних об'єктiв (елементiв даних) об'єднується в один у вiдповiдностi з семантичними зв'язками мiж об'єктами. При побудові інфологічних моделей можна використовувати мову ER-діаграм (від англ. Entity-Relationship, "сутність-зв'язок"). В них сутності зображуються позначеними прямокутниками, асоціації - позначеними ромбами або шестикутниками, атрибути - позначеними овалами, а зв'язки між ними - ненаправленими ребрами, над якими може проставлятися ступінь зв'язку (1 або буква, що заміняє слово "БАГАТО") і необхідне пояснення.

Розглянемо деякі риси моделі "сутність-зв'язок" (ER-моделі).

На використанні різновидів ER-моделі реалізується більшість сучасних підходів до проектування баз даних. Модель була запропонована Ченом (Chen) у 1976 р. Моделювання предметної області базується на використанні графічних діаграм, що включають невелике число різнорідних компонентів. У зв'язку з наочністю уявлення концептуальних схем баз даних ER-моделі знайшли широке застосування в системах CASE,

Таблиця 2.1 - Початковий перелік атрибутів для формування

Універсального відношення бази даних читального залу

Шифр книги Cod_book Кожна книга має унікальний шифр.
Код розділу Cod_rozdil Кожен предметний розділ має унікальний шифр
Назва розділу Name_rozdil Назва предметного розділу
Назва твору Name Кожен твір має назву
Автор Author Письменник, що написав твір.
Дата створення Data_write Дата, коли письменник закінчив писати твір.
Дата видання Year_publish Дата, коли книгу надрукували.
Видавництво Publisher Видавництво, що надрукувало книгу.
Кількість сторінок Page Кількість сторінок, що займає книга.
Код користувача Cod_client Код користувача, що займає книгу.
Користувач FIO Прізвище, ім'я та по батькові.
Адреса Address Адреса користувача.
Телефон Telephone Номер телефона користувача.
Паспорт №_pasp Паспортні дані користувача.
Освіта Culture Освіта, яку має користувач.
Професія Profession Професія користувача.

 

що підтримують автоматизоване проектування реляційних баз даних.

Головними поняттями ER-моделі є сутність, зв'язок і атрибут. У діаграмах ER-моделі сутність подається у вигляді прямокутника, що містить ім'я сутності. При цьому ім'я сутності - це ім'я типу, а не деякого конкретного екземпляра цього типу. Для кращого розуміння ім'я сутності може супроводжуватися прикладами конкретних об'єктів цього типу. Сутність АЕРОПОРТ із об'єктами Шереметьєво і Хітроу зображена на рис.2.8.

Кожний екземпляр сутності повинен відрізнятися від будь-якого іншого екземпляра тієї ж сутності (ця вимога до повної міри аналогічна вимозі відсутності кортежів-дублікатів у реляційних таблицях).

Зв'язок - це асоціація, що графічно зображується та установлюється між двома сутностями. Ця асоціація завжди є бінарною і може існувати між двома різними сутностями або між сутністю і нею ж самою (рекурсивний зв'язок). У будь-якому зв'язку виділяються два кінці (відповідно до існуючої пари сутностей, що зв'язуються), на кожному з яких вказується ім'я кінця зв'язку, ступінь кінця зв'язку (скільки екземплярів даної сутності зв'язується), обов'язковість зв'язку (тобто чи будь-який екземпляр даної сутності повинен брати участь у даному зв'язку). Зв'язок подається у вигляді лінії, що зв'язує дві сутності або веде від сутності до неї ж самої. Про це в місці "стикування" зв'язку із сутністю вказує триточковий вхід у прямокутник сутності, якщо для цієї сутності в зв'язку можуть використовуватися багато (many) екземплярів сутності, і одноточковий вхід, якщо в зв'язку може брати участь тільки один екземпляр сутності. Обов'язковий кінець зв'язку зображується суцільною лінією, а необов'язковий - переривчастою лінією.

Розглянемо приклад зв'язку між сутностями КВИТОК і ПАСАЖИР (рис.2.9). При цьому кінець сутності з ім'ям "для" дозволяє зв'язувати з одним пасажиром більше одного квитка, причому кожний квиток повинен бути пов'язаний із яким-небудь пасажиром. Кінець сутності з ім'ям "має" означає, що кожний квиток може належати тільки одному пасажиру, причому пасажир зобов'язаний мати не менше одного квитка. Трактування зображеної діаграми (рис.2.9) таке:

Рисунок 2.8 - Зображення сутності АЕРОПОРТ із об'єктами Шереметьєво і Хітроу

Рисунок 2.9 - Зображення зв'язку між сутностями КВИТОК та ПАСАЖИР

Рисунок 2.10 - Зображення рекурсивного зв'язку

Книга має Твір

Книга 1 *------------------------------------------------- Твір2

Книга 2 *--------------------------------------------------Твір 3

Книга 3 *------------------------------------------------- Твір 4

. . . . . .

Книга n *-------------------------------------------------Твір n

КП: ОБОВ'ЯЗК. ТИП ЗВ'ЯЗКУ Б:Б КП: ОБОВ'ЯЗК

Рисунок 2.11 - Зображення зв’язку КНИГА – ТВІР

На рис.2.10 приведено приклад зображення рекурсивного зв'язку, що зв'язує сутність ЛЮДИНА з нею ж самою.

Кінець зв'язку з ім'ям СИН визначає той факт, що в одного батька може бути більше ніж один син. Кінець зв'язку з ім'ям БАТЬКО означає, що не в кожної людини можуть бути СИНИ.

Трактування зображеної діаграми (рис.2.10 ) таке:

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

Таким чином, зв'язки можуть представлятися рiзними способами, з яких ми будем використовувати тiльки два: дiаграма ER-екземплярiв i дiаграма ER-типiв. Дiаграми ER-екземплярiв вiдображають зв'язки мiж екземплярами сутностей. Дiаграми ER-типiв вiдображають зв'язки мiж типами сутностей.

Отже, першою задачою, яку необхiдно розв'язати при розробцi ER-моделi, є формування сутностей, що необхiднi для описання предметної областi. Iншими словами, необхiдно вказати тi типи об'єктiв (тобто набори подiбних об'єктiв), про якi в системi повинна накопичуватися iнформацiя. Це означає, що за пiдсумками аналiзу предметної областi потрiбно мати повну або достатньо повну уяву про реалiзованi в системi запити. Разом з тим необхiдно врахувати, що при квалiфiкованiй експлуатацii системи у бiльшостi випадкiв у користувача виникає бажання розширити систему запитiв. У зв'язку з цим, при розробцi ER-схеми, з одного боку зручно твердо прив'язатися до обраної в результатi аналiзу предметної областi системи запитiв, а з iншого боку, бажано розглядати задачу в бiльш широкому планi, з врахуванням перспектив подальшого нарощування можливостей системи. Приведемо приклад для таких об'єктiв: КНИГА, ТВІР, КОРИСТУВАЧ, РОЗДІЛ. Для кожної сутностi необхiдно обрати атрибут, що її однозначно iдентифiкує або сукупнiсть атрибутiв, якi будуть виступати ключем вiдповiдного вiдношення. Необхiдно врахувати, що ключ повинен не тiльки виконувати задачу iдентифiкацiї, але i по можливостi, включати в свiй склад мiнімальне число атрибутiв. У зв'язку з цим в процесi проектування вибранi в якостi ключiв атрибути можуть переглядатися. Наприклад, виберемо в якостi ключових такi атрибути:

КНИГА --> Cod_book (шифр книги);

ТВІР --> Cod_book (шифр книги), Name_tvir (назва твору);

РОЗДІЛ --> Cod_rozdil (код предметної області).

Необхідність введення складеного ключа для сутності ТВІР обумовлено тим, що в читальному залі може бути кілька однакових творів, написаних одним автором, але входять вони до складу різних книг. Тепер виявимо залежностi, що iснують мiж визначеними нами сутностями, а також визначимо характеристики кожного зв'язку. Зв’язок КНИГА – ТВІР приведено на рис.2.11.

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

Тип зв'язку – Б:Б: декілька творів можуть входити до складу однієї

книги, та один і той самий твір може знаходитись в декількох книгах. Зв’язок КНИГА – РОЗДІЛ приведено на рис.2.12.

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

Тип зв'язку – Б:1: декілька творів можуть входити до складу одного предметного розділу, але одна книга не може міститися в більше ніж одному розділі.

У реальному життi часто зустрiчаються ситуацiї, якi неможливо описати бiнарними зв'язками. Тобто, в цих випадках зв'язок об'єднує одночасно не двi, а бiльше сутностей, як правило - три. ER–діаграма, що ілюструє тристоронні зв'язки РОЗДІЛ–КНИГА–ТВІР приведена на рис 2.13). Розмiрковуючи аналогiчним чином побудуємо ER-модель предметної областi "Читальний зал". В якостi сутностей оберемо такi об'єкти предметної областi (з перерахуванням ключових атрибутiв кожної сутностi) :

КНИГАа <Cod_book(шифр книги)>,Cod_client,Publisher,Year_publish, Page.

ТВІР а <Cod_book (шифр книги), Name_tvir (назва твору)>, Author, Data_write;

РОЗДІЛ а Cod_rozdil (код предметної області), Name_rozdil.

КОРИСТУВАЧ а Cod_client (шифр користувача), FIO, Address, Telephone, №_pasp, Culture, Profession.

Характеристики зв'язків виділених сутностей приведені в табл.2.2, а ER-модель предметної області “Читальний зал”, що побудована на їх основі, показана на рис.2.14.

До числа більш складних елементів моделі відносяться такі:

Книга належить Розділ

Книга 1 *-------------------------------------------------Розділ 1

Книга 2 *

Книга 3 *-------------------------------------------------Розділ 2

. . . . . .

Книга n *------------------------------------------------Розділ n

КП: ОБОВ'ЯЗК. ТИП ЗВ'ЯЗКУ Б:1 КП: ОБОВ'ЯЗК

Рисунок 2.12 - Зображення зв’язку КНИГА – РОЗДІЛ

Таблиця 2.2 - Характеристики зв'язкiв предметної областi "Читальний зал"

Ім'я

Сутностi 1

Ім'я

сутностi 2

Ім'я зв’язку

Тип зв'язку

Клас належностi

Книга

Розділ

Належить

N : 1

Обов'язк.,

Обов'язк.

Книга

Твір

Має

N : M

Обов'язк.,

Обов'язк.

Книга

Користувач

Читає

N : 1

Необов'язк.,

Необов'язк.

  • ваного програмування), вводиться можливість спадкування типу сутності, виходячи з одного або декількох супертипів.
  • Ці й інші більш складні елементи моделі даних "сутність-зв'язок" роблять її більш потужною, але одночасно в певній мірі ускладнюють її використання. Звичайно, при реальному використанні ER-діаграм для проектування баз даних необхідно ознайомитися з усіма можливостями.



    Назад | Зміст | Вперед



    Copyright ©VSTU
    Created: November 16, 2000