Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Пример нормализации таблиц




В качестве примера рассмотрим базу данных «Учет заказов покупателей», содержащая следующую информацию: сведения о покупателе; дату заказа и количество заказанного товара; дату выполнения заказа и количество проданного товара; характеристика проданного товара.

Рисунок Структура таблицы ФИРМА

Таблица 1.1

Примеры хранимых данных

Имя поля Запись1 Запись2 Запись3
Фам_покупателя Иванов С.С. Лужкова Л.А. Иванов С.С.
Телефон 20-30-21 22-34-56 20-30-21
Индекс      
Город г.Тольятти г.Тольятти г.Тольятти
Адрес ул Дорожная 22 ул.Заречная 98 ул Дорожная 22
Предприятие ООО «Луг» ООО «Стриж» ООО «Луг»
Руководитель Сидоров Р.И. Морозов С.П. Сидоров Р.И.
Кредит      
Дата_заказа 12.03.2005 12.03.2005 15.03.2005
Кол_заказано      
Дата_продажи 13.03.2005 12.03.2005 15.03.2005
Кол_продано      
Цена 10 р. 156 р. 10 р.
Наимен_категории Хлебо-булочная Хлебо-булочная Хлебо-булочная
Наимен_ товара хлеб «Бородинский» Торт «Марс» хлеб Бородинский»

 

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

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

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

Разобьем таблицу ФИРМА на ПОКУПАТЕЛЬ и ЗАКАЗ:

 

 

Рис. Приведение к первой нормальной форме.

 

Между таблицами будет связь один ко многим по коду покупателя.

Понятие 2-ой нормальной формы применимо только к таблицам имеющим составной ключ.

В данном примере таблица ЗАКАЗ имеет составной индекс: код покупателя + код товара + Дата_заказа. Поля Наимен_товара, Цена, Наимен_категории однозначно определяются только одним из индексным полем Код товара.

Для приведения таблицы ко второй нормальной форме разделим таблицу ЗАКАЗ на две:

Рис. Приведение ко второй нормальной форме. Для связывания таблиц используется Код товара.

 

В таблице ПОКУПАТЕЛЬ поле Руководитель содержит имена руководителей, которые однозначно определяются значением поля Предприятие. Посколько неиндексное поле Руководитель однозначно определяется другим неиндексным полем Предприятие, то таблица Покупатель не является таблицей в третьей нормальной форме. Тоже и полем Наимен_категории и Наимен_товара в таблице ТОВАР.

Для приведения этих таблиц к третьей нормальной форме создадим новые таблицы КАТЕГОРИЯ и ПРЕДПРИЯТИЕ.

Рис. Приведение к третьей нормальной форме.

 

После определения структуры таблиц, строится Информационно-логическая модель.

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

 

КАТЕГОРИЯ ТОВАР

ЗАКАЗ

 

ПРЕДПРИЯТИЕ ПОКУПАТЕЛЬ

 

Рисунок Логическая структура реляционной базы данных.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных