Универсальное отношение

Предположим, что проектирование базы данных "Питание" (рис. 3.2) начинается с выявления атрибутов и подбора данных, образец которых (часть блюд изготовленных и реализованных 1/9/94 г.) показан на рис. 4.1.

Этот вариант таблицы "Питание" не является отношением, так как большинство ее строк не атомарны. Атомарными являются лишь значения полей Блюдо, Вид, Рецепт (хотя он и большой), Порций и Дата_Р остальные же поля таблицы рис. 4.1 – множественные. Для придания таким данным формы отношения необходимо реконструировать таблицу. Наиболее просто это сделать с помощью простого процесса вставки, результат которой показан на рис. 4.2. Однако такое преобразование приводит к возникновению большого объема избыточных данных.

Блюдо Вид Рецепт Порций Дата Р Продукт Калорийность Вес (г) Поставщик Город Страна Вес (кг) Цена ($) Дата П
Лобио Закуска Лом.   1/9/94 Фасоль     "Хуанхэ" Пекин Китай   0.37 24/8/94
          Лук     "Наталка" Киев Украина   0.52 27/8/94
          Масло     "Лайма" Рига Латвия   1.55 30/8/94
          Зелень     "Даугава" Рига Латвия   0.99 30/8/94
Харчо Суп ...   1/9/94 Мясо     "Наталка" Киев Украина   2.18 27/8/94
          Лук     "Наталка" Киев Украина   0.52 27/8/94
          Томаты     "Полесье" Киев Украина   0.45 27/8/94
          Рис     "Хуанхэ" Пекин Китай   0.44 24/8/94
          Масло     "Полесье" Киев Украина   1.62 27/8/94
          Зелень     "Наталка" Киев Украина   0.88 27/8/94
Шашлык Горячее ...   1/9/94 Мясо     "Юрмала" Рига Латвия   2.05 30/8/94
          Лук     "Полесье" Киев Украина   0.61 27/8/94
          Томаты     "Полесье" Киев Украина   0.45 27/8/94
          Зелень     "Даугава" Рига Латвия   0.99 30/8/94
Кофе Десерт ...   1/9/94 Кофе     "Хуанхэ" Пекин Китай   2.87 24/8/94

Рис. 4.1. Данные, необходимые для создания базы данных "Питание"

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

Блюдо Вид Рецепт Порций Дата Р Продукт Калорийность Вес (г) Поставщик Город Страна Вес (кг) Цена ($) Дата П
Лобио Закуска Лом.   1/9/94 Фасоль     "Хуанхэ" Пекин Китай   0.37 24/8/94
Лобио Закуска Лом   1/9/94 Лук     "Наталка" Киев Украина   0.52 27/8/94
Лобио Закуска Лом   1/9/94 Масло     "Лайма" Рига Латвия   1.55 30/8/94
Лобио Закуска Лом   1/9/94 Зелень     "Даугава" Рига Латвия   0.99 30/8/94
Харчо Суп ...   1/9/94 Мясо     "Наталка" Киев Украина   2.18 27/8/94
Харчо Суп ...   1/9/94 Лук     "Наталка" Киев Украина   0.52 27/8/94
Харчо Суп ...   1/9/94 Томаты     "Полесье" Киев Украина   0.45 27/8/94
Харчо Суп ...   1/9/94 Рис     "Хуанхэ" Пекин Китай   0.44 24/8/94
Харчо Суп ...   1/9/94 Масло     "Полесье" Киев Украина   1.62 27/8/94
Харчо Суп ...   1/9/94 Зелень     "Наталка" Киев Украина   0.88 27/8/94
Шашлык Горячее ...   1/9/94 Мясо     "Юрмала" Рига Латвия   2.05 30/8/94
Шашлык Горячее ...   1/9/94 Лук     "Полесье" Киев Украина   0.61 27/8/94
Шашлык Горячее ...   1/9/94 Томаты     "Полесье" Киев Украина   0.45 27/8/94
Шашлык Горячее ...   1/9/94 Зелень     "Даугава" Рига Латвия   0.99 30/8/94
Кофе Десерт ...   1/9/94 Кофе     "Хуанхэ" Пекин Китай   2.87 24/8/94

Рис. 4.2. Универсальное отношение "Питание"


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



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