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

1.5.5. Разработка er-диаграмм

Процесс проектирования БД является итеративным, а не линейным или последовательным. Термин ‘итеративный’ означает ‘повторяющийся’. Итеративный процесс (iterative process) основан, таким образом, на повторяющихся операциях и процедурах. Построение ER-диаграмм, обычно начинается с общего описания операций и процедур предприятия. Затем создается графическое представление базовой ER-модели. При исследовании ER-модели появятся дополнительные объекты, атрибуты, связи. Поэтому базовая ER-модель будет изменяться. Процесс повторяется до тех пор, пока конечные пользователи и проектировщики посчитают, что разработанная ER-диаграмма правильно отражает деятельность предприятия и его функции. Например, необходимо спроектировать БД для СПбГИЭУ.

В процессе опроса мы получаем описание деятельности университета:

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

Мощность сущности DEAN (декан) может быть представлена как (1,1), а сущности SCHOOL (факультет) тоже как (1,1), т.к. min и max количество деканов равно 1, каждый декан назначается только на 1 факультет.

Существует несколько способов оценки связи между сущностями DEAN и SCHOOL. Каждый декан является членом группы более высокого уровня, которая называется администрацией, поэтому можно включить деканов в сущность ADMINISTRATOR. Деканы, в свою очередь, являются еще и преследователями и могут вести занятия в группах. Следовательно, деканы могут быть включены в сущность PROFESSOR (преподаватель). Кроме того, администраторы и преподаватели являются сотрудниками. Поэтому было бы целесообразно оценить возможность создания связей супертипов/подтипов, которые представлены на рис.34.

Рис.34. Связи супертипов/подтипов

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

Связь супертип/подтип представлена на уровне реализации с помощью ER-фрагмента на рис.35.

Рис.35. Связь супертип/подтип на ER-диаграмме

Т.к. большинство СУБД не поддерживают напрямую связь супертип/подтип, проектировщики конвертируют ее в связь 1:1, как показано на рис.6, где преподаватель (PROFESSOR) является сотрудником (EMPLOYEE). Не все сотрудники являются преподавателями, поэтому сущность PROFESSOR необязательна для сущности EMPLOYEE.

На каждом факультете имеется несколько кафедр. На факультете ИСЭиУ имеются кафедры вычислительных систем и программирования, информационных систем в экономике, исследования операций и статистики, математики. Наименьшее число кафедр факультета – одна, максимальное количество факультетов не определено (N). С другой стороны, каждая кафедра принадлежит только одному факультету, т.о. мощность выражается как (1:1), т.е. min и max число факультетов, которым прин6адлежит кафедре, равно 1.

Теперь изобразим фрагмент ER-диаграммы с учетом вышеизложенного.

Рис.36. Первый фрагмент ER-диаграммы

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

Каждая кафедра читает несколько курсов. Например, кафедра ИСЭ читает ‘Проектирование ИС’, БД, ‘Информационный менеджмент’ и др. Фрагмент ER-диаграммы представлен на рис.37.

Рис.37. Второй фрагмент ER-диаграммы

Эта связь основана на бизнес-правилах работы СПбГИЭУ.

Сущность CLASS (группа) является частью сущности COURSE (курс). Другими словами, кафедра может читать несколько разделов (групп) одного курса по Бд. Каждая из этих групп обучается преподавателем в данный момент и в данном месте, т.е. существует связь 1:М между сущностями COURSE (курс) и CLASS (группа). Но т.к. курс может существовать в учебном плане СПбГИЭУ даже если в нем нет групп, включенных в расписание, сущность CLASS необязательна для COURSE. Поэтому связь между COURSE и CLASS выглядит так, как показано на рис.38.

Рис.38. Третий фрагмент ER-диаграммы

На каждый кафедре есть несколько преподавателей. Некоторые руководят кафедрами. Только один из преподавателей может возглавлять кафедру, на которой он работает, ни один из преподавателей не обязан руководить кафедрой. Следовательно, сущность DEPARTMENT (кафедра) необязательна для сущности PROFESSOR (преподаватель) в связи ‘руководит’. Эти связи представлены на фрагменты ER-диаграммы на рис.39.

Рис.39. Четвертый фрагмент ER-диаграммы

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

Рис.40. Пятый фрагмент ER-диаграммы

Студент может быть записан в несколько групп, но в данный период обучения он может быть записан в группу только один раз. Например, в течение некоторого периода студент может пройти обучение по пяти предметам, но он не может быть записан в одну группу несколько раз. Количество классов ограничено, количество студентов в классе также ограничено, т.о. имеет место связь M:N между сущностями STUDENT и CLASS. Т.к. группа (CLASS) может изначально существовать даже в том случае, если в ней пока нет студентов, сущность STUDENT необязательна для сущности CLASS в связи M:N. Эту связь нужно разделить на две связи 1:М с помощью промежуточной сущности ENROLL (список). На рис.41 показан фрагмент ER-диаграммы.

Рис. 41.Шестой фрагмент ER-диаграммы

Рядом с сущностью ENROLL поставлен знак необязательности, т.к. если есть группа, в которой нет студентов, то эта группа не будет встречаться в таблице ENROLL. Сущность ENROLL слабая, т.к. она зависит от существования, в ее состав входят первичные ключи сущностей STUDENT и CLASS.

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

Рис.42. Седьмой фрагмент ER-диаграммы

В течение некоторого времени студент может не объявлять свой профилирующий предмет. Он пока не привязан к конкретной кафедре, поэтому сущность DEPARTMENT необязательна для сущности STUDENT.

У каждого студента есть куратор на кафедре, каждый куратор консультирует несколько студентов. Куратор является преподавателем, но не все преподаватели курируют студентов. Следовательно, сущность STUDENT необязательна для сущности PROFESSOR в связи ‘преподаватель курирует студента’. Фрагмент ER-диаграммы представлен на рис.43.

Рис.43. Восьмой фрагмент ER-диаграммы

На рис.44 представлен фрагмент ER-диаграммы.

Рис.44. Девятый фрагмент ER-диаграммы

Сущность CLASS содержит атрибут ROOM_CODE (код аудитории). ROOM_CODE в CLASS является внешним ключом для сущности ROOM (аудитория). В свою очередь, каждая аудитория расположена в здании, поэтому последний фрагмент диаграммы проектируется исходя из того, что в здании может быть несколько аудиторий, но каждая аудитория находится в единственном здании.

На основе вышеизложенного можно определить следующие сущности:

SCHOOL COURSE

DEPARTMENT CLASS

EMPLOYEE ENROLL (промежуточная сущность между STUDENT и CLASS)

PROFESSOR STUDENT

BUILDING ROOM

После определения сущностей можно определить предварительные связи между ними. Затем необходимо описать атрибуты в терминах записей БД. Компоненты ER-модели, имена сущностей и их связи представлены в табл.2.

Компоненты ER-модели. Табл.2

Сущность

Связь

Связность

Сущность

SCHOOL

(факультет)

DEPARTMENT

(кафедра)

DEPARTMENT

DEPARTMENT

COURSE

PROFESSOR

PROFESSOR

PROFESSOR

PROFESSOR

PROFESSOR

STUDENT

BUILDING (здание)

ROOM

Имеет в своем составе

Обучаются

Нанимает на работу

Предлагает

Подразделяется на

Является

Является деканом

Руководит

Ведет занятия

Курирует

Записан в

Имеется

Используется

1:М

1:М

1:М

1:М

1:М

1:М

1:1

1:1

1:М

1:М

M:N

1:М

1:М

DEPARTMENT

(кафедра)

STUDENT

PROFESSOR (преподаватель)

COURSE (курс)

CLASS (группа)

EMPLOYEE

(сотрудник)

SCHOOL

(факультет)

DEPARTMENT

CLASS

STUDENT

CLASS

ROOM

(аудитория)

CLASS

Полная ER-диаграмма представлена на рис.45.

Рис.45. Полная ER-диаграмма