- •Проектування бази даних
- •Вимоги, що пред'являються до бази даних
- •Етапи життєвого циклу бази даних
- •Модель "сутність–зв'язок"
- •Перетворення er-моделі в реляційну
- •Нормалізація таблиць
- •Фізичне проектування.
- •1.6.1. Процедури концептуального проектування
- •Етапи проектування бази даних і їх процедури
- •Концептуальне проектування;
- •Логічне проектування;
- •1.6.2. Процедури логічного проектування
- •1.6.3. Процедури фізичного проектування
- •1. Проектування таблиць бази даних засобами вибраної субд.
- •Завдання|задавання| по проектуванню бази даних і роботі з|із| нею
- •Тема 1. Проектування бази даних
- •Тема 2. Конструювання запитів
- •Тема 3. Конструювання форм
- •Тема 4. Конструювання звіту
- •4. Звіти, що виводяться на основі бази даних Завдання 2. Проект роздрібна торгівля
Модель "сутність–зв'язок"
Засобом моделювання предметної області на етапі концептуального проектування є модель "сутність–зв'язок". Часто її називають ER-моделлю (Entity – сутність, Relation – зв'язок). У ній моделювання структури даних предметної області базується на використанні графічних засобів – ER-діаграм (діаграм "сутність–зв'язок"). У наочному вигляді вони представляють зв'язки між сутностями.
Основні поняття ER-діаграми – сутність, атрибут, зв'язок.
Сутність – це деякий об'єкт реального світу, який може існувати незалежно. Сутність має екземпляри, що відрізняються один від одного значеннями атрибутів і мають однозначну ідентифікацію. Атрибут – це властивість сутності. Наприклад, сутність КНИГА характеризується такими атрибутами, як автор, найменування, ціна, видавництво, тираж, кількість сторінок. Конкретні книги є екземплярами сутності КНИГА. Вони відрізняються значеннями вказаних атрибутів і однозначно ідентифікуються атрибутом "найменування". Атрибут, який унікальним чином ідентифікує екземпляри сутності, називається ключем. Може бути складений ключ, що представляє комбінацію декількох атрибутів.
Припустимо, що проектується база даних, призначена для зберігання інформації про діяльність деякого банку. Цей банк має філіали. Філіали управляються менеджерами. Клієнти мають у філіалах рахунки різних типів – поточні, термінові, до запитання, депозитні, карткові. Філіали обробляють ці рахунки. Описувану предметну область назвемо БАНК. У ній можуть бути виділені чотири сутності: філіал, менеджер, рахунок, клієнт.
На ER-діаграмі сутність зображається прямокутником, в якому вказується її ім'я. Наприклад
МЕНЕДЖЕР
У реальному світі існують зв'язки між сутностями. Зв'язок представляє взаємодію між сутностями. Він характеризується потужністю, яка показує, скільки сутностей бере участь в зв'язку. Зв'язок між двома сутностями називається бінарним, а зв'язок між більш ніж двома сутностями – тернарним.
У даній предметній області БАНК можна виділити три зв'язки.
МЕНЕДЖЕР – УПРАВЛЯЄ – ФІЛІАЛ
ФІЛІАЛ – ОБРОБЛЯЄ – РАХУНОК
КЛІЄНТ – МАЄ – РАХУНОК
На ER-діаграмі зв'язок зображається ромбом. Наприклад
Важливою характеристикою зв'язку є тип зв'язку (кардинальність). Розглянемо типи зв'язків 1–3.
Оскільки менеджер управляє тільки одним філіалом, то кожен екземпляр сутності МЕНЕДЖЕР може бути пов'язаний не більше ніж з одним екземпляром сутності ФІЛІАЛ. В цьому випадку зв'язок 1 має тип "один до одного" (1:1). На мал. 1.1 представлена ER-діаграма для зв'язку типу 1:1.
Мал. 1.1. ER-діаграма зв'язку 1:1
Оскільки філіал обробляє декілька рахунків, а рахунок обробляється тільки одним філіалом, то кожен екземпляр сутності ФІЛІАЛ може бути пов'язаний більш ніж з одним екземпляром сутності РАХУНОК, а кожен екземпляр сутності РАХУНОК може бути пов'язаний не більше ніж з одним екземпляром сутності ФІЛІАЛ. В цьому випадку зв'язок 2 має тип "один до багатьох" (1:Б). На мал. 1.2 представлена ER-діаграма для зв'язку типу 1:Б.
Мал. 1.2. ER-діаграма зв'язку 1:Б
Оскільки рахунок може спільно використовуватися декількома клієнтами і клієнт може мати декілька рахунків, то кожен екземпляр сутності РАХУНОК може бути пов'язаний з декількома екземплярами сутності КЛІЄНТ і кожен екземпляр сутності КЛІЄНТ може бути пов'язаний з декількома екземплярами сутності РАХУНОК. В цьому випадку зв'язок 3 має тип "багато до багатьох" (М:N). На мал. 1.3 представлена ER-діаграма для зв'язку типу М:N.
Мал. 1.3. ER-діаграма зв'язку М:N
Розглянемо поняття клас приналежності сутності.
Якщо кожен екземпляр сутності А пов'язаний з екземпляром сутності В, то клас приналежності сутності А є обов'язковим. Цей факт наголошується на ER-діаграмі чорним кружечком, поміщеним в прямокутник, суміжний з прямокутником сутності А.
Якщо не кожен екземпляр сутності А пов'язаний з екземпляром сутності В, то клас приналежності сутності А є необов'язковим. Цей факт наголошується на ER-діаграмі чорним кружечком, поміщеним на лінії зв'язку біля прямокутника сутності А.
Як приклад на мал. 1.4 зображені можливі ER-діаграми для зв'язку М:N з врахуванням класу приналежності сутності.
Мал. 1.4. ER- діаграми зв'язку M:N з урахуванням класу приналежності сутності
На ER-діаграмі 1 клас приналежності обох сутностей необов'язковий.
На ER-діаграмі 2 клас приналежності сутності КЛІЄНТ обов'язковий, а сутності РАХУНОК необов'язковий.
На ER-діаграмі 3 клас приналежності сутності КЛІЄНТ необов'язковий, а сутності РАХУНОК обов'язковий.
На ER-діаграмі 4 клас приналежності обох сутностей обов'язковий.
Припустимо, що в даній предметній області БАНК клас приналежності всіх чотирьох сутностей є обов'язковим. Тоді ER-модель предметної області БАНК матиме вигляд, представлений на мал. 1.5.
Кожна з чотирьох сутностей приведеної ER-моделі може бути описана своїм набором атрибутів (мал. 1.6).
ER-модель в сукупності з наборами атрибутів сутності може служити прикладом концептуальної моделі предметної області або концептуальної схеми бази даних.
У зв'язку з наочністю представлення концептуальних схем баз даних ER-моделі набули широкого поширення в CASE-засобах. Ці засоби призначені для автоматизованого проектування реляційних баз даних. Широко поширені CASE-системи, що дозволяють виконувати ER-діаграми відповідно до стандарту IDEF1X. До них відносяться, зокрема, Erwin, Design/IDEF, Power Designer.
Мал. 1.5. Приклад ER-моделі предметної області БАНК
МЕНЕДЖЕР |
|
ФІЛІАЛ |
Номер менеджера (НМ) |
|
Номер філіалу (НФ) |
Стаж роботи (СТАЖ) |
|
Адреса філіалу (АДР_Ф) |
Спеціальність (СПЕЦ) |
|
|
|
|
КЛІЄНТ |
РАХУНОК |
|
Номер клієнта (НК) |
Номер рахунку (НР) |
|
П.І.Б. клієнта (ПІБ_К) |
Тип рахунку (ТИП) |
|
Соціальне положення (СОЦ) |
Залишок на рахунку (ОСТ) |
|
Адреса клієнта (АДР_К) |
Рис.1.6. Набори атрибутів сутності предметної області БАНК
Примітка. Ключові атрибути виділені жирним шрифтом.
