
1. Проектування бази даних
1.1. Побудова er-діаграми
В даний час більшість проектів баз даних розробляються в відповідності з якою-небудь методологією розробки програмного забезпечення. Як наслідок, розробникам потрібний інструмент для моделювання даних на етапах аналізу і проектування. Таким інструментом є ER-діаграми (Entity-relationship, «Суть-Зв'язок»). Модель "сутність-зв'язок" ER-модель - модель даних, яка дозволяє описувати концептуальні схеми за допомогою узагальнених конструкцій блоків.
ER-модель - це одна з найбільш простих візуальних моделей. Вона дозволяє осягнути структуру об'єкта «крупними мазками», в загальних рисах. Такий загальний опис структури називається ER-діаграмою або онтологією вибраної предметної області .
ER-модель зручна при проектуванні інформаційних систем, баз даних, архітектур комп'ютерних застосунків та інших систем. За допомогою такої моделі виділяють найсуттєвіші елементи моделі і встановлюють зв'язки між ними.
Існує ряд моделей для представлення знань. Одним з найзручніших інструментів уніфікованого представлення даних, незалежного від реалізовуючого його програмного забезпечення, є модель "сутність-зв'язок" (ER - model).
Модель "сутність-зв'язок" грунтується на якійсь важливій семантичній інформації про реальний світ і призначена для логічного представлення даних. Вона визначає значення даних в контексті їх взаємозв'язку з іншими даними. Важливим для нас є той факт, що з моделі "сутність-зв'язок" можуть бути породжені всі існуючі моделі даних (ієрархічна, мережева, реляційна, об'єктна), тому вона є найбільш загальною. Будь-який фрагмент наочної області може бути представлений як безліч сутностей, між якими існує деяка безліч зв'язків.
За допомогою побудованої діаграми можна побачити, як саме будуть пов’язані відношення між собою, та які поля із яких відношень будуть брати участь у формуванні вихідних зведень
Рис. 3.1.1. ER – діаграма предметної області.
Побудувавши на ER – діаграмі всі необхідні відношення, інформаційні запити та взаємозв’язок між відношеннями, можна побачити, що саме має виконувати створюваний проект, які підготовчі дії необхідно виконати, щоб проект задовольняв всім вимогам, та які додаткові налаштування можна добавити до проекту.
Результат роботи даного розділу є готова ER – діаграма, яка демонструє загальний вигляд створюваного проекту.
Якщо на даному етапі пропущені деякі важливі аспекти, то при проектуванні бази даних може виникнути помилка.
1.2. Побудова схеми реляційної бази даних у третій нормальній формі
Наступним кроком при проектуванні бази даних – буде нормалізація відношень.
Нормалізація – це процес, у результаті якого можна позбавитися дефектів проектування бази даних. У процесі нормалізації ми одержуємо ряд нормальних форм, використовуючи набір правил, що описують те, що слід і що не слід робити із структурою таблиць. Процес нормалізації складається з розбиття таблиць на менші, внаслідок чого формується краща структура.
Нормалізація бази даних — покроковий процес розбиття одного відношення відповідно до алгоритму нормалізації на декілька відношень на базі функціональних залежностей.
Е. Кодд спочатку визначив три рівні нормалізації, які він назвав першою, другою і третьою нормальними формами (1НФ, 2НФ і ЗНФ). Згодом Р. Фейджин визначив четверту нормальну форму, в якій перебувають деякі відношення, що мають ЗНФ. Нарешті, була визначена ще одна форма, п'ята.
База даних вважається нормалізованою, якщо її таблиці (принаймні, більшість таблиць) представлені як мінімум в третій нормальній формі.
Перша нормальна форма (1НФ, 1NF) утворює ґрунт для структурованої схеми баз даних:
Кожна таблиця повинна мати основний ключ: мінімальний набір колонок, які ідентифікують запис.
Уникнення повторень груп (категорії даних, що можуть зустрічатись різну кількість раз в різних записах) правильно визначаючи не-ключові атрибути.
Атомарність: кожен атрибут повинен мати лише одне значення, а не множину значень.
Друга нормальна форма (2НФ, 2NF) вимагає, аби дані, що зберігаються в таблицях із композитним ключем не залежали лише від частини ключа:
Схема бази даних повинна відповідати вимогам першої нормальної форми.
Дані, що повторно з'являються в декількох колонках виносяться в окремі таблиці.
Таблиця знаходиться в третій нормальній формі, якщо вона задовольняє умовам другої нормальної форми і жодне з неключових полів таблиці не ідентифікується з потужністю іншого неключового поля.
Далі наведено відношення бази даних у третій нормальній формі.
Таблиця 3.2.1.