Етапи проектування бази даних. Побудова концептуальної моделі предметної області
Лекція № 11 (2 години)
Тема «Етапи проектування бази даних. Побудова концептуальної моделі предметної області»
Мета: знати 3 етапи, які використовуються при проектуванні бази даних та навчитися створювати високорівневу концептуальну модель даних «Сутність зв'язок» .
Література
«Бази даних. Проектування, реалізація та супровід. Теорія та практика» -Т. Конолі, К. Бегг, А. Строчан Москва, СПб., Київ. 2000 р.
«Бази даних: основи, проектування, використання» - Малихіна М. П. СПб. 2004р.
«Організація баз даних та знань» - Пасічник В. В., Резніченко В. А., Київ, 2006 р.
«Системы баз данных. Полный курс» - Г. Гарсия Молина, Москва: Вильямс, 2003р.
«Бази даних. Моделі, розробка, реалізація» - Карпов Т., СПб. 2001 р.
Хід заняття
І. Організаційний момент
а) готовність групи до заняття;
б) перевірка присутніх.
ІІ. Актуалізація опорних знань студентів
а) повідомлення теми та мети заняття;
б) повідомлення девізу, під яким будете працювати;
в) відповіді на запитання.
ІІІ. Виклад нового матеріалу
План
- Етапи проектування БД.
- Концептуальна модель даних або модель «Сутність зв'язок».
- Побудова ER-діаграм.
ІV. Узагальнення та систематизація знань.
V. Підведення підсумків заняття.
VІ. Домашнє завдання: вивчити матеріал лекції, знати відповіді на такі питання лекції:
Які етапи виділяють в процесі проектування БД?
Яке призначення мають етапи проектування БД?
Для чого призначена модель «Сутність звязок»?
Що є головними поняттями моделі «Сутність-звязок»?
Що таке «сутність»? Навести приклади сутностей.
Які існують типи сутностей? Як вони зображуються на діаграмах?
Що таке «атрибут»? Навести приклади атрибутів.
Які існують типи атрибутів? Як вони зображуються на діаграмах?
Як зображується на діаграмах атрибут, який є первинний ключем?
Для чого потрібні звязки між сутностями? Навести приклади звязків.
Як зображуються на діаграмах звязки?
Кількість сутностей,охоплених звязком це .....? Продовжити визначення.
Проектуванню баз даних традиційно приділяється велика увага, так як ця робота в більшості визначає успішність експлуатації бази даних, яка створюється, можливості її модернізації та удосконалення в подальшому.
В процесі проектування БД часто виділяють три етапи.
Етап 1. Побудова концептуальної моделі предметної області
В рамках цього этапу досліджується предметна область частина реального світу, для якої створюється БД. Вивчаються інформаційні потреби користувачів, виявляються інформаційні обєкти та звязки між ними. Виходячи з отриманої інформації будується концептуальна модель предметної області, незалежна від моделі даних та програмих засобів (включаючи СКБД).
Етап 2. Логічне проектування перетворення створенної концептуальної моделі в концептуальну схему, яка реалізується конкретною СКБД
На цьому етапі на основі концептуальної моделі розробляється структура БД, яка відповідає обраній для її створення СКБД. Для реляційної БД інформація розбивається на відношення (таблиці); для кожного відношення (таблиці) визначаються атрибути (поля), первинні ключі; відношення приводяться до нормалізованого вигляду; ідентифікуються звязки між відношеннями.
Етап 3. Фізичне проектування бази даних
На цьому етапі вирішуються проблеми фізичного розташування БД в зовнішній памяті та організації доступу до неї. Фізичне проектування БД реалізується адміністратором банку даних при конфігуруванні та налаштуванні системи. Від спеціалістів, які брали участь в проектуванні БД на попередніх етапах, цей процес може бути повністю прихований.
Розглянемо більш детально кожен з етапів.
Побудова концептуальної моделі предметної області
В рамках концептуальної моделі інформаційний зміст предметної області виражається деякими абстрактними засобами. Основною вимогою, яка висувається до концептуальної моделі, є вимога адекватного відображення предметної області.
Модель має бути несуперечливою, відображати погляди і потреби всіх користувачів системи. Вона повинна володіти властивістю легкої розширюваності, що забезпечує введення нової інформації.
Розглянемо деякі засоби концептуального моделювання.
ER-модель
ER-модель (Entity-Relationship сутність - зв'язок) була запропонована П. Ченом в 1976 р. Інформація про зміст предметної області в межах моделі зображується в структурованому графічному вигляді (ER-діаграма).
ER-модель (Entity Relationship model) або модель «Сутність звязок» це високорівнева концептуальна модель даних, яка була розроблена з метою спрощування задач проектування баз даних. Ця модель даних являє собою набір концепцій, які описують структуру бази даних та повязані з нею транзакції оновлення та вилучення даних.
Для ER-моделі не існує єдиної стандартизованої системи позначень, тому характеристики ER-діаграм можуть дещо відрізнятися.
Головними поняттями моделі «Сутність - звязок» вважаються сутності, атрибути та звязки.
Під сутністю в ER-моделі розуміються обєкт або явище, інформація про яких буде зберігатися в базі даних. При цьому розрізняють тип сутності та екземпляр сутності.
Під типом сутності розуміють набір однорідних обєктів, який відображається як єдине ціле.
Під екземпляром сутності розуміється конкретний обєкт.
На ER-діаграмі сутність зображується прямокутником, в якому вказане його імя.
Типи сутностей можна класифікувати як сильні та слабкі.
Слабкий тип сутності - тип сутності, існування якого залежить від якого-небудь іншого типу сутності.
Сильний тип сутності - тип сутності, існування якого не залежить від якого-небудь іншого типу сутності.
Наприклад, сутність «Родичі» є сутністю слабкого типу, яка надає відомості про родичів співробітника. Сутність «Родичі» не може існувати в цій моделі без наявності сутності «Співробітники».
Прикладами сильних сутностей є сутності «Співробітники» та «Відділення».
Слабкі типи сутностей іноді називають дочірніми (child), залежними (dependent) або підпорядкованими (subordinate), а сильні типи сутностей - батьківськими (parent), сутностями-володорями (owner) або домінантними сутностями (dominant).
Кожен сильний тип сутності зображується у вигляді прямокутника з іменем сутності всередині нього, а кожен слабкий тип сутності - у вигляді прямокутника з подвійним контуром.
Сутності мають властивості, які називаються атрибутами. Атрибути повинні дозволяти розрізняти екземпляри сутності. На ER-діаграмі атрибути зображуються овалами, в яких вказуються їх імена. Атрибути поєднуються з сутностями прямими лініями.
Атрибути, які однозначно ідентифікують сутність, називаються ключовими атрибутами.
Ключові атрибути на ER-діаграмі підкреслюються.
В деяких ситуаціях з декількох простих атрибутів може бути сформований складений.
Атрибути поділяються на прості та складові.
Простий атрибут атрибут, який складається з одного компоненту з незалежним існуванням.
Прості атрибути не можуть бути розподілені на більш дрібні компоненти. Прикладами є атрибути статі («Ч» або «Ж») або «ЗП співробітника».
Прості атрибути іноді називають атомарними.
Складовий атрибут атрибут, який складається з декількох компонентів, кожен з яких характеризується незалежним існуванням.
Деякі атрибути можуть бути розподілені на більш дрібні компоненти, які характеризуються незалежним існуванням. Наприклад, атрибут «Адреса» сутності «Відділення» зі значенням «Одеса, вул. Гер. Сталинграда 14, Суворівський, 65120, 568247» може бути розподілений на окремі атрибути «Місто» зі значенням «Одеса», «Вулиця» - зі значенням «Гер. Сталинграда 14», «Район» - зі значенням «Суворівський», «Поштовий індекс» - зі значенням «65120» та «Телефон» зі значенням «568247».
На рисунку зображені атрибути, які повязані з сутностями «Співробітники» та «Відділення».
Сутність «Співробітники»
Якщо атрибут є складовим, його атрибути-компоненти зображуються у вигляді еліпсів, які приєднюються до нього (атрибут «Імя» сутності «Співробітники» є складовим атрибутом, який складається з атрибутів «Прізвище», «Імя», «По-батькові»).
Імя атрибуту, який є первинним ключем цього типу сутності, підкреслюється.
За допомогою звязків на ER-діаграмі відображається взаємодія між сутностями. Звязок зображується ромбом, який поєднує сутності. Всередині ромбу вказується вид звязка. Ромб має подвійний контур, якщо звязок повязує слабку сутність з сильною сутністю, від якої ця слабка сутність залежить.
На рисунку взаємозвязок між сутностями «Відділення» та «Співробітники» зображений за допомогою звязка «Приписаний до», а між сутностями «Родичі» та «Співробітники» - за допомогою звязка «Відноситься до», який зображений у вигляді ромбу з подвійним контуром та вказує на те, що він встановлений між слабкою (сутність «Родичі») та сильною (сутність «Співробітники») сутностями.
Для зниження рівня деталізації на окремій ER-діаграмі часто вказують лише ті атрибути, які уявляють первинні ключі зображених сутностей, а в деяких випадках атрибути зовсім не відображаються.
Наприклад, на рисунку зображені лише ті атрибути, які є первинними ключами сильних сутностей, а саме: «Номер співробітника» та «Номер відділення».
Ступінь звязка кількість сутностей, які охоплені цим звязком.
Охоплені деяким звязком сутності мають назву участники цього звязка.
Кількість учасників деякого звязка має назву ступінь цього звязку. Тобто, ступінь звязка вказує на кількість типів сутностей, охоплених цим звязком.
Звязок зі ступнем 2 називається бінарним, зі ступенем 3 тернарним, зі ступенем 4 кватернарним.
Попередній приклад є прикладом тернарного звязка (приймають участь 3 типи сутності: «Співробітники», «Відділення» та «Родичі»).
Етапи проектування бази даних. Побудова концептуальної моделі предметної області