Роздрукувати сторінку
Главная \ Методичні вказівки \ Методичні вказівки \ 3550 Лабораторна робота №2 на тему Проектування БД засобами Erwin, Проектування баз даних, ЗНТУ

Лабораторна робота №2 на тему Проектування БД засобами Erwin, Проектування баз даних, ЗНТУ

« Назад

2. Лабораторна робота №2 на тему Проектування БД засобами Erwin

Мета роботи: ознайомитись з інструментальними засобами та вивчити можливості CASE – технології ERwin створення бази даних для обраної предметної області.

2.1 Теоретичні відомості

В багатьох випадках ефективну інформаційну систему важко спроектувати саме на перших етапах. Для цього використовується структурний аналіз – метод дослідження, який починається із загаль­ного аналізу ПО, а потім деталізується. На кожному рівні розгляда­ється невелика кількість елементів, а потім здійснюється їхня деком­позиція. Тобто виконується структурне проектування „зверху – униз”.

Такі технології отримали назву CASE – технологій (Computer Aided Software Engineering), що перекладається як Створення про­грамного забезпечення за допомогою комп’ютера. Однією з таких технологій і є ERwin.

ERwin дозволяє створювати моделі на логічному і фізичному рівнях. Спершу створюється логічна модель. Етапи її побудови:

І етап – визначення сутностей;

ІІ етап – визначення залежностей між сутностями;

ІІІ етап – визначення первинних та альтернативних ключів;

ІV етап – визначення неключових атрибутів.

Вікно ERwin містить рядок меню, в якому можна обрати потріб­ні режими роботи та панелі інструментів. Можна змінювати рівні пе­регляду моделі, наприклад: рівень сутностей, рівень атрибутів, рівень визначень.

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

Рисунок 2.1 – Панель інструментів на логічному рівні

Можна змінювати рівні демонстрації моделі за допомогою різ­них меню. Наприклад, в меню Display Level можна обрати

Entity рівень демонстрації сутностей;

Attribute рівень демонстрації атрибутів;

Primary Key рівень демонстрації первинних ключів;

Definition рівень демонстрації визначень сутностей;

Icon рівень піктограми.

А пункт меню Relationship DisplayVerb Phrase виводить на екран речення з дієсловом, яке характеризує зв’язок. Щоб вперше ввес­ти це речення, треба виділити лінію потрібного зв’язку між сутностя­ми, в контекстному меню викликати редактор зв’язків Relationship Editor та ввести речення у вікні Verb Phrase.

В цьому ж редакторі можна встановити або змінити за допомо­гою перемикачів тип зв’язку: ідентифікуючий (Identifying) або ні (Non-Identifying), обов’язковий (No Nulls) або необов’язковий (Nulls Allowed) та в групі перемикачів Cardinality визначити кардинальність зв’язку.

Кардинальність зв’язку – це відношення кількості екземплярів батьківської сутності до кількості екземплярів дочірньої.. В IDEF1X кардинальність бінарних відношень може приймати одне зі значень:

Zero, One or More

One or More

Zero or One

Exactly.

Коли ERwin створює зв’язки між сутностями, то автоматично відбувається міграція зовнішніх ключів (Foreign Keys) до залежних сутностей. НЕ ТРЕБА ВВОДИТИ ЗОВНІШНІ КЛЮЧІ ВЛАСНОРУЧ !

2.2 Приклад створення моделі

Приклад. Для концептуальної моделі Конференції створимоза допомогою ERwin логічну модель, яка надасть користувачеві візуаль­ну можливість відкоригувати інформацію про конференції.

Розглянемо роботу з ERwin на цьому прикладі.

Для запуску Erwin треба в головному меню обрати пункт Все программы, в ньому – пункт Computer Associates Erwin 4.0, а потім знов Erwin 4.0. Або в папці Program Files обрати папку Computer Associates, потім Erwin 4.0 та файл MMOPN32.

Після запуску Erwin з’являється вікно, в якому треба встановити один з перемикачів:

  • Create a new model – створити нову модель;

  • Open an existing file – відкрити існуючий файл.

Виберемо перший варіант. Відкривається вікно для вибору рівня моделі. Встановлюємо перемикач Logical / Physical (логічний / фізич­ний) та вибираємо зі списку Database варіант Access 2000.

Предметна область складається із п’яти сутностей (див. п. 1.2).

Внесемо до діаграми виявлені сутності. Для внесення сутності в модель необхідно кликнути по кнопці Сутності на панелі інструмен­тів, потім кликнути по тому місцю на діаграмі, де необхідно розташу­вати нову сутність. Кожна сутність повинна бути повністю визначена за допомогою текстового опису на вкладці Definition.

Задаємо ім'я першої сутності – Конференція.

Якщо виникли проблеми з відображенням російських букв – заходимо в меню FormatDefault Fonts & Colors і на всіх вкладках міняємо шрифт Arial на Arial CYR, та унизу в групі перемикачів Apply To (Применить) встановлюємо позначку All Object.

Клікаємо на прямокутнику сутності. Відкривається вікно редак­тора атрибутів (див. рис. 2.2), тільки ще вільне, без атрибутів.

Рисунок 2.2 – Вікно атрибутів сутності Конференція

Щоб задати атрибути сутності Конференція, натискаємо на кнопку New. Відкривається нове вікно (див. рис. 2.3). Вводимо ім’я атрибуту (ID Конференція). В цьому ж вікні можна зараз задати ім’я поля майбутньої таблиці. Використовуємо англійські літери. 

Рисунок 2.3 – Вікно створення атрибутів

Натискаємо кнопку ОК, повертаємось до попереднього вікна, відзначаємо атрибут як первинний ключ, тобто встановлюємо прапо­рець Primary Key. На вкладці Datatype вибираємо тип даних LONG.

Так само створюємо інші атрибути згідно таблиці 2.1.

Таблиця 2.1 – Опис атрибутів сутності Конференція

Ім’я атрибуту

Ім’я поля таблиці

Тип

(домен)

Тип Datatype

(фізичний)

Конференція ID

Conference_ID

Number

LONG

Місто

City

String

VARCHAR(100)

Місце проведення

Place

String

VARCHAR(200)

Назва

Name

String

VARCHAR(255)

Дата початку

Date_begin

Datetime

DATE

Дата закінчення

Date_end

Datetime

DATE

Дата надання тез

Date_art

Datetime

DATE

Короткий опис

Description

String

VARCHAR(255)

Поштова адреса

Address

String

VARCHAR(255)

Телефон

Tel

String

VARCHAR(20)

E-mail

Email

String

VARCHAR(100)

Остаточно отримаємо такий результат, як на рис. 2.2.

Змінимо на панелі керування тип подання Logical на Physical. Тепер необхідно змінити ім'я таблиці на англійське (Conference) за допомогою контекстного меню або меню ModelTables. Остаточно фізичне подання сутності Конференція матиме вигляд (див. рис. 2.4): 

Рисунок 2.4 – Фізичне подання сутності Конференція

Аналогічно створюємо сутність Країна (див. рис. 2.5).

Логічне подання Фізичне подання

Рисунок 2.5 – Логічне та фізичне подання сутності Конференція

Атрибути, за якими буде встановлюватися зв’язок, вводимо тіль­ки для батьківських таблиць. До зв’язаних таблиць вони мігрують. В переліку атрибутів це позначають літери FK (Foreign Key).

З’єднуємо сутності. Для цього на панелі інструментів натиска­ємо кнопку Non-identifying relationship (не ідентифікований зв’язок), кликаємо на сутність Країна, а потім на сутність Конференція. Подвій­ний клик на лінії зв’язку відкриває вікно (див. рис. 2.6). У відповідних вікнах вводимо ім’я зв’язку з боку батьківської та дочірньої сутностей. За допомогою одного з перемикачів відзначаємо варіант кардинально­го числа. В цьому випадку – Zero, One or More (0, 1 або більше). 

Рисунок 2.6 – Вікно параметрів зв’язку сутностей

Завдання обмежень цілісності, а також ролей здійснюється на вкладках RI Actions та Rolename вікна редактора зв'язків (див. рис. 2.6).

Щоб побачити імена зв’язків, треба в контекстному меню Relationship Display обрати пункт Verb Phrase. Логічна схема ПО Конференція зображена на рис. 2.7, а фізична – на рис. 2.10. 

Рисунок 2.7 – Логічна модель ПО

Для коригування атрибутів і первинних ключів використову­ється редактор атрибутів (див. рис. 2.2). Для його виклику треба в контекстному меню сутності вибрати пункт Attributes.

Для завдання альтернативних ключів та інверсних входів варто скористатися редактором ключів. Для його виклику кликніть правою кнопкою миші на сутності й виберіть пункт Key Groups. В діалоговому вікні, що відкриється (див. рис. 2.8), натисніть кнопку New.

Наприклад, для атрибуту Прізвище сутності Виконавчий секре­тар створимо інверсний вхід, тому що цей атрибут може використову­ватись для пошуку, але не може бути альтернативним ключем, адже прізвища різних людей можуть співпадати. Тип вибираємо за допомо­гою відповідного перемикача. (див. рис. 2.9). 

Рисунок 2.8 – Вікно редактора ключів 

Рисунок 2.9 – Вікно вибору типу ключів

Для фізичного рівня вибирається конкретна СУБД (в нашому випадку – Access) та встановлюються відповідності: ім’я сутності – ім’я таблиці, атрибут сутності – поле таблиці (при цьому треба вра­ховувати обмеження на імена, пов’язані з обраною СУБД); 

Рисунок 2.10 – Фізична модель ПО

2.3 Автоматичне створення таблиць в Access

Якщо перед створенням моделі не був вибраний сервер СУБД або треба його змінити, то необхідно перейти на рівень фізичної моде­лі і вибрати в меню Databaseпункт ChooseDatabaseабо натиснути на кнопку Select Target Server. Відкриється вікно, в якому треба за допо­могою перемикачів вибрати необхідний сервер СУБД (див. рис. 2.11).

Треба заздалегідь створити порожню БД в MS Access, але не від­кривати її (наприклад, conference.mdb). Потім в ERWin необхідно пе­рейти до фізичного подання даних і використати інструмент Forward Engineer (пряме проектування) панелі Database. Відкриється вікно AccessSchemaGeneration. Якщо натиснути на кнопку Generate, то відкриється нове вікно для вибору БД (див. рис. 2.12). 

Рисунок 2.11 – Вікно вибору СУБД 

Рисунок 2.12 – Вікно вибору бази даних

Кнопка Connect здійснює автоматичну генерацію таблиць. В Access створюються таблиці з іменами стовпчиків фізичної моделі, відповідними типами даних та підписами з логічної моделі, визнача­ються ключі та зв’язки між таблицями (див. рис. 2.13) 

Рисунок 2.13 – Схема даних БД в Access

2.4 Завдання

1. Створити засобами Erwin логічну та фізичну моделі для свого варіанту предметної області та для свого варіанту курсової роботи.

2. Здійснити експорт таблиць моделі свого варіанту предметної області, створеної засобами Erwin, до MS Access.

2.5 Контрольні питання

  1. Які рівні моделі можна створювати в Erwin?

  2. Як створити сутності? Як надати їм імена?

  3. Що таке атрибут? Які домени даних існують в Erwin?

  4. Як задати ключі та інверсні входи?

  5. Як встановити зв’язки між сутностями? Які типи зв’язків мож­на встановити та як вони позначаються?

  6. Як здійснити експорт таблиць до СУБД?

З повагою ІЦ "KURSOVIKS"!