Основы проектирования реляционных баз данных

         

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


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

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

Блюдо Вид Рецепт Порций Дата Р Продукт Калорийность Вес (г) Поставщик

Город Страна Вес (кг) Цена ($) Дата П
Лобио Закуска Лом. 158 1/9/94 Фасоль 3070 200 "Хуанхэ" Пекин Китай 250 0.37 24/8/94
        Лук 450 40 "Наталка" Киев Украина 100 0.52 27/8/94
          Масло 7420 30 "Лайма" Рига Латвия 70 1.55 30/8/94
          Зелень 180 10 "Даугава" Рига Латвия 15 0.99 30/8/94
Харчо Суп ... 144 1/9/94 Мясо 1660 80 "Наталка" Киев Украина 100 2.18 27/8/94
          Лук 450 30 "Наталка" Киев Украина 100 0.52 27/8/94
          Томаты 240 40 "Полесье" Киев Украина 120 0.45 27/8/94
          Рис 3340 50 "Хуанхэ" Пекин Китай 75 0.44 24/8/94
          Масло 7420 15 "Полесье" Киев Украина 50 1.62 27/8/94
          Зелень 180 15 "Наталка" Киев Украина 10 0.88 27/8/94
Шашлык Горячее ... 207 1/9/94 Мясо 1660 180 "Юрмала" Рига Латвия 200 2.05 30/8/94
          Лук 450 40 "Полесье" Киев Украина 50 0.61 27/8/94
          Томаты 240 100 "Полесье" Киев Украина 120 0.45 27/8/94
          Зелень 180 20 "Даугава" Рига Латвия 15 0.99 30/8/94
Кофе Десерт ... 235 1/9/94 Кофе 2750 8 "Хуанхэ" Пекин Китай 40 2.87 24/8/94



Содержание раздела