Case-метод Баркера, CASE-засоби (моделювання), Програмування, статті

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

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

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

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

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

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

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

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

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

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


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

Рис. 2.19.

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

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

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

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


Ступінь зв’язку та обов’язковість графічно зображуються наступним чином (малюнок 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. Неперемещаемие зв’язок

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*