Етапи проектування бази даних
Процес проектування бази даних складається з трьох основних етапів: концептуальне, логічне і фізичне проектування.
Концептуальне проектування бази даних - це процес створення моделі використовуваної на підприємстві інформації, що не залежить від будь-яких фізичних аспектів її подання.
Перший етап процесу проектування бази даних називається концептуальним проектуванням бази даних. Він полягає у створенні концептуальної моделі даних для аналізованої частини підприємства. Ця модель даних створюється на основі інформації, записаної в специфікаціях вимог користувачів. Концептуальне проектування бази даних абсолютно не залежить від таких подробиць її реалізації, як тип обраної цільової СУБД, набір створюваних прикладних програм, які використовуються мови програмування, тип обраної обчислювальної платформи, а також від будь-яких інших особливостей фізичної реалізації.
При розробці концептуальна модель даних постійно піддається тестуванню та перевірці на відповідність вимогам користувачів. Створена концептуальна модель даних підприємства є джерелом інформації для етапу логічного проектування бази даних.
Логічне проектування бази даних - це процес створення моделі використовуваної на підприємстві інформації на основі обраної моделі організації даних, але без врахування типу цільової СУБД і інших фізичних аспектів реалізації.
Другий етап проектування бази даних називається логічним проектуванням бази даних. Його мета полягає у створенні логічної моделі даних для досліджуваної частини підприємства. Концептуальна модель даних, створена на попередньому етапі, уточнюється і перетвориться в логічну модель даних.
Логічна модель даних враховує особливості обраної моделі організації даних в цільової СУБД (наприклад, реляційна модель).
Якщо концептуальна модель даних не залежить від будь-яких фізичних аспектів реалізації, то логічна модель даних створюється на основі обраної моделі організації даних цільової СУБД. Інакше кажучи, на цьому етапі вже має бути відомо, яка СУБД буде використовуватися в якості цільової - реляційна, мережева, ієрархічна чи об'єктно-орієнтована. Однак на цьому етапі ігноруються всі інші характеристики вибраної СУБД, наприклад, будь-які особливості фізичної організації її структур зберігання даних і побудови індексів.
У процесі розробки логічна модель даних постійно тестується і перевіряється на відповідність вимогам користувачів. Для перевірки правильності логічної моделі даних використовується метод нормалізації.
Нормалізація гарантує, що відношення, виведені з існуючої моделі даних, не будуть мати надмірності даних, здатної викликати порушення в процесі оновлення даних після їх фізичної реалізації. Крім усього іншого, логічна модель даних повинна забезпечувати підтримку всіх необхідних користувачам транзакцій.
Створена логічна модель даних є джерелом інформації для етапу фізичного проектування і забезпечує розробника фізичної бази даних засобами пошуку компромісів, необхідних для досягнення поставлених цілей, що дуже важливо для ефективного проектування. Логічна модель даних відіграє також важливу роль на етапі експлуатації і супроводу вже готової системи. При правильно організованому супроводі підтримувана в актуальному стані модель даних дозволяє точно і наочно представити будь-які вносяться в базу даних зміни, а також оцінити їх вплив на прикладні програми та використання даних, що вже є в базі.
Фізичне проектування бази даних - це процес підготовки опису реалізації бази даних на вторинних запам'ятовувальних пристроях; на цьому етапі розглядаються основні відношення, організація файлів і індексів, призначених для забезпечення ефективного доступу до даних, а також всі пов'язані з цим обмеження цілісності та засоби захисту.
Фізичне проектування є третім і останнім етапом створення проекту бази даних, при виконанні якого проектувальник приймає рішення про способи реалізації розроблюваної бази даних. Під час попереднього етапу проектування була визначена логічна структура бази даних (яка описує відношення і обмеження в даній прикладній області). Хоча ця структура не залежить від конкретної цільової СУБД, вона створюється з врахуванням обраної моделі зберігання даних, наприклад реляційної, мережевої або ієрархічної. Однак, приступаючи до фізичного проектування бази даних, перш за все необхідно вибрати конкретну цільову СУБД. Тому фізичне проектування нерозривно пов'язане з конкретною СУБД. Між логічним і фізичним проектуванням існує постійний зворотний зв'язок, так як рішення, що приймаються на етапі фізичного проектування з метою підвищення продуктивності системи, здатні вплинути на структуру логічної моделі даних.
Як правило, основною метою фізичного проектування бази даних є опис способу фізичної реалізації логічного проекту бази даних. У разі реляційної моделі даних під цим мається на увазі наступне:
• створення набору реляційних таблиць і обмежень для них на основі інформації, представленої в глобальній логічної моделі даних;
• визначення конкретних структур зберігання даних і методів доступу до них, що забезпечують оптимальну продуктивність СУБД;
• розробка засобів захисту створюваної системи.
Етапи концептуального і логічного проектування великих систем слід відокремлювати від етапів фізичного проектування. На це є кілька причин.
• Вони пов'язані з абсолютно різними аспектами системи, оскільки відповідають на питання, що робити, а не як робити.
• Вони виконуються в різний час, оскільки зрозуміти, що треба зробити, слід перш, ніж вирішити, як це зробити.
• Вони вимагають абсолютно різних навичок і досвіду, тому вимагають
залучення фахівців різного профілю.
Проектування бази даних - це ітераційний процес, який має свій початок, але не має кінця і складається з нескінченної низки уточнень. Його слід розглядати насамперед як процес пізнання. Як тільки проектувальник приходить до розуміння роботи підприємства і сенсу оброблюваних даних, а також висловлює це розуміння засобами обраної моделі даних, придбані знання можуть показати, що потрібне уточнення і в інших частинах проекту. Особливо важливу роль у загальному процесі успішного створення системи відіграє концептуальне і логічне проектування бази даних. Якщо на цих етапах не вдасться отримати повне уявлення про діяльність підприємства, то задача визначення всіх необхідних користувацьких уявлень чи забезпечення захисту бази даних стає надмірно складною або навіть нездійсненною. До того ж може виявитися скрутним визначення способів фізичної реалізації або досягнення прийнятної продуктивності системи. З іншого боку, здатність адаптуватися до змін є одним з ознак вдалого проекту бази даних. Тому цілком має сенс затратити час і енергію, необхідні для підготовки найкращого можливого проекту.
- Передумови виникнення програмної інженерії.
- Основні принципи програмної інженерії.
- Життєвий цикл програмного забезпечення.
- Роль і місце інформаційної інженерії у програмній.
- Призначення і основні компоненти середовища бази даних.
- 7. Системи управління базами даних (субд).
- 8. Реляційна модель даних
- 9. Мова маніпулювання даними для реляційної моделі.
- 10.Умови і обмеження, які накладаються на відношення реляційною
- 11. Переваги реляційної бази даних
- 12. Життєвий цикл інформаційної системи
- Життєвий цикл програмного забезпечення баз даних
- 13. Мета і задачі проектування
- 14. Проектування реляційної бази даних
- Етапи проектування бази даних
- 15. Формулювання та аналіз вимог
- 16.Концептуальне проектування.
- 17.Модель "сутність-зв'язок".
- 18.Критерії вибору первинного ключа.
- 19.Логічне проектування.
- 20.Індексація в базах даних.
- 21.Методи доступу до файлів і хешування.
- 22.Цілісність і схоронність баз даних.
- 23.Нормалізація відношень. Необхідність нормалізації.
- 24. Аномалії додавання, вилучення і обновлення баз даних.
- 25.Явна і неявна надлишковість даних. Декомпозиція відношень.
- 26.Поняття нормальної форми. 1-а, 2-а, 3-я, 4-а нормальні форми. Нормальна форма Бойса-Кодда.
- 27.Реляційна алгебра. Основні і додаткові операції реляційної алгебри.
- 28.Представлення в базах даних.
- 29.Привілеї в базах даних.
- 30.Ієрархічна модель даних.
- 31.Мережева модель даних.
- 32. Багатовимірна модель даних. Olap.
- 33.Case-засоби проектування баз даних. Можливості проектування баз