n="justify"> · 5-я нормальна форма
Практично використовуються тільки перші три. Розглянемо процес приведення до 1НФ, 2НФ і 3НФ. [1]
Розглянемо універсальну таблицю, до якої включаються всі атрибути.
ООО Татлесстрой (Паспорт, ПІБ, дата народження, адреса, Дата працевлаштування, Табельний № змін, Найменування зміни, Номер посади, Посада, Оклад, Години роботи зміни на день, Годинники роботи зміни в ніч, Час доби, Дата початку роботи зміни, Дата кінця роботи зміни, Кількість (пач/шт) за планом, Кількість (пач/шт) факт, Код продукції, Назва продукції, Довжина (мм), Ширина (мм), Висота (мм), Вага (кг), Кількість штук продукції в пачці , Ціна (1заШт), Дата складання документа, Кількість (пач/шт) переданих на склад, Номер документа., Код складу, Назва складу, Адреса, Тел).
Ключове поле - це одне або кілька полів, комбінація значень яких однозначно визначає кожний запис у таблиці. Якщо для таблиці визначені ключові поля, то Microsoft Access запобігає дублюванню або введення порожніх значень в ключове поле. Ключові поля використовуються для швидкого пошуку та зв'язку даних з різних таблиць за допомогою запитів, форм і звітів. [1]
Ключі (Паспорт, Табельний № змін, Номер посади, Код продукції, Код складу).
Щоб нормалізувати дану вихідну таблицю необхідно її привести спочатку до першої, потім до другої, а потім і до третьої нормальної форми. [2]
Домен - це деяка підмножина значень деякого типу даних, якому наказаний певний сенс. [3]
Властивості домену:
1. має унікальне ім'я в межах БД;
2. визначений на простому типі даних;
. може мати деякий логічне умова, що визначає то підмножина даних, яке допустимо для даного домена.
домен є:
· коди (Номер посади, Паспорт, Код змін, Код продукції, Код складу);
· найменування (Посада, ПІБ, Адреса співробітника, Найменування зміни, Години роботи в день, Години роботи в ніч, Час доби, Назва продукції, Назва складу, Адреса складу);
· дати (Дата Народження, Дата Трудоустройства, Дата початку роботи змін, Дата кінця роботи змін, Дата складання документа);
· числа (Оклад, Довжина (мм), Ширина (мм), Висота (мм), Вага (кг), Кол (шт/в/пачці), Ціна (1заШт), Тел складу, кол (пач/шт) план, Кол (пач/шт) факт, Кол (пач/шт) на передачу, Номер документа).
Так як домени для кожного атрибута є простими, то відносини знаходяться в першій нормальній формі.
Також слід перевірити, чи виконуються в нашій реляційної таблиці аномалії. Аномалії бувають трьох видів: видалення, вставки і коректування.
· Аномалія видалення виконується (тому видалення будь-якого рядка з нашої таблиці призведе до втрати інформації);
· Аномалія вставки виконується (тому що при будь-якої вставці в нашу таблицю, нам буде потрібно вносити дані, які ще не існують);
· Аномалія коригування виконується (тому що при внесенні виправлень інформації в одному місці, ми будемо змушені вносити зміни і в іншому).
Відношення знаходиться в другій нормальній формі, якщо воно знаходиться в першій нормальній формі, і кожен не ключовий атрибут функціонально повно залежить від первинного ключа, інакше кажучи, немає ніяких неключових атрибутів, які залежать від частини складеного ключа.
Будемо називати 2 поля таблиці X і Y знаходяться у функціональній залежності, якщо поле Y в будь-який момент часу приймає рівно одне значення в залежності від поля значення X.
Тут мають місце такі функціональні залежності:
Код Складу (Найменування складу, Адреса, Тел).
Код продукції (Назва продукції, Довжина (мм), Ширина (мм), Висота (мм), Вага (кг), Кількість (шт/в/пачці), Ціна (1заШт)).
Код зміни (Найменування зміни, Години роботи в день, Години роботи в ніч).
Паспорт (ПІБ, дата народження, адреса, Дата працевлаштування).
Номер посади (Посада, Оклад).
Код зміни (Час Доби, Дата початку роботи змін, Дата кінця роботи змін, Кількість (пач/шт) план, Кількість (пач/шт) факт).
(Номер Документа) (Дата складання, Кількість (пач/шт)).
Звідси випливає, що мають не ключові атрибути, які залежать від частини складного ключа. Розіб'ємо їх так, щоб в одній таблиці знаходилися ключ і від нього залежать атрибути.
У кожного співробітника повинна бути посада, і він повинен працювати в одній зміні. Щоб показати залежні...