Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основи нормал_зац_ї БД.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
258.61 Кб
Скачать

3. Проектування реляційних бд із застосуванням нормалізації. Поняття нормальної форми

Таким чином, основна мета логічного проектування бази даних - скорочення надмірності збережених даних і усунення можливих потенційних аномалій роботи з базами даних. Для задоволення цих вимог Е.Коддом запропонований апарат нормалізації відношень.

Нормалізація відношень - це покроковий оборотний процес композиції чи декомпозиції вихідних відношень у відношення, що мають кращі властивості при включенні, зміні і видаленні даних.

При класичному підході до проектування БД весь процес проектування провадиться в термінах реляційної моделі даних методом послідовних наближень до задовільного набору схем відношень. Вихідною точкою є представлення предметної області у вигляді одного чи кількох відношень, і на кожнім кроці проектування створюється деякий набір схем відношень, що посідають кращі властивості. Процес проектування являє собою процес нормалізації схем відношень, причому кожна наступна нормальна форма має властивості кращі, ніж попередня.

У теорії реляційних БД звичайно виділяють 5 нормальних форм (перша (1NF), друга (2NF), третя (3NF), четверта (4NF), п’ята, чи нормальна форма проекції-з'єднання (5NF чи PJ/NF) та кілька їх різновидів, зокрема нормальна форма Бойса-Кодда (BCNF) (різновид 3-ї нормальної форми).

В основі процесу проектування реляційних БД лежить метод нормалізації. В процесі нормалізації здійснюється декомпозиція відношень, що знаходяться в попередній нормальній формі, у два чи більше відношень, що задовольняють вимогам наступної нормальної форми (НФ). Кожній нормальній формі відповідає деякий певний набір обмежень, і відношення знаходиться в певній нормальній формі, якщо задовольняє властивому їй набору обмежень.  Чим вище НФ, тим більше потенційних аномалій даних виключається, але й тим більше відношень міститься у схемі БД.

Основні властивості нормальних форм:

  • кожна наступна нормальна форма в деякому сенсі є більш обмеженою, але й кращою, ніж попередня;

  • при переході до наступної нормальної форми позитивні властивості (переваги) попередніх нормальних форм зберігаються.

За максимального ступеня нормалізації у БД міститиметься максимальне число відношень з мінімальним степенм кожного з них; при цьому суперечливість даних виключаються. Як наслідок, забезпечується адекватність БД предметній галузі, легкість її розробки і супроводження, швидкість операцій оновлення даних, але падає швидкість виконання вибірки даних, оскільки запит на вибірку переважно потребує виконання операції з’єднання відношень. Якщо цей параметр є критичним, у БД допускають певну надмірність даних, яку компенсують відповідними збереженими процедурами.

Нормальні форми відношень ґрунтуються на фундаментальних у теорії реляційних баз даних поняттях функціональної і багатозначної залежності, з яких випливають вимоги до групування атрибутів.

4. Функціональні залежності

Реляційна база даних містить як структурну, так і семантичну інформацію. Структурна інформація задається схемою відношення, а семантична виражається функціональними зв'язками між атрибутами схеми.

Дамо визначення функціональної залежності.

ВизначенняФункціональна залежність.

У відношенні R атрибут Y функціонально залежить від атрибута X (X і Y можуть бути складеними) у тому і тільки в тому випадку, якщо кожному значенню X відповідає в точності одне значення Y: R.X ->R.Y.

Табельний номер ->Прізвище; Посада ->Зарплата.

Функціональна залежність позначається X -> Y. Відзначимо, що X і Y можуть являти собою не тільки одиничні атрибути, але і групи, складені з декількох атрибутів одного відношення. Можна сказати, що функціональні залежності являють собою зв'язки типу "один до багатьох", що існують усередині відношення.

ВизначенняПовна функціональна залежність.

Функціональна залежність R.X -> R.Y називається повною, якщо атрибут Y не залежить функціонально від будь-якої точної підмножини X.

ВизначенняНеключовий атрибут.

Неключовим атрибутом називається будь-який атрибут відношення, який не входить до складу ключа (зокрема, первинного).

ВизначенняФункціонально повна і часткова залежність неключового атрибута від складеного ключа.

Неключовий атрибут функціонально повно залежить від складеного ключа, якщо він функціонально залежить від ключа, але не знаходиться у функціональній залежності ні від якої частини ключа, у протилежному випадку має місце часткова залежність.

Відношення:

Читання лекцій (Таб_номер, Назва_курсу, Кількість_годин)

Назва_курсу ->У_годин

Залежність неключового атрибута Кількість_годин від частини складеного ключа говорить про часткову залежність.

ВизначенняТранзитивна функціональна залежність.

Функціональна залежність R.X -> R.Y називається транзитивною, якщо існує такий атрибут Z, що існують функціональні залежності R.X -> R.Z і R.Z -> R.Y і відсутня функціональна залежність R.Z ->R.X. (При відсутності останньої вимоги ми мали б "нецікаві" транзитивні залежності в будь-якому відношенні, що має кілька ключів.)

Прізвище ->Офіс ->Телефон.

ВизначенняВзаємно незалежні атрибути.

Два чи більше атрибутів взаємно незалежні, якщо жоден з цих атрибутів не є функціонально залежним від інших.

У відношенні Читання лекцій:

В_годин ->->Таб_номер;

Таб_номер ->-> Кількість_годин.

 

Деякі функціональні залежності можуть бути небажаними.

Надлишкова функціональна залежність - залежність, що містить в собі таку інформацію, яка може бути отримана на основі інших залежностей, що є в базі даних.

Коректною вважається така схема бази даних, у якій відсутні надлишкові функціональні залежності. Звідси випливають умови до групування атрибутів по сутностях:

  • між атрибутами не повинно бути небажаних функціональних залежностей і вони повинні забезпечувати мінімальне дублювання даних;

  • обраний склад відношень повинен відрізнятися мінімальною надлишковістю атрибутів;

  • обрані для відношення первинні ключі повинні бути мінімальними;

  • не повинно бути труднощів при виконанні операцій включення, видалення і модифікації (аномалії);

  • перебудова набору відношень при введенні нових типів повинна бути мінімальною.

Якщо первинно у схемі відношень присутні надлишкові функціональні залежності, то доводиться удаватися до процедури декомпозиції (розкладання) наявної множини відношень. При цьому породжується множина відношень, що містить більшу кількість відношень, що є проекціями відношень вихідної множини. Оборотний покроковий процес заміни даної сукупності відношень іншою схемою з усуненням надлишкових функціональних залежностей і називається нормалізацією.

Умова оборотності вимагає, щоб декомпозиція зберігала еквівалентність схем при заміні однієї схеми на іншу, тобто в результуючих відношеннях:

  • не повинні з'являтися раніше відсутнє кортежі;

  • на відношеннях нової схеми повинна виконуватися вихідна множина функціональних залежностей.