Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инф.сис_вместе..doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.8 Mб
Скачать

7.1.Сущности и связи

Рассмотрим простейший пример. Предположим, проектируется БД, предназначенная для хранения информации о преподавателях и курсах, которые они читают. Двумя главными объектами, или сущностями, представляющими в данном случае интерес, являются «Преподаватель» и «курс». Между этими сущностями существует связь ЧИТАЕТ.

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

Диаграмма еr–экземпляров:

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

Д иаграмма er–типа:

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

Термины, используемые в ER–методе, не могут быть определены строго, тем не менее, их необходимо определить.

Сущность определяется как некий объект, представляющий интерес для пользователей БД. Этот объект должен иметь экземпляры, отличающиеся друг от друга и допускающие однозначную идентификацию. Признак, который может помочь в отыскании сущности состоит в том, что сущность это как правило, существительное (в инфологической модели предметной области).

Связь представляет собой взаимодействие между двумя или более сущностями. При поиске сущностей следует иметь в виду, что связь, как правило, глагол (в инфологической модели ПО).

Атрибут есть свойство сущности. Например атрибутами сущности преподавателя могут быть: номер преподавателя, фамилия, телефон, должность, адрес и т.п.

Ключ сущности – это атрибут или набор атрибутов, значения которых однозначно определяют экземпляр сущности.

Ключ связи – набор ключей сущностей, соединяемых данной связью.

На первом этапе проектирования БД ER–методом необходимы только те атрибуты сущностей, которые являются их ключами. Другие атрибуты вместе с функциональными зависимостями, в которых они участвуют, будут добавлены на более поздних этапах проектирования.

7.2.Степень связи

Важной характеристикой связи между двумя и более сущностями является степень связи. Степень связи устанавливается из описания предметной области (из инфологической модели).

К аждый преподаватель читает не более одного курса, и каждый курс читается не более чем одним преподавателем (т.е. могут быть не читающие преподаватели и не читаемые курсы).

Каждый преподаватель читает только один курс, каждый курс читается не более чем одним преподавателем.

К аждый преподаватель читает не более одного курса, каждый курс читается только одним преподавателем.

К аждый преподаватель читает только один курс, каждый курс читается только одним преподавателем.

В рассмотренных примерах любой экземпляр сущности (как слева, так и справа) может быть связан максимум с одной сущностью с противоположной стороны. Такая связь определяется как связь, имеющая степень 1:1.

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

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

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

Используется понятие класс принадлежности сущности. Класс принадлежности сущности связи является обязательным в случае обязательного участия. Класс принадлежности сущности связи является необязательным в случае необязательного участия. Класс принадлежности конкретной сущности в конкретной связи определяется из инфологической модели предметной области.

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

Единицы означают степень связи. Точка внутри прямоугольного блока означает обязательное участие сущности в данной связи (класс принадлежности обязательный). Точка вне прямоугольного блока означает необязательное участие сущности в данной связи (класс принадлежности не обязательный).

Рассмотрим примеры, в которых степень связи отлична от 1:1.

Каждый преподаватель может читать одновременно несколько курсов. Каждый курс читается не более чем одним преподавателем. Степень связи 1:n:

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

Каждый преподаватель может читать несколько курсов, каждый курс может читаться несколькими преподавателями. Степень связи m : n :

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

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

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

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

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

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

Рассмотрим ситуацию:

НП

Фам.

Тел.

НК

V

П1

Иванов

33-22-11

К3

24

П2

Минин

56-98-76

К1

36

П3

Орлов

53-87-98

К4

18

П4

Петров

52-78-00

К2

54

В этом отношении сущность ПРЕПОДАВАТЕЛЬ дополнена двумя атрибутами – фамилия преподавателя, телефон преподавателя. Сущность КУРС дополнена атрибутом V – объем в часах.

Простейшее решение – одно отношение для хранения атрибутов

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

Этот результат можно получить формально:

Возможные ключи: НП, НК, <НП, НК> Детерминанты: НП, НК, <НП, НК>