Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
л6 Структурний підхід до проектування ІС.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
384 Кб
Скачать

6 Моделювання даних

6.1Case-метод Баркера

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

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

Нотація ERD була вперше введена П. Ченом (Chen) і отримала подальший розвиток в роботах Баркера [8]. Метод Баркера висловлюватиметься на прикладі моделювання діяльності компанії по торгівлі автомобілями. Нижче приведені витяги з інтерв'ю, проведеного з персоналом компанії.

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

Продавець: йому потрібно знати, яку ціну запрошувати і яка нижня ціна, за яку можна вчинити операцію. Крім того, йому потрібна основна інформація про машини: рік випуску, мазка, модель і т.п.

Адміністратор: його задача зводиться до складання контрактів, для чого потрібна інформація про покупця, автомашину і продавця, оскільки саме контракти приносять продавцям винагороди за продажі.

Перший крок моделювання - витягання інформації з інтерв'ю і виділення сутностей.

Сутність (Entity) - реальний або уявний об'єкт, що має істотне значення для даної наочної області, інформація про яке підлягає зберіганню (малюнок 2.18).

Мал. 2.18. Графічне зображення даних

Кожне суть повинне володіти унікальним ідентифікатором. Кожний екземпляр сутностей повинен однозначно ідентифікуватися і відрізнятися від всіх інших екземплярів даного типу сутностей. Кожне суть повинне володіти деякими властивостями:

  • кожне суть повинне мати унікальне ім'я, і до одного і того ж імені повинна завжди застосовуватися одна і та ж інтерпретація. Одна і та ж інтерпретація не може застосовуватися до різних імен, якщо тільки вони не є псевдонімами;

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

  • суть володіє одним або декількома атрибутами, які однозначно ідентифікують кожний екземпляр сутностей;

  • кожне суть може володіти будь-якою кількістю зв'язків з іншими сутностями моделі.

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

Мал. 2.19.

Наступним кроком моделювання є ідентифікація зв'язків.

Зв'язок (Relationship) - пойменована асоціація між двома сутностями, значуща для даної наочної області. Зв'язок - це асоціація між сутностями, при якій, як правило, кожний екземпляр одного сутностей, званим батьківським сутності, асоційований з довільною (у тому числі нульовим) кількістю екземплярів другого сутностей, званим сутності-нащадком, а кожний екземпляр сутностей-нащадка асоційований в точності з одним екземпляром сутностей-батька. Таким чином, екземпляр сутностей-нащадка може існувати тільки при існуванні сутностей батька.

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

Наприклад, зв'язок продавця з контрактом може бути виражений таким чином:

  • продавець може отримати винагороду за 1 або більш контрактів;

  • контракт повинен бути ініційований рівно одним продавцем.

Ступінь зв'язку і обов'язковість графічно зображаються таким чином (малюнок 2.20).

Мал. 2.20.

Таким чином, 2 пропозиції, що описують зв'язок продавця з контрактом, графічно буде виражено таким чином (малюнок 2.21).

Мал. 2.21.

Описавши також зв'язки решти сутностей, отримаємо наступну схему (малюнок 2.22).

Мал. 2.22.

Останнім кроком моделювання є ідентифікація атрибутів.

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

Атрибут може бути або обов'язковим, або необов'язковим (малюнок 2.23). Обов'язковість означає, що атрибут не може приймати невизначених значень (null values). Атрибут може бути або описовим (тобто звичайним дескриптором сутностей), або входити до складу унікального ідентифікатора (первинного ключа).

Унікальний ідентифікатор - це атрибут або сукупність атрибутів и/или зв'язків, призначена для унікальної ідентифікації кожного екземпляра даного типу сутностей. У разі повної ідентифікації кожний екземпляр даного типу сутностей повністю ідентифікується своїми власними ключовими атрибутами, в осоружному випадку в його ідентифікації беруть участь також атрибути іншого сутностей-батька (малюнок 2.24).

Мал. 2.23.

Мал. 2.24.

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

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

З урахуванням наявної інформації доповнимо побудовану раніше діаграму (малюнок 2.25).

Крім перерахованих основних конструкцій модель даних може містити ряд додаткових.

Підтипи і супертипи: одне суть є узагальнюючим поняттям для групи подібних сутностей (малюнок 2.26).

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

Мал. 2.25.

Мал. 2.26. Підтипи і супертипи

Мал. 2.27. Взаємно зв'язки, що виключають

Рекурсивний зв'язок: суть може бути зв'язано сама з собою (малюнок 2.28).

Непереміщувані (non-transferrable) зв'язки: екземпляр сутностей не може бути перенесений з одного екземпляра зв'язку в іншій (малюнок 2.29).

Мал. 2.28. Рекурсивний зв'язок

Мал. 2.29. Непереміщуваний зв'язок