Универсальное отношение
Предположим, что проектирование базы данных "Питание" (рис. 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. Универсальное отношение "Питание"
Дата добавления: 2020-10-25; просмотров: 179;