Автор: Пользователь скрыл имя, 18 Ноября 2012 в 14:40, лекция
Лекции с глоссарием по базам данным
Таблица 7.23 R универсальное отношение. | ||||||
НП |
Фам |
Тел |
НК |
V |
В данной таблице есть кортежи с пустыми полями, следовательно, одним отношением не обойтись, значит, разбиваем отношение R на два отношения R1 и R2: | |
П1 |
Иванов |
32 |
К1 |
18 | ||
П2 |
Минин |
33 |
К2 |
36 | ||
П2 |
Минин |
33 |
K3 |
48 | ||
- |
- |
- |
К4 |
54 |
Таблица 7.24 R1 отношение “Преподаватель”. |
Таблица 7.25 R2 отношение “Курс_НП”. | |||||||
НП |
Фам |
Тел |
НК |
V |
НП | |||
П1 |
Иванов |
32 |
К1 |
К1 |
18 |
П1 | ||
П2 |
Минин |
33 |
К2 |
К2 |
36 |
П2 | ||
П2 |
Минин |
33 |
K3 |
К3 |
48 |
П2 | ||
К4 |
54 |
- |
В отношениях R1 и R2 присутствует избыточное дублирование и пустые поля – следовательно решение из двух отношений является не удолетворительным. Разобъем отношение R на три отношения R3, R4 и R5 как и в предыдущем случае что показанно в таблицах 7.20-7.22.
Для бинарной связи степени 1:N, N:1 с необязательным классом принадлежности n-связной сущности, то (независимо от класса принадлежности односвязной сущности) необходимо формирование трех отношений. Первое включает все атрибуты, характеризующую первую сущность. Второе включает все атрибуты, второй сущности. Третье отношение включает информацию о связи, в него будут помещенны ключи связи сущностей (возможны также и другие атрибуты). Ключами первых двух отношений будут ключи соответствующих сущностей. Ключ третьего отношения - ключ N–связной сущности.
Каждый преподаватель может читать несколько курсов, каждый курс может быть читаем несколькими преподавателями:
|
|
Рис. 7.38 ER-диаграмма связи “Преподаватель читает курс” M:N |
Составим универсальное
Таблица 7.21 R универсальное отношение. | |||||
НП |
Фам |
Тел |
НК |
V |
Отношение имеет пустые поля и избыточное дублирование. Попытаемся разделить информацию из отношения R на два отношения R1 и R2. Но оба эти отношения тоже будут содержать аномалии. Разбиваем отношения R на три отношения R3, R4 и R5 |
П1 |
Иванов |
32 |
К1 |
18 | |
П1 |
Иванов |
32 |
K2 |
36 | |
П2 |
Минин |
33 |
К1 |
18 | |
П2 |
Минин |
33 |
К2 |
36 | |
П3 |
Орлов |
34 |
- |
- | |
- |
- |
- |
К3 |
48 |
Таблица 7.22 R3 |
Таблица 7.23 R4 |
Таблица 7.24 R5 | |||||||
отношение “Преподаватель”. |
отношение “Читает”. |
отношение “Курс”. | |||||||
НП |
Фам |
Тел |
НП |
НК |
НК |
V | |||
П1 |
Иванов |
32-22-11 |
П1 |
К1 |
К1 |
18 | |||
П2 |
Минин |
33-98-76 |
П1 |
К2 |
K2 |
36 | |||
П3 |
Орлов |
34-87-98 |
П2 |
К1 |
К3 |
48 | |||
П2 |
К2 |
Все три отношения находятся в НФБК:
Преподаватель (НП, ФАМ, ТЕЛ)
Курс (НК, V)
Читает (НП, НК)
Если рассматривать три
Если связь бинарная, ее степень M:N, то при любых классах принадлежности обеих сущностей для хранения информации необходимо три отношения. В двух отношениях хранится информация о сущностях. Ключами этих отношений будут ключи соответствующих сущностей. В третьем отношении хранится информация о связи. В него включаются ключевые атрибуты обеих сущностей. Ключом этого отношения будет пара этих атрибутов.
Продолжаем пример базы данных “Рыболовный туризм”. Несколько изменим ограничения накладываемые предметной области. Экологи больше не возражают, чтобы сразу несколькими проводниками обслуживалось одно озеро. Туристы, нанимающие рыбаков, интересуются видами рыб, которые водятся в озерах, самыми крупными экземплярами, пойманными за сезон в регионе и лучшей наживкой для каждого вида рыб в регионе.
Фам |
- |
Фамилия проводника |
Т_ном |
- |
Номер телефона |
Плата |
- |
Еженедельная оплата |
Н_озера |
- |
Название озера |
Размер |
- |
Максимальный размер группы |
Оценка |
- |
Рыболовная оценка озера |
Вид |
- |
Виды рыб |
Вес |
- |
Вес самого большого экземпляра каждого вида |
Наживка |
- |
Лучшая наживка для каждого вида |
Из предметной области выделяем:
Сущности |
- |
ПРОВОДНИК, ОЗЕРО, РЫБА |
Связи |
- |
ОБСЛУЖИВАЕТСЯ, ВОДИТСЯ |
| |
Правило 4 |
Правило 6 |
Рис. 7.39 Диаграммы ER-типа связей “Обслуживает” и “Водится” |
Проводник |
Озеро |
Рыба |
| ||
Рис. 7.40 Диаграммы ER-экземпляров связей “Обслуживает” и “Водится” |
По ER-диаграмме составляем отношения:
для правила (4) |
- |
Проводник (Пфам, …,Нозеро) |
Озеро (Нозеро,…) | ||
для правила (6 ) |
- |
Озеро (Нозеро,…) |
Рыба (вид,…) | ||
Водится (Нозеро, вид,…) |
Далее составим отношения для всей схемы в общем:
Проводник (Фам, Тном, Плата, Размер, Нозеро)
Озеро (Нозеро, Оценка)
Рыба (Вид, Вес, Наживка)
Водится (Нозеро, Вид)
Проверяем находятся ли данные отношения в НФБК.
|
|
Рис. 7.41 Отношение “Озеро” |
Рис7.42 Отношение “Водится” |
|
|
Рис. 7.43 Отношение “Проводник” |
Рис. 7.44 Отношение “Рыба” |
Если мы проанализируем данные отношения, то обнаружим, что все они находятся в НФБК. Следовательно аномалий в базе данных “Рыболовный туризм” нет.
Рассмотрим предыдущий пример в базу данных “Рыболовный туризм”. Предположим, что туристы, нанимающие проводника, хотят знать, какую рыбу предпочитает ловить проводник.
Проводник |
Озеро |
Рыба | |
|
На рисунке 7.45 с помощью диаграммы ER-экземпляра показаны связи между сущностями ПРОВОДНИК, РЫБА и ОЗЕРО. Связь “Предпочитает” между сущностями ПРОВОДНИК и РЫБА показана пунктиром. | ||
Рис. 7.45 Диаграммы ER-экземпляров связей “Обслуживает”, “Водится” и “Предпочитает” |
Правило 4 (в) | |
Правило 4 (а) |
Правило 6 (б) |
Рис. 7.46 Диаграммы ER-типа связей “Обслуживает”, “Водится” и “Предпочитает” |
По диаграмме ER-типа из рисунка 7.46 определяем отношения:
а) Связь бинарная, степень связи N:1 класс, принадлежности N-связанной сущности
обязательный - следовательно применяем правило номер 4.
Проводник (Фам,…,Озеро)
Озеро (Озеро,…)
б) Связь бинарная, степень связи N:M следовательно применяем правило номер 6.
Озеро (Озеро,…)
Рыба (Вид,…)
Водится (Озеро, Вид,…)
в) Связь бинарная, степень связи N:1 класс, принадлежности N-связанной сущности
обязательный следовательно применяем правило номер 4.
Проводник (Фам,…,Вид)
Рыба (Вид,…)
Проанализируем и реорганизуем полученные отношения:
Проводник (Фам, Тном, Плата, Группа, Озеро, Вид)
Водится (Озеро, Вид)
Озеро (Озеро, Оценка)
Рыба (Вид, Вес, Наживка)
Все четыре отношения находятся в НФБК, следовательно вывод: бинарных связей в данном случае оказалось достаточно.
Усложним задачу: Дополним условия базы данных “Рыболовный туризм”.
Нам известно, что проводник может обслуживать несколько озер. Добавим к этому, что он может предпочитать ловить разную рыбу в разных озерах.
Предположим что:
П1 |
обслуживает |
О1 и О2 |
П2 |
обслуживает |
О2 |
П1 |
предпочитает |
Р1 в О1 |
П1 |
предпочитает |
Р2 в О2 |
П2 |
предпочитает |
Р2 в О2 |
|
Попробуем решить данную проблему используя только бинарные связи. По представленным данным составим диаграмму ER-экземпляра, изображенную на рис. 7.47. Где простой линией обозначена связь “обслуживает”, волнистой – “водится”, а пунктиром “предпочитает”. | |
Рис. 7.47 Диаграмма ER-экземпляра усложненного “Рыболовного туризма” |
Правило 6 (в) | |
Правило 6 (а) |
Правило 6 (б) |
Рис. 7.48 Диаграмма ER-типа усложненного “Рыболовного туризма” |
По диаграмме ER-типа из рисунка 7.48 определяем отношения:
а) Связь бинарная, степень связи N:M следовательно применяем правило номер 6