ель предметної області) ґрунтується на якоїсь важливої ??семантичної інформації про реальний світ і призначена для логічного представлення даних [3, 36]. Вона визначає значення даних в контексті їх взаємозв'язку з іншими даними. Важливим є той факт, що з моделі сутність-зв'язок можуть бути породжені всі існуючі моделі даних (ієрархічна, мережева, реляційна), тому вона є найбільш загальною. ER-модель зазвичай представляється в графічній формі.
Основні елементи ER-моделей:
- Об'єкти (сутності);
- Атрибути об'єктів;
- Зв'язки між об'єктами.
Сутність являє собою об'єкт, інформація про який зберігається в БД. Екземпляри сутності відрізняються один від одного і однозначно ідентифікуються. Назвами сутностей є, як правило, іменники. Сутність - будь-який об'єкт предметної області, що має атрибути. Зв'язок двох чи більш сутностей - припускає залежність між атрибутами цих сутностей. Зв'язок між сутностями характеризується:
- Типом зв'язку - зв'язку бувають трьох видів: один до одного, один до багатьох, багато до багатьох (1: 1, 1: М, М: М);
- Класом приналежності. Клас може бути обов'язковим і необов'язковим. Якщо кожен екземпляр сутності бере участь у зв'язку, то клас приналежності - обов'язковий, інакше - необов'язковий.
Атрибут - властивість, пойменована характеристика сутності. Його найменування повинне бути унікальним для конкретного типу сутності, але може бути однаковим для різного типу сутностей. Ключ сутності - атрибут або набір атрибутів, використовуваний для ідентифікації екземпляра сутності.
Основні переваги ER-моделей:
- Наочність;
- Проектування бази даних з великою кількістю об'єктів і атрибутів;
- ER-моделі реалізовані в багатьох системах автоматизованого проектування баз даних.
Процес проектування бази даних є ітераційним - допускає повернення до попередніх етапів для перегляду раніше прийнятих рішень і включає наступні етапи [3, 39]:
) Виділення сутностей і зв'язків між ними;
) Побудова діаграм ER-типу з урахуванням всіх сутностей та їх зв'язків;
) Формування набору попередніх відносин із зазначенням передбачуваного первинного ключа для кожного відносини і використанням діаграм ER-типу;
) Додавання не ключова атрибутів у відносини.
Поряд з методом ER-діаграм в проектуванні баз даних застосовується метод нормальних форм. Процедуру нормалізації можна охарактеризувати як послідовне приведення заданого набору змінних відношення до деякої все більш і бажаної форми. Можливість виконання зворотного перетворення є досить важливою характеристикою, оскільки це означає, що в процесі нормалізації зберігається інформація. Кожній нормальній формі відповідає певний набір обмежень, і ставлення знаходиться в деякій нормальній формі, якщо задовольняє властивому їй набору обмежень. Нормалізація призначена для приведення структури бази даних до вигляду, що забезпечує мінімальну надмірність. Кінцевою метою нормалізації є зменшення потенційної суперечливості зберігається в БД інформації.
У теорії реляційних баз даних звичайно виділяється наступна послідовність нормальних форм:
- Перша нормальна форма (1NF або 1НФ);
- Друга нормальна форма (2NF або 2НФ);
- Третя нормальна форма (3NF або 3НФ);
- Нормальна форма Бойса-Кодда (BCNF або НФБК);
- Четверта нормальна форма (4NF або 4НФ);
- П'ята нормальна форма, або нормальна форма проекції-з'єднання (5NF або PJ/NF).
Таблиця знаходиться в першій нормальній формі, якщо кожен її атрибут атомарен, тобто може містити тільки одне значення. Для приведення таблиці до 1NF потрібно розбити таблицю на кілька окремих таблиць. Таблиця знаходиться в другій нормальній формі, якщо вона знаходиться в першій нормальній формі, і при цьому будь-який її атрибут, який не входить до складу можливого ключа, функціонально повно залежить від кожного можливого ключа. Функціональна залежність - зв'язок типу багато до одного між двома множинами атрибутів заданої змінної відносини [3, 53]. Функціонально повна залежність означає, що атрибут функціонально залежить від усього складного ключа, але при цьому не перебуває у функціональній залежності від будь-якої з вхідних в нього атрибутів (частин). Відношення знаходиться в третій нормальній формі, якщо воно знаходиться в другій нормальній формі і між атрибутами немає транзитивних залежностей. Транзитивне залежність - це залежність між не ключова атрибутам...