В настоящее время я разрабатываю проект базы данных для хранилища диссертаций. Я сталкивался с такой ситуацией:
• Студент может подать ТОЛЬКО ОДНУ тезис, и тезис может быть представлен МНОГИМИ студентами.
Однако я не хочу повторять идентификатор тезиса для таблицы тезисов.
Должен ли я использовать соединительную таблицу? Я сделал первоначальный дизайн (ниже) с одним. Я на правильном пути?
Вы почти там. Только у меня есть комментарий к Thesis_Students
таблица, я вижу, у вас есть оба ThesisID
а также StudentID
как PK, который покроет это, один студент должен быть связан с диссертацией только один раз. Но у вас есть дополнительное условие: «Студент может представить только одну диссертацию». Так что вам нужно дополнительное UNIQUE
ограничение только StudentID
, так что не более одной записи для любого StudentID
можно вставить. (Ну на самом деле, в этом случае ваш ПК для ThesisID
+ StudentID
больше не требуется, так как вы не можете вставить более одной записи для StudentID
).
Я предлагаю просто поместить столбец thesisID в таблицу учеников,