Прежде чем переходить к установлению связей между сущностями, сделаем следующие предположения.
Предположения:
‑ каждая группа в течение сессии сдает больше одного экзамена;
‑ на каждом экзамене сдается только одна дисциплина;
‑ каждый экзамен может принимать одновременно более одного преподавателя.
Установление связей между сущностями.
а)Устанавливаем связь «Относится» (ведомость относится к экзамену) между сущностями «Экзамен» и «Ведомость». Это связь типа 1:1, поскольку для каждого экземпляра экзамена создается одна и только одна ведомость. Обратное утверждение тоже верно.
б) Устанавливаем связь «Сдает» между сущностями «Экзамен» и «Группа». Эта связь типа 1:М, так как каждый экземпляр сущности «Экзамен» сдается только одной группой. В то же время, один и тот же экземпляр сущности «Группа» может сдавать несколько экзаменов в разное время, но в рамках одной экзаменационной сессии.
в) Устанавливаем связь «Сдается» между сущностями «Экзамен» и «Дисциплина». Это связь типа 1:М, так как на каждом экземпляре экзамена сдается только одна дисциплина. Но один и тот же экземпляр дисциплины может сдаваться на различных экзаменах разными группами.
|
|
г)Устанавливаем связь «Принимает» между сущностями «Экзамен» и «Преподаватель». Это связь типа M:N, поскольку в силу сделанного допущения каждый экземпляр экзамена может приниматься более чем одним преподавателем. Одновременно каждый преподаватель может в течение сессии принимать несколько экзаменов в различных группах.
д) Устанавливаем связь «Включен» между сущностями «Студент» и «Ведомость». Это связь типа M:N в силу того, что каждый студент может быть включен в более чем одну ведомость (по числу сданных им экзаменов). Одновременно в каждую ведомость включается более одного студента (все, сдававшие экзамен).
В результате, получаем первый вариант модели предметной области, представленный на рис. 1.
Вариант 2
Замечаем, что в нашей модели сущности «Экзамен» и «Ведомость» связаны связью 1:1. Очевидно, что эти сущности могут быть заменены одной. Кроме того, понимаем, что сущность «Сотрудник» является внешней по отношению к рассматриваемой предметной области и может быть на этом этапе удалена из модели.
В результате получаем вариант модели, представленный на рис. 2.
Вариант 3
Связь типа М:N между студентом и экзаменом характеризуется оценкой, полученной конкретным студентом на конкретном экзамене. Но мы не имеем права добавлять атрибут «Оценка» к связи. Поэтому заменим связь типа M:N фиктивной сущностью «Студент-Экзамен». Оценка станет атрибутом этой сущности. В результате получим инфологическую модель предметной области, представленную на рис. 3.
|
|
Рис. 1. Инфологическая модель ПО. Вариант 1
Рис. 2. Инфологическая модель ПО. Вариант 2
Рис. 3. Инфологическая модель ПО. Вариант 3