Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
177
Добавлен:
17.02.2014
Размер:
487.94 Кб
Скачать

4.2. Нормализация

Нормализация – это разбиение таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных или процесс последовательной замены таблицы ее полными декомпозициями до тех пор, пока все они не будут находиться в 5НФ.

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

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

Нормальные формы. Таблица находится в первой нормальной форме (1НФ) тогда и только тогда, когда ни одна из ее строк не содержит в любом своем поле более одного значения и ни одно из ее ключевых полей не пусто.

Таблица находится во второй нормальной форме (2НФ), если она удовлетворяет определению 1НФ и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом.

Таблица находится в третьей нормальной форме (3НФ), если она удовлетворяет определению 2НФ и не одно из ее неключевых полей не зависит функционально от любого другого неключевого поля.

Выявим все атрибуты и подберем все данные из всей базы данных.

Таблица 8 – Универсальное отношение

Адрес клиента

Телефон клиента

Номер заказа

ФИО клиента

Код поставщика

Название фирмы

адрес фирмы

Контакт. телефон поставщика

ФИ партнера

Код автомобиля

Марка

Модель

Тип кузова

Год выпуска

Табельный номер

Должность

ФИО сотрудника

Год рождения

Паспортные данные

Код комплектации

АБС

АПС

КПП

Электрооборудование

Салон

Модель

Мощность двигателя

Крутящий момент

Время разгона

Количество мест

Расход бензина

Габаритные размеры

Масса автомобиля

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

Многие проблемы исчезнут, если выделить в отдельные таблицы сведения о поставщиках, автомобилях, клиентах и сотрудниках.

Запишем структуры таблиц после нормализации.

Таблица 9.1 – «Клиенты»

Код клиента

ФИО клиента

Адрес клиента

Телефон клиента

Таблица 9.2 – «Заказы»

Код клиента

Номер заказа

Таблица 10 – «Автомобили»

Код автомобиля

Марка

Модель

Тип кузова

Год выпуска

Код комплектации

Таблица 11 – «Сотрудники»

Табельный номер

ФИО сотрудника

Должность

Год рождения

Паспортные данные

Таблица 12 – «Поставщики»

Код поставщика

Название фирмы

Адрес поставщика

Контактный телефон

ФИ партнера

Таблица 13 – «Автосалон»

Код поставщика

Код клиента

Код автомобиля

Табельный номер

Таблица 14 – «Комплектация»

Код комплектации

АБС

ГУР

КПП

Электрооборудование

Салон

Таблица 15 – «Технические характеристики»

Модель

Мощность двигателя

Крутящий момент

Время разгона

Расход бензина

Габаритные размеры

Масса автомобиля

Теперь естественным соединением таблиц 9-15, можно образовать исходную таблицу 8. Следовательно, таблицы 9-15 являются полными декомпозициями таблицы 8.

Соседние файлы в папке Kursproekt