R), то кажуть, що атрибут X функціонально визначає атрибут Y, або що у відношенні R є функціональна залежність Y (X ® Y).
Ліва частина ФЗ називається детерминантом, права частина - залежною частиною.
На кожному кроці процедури нормалізації виходять деякі нормалізовані відносини, що знаходяться в деякій нормальній формі, якщо воно задовольняє заданому набору умов.
Для виконання нормалізації відносин побудували діаграми ФЗ для всіх відносин (Малюнок 1-6).
Відносини знаходяться в деякій нормальній формі, якщо вони задовольняють заданому набору умов.
Відношення знаходиться в 1НФ тоді і тільки тоді, коли воно містить тільки скалярні значення.
Всі представлені відносини знаходяться в 1НФ, тому всі використовувані домени містять тільки скалярні значення.
Рисунок 1 - Діаграма функціональної залежності відносини Машина
Малюнок 2 - Діаграма функціональної залежності відносини Ремонт
Малюнок 3 - Діаграма функціональної залежності відносини Запчастина
Малюнок 4 - Діаграма функціональної залежності відносини Техобслуговування
Малюнок 5 - Діаграма функціональної залежності відносини Використовуються
Малюнок 6 - Діаграма функціональної залежності відносини Надходить
Відношення знаходиться в 2НФ, тоді і тільки тоді, коли воно знаходиться в 1НФ і в ньому відсутні приводяться значення.
Всі представлені відносини перебувають у 2НФ, тому немає приводяться залежностей.
Відношення знаходиться в ЗНФ тоді і тільки тоді, коли воно знаходиться в 2НФ і кожен його неключових атрибут функціонально залежить тільки від первинного ключа.
Всі представлені відносини знаходяться також у ЗНФ, тому всі неключові атрибути взаємно незалежні і функціонально залежать тільки від первинного ключа.
Отже, представлені відношення не потребують подальшої нормалізації - немає потреби у подальшому розбитті (декомпозиції) вихідних відносин за спеціальними правилами.
4. Опис таблиць мовою SQL
(Structured Query Language) - структурована мова запитів. Було здійснено опис існуючих таблиць БД «Автомайстерня» мовою SQL.
Таблиця Машина
Створення табліциTABLE Машина (Рег номер # ТEXT NOT NULL,
Власник CHAR (50),
Марка CHAR (50),
Колір CHAR (50), KEY (Рег номер #));
Таблиця Ремонт
Створення табліциTABLE Ремонт (Код послуги # INTEGER NOT NULL,
Вид роботи CHAR (50),
Стоимость CURRENCY, KEY (Код послуги));
Таблиця Запчастина
Створення табліциTABLE Запчастина (Артикул # ТEXT NOT NULL,
Найменування CHAR (50),
Ціна CURRENCY, KEY (Артикул #));
Таблиця Техобслуговування
Створення табліциTABLE Техобслуговування (№ техобс # INTEGER NOT NULL,
Реєстр номер # INTEGER NOT NULL,
Дата DATE,
Вид роботи CHAR (200), KEY (№ техобс #)); KEY (Рег номер #) REFERENCES МашінаDELETE NO ACTIONUPDATE CASCADE)
Таблиця Використовуються
Створення табліциTABLE Використовуються (Код послуги # INTEGER NOT NULL,
Артикул # ТEXT NOT NULL,
Дата DATE,
Вид роботи CHAR (50), KEY (Код послуги #, Артикул #) KEY (Код послуги #) REFERENCES РемонтDELETE NO ACTIONUPDATE CASCADEKEY (Артикул #) REFERENCES ЗапчастьDELETE NO ACTIONUPDATE CASCADE);
Таблиця Надходить
Створення табліциTABLE Надходить (Код послуги # INTEGER NOT NULL,
Реєстр номер # TEXT NOT NULL,
Дата DATE, KEY (Код послуги #, Рег номер #) KEY (Код послуги #) REFERENCES РемонтDELETE NO ACTIONUPDATE CASCADEKEY (Рег номер) REFERENCES МашінаDELETE NO ACTIONUPDATE CASCADE)
5. Обмеження цілісності даних
Кожна БД відображає деякі сторони реального світу. Тому дані в таблицях повинні відповідати деяким обмеженням, відповідним обмеженням реального світу.
Набір обмежень для кожної БД відображає особливості предметної області. Але існують два правила, які повинні виконуватися для будь-якої таблиці будь БД - загальні обмеженнями цілісності.