КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Створення логічної моделі БДСтруктура процесу моделювання в ERwin У ERwin використовуються два рівні представлення моделі даних: логічний і фізичний (що відповідає концептуальному і логічному рівню, прийнятим в теорії БД). На логічному рівні не розглядається використання конкретної СУБД, не визначаються типи даних (наприклад, ціле або речове число) і не визначаються індекси для таблиць. Цільова СУБД, імена об'єктів і типи даних, індекси складають другий (фізичний) рівень моделі ERwin. ERwin надає можливості створювати і управляти цими двома різними рівнями представлення однієї діаграми (моделі), так само як і мати багато варіантів відображення на кожному рівні. Процес побудови інформаційної моделі складається з наступних етапів: 1. Створення логічної моделі даних: - визначення суті; - визначення залежностей між суттю; - завдання первинних і альтернативних ключів; - визначення неключових атрибутів суті. 2. Перехід до фізичного опису моделі: - призначення відповідностей ім'я суті - ім'я таблиці, атрибут суті - атрибут таблиці; - завдання трігерів, процедур, що зберігаються, і обмежень. 3. Генерація бази даних. З погляду користувача ERwin, процес створення логічної моделі даних полягає у візуальному редагуванні ER-диаграммы. Діаграма ERwin будується з трьох основних блоків: суті, атрибутів і зв'язків. На діаграмі суть зображається прямокутником. Залежно від режиму представлення діаграми прямокутник може містити ім'я сутності, її опис, список її атрибутів і інші відомості. Основна інформація, що описує сутність, включає:
Первинний ключ - це атрибут або набір атрибутів, унікально ідентифікуючий екземпляр суті. Якщо декілька наборів атрибутів можуть унікально ідентифікувати суть, то вибір один з них здійснюється розробником на підставі аналізу наочної області і обліку наступних вимог до первинного ключа.
При цьому якщо розробник вважає, що який-небудь з наборів, що залишилися, часто використовуватиметься для доступу до суті, то він може оголосити його альтернативним ключем. У ERwin можна також складати групи атрибутів, які не ідентифікують унікально екземпляри суті, але часто використовуються для доступу до даним. Вони отримали назву інверсних входів. Одні і ті ж атрибути суті можуть входити в декілька різних груп ключів. Розглянемо вище сказане на прикладі сутності СПІВРОБІТНИК (мал.1). Мал. 1. Приклад сутності Серед всіх атрибутів даної сутності на роль первинного ключа можуть претендувати "табельний номер" і група атрибутів "прізвище", "і’мя","по-батькові", "дата народження" (останній необхідний, оскільки на підприємстві можуть працювати повні тезки). Очевидно, що по міркуванню розміру як первинний ключ слід вибрати перший з варіантів. На діаграмі атрибути, складові первинний ключ, розташовуються у верхній частині прямокутника і відділяються від інших (що не входять в первинних ключ) горизонтальною лінією. Група атрибутів "прізвище", "ім'я", "по батькові", "дата народження" може бути альтернативним ключем. Проте навряд чи хто-небудь, що намагається знайти інформацію про співробітника, знатиме дату його народження. А ось група атрибутів "прізвище", "ім'я", "по батькові", цілком можливо, буде достатньо часто використовуватися для цих цілей. Тому на основі цих атрибутів було б логічне створити інверсний вхід. Інверсний вхід позначається на діаграмі символами IEn, увязненими в дужки. Приклад використання альтернативного ключа приведений на мал.2. Альтернативний ключ позначається на діаграмі символами АК1 в дужках. Мал. 2. Приклад альтернативного ключа Якщо екземпляри суті можуть бути унікально ідентифіковані без визначення її зв'язків з іншою суттю, вона називається незалежною. Інакше суть називають залежною. Залежна суть відображається в ERwin прямокутником із закругленими кутами. Зв'язок в ERwin трактується як функціональна залежність між двома суттю (зокрема, можливий зв'язок суті з самою собою). Якщо розглядати діаграму як графічне представлення правил наочної області, то суть є іменниками, а зв'язки -глаголами. Наприклад, між суттю ВІДДІЛ і СПІВРОБІТНИК існує зв'язок "складається з" (ВІДДІЛ складається із СПІВРОБІТНИКІВ). У ERwin зв'язки представлені п'ятьма основними елементами інформації: · тип зв'язку; · батьківська і дочірня (залежна) суть; · потужність зв'язку; · допустимість порожніх (null) значень; · вимоги по забезпеченню посилальної цілісності. ERwin підтримує наступні основні типи зв'язків: ідентифікуюча, неідентифікуюча, повна категорія, неповна категорія, многие-ко-многим. Зв'язок називається таким, що ідентифікує, якщо екземпляр дочірньої суті ідентифікується через її зв'язок з батьківською суттю. Атрибути, складові первинний ключ батьківської суті, при цьому входять в первинний ключ дочірньої суті. Дочірня суть при ідентифікуючому зв'язку завжди є залежною. Зв'язок називається такою, що не ідентифікує, якщо екземпляр дочірньої суті ідентифікується інакше, ніж через зв'язок з батьківською суттю. Атрибути, складові первинний ключ батьківської суті, при цьому входять до складу неключових атрибутів дочірньої суті. Ідентифікуючий зв'язок зображається суцільною лінією; що не ідентифікує - пунктирною лінією. Лінії закінчуються крапкою з боку дочірньої суті. При визначенні зв'язку відбувається міграція атрибутів первинного ключа батьківської суті у відповідну область атрибутів дочірньої суті. Тому такі атрибути не вводяться уручну. На мал. 3. приведений приклад неидентифицируюшей зв'язку. Первинний ключ суті ВІДДІЛ "номер відділу" мігрував в область неключових атрибутів (оскільки зв'язок неидентифицируюшая) суті СПІВРОБІТНИК. На діаграмі атрибути, успадковані від батьківської суті, позначаються символами FK, увязненими в дужки. Мал.3. Приклад неідентифікуючого зв'язку Залежна сутність може успадковувати один і той же атрибут більш ніж одній батьківській сутності або від однієї і тієї ж батьківської сутності через декілька зв'язків. Оскільки атрибути первинного ключа батьківської сутності за умовчанням мігрують зі своїми іменами, ERwin вважає, що в залежній сутності атрибути зовнішнього ключа з'являються тільки один раз. Щоб уникнути цього обмеження, ERwin дозволяє ввести для них ролі, тобто нові імена, під якими мігруючі атрибути будуть представлені в дочірній сутності. У разі неодноразової міграції атрибуту таке перейменування необхідне. Наприклад, при створенні моделі операції по обміну валюти сутності ОПЕРАЦІЯ (мал. 4) повинна мати два різні атрибути для кода проданої і купленої валюти. В даному випадку первинний ключ суті ВАЛЮТА ("код валюти") має дві ролі в дочірній сутності.
Мал. 4. Приклад використання ролей
Ситуація, коли екземпляру однієї сутності відповідає один або декілька екземплярів другої сутності, а екземпляру другої сутності відповідає один або декілька екземплярів першої сутності, відбивається в логічній моделі зв'язком многие-ко-мпогим між даною сутністю. На діаграмі зв'язок зображається суцільною лінією з крапками на кінцях. Наприклад, для укладення оборудки в деякій фірмі клієнт звертається до будь-якого з вільних співробітників цієї фірми. В той же час співробітник фірми може обслуговувати декількох клієнтів. Тому тип зв'язку між суттю КЛІЄНТ і СПІВРОБІТНИК повинні бути багато-до-багатьох (мал. 5).
Мал. 5 Приклад зв'язку многие-ко-мпогим Відмітимо, що зв'язок типу багато-до-багатьох можливий тільки на логічному рівні. Перетворення зв'язку даного типу на фізичному рівні буде розглянуто в наступному пункті. Проте додамо, що зв'язку багато-до-багатьох рекомендується уникати. У розглянутому прикладі цього можна добитися, якщо ввести додаткову сутність ОПЕРАЦІЯ (мал. 6).
Мал. 6. Приклад усунення зв'язку многие-ко-многим
Деяка суть визначає цілу категорію об'єктів одного типу. У ERwin у такому разі створюється сутність для визначення категорії і для кожного елементу категорії, а потім вводиться для них зв'язок категоризації. Батьківська сутність категорії називається супертипом, а дочерние - підтипом. Різна частина (наприклад, дані почасової оплати для тимчасових працівників або дані про зарплату і відпустку для штатних працівників) поміщається в суть-підтип. По суті - супертипі вводиться атрибут-дискримінатор, що дозволяє розрізняти конкретні екземпляри суті-підтипу. Залежно від того, чи вся можлива сутність-підтип включена в модель, категорийная зв'язок є повним або неповним. У ERwin повна категорія зображається колом з двома підкресленнями, а неповна - колом з одним підкресленням. На мал.7 категорийний зв'язок між сутністю СПІВРОБІТНИК і сутністю ПОСТІЙНИЙ СПІВРОБІТНИК і СУМІСНИК є неповній, якщо припустити, що існує ще один тип співробітників - консультант. Включення в модель сутність КОНСУЛЬТАНТ приводить до того, що категорийная зв'язок стає повним (мал. 8). Потужністю зв'язку є відношення кількості екземплярів батьківської сутністі до відповідної кількості екземплярів дочірньої сутністі. Потужність зв'язку визначається тільки для ідентифікуючих і неідентифікуючих зв'язків і записується як l:n. ERwin надає 4 варіанти для п, які зображаються додатковим символом у дочірньої сутністі (мал. 9)
Мал. 7 Приклад неповної категорії
Мал..8 Приклад повної категорії
Мал. 9 Позначення кратності зв'язку
Допустимість порожніх (NULL) значень в неідентифікуючих зв'язках ERwin зображає порожнім ромбом на дузі зв'язку з боку батьківської суті. В цілях контролю посилальної цілісності (під посилальною цілісністю в ERwin розуміється забезпечення вимоги, щоб значення зовнішнього ключа екземпляра дочірньої суті відповідали значенням первинного ключа в батьківській суті) для кожного зв'язку можуть бути задані вимоги по обробці операцій INSERT/UPDATE/DELETE для батьківської і дочірньої суті. ERwin представляє наступні варіанти обробки цих подій:
Контрольні питання: 1. Дати перелік інструментам моделювання даних і поясніть різницю.*** 2. З яких етапів складається процес побудови інформаційної моделі.** 3. З чого складається інформація, що описує сутність.* 4. Поясніть різницю між первиним та альтернативними ключами.***
Література:
Дата добавления: 2014-01-04; Просмотров: 1226; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |