Створення логічної моделі

  • ознайомитися з технологією побудови логічної моделі в ERWin,
  • вивчити методи визначення ключових атрибутів сутностей,
  • освоїти метод перевірки адекватності логічної моделі,
  • вивчити типи зв'язків між сутностями.

Першим кроком при створенні логічної моделі БД є побудова діаграми ERD (Entity Relationship Diagram). ERD-діаграми складаються з трьох частин: сутностей, атрибутів і взаємозв'язків. Сутностями є іменники, атрибути - прикметниками або модифікаторами, взаємозв'язку - дієсловами.

ERD-діаграма дозволяє розглянути систему цілком і з'ясувати вимоги, необхідні для її розробки, що стосуються зберігання інформації.

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

ERD-діаграми

Як відомо основним компонентом реляційних БД є таблиця. Таблиця використовується для структуризації і зберігання інформації. У реляційних БД кожна клітинка таблиці містить одне значення. Крім того, всередині однієї БД існують взаємозв'язку між таблицями, кожна з яких задає спільне користування даними таблиці.

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

Створення логічної моделі

Визначення сутностей і атрибутів

На рис. 6.2 показана ERD-діаграма, що включає в себе атрибути сутностей.

Створення логічної моделі

логічні взаємозв'язки

Логічні взаємозв'язки являють собою зв'язки між сутностями. Вони визначаються дієсловами, які показують, як одна сутність відноситься до іншої.

Деякі приклади взаємозв'язків:

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

У всіх цих випадках взаємозв'язку відображають взаємодію між двома сутностями, зване «один-ко-многим». Це означає, що один екземпляр першої суті взаємодіє з декількома екземплярами іншої сутності. Взаємозв'язку відображаються лініями, що з'єднують дві сутності з точкою на одному кінці і дієсловом, що розташовуються над лінією.

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

Зв'язок «багато-до-багатьох» може не враховувати певні обмеження системи, тому може бути замінена на «один-ко-многим» при подальшому перегляді проекту.

Перевірка адекватності логічної моделі

Якщо взаємозв'язку між сутностями були правильно встановлені, то можна скласти пропозиції, їх описують. Наприклад, за моделлю, показаної на рис. 6.3, можна скласти такі пропозиції:

Літак перевозить пасажирів. Багато пасажирів перевозяться одним літаком.

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

Мал. 6.3.Прімер логічної моделі зі взаємозв'язком

Модель даних, заснована на ключах

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

Вибір первинного ключа

При створенні суті необхідно виділити групу атрибутів, які потенційно можуть стати первинним ключем (потенційні ключі), потім провести відбір атрибутів для включення до складу первинного ключа, слідуючи наступних рекомендацій:

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

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

Первинний ключ, обраний при створенні логічної моделі, може бути невдалим для здійснення ефективного доступу до БД і повинен бути змінений при проектуванні фізичної моделі.

Потенційний ключ, який не став первинним, називається альтернативним ключем (Alternate Key). ERWin дозволяє виділити атрибути альтернативних ключів, і за замовчуванням в подальшому при генерації схеми БД по цих атрибутів буде генеруватися унікальний індекс. При створенні альтернативного ключа на діаграмі поряд з атрибутом з'являються символи (АК).

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

При проведенні зв'язку між двома сутностями в дочірньої сутності автоматично утворюються зовнішні ключі (foreign key). Зв'язок утворює посилання на атрибути первинного ключа в дочірній сутності, і ці атрибути утворюють зовнішній ключ в дочірньої сутності. Атрибути зовнішнього ключа позначаються символами (FK) після свого імені.

Розглянемо процес побудови логічної моделі на прикладі БД студентів системи «Служба зайнятості в рамках вузу». Першим етапом є визначення сутностей і атрибутів. В БД будуть зберігатися записи про студентів, отже, сутністю буде студент.

Таблиця 6.1.Атрібути суті «Студент»

Виберемо для кожної сутності ключові атрибути, однозначно визначають сутність. Для сутності «Студент» це буде унікальний номер, для сутності «Досвід роботи» все поля є ключовими, так як за різними спеціальностями студент може мати різний досвід роботи в різних фірмах. Сутність «Тест» визначається назвою, так як студент по одному тесту може мати тільки одну оцінку. Оцінка за іспит визначається тільки назвою предмета, експертна оцінка залежить від викладача, який її склав, тому в якості ключових атрибутів виберемо «Дисципліну» і «П.І.Б. викладача ». У сутності «Іноземна мова» рівень володіння залежить тільки від найменування мови, отже, це і буде ключовим атрибутом.

Отримаємо нову діаграму, зображену на рис. 6.5, де всі ключові атрибути будуть перебувати над горизонтальною лінією всередині рамки, що зображає сутність.

Створення логічної моделі

Мал. 6.5.ERD-діаграма БД студентів з ключовими атрибутами

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

  1. Назвіть основні частини ERD-діаграми.
  2. Мета ERD-діаграми.
  3. Що є основним компонентом реляційних БД?
  4. Що називається сутністю?
  5. Сформулюйте принцип іменування сутностей.
  6. Що показує взаємозв'язок між сутностями?
  7. Назвіть типи логічних взаємозв'язків.
  8. Яким чином відображаються логічні взаємозв'язки?
  9. Опишіть механізм перевірки адекватності логічної моделі.
  10. Що називається первинним ключем?
  11. Назвіть принципи, згідно з якими формується первинний ключ.
  12. Що називається альтернативним ключем?
  13. Що називається інверсійним входом?
  14. В якому випадку утворюються зовнішні ключі?
  1. Тема, мета роботи.
  2. ERD-діаграма БД Служба зайнятості з атрибутами і ключами.
  3. Висновки по роботі