Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (960530), страница 38
Текст из файла (страница 38)
Для устранения названныхпроблем отношения могут быть сформированы по следующему правилу.Правило 4. Если степень связи между сущностями 1:М (или М:1) и класспринадлежности М-связной сущности обязательный, то достаточно формирование двух отношений (по одному на каждую из сущностей). При этомпервичными ключами этих отношений являются ключи их сущностей. Кроме того, ключ 1-связной сущности добавляется как атрибут (внешний ключ)в отношение, соответствующее М-связной сущности.На рис. 6.15 приведены диаграмма ER-типа и отношения, сформированные по правилу 4.К2,...К1,-К2,...К1.К2Рис. б. 15.
Диаграмма и отношения для правила 4В соответствии с правилом 4 преобразуем отношение на рис. 6.14 в два отношения (рис. 6.16).ПРЕПОДАВАТЕЛЬДИСЦИПЛИНАНПФИОСтажКДЧасыНПП1ИвановИ.М.5К162П1П2ПетровМ.И.7К274П1ПЗСидоров Н.Г.10КЗ102П4П4Егоров В.В.5К480П2П5Козлов А.С.8К596ПЗКб120ПЗК789П4Рис. 6.16. Отношения, полученные по правилу 46. Метод сущность-связь187Из рис.
6.16 видно, что пустые поля и дублирование информации удалосьустранить. Потери сведений о том, кто из преподавателей ведет какую дисциплину, не произошло благодаря введению ключа НП сущности ПРЕПОДАВАТЕЛЬ в качестве внешнего ключа в отношение Д И С Ц И П Л И Н А .Для формулирования и обоснования необходимости использования следующего правила рассмотрим следующий пример.Пример. Связь между сущностями 1:М, а класс принадлежности М-связной сущности необязательный.Пусть класс принадлежности 1-связной сущности также необязательный,хотя это и не принципиально, так как определяющим является класс принадлежности М-связной сущности.
Посмотрим, к чему может привести использование одного отношения в этом случае (рис. 6.17).ПРЕПОДАВАТЕЛЬ_ДИСЦИПЛИНАНПФИОСтаж КДЧасыП1ИвановИ.М.5К162П1ИвановИ.М.5К274П2ПетровМ.И.7К480———К596ПЗСидоров Н.Г.10Кб120П4Егоров В. В.5КЗ102П4Егоров В.В.5К789П5Козлов А.С.8——Рис. 6.17.
Исходное отношениеС приведенным отношением связаны следующие проблемы:1. Имеются пустые поля в кортежах, которые содержат следующее:а) данные о преподавателях, не ведущих дисциплин;б) данные о дисциплинах, которые не ведутся преподавателями.2. Избыточное дублирование данных о преподавателях, ведущих болееодной дисциплины.В случае обязательного класса принадлежности 1-связной сущности исчезают проблемы 1 а).
Для устранения всех проблем нужно перейти к трем отношениям в соответствии со следующим правилом.Правило 5. Если степень связи 1:М (М:1) и класс принадлежности М-связной сущности является необязательным, то необходимо формирование трехотношений (рис. 6.18). Два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях. Третье отно-Часть 2. Проектирование и использование БД188R1 R2К1,К2Рис.
6.18. Диаграмма и отношение для правила 5шение является связным между первыми двумя (его ключ объединяет ключевые атрибуты связываемых отношений).В результате применения правила 5 к рассматриваемому отношению содержащиеся в нем данные (рис. 6.17) распределяются по трем отношениям(рис. 6.19).ПРЕПОДАВАТЕЛЬВЕДЕТДИСЦИПЛИНАНПФИОСтажНПКДКДЧасыП1ИвановИ.М.5П1К1К162П2ПетровМ.И.7П1К2К274ПЗСидоров Н.Г.10П2К4КЗ102П4Егоров В.В.5ПЗКбК480П5Козлов А.С.8П4КЗК596П4К7Кб120К789Рис.
6.19. Отношения, полученные по правилу 5Таким образом, указанные проблемы удалось разрешить. Ключ в связномотношении ВЕДЕТ является составным и включает в себя ключевые атрибутыобоих связываемых отношений (сущностей). В практических ситуациях связное отношение может содержать и другие характеризующие связь атрибуты.Подчеркнем, что определяющим фактором при выборе между 4-м или 5-мправилом является класс принадлежности М-связной сущности.Формированиеотношенийдля связиМ:МПри наличии связи М:М между двумя сущностями необходимо три отношения независимо от класса принадлежности любой из сущностей. Исполь-1896.
Метод сущность-связьзование одного или двух отношений в этом случае не избавляет от пустыхполей или избыточно дублируемых данных.Правило 6. Если степень связи М:М, то независимо от класса принадлежности сущностей формируются три отношения. Два отношения соответствуют связываемым сущностям и их ключи являются первичными ключами этихотношений.
Третье отношение является связным между первыми двумя, а егоключ объединяет ключевые атрибуты связываемых отношений.На рис. 6.20 приведены диаграмма ER-типа и отношения, сформированные по правилу 6. Нами показан вариант с классом принадлежности сущностей Н-Н, хотя, согласно правилу 6, он может быть произвольным.К1,К2Рис. 6.20. Диаграмма и отношения для правила 6Применим правило 6 к примеру, приведенному на рис. 6.5. В нем степеньсвязи равна М:М, класс принадлежности для сущности ПРЕПОДАВАТЕЛЬобязательный, а для сущности Д И С Ц И П Л И Н А - необязательный. Соответствующее этому примеру исходное отношение показано на рис.
6.21.П РЕПОДАВАТЕЛ Ь_ДИСЦИП Л И НАНПФИОСтажКДЧасыП1ИвановИ.М.5К162П1ИвановИ.М.5К274П2ПетровМ.И.7К480———КЗ102ПЗСидоров Н.Г. 10Кб120П4Егоров В.В.5К274П4Егоров В. В.5К789П5Козлов А.С.8К596Рис. 6.21. Исходное отношениеЧасть 2. Проектирование и использование БД190В результате применения правила 6 получаются три отношения (рис. 6.22).ПРЕПОДАВАТЕЛЬВЕДЕТДИСЦИПЛИНАНПФИОСтажНПКДКДЧасыП1ИвановИ.М.5П1К1К162П2ПетровМ.И.7П1К2К274ПЗСидоров Н.Г.10П2К4КЗ102П4Егоров В.В.5ПЗКбК480П5Козлов А.С.8П4КЗК596П4К7Кб120К789Рис. 6.22. Отношения, полученные по правилу 6Аналогичные результаты получаются и для трех других вариантов, различающихся классами принадлежности их сущностей.
Рассмотрим применение сформулированных правил на примерах проектирования БД методом сущность-связь.6.4. Пример проектирования БД учебной частиПрименим описанные правила к примеру, рассмотренному при изученииметода нормальных форм (подраздел 5.2). Напомним, что речь шла о БД дляучебной части, содержащей следующие сведения:ФИО - фамилия и инициалы преподавателя (возможность совпаденияфамилии и инициалов у преподавателей исключена).Должн - должность, занимаемая преподавателем.Оклад - оклад преподавателя.Стаж - преподавательский стаж.Д_Стаж - надбавка за стаж.Каф - номер кафедры, на которой работает преподаватель.Предм - название дисциплины (предмета), ведомой преподавателем.Группа - номер группы, в которой преподаватель проводит занятия.ВидЗан - вид занятий, проводимых преподавателем в учебной группе (преподаватель в одной группе ведет только один вид занятий).Исходное отношение ПРЕПОДАВАТЕЛЬ приведено на рис.
5.4.При проектировании будем придерживаться этапов, описанных в подразделе 6.2.6. Метод сущность-связь191Первый этап проектирования- выделение сущностей и связей междуними.Выделим следующие сущности:- ПРЕПОДАВАТЕЛЬ ( К л ю ч - Ф И О ) ,- З А Н Я Т И Е (Ключ - Группа. ПредмV- СТАЖ ( К л ю ч - С т а ж ) ,- Д О Л Ж Н О С Т Ь (Ключ - Должн).Выделим связи между сущностями:- П Р Е П О Д А В А Т Е Л Ь ИМЕЕТ СТАЖ,- П Р Е П О Д А В А Т Е Л Ь ВЕДЕТ З А Н Я Т И Е ,- П Р Е П О Д А В А Т Е Л Ь ЗАНИМАЕТ Д О Л Ж Н О С Т Ь .Второй этап проектирования - построение диаграммы ER-типа с учетомвсех сущностей и связей между ними. Диаграмма ER-типа для рассматриваемого примера приведена на рис. 6.23.Должн,...Рис.
6.23. Диаграмма ER-типаСвязь ИМЕЕТ является связью типа М: 1, т. к. одинаковый стаж могут иметьнесколько преподавателей. Сущность ПРЕПОДАВАТЕЛЬ имеет обязательный класс принадлежности, поскольку каждый преподаватель имеет свой стаж.Сущность СТАЖ имеет необязательный класс принадлежности, так как возможны такие значения стажа, которые не имеет ни один из преподавателей.Связь ВЕДЕТ имеет тип М:М, так как преподаватель может вести несколько занятий, а каждое занятие может проводиться несколькими преподавателями. Занятие может быть лекционным или практическим, проводимым преподавателем в учебной группе по одной из дисциплин.
Обе сущности в данной связи имеют КП обязательный, в предположении, что нет преподавателей, которые не проводят занятий, и нет занятий, которые не обеспечены преподавателями.192Часть 2. Проектирование и использование БДСвязь ЗАНИМАЕТ имеет тип М: 1, так как каждый преподаватель занимаетопределенную должность и одинаковые должности могут занимать несколько преподавателей. Сущность ПРЕПОДАВАТЕЛЬ имеет обязательный класспринадлежности, так как предполагаем, что каждый преподаватель занимаетдолжность. Сущность Д О Л Ж Н О С Т Ь имеет необязательный КП, так как неисключаем, например, отсутствие должности профессора на кафедре, а значит, и преподавателя, который ее занимает.Третий этап проектирования - формирование набора предварительныхотношений с указанием предполагаемого первичного ключа для каждого отношения, используя диаграммы ER-типа.На основе анализа диаграммы ER-типа (рис.
6.23) с помощью шести сформулированных выше правил получаем набор предварительных отношений,представленных следующими схемами отношений.Связь ИМЕЕТ удовлетворяет условиям правила 4, в соответствии с которым получаем два отношения:1. ПРЕПОДАВАТЕЛЬ (ФИО, Стаж....) - добавился ключевой атрибут Стаж.2. СТАЖ (Стаж....).Связь ВЕДЕТ удовлетворяет условиям правила 6, в соответствии с которым получаем три отношения:1. ПРЕПОДАВАТЕЛЬ ( Ф И О . Стаж.
. А2. ЗАНЯТИЕ (Группа. Предм. ...У3. ВЕДЕТ ( Ф И О . Группа. Предм....).Связь ЗАНИМАЕТ аналогично связи ИМЕЕТ удовлетворяет условиям правила 4, поэтому имеем следующие два отношения1. ПРЕПОДАВАТЕЛЬ ( Ф И О . Стаж. Должн. ...) добавился ключевой атрибут Должн.2. Д О Л Ж Н О С Т Ь (Должн....).Третий этап проектирования - добавление неключевых атрибутов, которые не были выбраны в качестве ключевых раньше, и назначение их одномуиз предварительных отношений с тем условием, чтобы отношения отвечалитребованиям нормальной формы Бойса - Кодда.После добавления неключевых атрибутов схемы отношений примут следующий вид:ПРЕПОДАВАТЕЛЬ ( Ф И О . Стаж.
Должн. КафУСТАЖ (Стаж. Д_Стаж),ЗАНЯТИЕ (Группа. ПредмУВЕДЕТ ( Ф И О . Группа. Предм. ВидЗан УД О Л Ж Н О С Т Ь (Должн. Оклад).После определения отношений следует проверить их на соответствие требованиям нормальной формы Бойса - Кодда. В нашем случае мы получилите же отношения, что и при проектировании примера методом нормальныхформ. Полученная схема базы данных приведена на рис. 6.24.6.