Повна версія

Головна arrow Інформатика arrow Бази даних: проектування

  • Увеличить шрифт
  • Уменьшить шрифт


<<   ЗМІСТ   >>

Додаткові опису зв'язків

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

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

Для визначення потужності (кардинальності) зв'язку необхідно проаналізувати дані безлічі документів і допоміжні відомості

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

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

Таким чином, при встановленні потужності (кардинальності) зв'язку (рис. 2.43) розробник визначає кількість примірників кожного об'єкта (сутності), які можуть бути пов'язані з одним екземпляром іншого об'єкта (сутності), вказуючи ці відомості на схематичному поданні зв'язку між двома об'єктами (сутностями ).

image83

Мал. 2.43. Приклад встановлення зв'язку з вказаною потужністю

(Кардинально)


Для коректного визначення потужності (кардинальності) зв'язку необхідно, як і при визначенні типу зв'язку, провести аналіз зв'язку з боку кожного пов'язаного об'єкта (сутності) на предмет кількості пов'язаних примірників. Так, в розглянутому прикладі зв'язку "Замовлення - Клієнт" можна зробити наступні міркування:

  • • розгляд зв'язку від замовлення до клієнта:
    • - Верхня межа потужності (кардинальності) "1" - замовлення може бути сформований не більше ніж одним клієнтом, що підтверджується вимогами предметної області і документом "Заказ", де вказується тільки один клієнт (покупець) і вказівка ​​будь-якого додаткового клієнта не передбачається,
    • - Нижня межа потужності (кардинальності) "1" - замовлення нс може бути сформований, якщо клієнт ще не визначений, що підтверджується вимогами предметної області, за якими саме клієнт зазначенням своїх персональних даних визначає, що замовлення сформований і йому може бути присвоєно унікальний номер;
  • • розгляд зв'язку від клієнта до замовлення:
  • - Верхня межа потужності (кардинальності) "п" - клієнт, неодноразово замовляючи товари в магазині, може в різний час сформувати кілька замовлень, що сформує історію замовлень клієнта. Це підтверджується нс тільки вимогами предметної області, а й атрибутивною складом документа "Замовлення", де вказуються дата формування замовлення і унікальний номер замовлення, які однозначно визначають склад замовлення клієнта, але не обмежують можливості існування безлічі замовлень для одного клієнта. Поряд з цим, неможливо визначити максимальну кількість замовлень, які може сформувати клієнт, оскільки в предметної області немає обмежень на кількість зроблених клієнтом замовлень в одиницю часу і на тривалість діяльності магазину,
  • - Нижня межа потужності (кардинальності) "Про" - за вимогами предметної області для формування замовлення клієнт повинен бути авторизований і інформаційна система повинна мати відомості про клієнта, який формує замовлення, щоб відразу закріпити його за цим клієнтом. Це говорить про те, що клієнт може бути присутнім в якості примірника об'єкта (сутності) "Клієнт", але не мати сформованих для нього замовлень, що і дозволяє використовувати вказане значення нижньої межі потужності (кардинальності).

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

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

Наприклад, розглядаючи об'єкт "Товар" в зв'язці з об'єктами "Замовлення" і "Склад", ми маємо різне смислове навантаження по цим зв'язкам, визначальну смислове наповнення структури відповідних об'єктів. При розгляді зв'язку "Товар - Замовлення" смисловим наповненням буде: "наповнює" - в напрямку до об'єкта "Замовлення", "містить" - в напрямку до об'єкта "Товар" (рис. 2.44).

наповнює, Рис.  2.44.  Приклад вказівки смислового наповнення зв'язку, image84

Правильність і точність формулювання смислового наповнення зв'язку дозволяють розробнику максимально правильно визначити правила роботи зі зв'язаними даними і самої зв'язком між об'єктами (сутностями). Зазначені в прикладі дієслівні форми характеризують, що об'єкт "Товар" в даній зв'язці є суб'єктом для замовлення і наповнює його, вимагаючи вказівки характеристичних атрибутів для зв'язки, що визначають відомості, наприклад, про кількість замовлених товарів в конкретному замовленні. Також змістове наповнення дозволяє підтвердити обґрунтованість зв'язування цих двох об'єктів один з одним. Для зв'язку між об'єктами "Товар" і "Склад" будуть використовуватися інші смислові опису, які охарактеризує суть атрибута "Кількість товару на складі", який не повинен за своєю суттю збігатися з атрибутом "Кількість товару в замовленні".

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

В результаті цього розгляду розробник отримує достатньо повні відомості про взаємодію об'єктів в предметної області і правилах зберігання і обробки відповідних даних. Для представлення моделей взаємозв'язків інформаційних об'єктів і бази даних використовуються різні нотації, де обов'язково застосовуються правила, описані в даному розділі, по встановленню та характеризації зв'язків між об'єктами (сутностями).

 
<<   ЗМІСТ   >>