русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Связи более высокого порядка


Дата добавления: 2013-12-23; просмотров: 1211; Нарушение авторских прав


 

Рассмотрим предыдущий пример в базу данных “Рыболовный туризм”. Предположим, что туристы, нанимающие проводника, хотят знать, какую рыбу предпочитает ловить проводник.

 

Проводник Озеро Рыба
На рисунке 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. В данных отношениях есть повторяющиеся, вычеркиваем их (это Озеро,Рыба).

2. Объединям два отношения проводник (Проводник (Фам,…,Озеро) и Проводник (Фам,…,Вид)) в одно Проводник (Фам,…,Озеро, Вид).

3. Переписываем оставшиеся отношения дополняем их неключевыми атрибутами

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

Проводник (Пфам,…)

Озеро (озеро,…)

Обслуживает (Пфам, озеро)

б) Связь бинарная, степень связи N:M следовательно применяем правило номер 6

Водится (озеро,…,вид)

Озеро (озеро,…)

Рыба (вид,…)

в) Связь бинарная, степень связи N:M следовательно применяем правило номер 6

Проводник (Пфам,…)

Рыба (вид,…)

Предпочитает (Пфам, вид,…)

 

Проанализируем и реорганизуем полученные отношения:

 

1. В данных отношениях есть повторяющиеся, вычеркиваем их (это Озеро,Рыба).

2. Переписываем оставшиеся отношения дополняем их неключевыми атрибутами

3. Определяем ключи отношений.

 

Озеро (Озеро, Оценка)

Рыба (Вид, Вес, Наживка)



Проводник (Фам, Озеро, Тном, Плата, Группа)

Водится (Озеро, Вид)

Предпочитает (Фам, вид)

 

Все эти отношения находятся в НФБК, но отношение Предпочитает (Фам, вид) – некорректное так как из него можно сделать неверные выводы о предметной области.

Из полученных отношений можно заключить, что П1 обслуживает О1, в О1 водится Р2, П1 предпочитает ловить Р2. Из чего можно было бы сделать вывод, что П1 предпочитает ловить в О1 Р2, а это неверно. Следовательно, в данном случае только бинарными связями обойтись нельзя. Причина неудачи образования этой связи только с помощью бинарных связей заключается в следующем, что Пi проводник предпочитает ловить рыбу Рi в озере Оi т.е. здесь объединяются три сущности и такое высказывание нельзя заменить комбинациями из двух сущностей (т.е. заменить на бинарные связи).

Правильная модель должна использовать трехсторонний или трехмерный вид связи.

 

Рис. 7.49 Трехсторонний вид связи. Рис. 7.50 Диаграмма ER-экземпляра связи “Предпочитает”

 

 

Построим диаграмму-ER типа для трехсторонней связи “Предпочитает”:

 

Рис. 7.51 Диаграмма ER-типа трехcторонней связи “Предпочитает”

 



<== предыдущая лекция | следующая лекция ==>
Правило 6. | Использование ролей


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.