Формирование отношений для связи 1:1

Этапы проектирования

Процесс проектирования базы данных – это процесс, допус­кающим возврат к предыдущим этапам для пересмотра ранее принятых ре­шений и включает следующие этапы:

1. Выделение сущностей и связей между ними.

2. Построение диаграмм ER-типа с учетом всех сущностей и их связей.

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

4. Добавление неключевых атрибутов в отношения.

5. Приведение предварительных отношений к нормальной форме Бойса-Кодда, например, с помощью метода нормальных форм.

6. Пересмотр ER-диаграмм в следующих случаях:

 

• некоторые отношения не приводятся к нормальной форме Бойса-Кодда;

• некоторым атрибутам не находится логически обоснованных мест в пред­варительных отношениях.

После преобразования ER-диаграмм осуществляется повторное выполне­ние предыдущих этапов проектирования (возврат к этапу 1).

Одним из узловых этапов проектирования является этап формирования отношений. Рассмотрим процесс формирования предварительных отноше­ний, составляющих первичный вариант схемы БД.

В рассмотренных выше примерах связь ВЕДЕТ всегда соединяет две сущно­сти и поэтому является бинарной. Сформулированные ниже правила формиро­вания отношений из диаграмм ER-типа распространяются именно на бинарные связи. Поэтому, когда речь идет о связях, слово «бинарные» далее опускается.

Правила формирования отношений

Правила формирования отношений основываются на учете следующего:

•степени связи между сущностями (1:1,1:М, М:1, М:М);

• класса принадлежности экземпляров сущностей (обязательный и нео­бязательный).

Рассмотрим формулировки шести правил формирования отношений на основе диаграмм ER-типа.

Формирование отношений для связи 1:1

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

На рис. 6.6 приведены диаграмма ER-типа и отношение, сформированное по правилу 1 на ее основе.

 

 

Рис. 6.6 Диаграмма отношения для правила 1

 

На рисунке используются следующие обозначения:

С1, С2 – сущности 1 и 2;

Kl, K2 - ключи первой и второй сущности соответственно;

R1 - отношение 1, сформированное на основе первой и второй сущностей;

KlvK2,... означает, что ключом сформированного отношения может быть либо К1, либо К2.

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

ПРЕПОДАВАТЕЛЬ_ДИСЦИПЛИНА(НП,ФИО, Стаж, КД, Часы) ПРЕПОДАВАТЕЛЬ_ДИСЦИПЛИНА

НП ФИО Стаж КД Часы
П1 Иванов И.М. К1
П2 Петров М.И. К2
ПЗ Сидоров н.г КЗ
П4 Егоров В.В. К4

Рис. 6.7. Полученные по правилу 1 схема и отношение

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

Правило 2.Если степень связи 1:1 и класс принадлежности одной сущно­сти обязательный, а второй - необязательный, то под каждую из сущностей формируется по отношению с первичными ключами, являющимися ключа­ми соответствующих сущностей. Далее к отношению, сущность которого име­ет обязательный КП, добавляется в качестве атрибута ключ сущности с нео­бязательным КП.

На рис. 6.8 приведены диаграмма ER-типа и отношения, сформированные по правилу 2 на ее основе.

 

Рис. 6.8 Диаграмма и отношения для правила 2

 

 

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

 

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

 

НП ФИО Стаж КД Часы
П1 Иванов И.М. К1
П2 Петров М.И. К2
ПЗ Сидоров н.г КЗ
К4

 

Рис. 6.9 Исходное отношение

 

Избежать этой ситуации можно, применив правило 2, в соответствии с которым, выделяются два отношения, приведенные на рис. 6.10.

 

 


Рис. 6.10 Отношения, полученные по правилу 2

 

 

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

 

НП ФИО Стаж КД   КД Часы

Рис. 6.11. Связь отношений по внешнему ключу

Точнее говоря, мы создали условия для связывания отношений. Это свя­зывание при работе с базой данных позволяет, например, получать одновре­менно данные о преподавателе и о ведущихся им дисциплинах (часах).

Правило3. Если степень связи 1:1 икласс принадлежности обеих сущно­стей является необязательным, то необходимо использовать три отношения. Два отношения соответствуют связываемым сущностям, ключи которых яв­ляются первичными в этих отношениях. Третье отношение является связным между первыми двумя, поэтому его ключ объединяет ключевые атрибуты свя­зываемых отношений.

 

 

Рис 6.12 Диаграмма и отношения для правила 3

 

 

На рис. 6.12 приведены диаграмма ER-типа и отношения, сформирован­ные по правилу 3 на ее основе.

 

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

 

Рис. 6.13 Варианты отношений для правила 3

 

Использование одного отношения в рассматриваемом случае приводит к наличию нежелательных пустых полей в этом отношении (рис. 6.13а). При использовании двух отношений (рис. 6.136) нам пришлось добавить ключи каждой из сущностей в отношение, соответствующее другой сущности, что­бы не потерять сведения о том, какую дисциплину ведет каждый преподава­тель и наоборот. При этом также появились пустые поля.

Выход заключается в использовании трех отношений, сформированных по пра­вилу 3 (рис. 6.13в). Объектные отношения (с атрибутами сущностей) содержат полную информацию обо всех преподавателях и дисциплинах соответственно. Связное отношение ВЕДЕТ содержит данные о преподавателях, которые ведут дисциплины и о дисциплинах, которые ведутся преподавателями. При этом в нем имеется только одно упоминание о каждом преподавателе и дисциплине в силу связи 1:1. Это отношение содержит в данном случае только ключевые атрибуты обеих сущностей, но может иметь и Другие атрибуты, характеризующие эту связь. Например, номер семестра, в котором преподаватель ведет дисциплину.

Итак, сформулированы три правила, позволяющие формировать отноше­ния на основе ER-диаграмм, для вариантов со степенью связи типа 1:1. Сфор­мулируем аналогичные два правила для вариантов, степень связи между сущ­ностями которых 1:М.