w
Предположим, что проектирование
базы данных "Питание" (рис. 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 |
Рис. 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. Универсальное
отношение "Питание"
|