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

1.3 Нормалізація структури даних

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

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

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

1. Мінімальна надмірність. Пригадаємо, що у системі присутня надмірність, якщо одні й ті ж дані знаходяться в декількох місцях на зовнішній пам’яті. При цьому, не тільки нераціонально використовується місце в пам'яті, але й може виникати неузгодженість і неоднозначність даних.

2. Мінімальне використання невизначених значень. Існує безліч коректних представлень бази даних, але в деяких із них може виявитися багато кортежів, що містять невизначені значення (NULL).

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

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

Перша нормальна форма – 1NF. 1NF вимагає, щоб домени всіх атрибутів бази даних містили тільки прості неподільні значення, а значенням атрибуту в кортежі має бути одне значення з його домену.

Друга нормальна форма – 2NF. Таблиця знаходиться в другій нормальній формі (2NF), якщо вона, по-перше, знаходиться в 1NF і, по-друге, не містить неключових атрибутів, що знаходяться в частковій функціональній залежності від первинного ключа.

Поняття функціональної залежності необхідно сприймати як основоположне поняття теорії нормалізації. Функціональна залежність – це семантичне поняття, яке відображає певний семантичний зв'язок між атрибутами таблиці. Припустимо, що в таблиці існує множина атрибутів X. Якийсь атрибут або набір атрибутів А є функціонально залежним від X тоді і тільки тоді, коли кожній комбінації значень X відповідає одне, і лише одне значення А. Це позначається таким чином: X→А.

Тепер визначимо, що таке повна і часткова функціональні залежності. Атрибут А знаходиться в повній функціональній залежності від множини атрибутів {X,Y}, якщо він функціонально залежний від цієї множини атрибутів ({X,Y}→А), і не існує функціональної залежності А від будь-якої підмножини цієї множини. Якщо ж існує функціональна залежність Х→А, то А знаходиться в частковій функціональній залежності від {X,Y}.

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

Третя нормальна форма – 3NF. Таблиця знаходиться в 3NF, якщо вона: по-перше, знаходиться в 2NF і, по-друге, не містить транзитивних залежностей. Функціональна залежність між атрибутами, які не відносяться до ключових, називається транзитивною залежністю.

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

Спроектована база даних вже знаходиться у 3 нормальній формі, так як всі домени всіх атрибутів містять прості неподільні значення, всі первинні ключі базових таблиць складаються з одного атрибуту, крім «Адрес» де є складний первинний ключ. Також виділене максимальне число довідкових таблиць.