База данных - концептуальная модель дизайна - PullRequest
0 голосов
/ 23 октября 2018

У нас есть задача смоделировать следующую ситуацию, используя концептуальную модель ERD:
У нас есть учителя и ученики.Студенты входят в группы.Учителя могут преподавать разные уроки / курсы, в то время как курс может преподавать другой учитель.У каждой группы свое расписание.А расписание определяет комнату, курс и преподавателя, который проводит урок.

Инструментом, использованным для создания концептуальной модели ERD, является Oracle Data Modeler (хотя, на мой взгляд, это не имеет большого значения).

Описание задачи немного расплывчато, поэтому я добавил еще несколько определений:
Расписание состоит из дней: пн - пт (возможно, до воскресенья) и говорит, какой день ивремя проведения урока и кто дает уроки.
Другой момент заключается в том, что учитель может иметь «опыт» в преподавании различных уроков, но это не обязательно означает, что он будет давать уроки для какого-то курса.Это также озадачивает меня, как отразить это в модели, а не дублировать сущности и т. Д.

Поэтому я думал добавить дни / часы в расписание, но тогда день будет атрибутом с несколькими значениями, которыйне допускается в реляционной модели то, что я понимаю.

Я включаю текущее состояние моей концептуальной модели.

Я создал часть концептуальной модели, однако я застрял сдизайн и я не уверен, как продолжить с логической точки зрения.Модель прикреплена как рисунок (не знаю, как экспортировать модель из ODM в некоторый «исходный код»).

enter image description here

Могу я спроситьВы для вашего понимания, как бы вы смоделировали ситуацию?Не нужно включать полные модели, достаточно словесного объяснения.

1 Ответ

0 голосов
/ 23 октября 2018

Когда я прочитал ваш первый абзац, я подошел к чему-то очень близкому вашему, за исключением раздела, который обрабатывает расписание.ИМХО вам не нужны таблицы расписания и понедельника.Свяжите группу напрямую с TimeFrame.

Я думаю, что вы путаете таблицы со строками для Timetable / TimeFrame.Нет необходимости в таблице с именем TimeFrame_8: 00-8: 45.Должно быть только расписание (между комнатой и учителем на диаграмме), которое содержит:

  • Дата и время начала
  • Дата и время окончания
  • ID комнаты
  • Идентификатор учителя
  • Идентификатор урока
  • Идентификатор группы

Ваша идея связать Учителя с Уроком, чтобы указать квалификацию учителя, хороша.Ваша заявка должна проверить, существует ли эта ссылка, прежде чем назначить учителя на таймфрейм.

Отказ от ответственности : мой ответ с точки зрения разработчика / разработчика, а не академической базы данныхэксперт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...