Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие.doc
Скачиваний:
153
Добавлен:
02.05.2014
Размер:
1.63 Mб
Скачать

1.6.3. Переход от диаграмм er – типа к отношениям

Связь ЧИТАЕТ, существующая между сущностями ПРЕПОДАВАТЕЛЬ и ДИСЦИПЛИНА называется бинарной, поскольку она связывает только две сущности. Бинарные связи встречаются наиболее часто.

Рассмотрим, как с использованием диаграммы ER-типа можно получить отношения, служащие основой построения БД.

Общий подход к построению БД с использованием ER-метода состоит прежде всего в построении диаграммы ER-типа, включающую в себя все сущности и связи, важные с точки зрения интересов пользователя.

Второй шаг в процессе проектирования состоит в построении набора предварительных отношений и указании предполагаемого первичного ключа для каждого отношения.

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

На этом последнем шаге для каждого отношения должны быть определены межатрибутные ФЗ, с помощью которых проверяется соответствие отношений НФБК. Если полученные в итоге отношения не находятся в НФБК, то к ним необходимо применить операцию декомпозиции, с последующей проверкой полученных отношений на нахождение в НФБК.

Если же некоторым атрибутам не находятся логически обоснованных мест в предварительных отношениях, то в этих случаях необходимо пересмотреть ER-диаграммы на предмет устранения возникших затруднений.

Предварительные отношения для бинарных связей степени 1:1

Предварительные отношения для данной бинарной связи могут быть получены путем просмотра нескольких логических альтернатив и выбора среди них наиболее подходящей. Перечень общих правил генерации отношений из диаграмм ER-типа можно получить, опираясь на класс принадлежности и степень связи как на определяющие факторы. С целью упрощения вывода этих правил будет использована ситуация ПРЕПОДАВАТЕЛЬ ЧИТАЕТ ДИСЦИПЛИНА (обсуждавшаяся ранее) вместе со ссылками на приведенные диаграммы. Обсуждение будет ограничено случаями, в которых степень бинарных связей равно 1:1.

При попытке определить как много отношений необходимо для размещения информации, содержащейся в бинарных связях степени 1:1, подобных приведенным на диаграммах ER-типа (см. рис.18), простейшим решением, на которое можно надеяться, является необходимость одного отношения. Пусть это отношение называется ПРЕПОДАВАТЕЛЬ и все атрибуты помещаются в это одно отношение. На рис.19 приведен экземпляр такого отношения в том случае, когда класс принадлежности является обязательным для обеих сущностей (см. рис.17, г и 18,г). В этом отношении сущность ПРЕПОДАВАТЕЛЬ была дополнена двумя типичными атрибутами: фамилия преподавателя (пфам) и телефон-преподавателя (птел). Один атрибут добавлен к сущности ДИСЦИПЛИНА: название дисциплины.

ПРЕПОДАВАТЕЛЬ (нп, пфам, птел, нд, название).

ПРЕПОДАВАТЕЛЬ

нп

пфам

птел

нд

название

П1

Кулаков

523298

Д1

ВМ

П2

Быков

536554

Д2

ТМ

П3

Пухова

426521

Д3

ВТ

П4

Ахмеров

348654

Д4

Физика

Рис.19. Экземпляр единичного отношения, в котором

содержатся данные в соответствии с рис.17,г и 18, г.

В этом специальном случае одно отношение это все, что требуется. Т.к. степень связи здесь 1:1 и класс принадлежности является обязательным как для сущности ПРЕПОДАВАТЕЛЬ, так и для сущности ДИСЦИПЛИНА, гарантируется однократное появление каждого значения нп и каждого значения нд в любом экземпляре отношения. Это значит, что отношение никогда не будет содержать ни пустой информации, ни повторяющихся групп избыточных данных.

Ключ сущности ПРЕПОДАВАТЕЛЬ был избран в качестве первичного ключа для отношения, но также может быть использован ключ сущности ДИСЦИПЛИНА.

Итак, можно сформулировать первое правило генерации отношения.

ПРАВИЛО 1. Если степень бинарной связи 1:1 и класс принадлежности обеих сущностей является обязательным, то требуется только одно отношение, первичным ключом этого отношения может быть ключ любой из двух сущностей. 

Если степень связи равна 1:1 и класс принадлежности одной сущности является обязательным, а другой - не обязательным, то одного отношения недостаточно. На рис.20 приведен экземпляр отношения в том случае, когда класс принадлежности сущности ПРЕПОДАВАТЕЛЬ является обязательным, а сущности ДИСЦИПЛИНА – не обязательным (см. рис. 17,б и 18,б). В этом случае пробелы появляются во всех кортежах, содержащих информацию о дисциплинах не читаемых ни одним из преподавателей. Пробелы обозначаются знаками "-".

ПРЕПОДАВАТЕЛЬ (нп, пфам, птел, нд, название)

ПРЕПОДАВАТЕЛЬ

нп

пфам

птел

нд

название

П1

Кулаков

523298

Д1

ВМ

П2

Быков

536554

Д2

ТМ

П3

Пухова

426521

Д3

ВТ

--

--

--

Д4

Физика

Рис.20. Экземпляр единичного отношения, в котором содержатся данные в соответствии с рис. 17,б и 18,б.

Глядя на это отношение, можно заключить, что способ исключения пробелов состоит в использовании вместо одного отношения двух. Каждое отношение будет содержать информацию, касающуюся одной сущности. Кроме того, ключ сущности, класс принадлежности которой является не обязательным, необходимо поместить в качестве атрибута в отношение, содержащее информацию о сущности, класс принадлежности которой является обязательным. Этот случай иллюстрируется на рис.21.

ПРЕПОДАВАТЕЛЬ (нп, Пфам, Птел, нд, )

ДИСЦИПЛИНА (нд ,название)

ПРЕПОДАВАТЕЛЬ ДИСЦИПЛИНА

нп

пфам

птел

нд

нд

название

П1

Кулаков

523298

Д1

Д1

ВМ

П2

Быков

536554

Д2

Д2

ТМ

П3

Пухова

426521

Д3

Д3

ВТ

Рис.21. Экземпляры двух отношений, в которых содержатся данные, приведенные на рис.17,б и 18,б.

Итак, второе правило генерации отношений.

ПРАВИЛО 2. Если степень бинарной связи равна 1:1 и класс принадлежности одной сущности является обязательным, а другой - необязательным, то необходимо построение двух отношений. Под каждую сущность необходимо выделение одного отношения, при этом ключ сущности должен служить первичным ключом для соответствующего отношения. Кроме того, ключ сущности, для которого класс принадлежности является не обязательным, добавляется в качестве атрибута в отношение, выделенное для сущности с обязательным классом принадлежности.

Если отклониться от правила 2 и добавить в отношение ДИСЦИПЛИНА в качестве атрибута ключ сущности ПРЕПОДАВАТЕЛЬ (нп), а в отношение ПРЕПОДАВАТЕЛЬ ничего не добавлять, то в этом случае в отношении ДИСЦИПЛИНА появятся пробелы во всех кортежах в поле нп, содержащих информацию о дисциплинах, которые не читаются.

Воспользовавшись этим правилом в ситуации, описанной на рис.17,в и 18,в, где класс принадлежности сущности ДИСЦИПЛИНА является обязательным, а сущности ПРЕПОДАВАТЕЛЬ - необязательным, получим следующие отношения:

ПРЕПОДАВАТЕЛЬ (нп, пфам, птел).

ДИСЦИПЛИНА (нд, название, нп).

В том случае, когда степень бинарной связи равна 1:1 и класс принадлежности ни одной из сущностей не является обязательным (см. рис.17,а и 18,а) необходимо формирование трех отношений: по одному для каждой сущности и одного для связи. На рис. 22 приведены экземпляры отношений, получаемые при использовании одного, двух и трех отношений

ПРЕПОДАВАТЕЛЬ

нп

пфам

птел

нд

название

П1

Кулаков

523298

Д1

ВМ

П2

Быков

536554

--

--

П3

Пухова

426521

Д3

ВТ

--

--

--

Д4

Физика

а) Использование одного отношения

ПРЕПОДАВАТЕЛЬ ДИСЦИПЛИНА

нп

пфам

птел

нд

нд

название

П1

Кулаков

523298

Д1

Д1

ВМ

П2

Быков

536554

--

Д2

ТМ

П3

Пухова

426521

Д3

Д3

ВТ

б) Использование двух отношений

ПРЕПОДАВАТЕЛЬ ДИСЦИПЛИНА

нп

пфам

птел

нд

название

П1

Кулаков

523298

Д1

ВМ

П2

Быков

536554

Д3

ВТ

П3

Пухова

426521

Д4

Физика

ЧИТАЕТ

нп

нд

П1

Д1

П3

Д3

в) Использование трех отношений

Рис. 22. Возможные варианты отношений для случая бинарной связи степени 1:1, когда ни один из классов принадлежности ни является обязательным.

Проблемы возникают везде, за исключением случая использования трех отношений. В этом случае отношение ПРЕПОДАВАТЕЛЬ содержит информацию о всех преподавателях, отношение ДИСЦИПЛИНА - обо всех дисциплинах, а отношение ЧИТАЕТ содержит номера дисциплины только тех, которые читаются, и номера преподавателей только тех, которые читают лекции по дисциплинам.

Итак, третье правило генерации отношений.

ПРАВИЛО 3. Если степень бинарной связи равна 1:1 и класс принадлежности ни одной сущности не является обязательным, то необходимо использовать три отношения: по одному для каждой сущности, ключи которых служат в качестве первичных ключей в соответствующих отношениях, и одного для связи. Среди своих атрибутов отношение, выделяемое связи, будет иметь по одному ключу сущности от каждой сущности.

Соседние файлы в предмете Базы данных