d9e5a92d

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

Предположим, что проектирование базы данных Питание (рис. ) начинается с выявления атрибутов и подбора данных, образец которых (часть блюд изготовленных и реализованных 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

Рис. 4.1. Данные, необходимые для создания базы данных Питание
Таблица на рис. 4.2 представляет собой экземпляр корректного отношения. Его называют универсальным отношением проектируемой БД.

В одно универсальное отношение включаются все представляющие интерес атрибуты, и оно может содержать все данные, которые предполагается размещать в БД в будущем. Для малых БД (включающих не более 15 атрибутов) универсальное отношение может использоваться в качестве отправной точки при проектировании БД.
БлюдоВидРецептПорцийДата РПродуктКалорийностьВес (г)ПоставщикГородСтранаВес (кг)Цена ($)Дата П

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

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



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