Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 4.docx
Скачиваний:
29
Добавлен:
23.02.2016
Размер:
101.1 Кб
Скачать

"Відвантаження продукції автотранспортом"

 

Рис. 4.16 – Діаграма DFD другого рівня для рішення задачі

"Відвантаження продукції автотранспортом"

 

 

 

 

4.4. Моделювання даних. Case-метод Баркера

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

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

Нотація ERD була вперше введена Ченом (Chen) і одержала подальший розвиток у роботах Баркера. Сутність методу Баркера можна викласти на прикладі моделювання діяльності компанії з торгівлі автомобілями на основі аналізу функцій її суб'єктів і об'єктів. Головний менеджер має один з основних обов'язків - це утримання автомобільного майна. Він повинен знати, скільки заплачено за машини і які накладні витрати. Маючи цю інформацію, він може встановити нижню ціну, за якою міг би продати даний екземпляр. Крім того, він відповідає за продавців і йому потрібно знати, хто й що продає та скільки машин продав кожний з них. Продавцю потрібно знати, яку ціну запитувати та яка нижня ціна, за якої можна здійснити операцію. Крім того, йому потрібна основна інформація про машини: рік випуску, марка, модель і т. п. Завдання адміністратора зводиться до складання контрактів, для чого потрібна інформація про покупця, автомашину й продавця, оскільки саме контракти приносять продавцям винагороди за продажі.

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

Рис. 4.17 – Графічне зображення сутності

 

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

Кожна сутність повинна мати такі властивості:

унікальне ім'я - до того ж самого імені повинна завжди застосовуватися та сама інтерпретація;

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

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

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

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

Рис. 4.18 - Склад сутностей для задачі продажу автомобілів

 

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

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

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

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

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

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

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

Рис. 4.19 - Типи зв'язків між сутностями

 

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

Рис. 4.20 - Зв'язок між продавцем і контрактом

 

Описавши також зв'язки інших сутностей, одержимо наступну схему (рис. 4.21).

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

 

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

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

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

Рис. 4.22 - Визначення обов'язкового й необов'язкового атрибутів сутності

 

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

Рис. 4.23 - Повна й непряма ідентифікація сутності

 

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

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

Рис. 4.24 - Діаграма зв'язків сутностей для задачі продажу автомобіля

 

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

Рис. 4.25 - Подання підтипів і супертипів

 

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

Рис. 4.26 - Подання взаємовиключаючих зв'язків

Рекурсивний зв'язок - це такий зв'язок, при якому сутність може бути зв'язана сама з собою (рис. 4.27).

Рис. 4.27 -. Подання рекурсивного зв'язку

 

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

Рис. 4.28 - Подання непереміщуваного зв'язку

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]