Пятая нормальная форма

Четвертая нормальная форма

Для приведения таблицы, находящейся в нормальной форме Бойса-Кодда, к четвертой нормальной форме необходимо устранить имеющиеся в ней многозначные зависимости. То есть обеспечить, чтобы вставка / удаление любой строки таблицы не требовала бы вставки / удаления / модификации других строк этой же таблицы.

Таблицу, находящуюся в четвертой нормальной форме и, казалось бы, уже нормализованную до предела, в некоторых случаях еще можно бывает разбить на три или более (но не на две!) таблиц, соединив которые, мы получим исходную таблицу. Получившиеся в результате такой, как правило, весьма искусственной, декомпозиции таблицы и называют находящимися в пятой нормальная форме. Формальное определение пятой нормальной формы таково: это форма, в которой устранены зависимости соединения. В большинстве случаев практической пользы от нормализации таблиц до пятой нормальной формы не наблюдается.

Разработаны специальные формальные математические методы нормализации таблиц реляционных баз данных. На практике же толковый проектировщик баз данных, детально познакомившись с предметной областью, как правило, достаточно быстро набросает структуру, в которой большинство таблиц находятся в четвертой нормальной форме).

Главное, чего мы добьемся, проведя нормализацию базы данных - это устранение (или, по крайней мере, серьезное сокращение) избыточности, дублирования данных. Как следствие, значительно сокращается вероятность появления противоречивых данных, облегчается администрирование базы и обновление информации в ней, сокращается объем дискового пространства.

Например, данные о сотрудниках мы разделили на две таблицы «Сотрудники» и «Дополнительные сведения». В таблицу «Сотрудники» занесены данные, которые потребуются при работе сотрудника с клиентом, а в таблице «Дополнительные сведения» хранятся данные, необходимые при приёме сотрудника на работу и не нужные при работе сотрудника с заказами.

При дальнейшем создании базы обратите особое внимание на распределение данных в таблицах, зависимость неключевых полей от первичного ключа и их независимость от других неключевых полей.

1. Любым способом создайте таблицы «Товары», «Типы», «Клиенты», «Поставщики», «Заказано», «Заказы», «Доставка».

1.1. Таблица Типы должна содержать следующие поля: КодТипа (счётчик, ключевое), Категория (текстовый).

1.2. Таблицу «Клиенты» составьте из полей: КодКлиента (ключевое, текстовый: уникальный пятисимвольный код, образуемый из названия организации), Название (текстовый), ОбращатьсяК (текстовый), Должность (текстовый), Адрес (текстовый), Город (текстовый), телефонФакс (текстовый).

1.3. В таблице «Поставщики» создайте поля: КодПоставщика (счётчик, ключевое), Название (текстовый), ОбращатьсяК (текстовый), Должность (текстовый), Адрес (текстовый), город (текстовый), Страна (текстовый), ТелефонФакс (текстовый).

1.4. В таблице «Доставка» создайте поля: КодДоставки (счётчик, ключевое), Название (текстовый), Телефон (текстовый).

1.5. Таблица «Товары» должна содержать следующие поля: КодТовара (ключевое, счётчик), Марка (текстовый), КодТипа (числовой), КодПоставщика (числовой), ЕдиницаИзмерения (текстовый), Цена (денежный), НаСкладе (текстовый), Ожидается (числовой), МинЗапас (числовой), ПоставкиПрекращ (логический).

Поля «КодТипа» и «КодПоставщика» заполняются по подстановке из таблицы «Типы» и «Поставщики» соответственно. В таблице «Типы» выбирается поле «Категория», в таблице «Поставщики» - поле «Название». Названия полей в таблице «Товары» меняются на «Категория» и «Поставщик» соответственно.

Использование Мастера подстановок: лабораторная работа №3.

Внимание! Тип данных поля, в котором используется Мастер подстановок, должен соответствовать типу данных ключевого поля подстановочной таблицы.

1.6. В таблице «Заказы» должны быть поля: КодЗаказа (счётчик, ключевое), КодКлиента (текстовый), КодСотрудника (числовой), ДатаРазмещения (дата/время), ДатаНазначения (дата/время), ДатаИсполнения (дата/время), Доставка (числовой), СтоимостьДоставки (денежный).

Поля «КодКлиента», «КодСотрудника» и «Доставка» заполняются по подстановке. Для поля «КодКлиента» подстановочная таблица «Клиенты» (поле «Название»), для поля «КодСотрудника» – «Сотрудники» (поле «Фамилия»), для поля «Доставка» – «Доставка» («Название»).

1.7. В таблице «Заказано» ключевыми являются два поля, т.е. имеется составной ключ. Создайте следующие поля: КодЗаказа (числовой, ключевое), КодТовара (числовой, ключевое), Количество (числовой), Скидки (числовой). Чтобы создать составной ключ, выделите оба поля, удерживая левую клавишу мыши и нажмите на пиктограмме ключа.

Поле «КодТовара» заполняется по подстановки из таблицы «Товары» (поле «Марка») Измените название поля «КодТовара» на «НаименованиеТовара».

Поле «Скидки» должно иметь процентное значение: в режиме Конструктор в Свойствах поля укажите Размер поля - одинарное с плавающей точкой, Формат поля - процентный, Десятичных знаков - 0, Значение по умолчанию - 0, Условие на значение - Between 0 And 1, Сообщение об ошибке - необходимо ввести знак процента.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: