ROBOWEB : Документация : Универсальное отношение : html, perl, cgi, php, css, 3dmax - 3D Studio русская документация с примерами программ, RTFM и описание протоколов, описание dreamweaver, все для вебдизайнера
Разработка сайтов, web дизайн - Центр Русского Дизайна HOD.RU
FLASH
3D Studio MAX
DreamWeawer FAQ
Изучение HTML
META тэги
CSS
Руководство по стилям
Спецификация WML (WAP)
Язык DHTML
Спецификация XML
Руководство по Java
Документация по JavaScript
Язык HOD Text Processor
Интерфейс CGI
Документация по Perl 5
Perl FAQ
Документация по PHP
PHP/FI 2.0
Документация по SQL
Базы данных
Доступ к БД

Рейтинг@Mail.ru Rambler's Top100

Веб дизайнеру
Каталог сайтов Axes.ru


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

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

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

БлюдоВидРецептПорцийДата РПродуктКалорийностьВес (г)ПоставщикГородСтранаВес (кг)Цена ($)Дата П
ЛобиоЗакускаЛом.1581/9/94Фасоль3070200"Хуанхэ"ПекинКитай2500.3724/8/94
     Лук45040"Наталка"КиевУкраина1000.5227/8/94
     Масло742030"Лайма"РигаЛатвия701.5530/8/94
     Зелень18010"Даугава"РигаЛатвия150.9930/8/94
ХарчоСуп...1441/9/94Мясо166080"Наталка"КиевУкраина1002.1827/8/94
     Лук45030"Наталка"КиевУкраина1000.5227/8/94
     Томаты24040"Полесье"КиевУкраина1200.4527/8/94
     Рис334050"Хуанхэ"ПекинКитай750.4424/8/94
     Масло742015"Полесье"КиевУкраина501.6227/8/94
     Зелень18015"Наталка"КиевУкраина100.8827/8/94
ШашлыкГорячее...2071/9/94Мясо1660180"Юрмала"РигаЛатвия2002.0530/8/94
     Лук45040"Полесье"КиевУкраина500.6127/8/94
     Томаты240100"Полесье"КиевУкраина1200.4527/8/94
     Зелень18020"Даугава"РигаЛатвия150.9930/8/94
КофеДесерт...2351/9/94Кофе27508"Хуанхэ"ПекинКитай402.8724/8/94

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

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

БлюдоВидРецептПорцийДата РПродуктКалорийностьВес (г)ПоставщикГородСтранаВес (кг)Цена ($)Дата П
ЛобиоЗакускаЛом.1581/9/94Фасоль3070200"Хуанхэ"ПекинКитай2500.3724/8/94
ЛобиоЗакускаЛом1081/9/94Лук45040"Наталка"КиевУкраина1000.5227/8/94
ЛобиоЗакускаЛом1081/9/94Масло742030"Лайма"РигаЛатвия701.5530/8/94
ЛобиоЗакускаЛом1081/9/94Зелень18010"Даугава"РигаЛатвия150.9930/8/94
ХарчоСуп...1441/9/94Мясо166080"Наталка"КиевУкраина1002.1827/8/94
ХарчоСуп...1441/9/94Лук45030"Наталка"КиевУкраина1000.5227/8/94
ХарчоСуп...1441/9/94Томаты24040"Полесье"КиевУкраина1200.4527/8/94
ХарчоСуп...1441/9/94Рис334050"Хуанхэ"ПекинКитай750.4424/8/94
ХарчоСуп...1441/9/94Масло742015"Полесье"КиевУкраина501.6227/8/94
ХарчоСуп...1441/9/94Зелень18015"Наталка"КиевУкраина100.8827/8/94
ШашлыкГорячее...2071/9/94Мясо1660180"Юрмала"РигаЛатвия2002.0530/8/94
ШашлыкГорячее...2071/9/94Лук45040"Полесье"КиевУкраина500.6127/8/94
ШашлыкГорячее...2071/9/94Томаты240100"Полесье"КиевУкраина1200.4527/8/94
ШашлыкГорячее...2071/9/94Зелень18020"Даугава"РигаЛатвия150.9930/8/94
КофеДесерт...2351/9/94Кофе27508"Хуанхэ"ПекинКитай402.8724/8/94

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



Содержание