Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
база данных.docx
Скачиваний:
167
Добавлен:
24.03.2015
Размер:
5.83 Mб
Скачать

Часть 2. I Ъоектиросанн ? и использование бд

варианта могут быть рабочими, а выбор лучшего из них будет результатом личных предпочтений.

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

  • дыа&рсшмы ЕК-экземтишрос,

  • диагралиАы ER-muna, и пи ER-диаграмчы.

11а рис. 6.1 приведена диаграмма ER-экземпляров для сущностей ПРЕПО­ДАВАТЕЛЬ и ДИСЦИПЛИНА со связью ВЕДЕТ.

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

ВЕДЕ1

ДИСЦИПЛИНА

ИВАНОВ И.М. ф.

• СУБД

ПЕТРОВ М.И. ф

Г inOPOR 1-1 Г —

ПЛ/1

ЕГОРОВ В В. ф

Ф Алгол

КОЗЛОВ А. С. г^

~~~~ ф Фортран

Рис. 6 1. Диаграмма ER-экземпляров

Диаграмма ER экземпляров показывает. как v ю конкретно дисциплину (СУБД, ПЛ/1 и т.д.) ведет каждый из преподавателей. На рис. 6.2 представ­лена диаграмма ER-типа, соответствующая рассмотренной диаграмме ER- экземпляров.

Рис. 6 2. Диа! рамма ЕК-типа

На начальном этане проектирования БД выделяются атрибуты, составля­ющие ключи сущностей.

168

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

Степень связи является характеристикой связи между сущностями, кото рая может быть типа: 1:1, 1:М, М:1, М:М.

Класс принадлежности (КП) сущности может быть: обяза.пелъны м и не- оСииттелъным.

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

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

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

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

  • каждый преподаватель ведет не более одной дисциплины, а каждая дис­циплина ведется не более чем одним преподавателем (степень связи 1:1);

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

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

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

В этом случае каждый преподаватель ведет одну дисциплину и каждая дис­циплина ведется одним преподавателем.

а) ER-экземпляров

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

ВЕДЕТ

ДИСЦИПЛИНА

ИВАНОВ И.М. ф

пргрпя 1\/ Л » -

СУБД

ПП/1

СИДОРОВ Н.Г.»-

—Паскаль

ЕГОРОВ В.В.

—• Алгол

КОЗЛОВ А.С. »

• Фортран

Рис 6.3. Диаггаммы для связи 1:1 и обязательным КГ( обеих сущнос гей

В» 1змижны два промежуточных варианта с необязательным классом при­надлежности одной из сущностей.

Замечания.

  • На диаграммах ER-типа обязательное участие в связи экземпляров сущ­ности отмечается блоком с точкой внутри, смежш im с блоком этой сущ­ности (рис. 6.36).

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

  • Символы на линии связи указыьают на степени связи.

Под каждым блоком, соответствующим некоторой сущности, указывается ее ключ, выделяемый подчеркиванием. Многоточие за ключевыми атрибутами означает, что возм< окны дру] ие ттрибуты сущности, но ни один из них не может быть час тью ее ключа Эт и атрибуты выяяляются после формирования отношений.

На практике степень связи и класс принадлежности сущностей при про­ектировании БД определяется спецификой предметной области. Рассмотрим примеры вариантов со степенью связи 1:М или М:1.

Пример 3. С вязи типа 1:М.

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

Пример 4. Связи типа М:1.

Каждый преподаватель может вести одну дис циплину, но каждук) дисцип­лину могут вести несколько прс подавателей.

Примеры с типом с вязи 1:М или М:1 могут иметь ряд вариантов, отличаю­щих» я к тесом 1 финал лежн< юти одной или обеих сущностей. Обозначим обяза­тельный класс принадлежности символом «О», а необязательный - символом «Н», тогда варианты для связи типа 1:М условно можно представить как: О-О, О-Н, Н-О, H-II. Для связи типа М:1 также имеются 4 аналогичных варианта.

Пример 5. Связи типа i:M вариант Н-О.

Каждый преподаватель может вести несколько дисциплин или ни одной, но каждая дисцип шна ведется одним преподавателем (рис. 6.4).

По аналогии легко составить диаграг хмы и для остальных вариантов.

Пример 6. Связи типа М:М.

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

Как и в случае других типов связей, для связи т ипа М:М возможны 4 вари­анта. отличающиеся классом принадлежности сущностей.

Пример 7. Связи типа М:М и вариант класса принадлежности О-Н.

Допустим что каждый преподаватель ведет не менее одной дисциплины, а дисциплина может вестись более чем одним преподавателем, есть и такие дис­циплины, которые никто не ведет. CooTBeTCTRvioinHe этому случаю диаграммы приведены на рис. 6.5.

а) ER-экземпляров

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

ВЕДЕТ

ДИСЦИПЛИНА

• СУБД

- п П /1

9 IUI/1

ПЕТРОВ М.И. •

CMHi Pt irt Н Г Ш.

• Паскаль

ЕГОРОВ В. В. tc^

-—• Фортран

КОЗЛОВ А.С. •

' « С++

"" -• JAVA

б) ER-типов

Рис. 6.4. Диа^аммы для связи типа 1:М вариант? Н О

а) ER-экземпляров

Рис. 6.5. Диагоаммо] для свяги типа М: М и варианта О-Н

Выявление сущностей и связей между ними, а также формирование на их основе диаграмм ER-типа выполняется на начальных этапах метода сущпостъ- связо. Рассмотрим этапы реализации метода.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6. МСТОД CVLllhOGl. UR3L

К2» .. К1 К2

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

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

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

Кl,i К2 - ключи первой и второй сущности соответственно;

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

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

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

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

ПРЕПОДАСТ ГЕЛЬ ДИС11И1 ШИНА

НП

ФИО

Стаж

КД

Часы

П1

Ивпнов И М.

5

К1

6?

112

Петров М И.

7

К2

74

ПЗ

Сидоров Н.Г

10

КЗ

102

П4

Егоров В.В.

5

К4

80

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

173

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

образом, одного отношения в данном случае достаточно. И качестве первич­ного ключа может быть выбран ключ первого отношения Н П или клю' г вто­рого отношения КД.

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

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

К1,... К2,... К <2

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

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

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

нп

ФИО

Стаж

КД

Часы

П1

Иванов И.М.

5

К1

62

П2

Петр< в М.И.

7

К2

74

ПЗ

Сидоров н г

10

КЗ

102

К4

80

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

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

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

КД

Часы

К1

62

к?

74

КЗ

102

К4

80

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

НП

ФИО

Стаж

КД

П1

Иванов И.М.

5

К1

П2

Петров М.И.

7

К2

ПЗ

Сидоров н Г

10

КЗ

П4

Егоров В.В.

5

К4

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

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

НП

ФИО

Стаж

КД

КД

Часы

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

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

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

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

К1,

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

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

а) одно отношение ПРЕПОДАВАТЕЛЬ^ИСЦИПЛИНА

нп

ФИО

Стаж

КД

Часы

П1

Иванов И М

5

К1

62

П2

Петрор М.И.

7

ПЗ

иидоров н г

10

К2

74

КЗ

102

НП

ФИО

Стаж

КД

П1

Иванов И М

5

К1

П?

П ;гров М.И.

7

ПЗ

Сидоров Н.Г.

10

К2

в) три отношения

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

ВЕДЕТ

НП

ФИО

Стаж

НП

КД

П1

Иванов И.М.

5

П1

К1

П2

Петров М И.

7

ПЗ

К2

ПЗ

Сидоров Н Г.

10

ДИСЦИПЛИНА

КД

Часы

НП

К1

62

П1

К2

74

ПЗ

КЗ

102

ДИСПИПЛИНА

КД

Часы

К1

62

К2

74

КЗ

102

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

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

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

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

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

Если две сущности С1 и С2 связаны как 1:М, сущность СI будем называть односвязной (1-связной), а сущность С2 - многосвязной (М связной). Онре деляющим фактором при формировании отношений, связанных этим видом связи, является класс принадлежности М-связной сущности. Так, если класс принадлежности М-связной сущности обязательный, то в результате приме нения правила получим два отношения, если необязательный - три отноше ния. Класс принадлежности односвязной сущности не влияет на результат.

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

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

НГ1

ФИО

Стаж

КД

Часы

feu

ИваноьИ.М.

5

Ki

62

П1

И зановИ.М.

5

К2

74

П2

ПетровМ.И.

7

К4

80

ПЗ

Сидоров Н.Г.

10

КЬ

96

ПЗ

Сидоров Н.Г.

10

Кб

120

П4

Егопов В.В

5

КЗ

102

П4

Боров В.В.

5

К7

89

П5

Колло" А.С.

8

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

С отношением ПРЕПОДЛВАТЕЛЬДИСЦИПЛИНА (рис. 6.14) связаны следующие проблемы:

  • имеются коотежи с пустыми полями (преподаватель не ведет дисцитины),

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

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

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

КД

Часы

НП

К1

62

П1

К2

74

П1

КЗ

102

П4

К4

80

П2

К5

96

ПЗ

Кб

120

ПЗ

К7

89

П4

НП

ФИО

Стая

П1

ИвановИ.М.

5

П2

ПетровМ.И.

7

ПЗ

Сидоров Н.Г.

10

П4

Егоров В.В.

5

П5

Козлов А.С.

8

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

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

К2,... Ш.- К2,... К1.К2

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

В соответствии < пр шилом 4 преобразуем отношение на рис. 6.14 в два от­ношения (рис. 6.16).

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

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

Для формулирования и обоснования необходимости использован] ш сле­дующего правила рассмотрим следующий пример.

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

Пусть класс принадлежности 1 -сьязной сущности также необязательный, хотя это и не принципиально, так как опреде. [яюшим является класс принад­лежности М-связной сущности. Посмотрим, к чему может привести исполь­зование одного отношения в этом случае (рис. 6. J 7).

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

НП

ФИО

Стаж

КД

Часы

П1

ИвановИ.М.

5

К1

62

П1

ИвановИ.М.

5

К2

74

П2

ПетровМ.И.

7

К4

80

К5

96

ПЗ

:идрров н г

10

Кб

120

П4

Егоров В. В.

5

КЗ

102

П4

Егоров В.В.

5

К7

89

П5

Козлов А.С.

8

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

С приведенным отношением связаны следующие проблемы:

  1. Имеютс я пустые поля з кортежах, которые содержат следующее:

а) данные о преподавателях, не ведущих дисциплин;

б) данные о дисциплинах, которые не ведутся преподавателями.

  1. Избыточное дублирование данных о преподавателях, ведущих более одной дисцип айны.

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

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

R 12

< К"

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

В результате применения правила 5 к рассматриваемому отношению со­держащиеся в нем данные (рис. 6.17) распределяются по трем отношениям (рис. 6.19)

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

НП

ФИО

Стах:

П1

ИвановИ.М.

5

П2

ПетровМ.И.

7

ПЗ

Сидоров Н.Г.

10

П4

Егоров В.В.

5

П5

Козлов А.С.

8

НП

КД

П1

К1

П1

К2

П2

К4

ПЗ

Кб

П4

КЗ

П4

К7

КД

Часы

К1

62

К2

74

КЗ

102

К4

80

К5

96

Кб

120

К7

89

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

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

Подчеркнем, что определяющим фактором ири выборе между 4-м или 5-м правилом является класс принадлежности М-связной сущности.

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

При наличии связи М:М между двумя сущностями необходимо три отно­шения независимо от к час са принадлежности дюбой из сущностей. Исполь-

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

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

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

Ю

Применим правило 6 к примеру, приведенному на рис 6.5. В нем степень связи равна М:М, класс принадлежности для сущности П РЕПОДАВАТЕЛЬ обязательный, а для сущности ДИСЦИ1 (ЛИНА - необязательный. Соответ­ствующее этому примеру исходное отношение показа! о на рис. 6.21.

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

НП

ФИО

Стаж

КД

Часы

П1

ИвановИ М

5

К1

62

П1

ИвановИ.М

5

К2

74

42

ПетрибМ.И.

7

К4

80

КЗ

102

ПЗ

Сидоров Н.Г.

10

Кб

120

m

Егоров В.В.

5

К2

74

П4

Ei оров В В

5

К7

89

П5

Козлов А.С.

8

К5

96

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

На рис. 6.20 приведены диаграмма ER-типа и отношения, сформирован ные по правилу 6. Нами и< жазав вариант с классом принадлежности сущнос­тей Н Н, хотя, согласно правилу 6, он может быть произвольным.

182 Часть 2. Проектирование и использование БД

В результате применения правила 6 получаются три отношении (рис. 6.22).

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

НП

ФИО

Стаж

П1

ИвановИ.М.

5

П2

ПетровМ И.

7

ПЗ

Сидоров Н.Г.

10

П4

Егоров В.В.

5

П5

Козлов А.С.

8

НП

КД

П1

KI

П1

К2

П2

К4

ПЗ

Кб

П4

КЗ

П4

К7

КД

Часы

К1

62

К2

74

КЗ

102

К4

80

К5

96

Кб

120

К7

89

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

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

6.4. Пример проектирования БД учебной части

Применим описанные правила к примеру, рассмо i ренному при изучении метода нормальных форм (подраздел 5.2). Напомним, что речь шла о БД для учебной части, содержащей с. [едующие сведения:

ФИО - фамилия и инициалы преподав." теля (возможность совпадения фамилии и инициалов у преподавателей исключена).

Должн - должность занимаемая преподавателем.

Оклад - оклад преподавателя.

Стаж - прет давательский стаж.

Д_Стаж - надбавка за стаж.

Каф - номер кафедры, на которой работает преподаватель.

Предм - название дисциплины (предмета), ведомой иреподаьателем.

Группа - номер группы, ь кот орой преподаватель проводит занятия.

ВидЗан - вид занятий, проводим] ix преподавателем в учебной групп" (пре­подаватель в одной группе ведет только один вид занятий).

Исходное отношение ПРЕПОДАВАТЕЛЬ приведено на рис. 5.4.

При проектировании будем придерживаты я этапов, описанных в под­разделе 6.2.

Первыг этап проектирования - выделение сущностей и связей между ними.

Выделим следующие сущности:

  • ПРЕПОДАВАТЕЛЬ (Ключ - ФИО).

  • ЗАНЯТИЕ (Ключ - Групп». ПредмV

  • СТАЖ (Ключ - Стаж).

  • ДОЛЖНОСТЬ (Ключ - Доджи).

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

  • ПРЕПОДАВАТЕЛЬ ИМЕЕТ СТАЖ,

  • ПРЕПОДАВАТЕЛЬ ВЕДЕТ ЗАНЯТИЕ,

  • ПРЕПОДАВАТЕЛЬ ЗА1 [ИМАЕТ ДОЛЖНОСТЬ.

Второй этап проектирования - построение диаграммы ER-типа с учетом всех сущностей и связей между ними. Диаграмма ER-типа для рассматривае­мого примера приведена на рис. 6.23.

Рис. 6.23. Диаграмма ER-тида

Связь ИМЕЕТ являе гея связью типа М: 1, т. к. одинаковый < таж могут иметь несколько преподавателей. Сущность ПРЕПОДАВАТЕЛЬ имеет обязатель­ный класс принадлежности, поскольку каждый преподаватель имеет свой стаж. Сущност] I СТАЖ имеет необязательный класс принадлежности, так как воз­можны такие значения < тажа, которые не имеет ни один из преподавателей.

Сиязь ВЕДЕТ имеет тип М:М, так как преподаватель может вести несколь­ко занятий, а каждое заня/ие может проводиться несколькими преподавате­лями. Занятие может быть лекционным или практическим, проводимым пре­подавателем в учебной группе по одной из дисциплин. Обе сущности в дан­ной связи имеют KII обязательный, в предположении, что нет преподавате­лей, которые не проводят занят ий, и нет занятий, которые не обеспечены пре­подавателями.

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

Третий man проектирование1 - формирование набора предварительных отношений с указанием предполагаемого первичного ключа для каждого от­ношения, используя дна! раммы ER типа.

11а основе анализа диаграммы ER типа (рис. 6.23) с помощью шести сфор мулированных выше правил получаем набор предварительных отношений, поедставленных следующими схемам™ отношений.

Связь ИМЕЕТ удовлетворяет условиям правила 4, в соответствии с кото рым получаем два отношения:

1.1IFE1ЮДАВАТЕЛЬ (Ф1Ю. Стаж....) - добавился ключевой атрибут Стаж. 2. СТАЖ (Стаж, -)■

Связь ВЕДЕТ удовлетворяел условиям правила 6, в соответствии с кото­рым получаем три отношения:

  1. ПРЕПОДАВАТЕЛЬ (ФИО. ( тажг...).

  2. ЗАНЯТИЕ (Группа. Пре^м. ..X

  3. ВЕДЕТ (ФИО. Группа. Ппедм. .^Д.

Связь ЗЛНИМ АШТяш логично связи ЯМЕ£Тудовлетворяет условиям ира вила 4. поэтому имеем следующие два отношения

    1. ПРЕПОДАВАТЕЛЬ (ФИО. Стаж. I[олжн....) добавился ключевой ат­рибут Должн.

    2. ДОЛЖНОСТЬ (Должн,...).

Третий этап проектирования - добавление неключевых атрибутов, кото­рые не были выбраны в качестве к лючевых раньше, и назначение их одному из предварительных отношений с тем условием, чтобы отношения отвечали т ребованиям норма льной формы Бойса - Кодда.

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

ПРЕПОДАВАТЕЛЬ (ФИО. Стаж. Jojc.ti. Каф к

СТАЖ (Стаж. Д Стаж),

ЗАНЯТИЕ (Группа. Предм).

ВЕДЕТ (ФИО. Ipvnna. ] 1релм. ВидЗанV

ДОЛЖНОСТЬ (Должн. Оклад).

После определения отношений следует проверить их на соответствие тре- б< маниям нормальной формы Бойса - Кодда. В нашем с пучае мы получили те же отношения, что и при проектировании примера методом нормальных форм. Полученная схема базы данных приведена на рис. 6.24.

Рис. 6.21 Схема базы данных

Замечания.

  • В нашем примере отношение ЗАНЯТИ Е, кроме ключевых атрибутов (Группа. Предм). других атрибутов не имеет. Поэтому оно не несет до полнительной информации, кроме содержащейся в отношении ВЕДЕТ. Действительно, это отношение включает в себя атрибуты Группа. Предм. Поэтому отношение ЗАНЯТИЕ нужно исключить из формируемой схе­мы БД (на рис. 6.24 оно перечеркнуто). Если бы имелись другие атрибу­ты, например атрибут Семестр, в котором некоторая группа изучает кон­кретную дисциплину, то получили бы отношение ЗА! 1ЯТИЕ (Группа. 1 Гредм. Семестр), которое вошло бы в БД.

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

  • Рассмотренные правила проектирования БД позволяют моделировать многие практические ситуации. Построение ряда других pea тьных мо­делей может потребовать использования дополнительных конструкций. В частности, может возникнуть необходимость использования связей более высокого порядка, чем бинарнъи, например, те\ тарные, связыва ющие три сущности.

Контрольные вопросы изадания

  1. Перечислите основные понятия метода сущность-связь.

  2. Охарактеризуйте понятие ключа сущности.

  3. Что преде гавляют собой диаг] аммы ER-экземп шров и диаграммы ER- типа.

  1. Что определяет степень связи между сущностями?

  2. Каким может быть класс принадлежности?

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

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

  5. Приведите пример диаграммы ER-экземпляров для связи типа 1:М вари­анта И-О.

  6. Назовите этапы проектирования базы данных.

  7. Как осуществляется формирование отношений для связи 1:1?

  8. Сформулируйте поавило 3 формирования отношений, если степень связи 1:1 и класс принадлежности ибеих сущностей является необя­зательным.

  9. Сформулируйте правило сЬормирования отношения для случая степе­ни связи между сущностями 1:М (М:1) и обязательного класса при­надлежности М-"вязной сущности.

  10. Укажите правила формирования отношений для связи М:М.

  11. Покажите, что полученные в прикладном примере из раздела отноше­ния находятся в норма тгной форме Бойса - Колда.

Литература

    1. Дейт К. Дж. Введение в системы баз данных.: Пер. с англ. 6-е изд. К.: Диа лек- гика, 1998.

    2. Джекшн Г. I [поектирование реляционных баз данных для использования с МИКРОЭВМ: Пер. с англ. М.: Мир, 1991.

    3. Кузнецов С. Д. Введение в СУБД: часть 4 // Системы Управления Базами Дан­ных, №4, 1995. С. 114-122.

    4. Основы современных компьютерных технологий: Учебное пособие / Под ред. приф. А. Д. Хомоненко. Авторы: Артамонов Б. Н., Брякалов Г. А., Гофман В. Э. и др. СПб.: КОРОНА принт, 1998.

    5. Хансен Г., Хансен Д. Базы данных: разработка и управление: Пер. с англ. М.: ЗАО «Издательство БИНОМ», 1999.