- •Лекція 4. Проектування бази даних
- •4.1. Огляд життєвого циклу інформаційних систем Інформаційна система - ресурси, що дозволяють виконувати збір, коректування, поширення інформації усередині організації.
- •4.2. Життєвий цикл програми баз даних
- •4.2.1. Планування розробки бази даних Планування розробки бази даних - підготовчі дії, що дозволяють з максимально можливою ефективністю реалізувати етапи життєвого циклу програми бази даних.
- •4.2.2. Визначення вимог до системи Визначення вимог до системи - визначення діапазону дій і границь програми бази даних, складу її користувачів і областей застосування.
- •Вимога - деяка функція, що повинна бути включена в створювану систему.
- •4.2.4. Проектування бази даних Проектування бази даних - процес створення проекту бази даних, призначений для підтримки функціонування підприємства і сприятливий досягненню його цілей.
- •4.2.5. Вибір цільової скбд Вибір цільової скбд - вибір скбд придатного типу, призначеної для підтримки створюваного програми бази даних.
- •4.2.6. Розробка програм Розробка програм - проектування інтерфейсу користувача і прикладних програм, призначених для роботи з базою даних.
- •4.2.7. Створення прототипів
- •Створення прототипу - cтворення робочої моделі програми бази даних.
- •4.2.8. Реалізація Реалізація - фізична реалізація бази даних і розроблених програм.
- •4.2.10. Тестування Тестування - процес виконання прикладних програм з метою пошуку помилок.
- •Стратегії тестування
- •4.2.11. Експлуатація і супровід Експлуатація і супровід - спостереження за системою і підтримка її нормального функціонування по закінченні розгортання.
- •4.3. Загальний огляд процедури проектування бази даних
- •4.3.1. Моделювання даних
- •Критерії оцінки моделі даних
- •Концептуальне і логічне проектування
- •Злиття представлень окремих користувачів
- •Метод інтеграції представлень - злиття окремих локальних логічних моделей даних, що відбивають представлення різних груп користувачів, у єдину глобальну логічну модель даних.
- •4.4. Проектування програми
- •4.4.1. Проектування транзакцій Транзакція - одна дія чи послідовність дій, виконуваних тим самим користувачем (чи прикладною програмою), що здійснює доступ до бази даних чи зміну її вмісту.
- •4.4.2. Рекомендації з проектування користувальницького інтерфейсу
- •Легко пізнавані назви полів
- •Погоджена термінологія і скорочення
- •Погоджене використання кольорів
- •Переваги використання case-інструментів
- •4.6. Вибір скбд
- •4.6.1. Вибір оптимальної системи
- •Визначення області компетенції проведеного вивчення
- •Скорочення списку претендентів до двох-трьох продуктів
- •Оцінка продуктів
- •Проведення обґрунтованого вибору і підготовка звіту
- •4.7. Адміністрування даних і адміністрування бази даних
- •4.7.2. Задачі адміністрування даних
- •4.7.4. Задачі адміністрування бази даних
- •4.7.5. Порівняння задач адміністрування даних і бази даних
- •Питання
4.3. Загальний огляд процедури проектування бази даних
У розділі 4.2.4 коротко описувалися основні цілі етапу проектування бази даних у повному життєвому циклі програми бази даних, а також використовувані для цього підходи. У даному розділі ми обговоримо призначення і застосування методів моделювання даних у процесі проектування бази даних і представимо короткий Огляд трьох основних фаз цього процесу: концептуального, логічного і фізичного проектування.
4.3.1. Моделювання даних
Основні цілі моделювання даних складаються в поглибленні розуміння значення (семантики) даних і спрощенні процедур обговорення вимог до даних. При створенні моделі даних обов'язково буде потрібно одержати Відповіді на визначені питання про окремі сутності, зв'язки й атрибути. Отримані додаткові зведення допоможуть розроблювачам розкрити особливості семантики корпоративних даних, що існують незалежно від того, відзначені вони у формальній моделі даних чи ні. Сутності, зв'язки й атрибути є фундаментальними поняттями будь-якого підприємства. Однак їх реальний зміст буде залишатися не цілком зрозумілим доти, поки вони не будуть належним образом описані в документації. Моделювання даних спрощує розуміння змила елементів даних, тому побудова моделі необхідно Для того, щоб гарантувати розуміння таких аспектів даних, як:
вид даних з погляду кожного користувача;
природа даних самих по собі, незалежно від їх фізичного представлення;
використання даних у межах області застосування програми.
Моделі даних можуть використовуватися для відображення розуміння розроблювачем тих вимог до даних, що існують на підприємстві. Якщо обидві сторони знайомі з нотацією, використовуваної для побудові моделі, то наявність моделі даних буде сприяти більш плідному спілкуванню користувачів і розроблювачів. Підприємства в усі більшій і більшій мері стандартизують спосіб моделювання даних за допомогою вибору визначеного методу моделювання і використання його у всіх проектах розробки їхніх баз даних. Сама популярна технологія високорівневого моделювання даних, найчастіше використовувана при розробці реальних баз даних, побудована на концепції моделі "сутність-зв'язок" (Entity-Relationship model - ER-модель) - саме вона описується в цій лекції.
Критерії оцінки моделі даних
Оптимальна модель даних повинна задовольняти критеріям, перерахованим у табл. 4.1. Однак іноді ці критерії несумісні один з одним, і приходиться йти на деякий компроміс. Наприклад, у погоні за найбільшою виразністю моделі даних можна втратити її простоту.
Таблиця 4.1. Критерії оцінки моделі даних
Критерій |
Пояснення |
Структурна вірогідність |
Відповідність способу визначення й організації інформації на даному підприємстві |
Простота |
Легкість розуміння моделі як професіоналами в області розробки інформаційних систем, так і звичайними користувачами |
Виразність |
Здатність представляти відмінності між різними типами даних, зв'язків між даними й обмежень |
Відсутність надмірності |
Виключення зайвої інформації, тобто будь-яка частина даних повинна бути представлена тільки один раз |
Здатність до спільного використання |
Відсутність приналежності до якогось особливого чи програми технології і, отже, можливість використання моделі в багатьох програмах і технологіях |
Розширюваність |
Здатність еволюціонувати з метою включення нових вимог з мінімальним впливом на вже існуючих користувачів |
Цілісність |
Погодженість зі способом використання і керування інформацією усередині підприємства |
Представлення у виді діаграм |
Здатність представлення моделі за допомогою зрозумілих діаграмних позначень |
4.3.2. Концептуальне проектування бази даних
Концептуальне проектування бази даних - процес створення моделі використовуваної на підприємстві інформації, що не залежить від будь-яких фізичних аспектів її представлення.
Перша фаза процесу проектування бази даних називається концептуальним проектуванням бази даних. Вона полягає в створенні концептуальної моделі даних для аналізованої частини підприємства. Ця модель даних створюється на основі інформації, записаної в специфікаціях вимог користувачів. Концептуальне проектування бази даних абсолютно не залежить від таких подробиць її реалізації, як тип обраної цільовий СКБД, набір створюваних прикладних програм, використовувані мови програмування, тип обраної обчислювальної платформи, а також від будь-яких інших особливостей фізичної реалізації. При розробці концептуальна модель даних постійно піддається тестуванню і перевірці на відповідність вимогам користувачів. Створена концептуальна модель дані підприємства є джерелом інформації для фази логічного проектування бази даних.
4.3.3. Логічне проектування бази даних
Логічне проектування бази даних - процес створення моделі використовуваної на підприємстві інформації з урахуванням обраної моделі організації даних, але незалежно від типу цільовий СКБД і інших фізичних аспектів реалізації.
Друга фаза проектування бази даних називається логічним проектуванням бази даних. Її ціль складається в створенні логічної моделі даних для досліджуваної частини підприємства. Концептуальна модель даних, створена на попередньому етапі, уточнюється і перетвориться в логічну модель даних. Логічна модель даних враховує особливості обраної моделі організації даних у цільовий СКБД (наприклад, реляційна чи мережна модель).
Якщо концептуальна модель даних не залежить від будь-яких фізичних аспектів реалізації, то логічна модель даних створюється на основі обраної моделі організації даних цільовий СКБД. Інакше кажучи, на цьому етапі вже повинне бути відомо, яка СКБД буде використовуватися в якості цільовий - реляційна, мережна, ієрархічна чи об’єктно-орієнтована. Однак на цьому етапі ігноруються всі інші аспекти обраної СКБД - наприклад, будь-які особливості фізичної організації її структур збереження даних і побудови індексів.
У процесі розробки логічна модель даних постійно тестується і перевіряється, на відповідність вимогам користувачів. Для перевірки коректності логічної моделі даних використовується метод нормалізації. Нормалізація гарантує, що виведені з існуючої моделі дані відносини не будуть мати надмірність даних, здатні викликати аномалії відновлення після їх фізичної реалізації. Крім усього іншого, логічна модель даних повинна забезпечувати підтримку всіх необхідних користувачам транзакцій.
Побудована логічна модель даних є джерелом інформації для етапу фізичного проектування і забезпечує розроблювача фізичної бази даних засобами перебування компромісів, необхідних для досягнення поставлених цілей, що дуже важливо для ефективного проектування. Логічна модель даних також відіграє важливу роль на етапі експлуатації і супроводу вже готової системи. При правильно організованому супроводі підтримувана в актуальному стані модель даних дозволяє точно і наочно представити будь-які внесені в базу дані зміни, а також оцінити їх вплив на прикладні програми і використання даних, що вже маються в базі.