Из анализа данной таблицы видно, что атрибуты о ценах конкретного монитора на определенную дату («дата», «цена») являются повторяющимися группами, причем эта повторяющаяся группа является вложенной по отношению к группе данных о мониторах. Сведения о поставщиках (Наименование, Адрес, Телефон, ФИО ответственного лица, E-mail и др.), о мониторах, о динамике цен можно сразу выделить в отдельные отношения и выполнить приведение исходного отношения к первой нормальной форме. Однако мы воспользуемся способом исключения повторяющихся групп: занесем атрибуты поставщика в исходное отношение, заполним пустые ячейки таблицы дубликатами соответствующей информации о поставщиках и мониторах и определим первичный ключ полученного отношения.
Исходное отношение примет следующий вид (для краткости в приведенной ниже таблице опустим информацию обо всех реквизитах поставщиков, кроме наименования):
Поставщик | Фирма | Модель | Тип | Диагональ | Max разрешение | Дополнительная | Страна | Дата | Цена, у. е. |
НЭТА | SyncMaster 551S | CRT | 15 | 1024*768 | ТСО’99 | Южная Корея | 03.04.03 | 137 | |
НЭТА | Samsung | SyncMaster 551S | CRT | 15 | 1024*768 | ТСО’99 | Южная Корея | 03.05.03 | 137 |
НЭТА | Samsung | SyncMaster 551S | CRT | 15 | 1024*768 | ТСО’99 | Южная Корея | 03.06.03 | 140 |
… | … | … | … | … | … | … | … | … | … |
НЭТА | Samsung | SyncMaster 765MB | CRT | 17 | 1280*1024 | ТСО’99 | Южная Корея | 03.04.03 | 228 |
НЭТА | Samsung | SyncMaster 765MB | CRT | 1280*1024 | ТСО’99 | Южная Корея | 03.05.03 | 228 | |
НЭТА | Samsung | SyncMaster 765MB | CRT | 1280*1024 | ТСО’99 | Южная Корея | 03.06.03 | 226 | |
… | … | … | … | … | … | … | … | … | ... |
НЭТА | Samsung | Samtron 56E | CRT | 15 | 1024*768 | ТСО’95 | Южная Корея | 03.04.03 | 140 |
НЭТА | Samsung | Samtron 56E | CRT | 15 | 1024*768 | ТСО’95 | Южная Корея | 03.05.03 | 142 |
НЭТА | Samsung | Samtron 56E | CRT | 15 | 1024*768 | ТСО’95 | Южная Корея | 03.06.03 | 140 |
… | … | … | … | … | … | … | … | … | … |
MyFirm | Samsung | SyncMaster 551S | CRT | 15 | 1024*768 | ТСО’99 | Южная Корея | 03.04.03 | 145 |
MyFirm | Samsung | SyncMaster 551S | CRT | 15 | 1024*768 | ТСО’99 | Южная Корея | 03.05.03 | 145 |
MyFirm | Samsung | SyncMaster 551S | CRT | 15 | 1024*768 | ТСО’99 | Южная Корея | 03.06.03 | 140 |
… | … | … | … | … | … | … | … | … | … |
MyFirm | Sony | SDM-X52 | TFT LSD | 15 | 1024*768 | ТСО’99 | Япония | 03.04.03 | 543 |
MyFirm | Sony | SDM-X52 | TFT LSD | 15 | 1024*768 | ТСО’99 | Япония | 03.05.03 | 545 |
MyFirm | Sony | SDM-X52 | TFT LSD | 15 | 1024*768 | ТСО’99 | Япония | 03.06.03 | 543 |
… | … | … | … | … | … | … | … | … | … |
Приняв во внимание, что атрибуты, представляющие собой различные названия и наименования, имеют тип данных "строка" и, следовательно, их использование в качестве составной части первичного ключа не очень удобно, введем для всех таких атрибутов с целью однозначной идентификации соответствующих им объектов искусственные ключи типа «код модели» и т. д. Это позволяет на практике значительно ускорить обработку данных (например, ускоряется выполнение операций соединения в процессе выборки данных из разных таблиц). Поэтому в дальнейшем примем за правило заменять подобным образом строковые первичные ключи, не оговаривая это в каждом отдельном случае.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 |


