Ассоциативная таблица «многие ко многим» как FK в другой таблице - PullRequest
1 голос
/ 02 февраля 2020

У меня есть следующие таблицы: school, teacher, school_teacher и student.

school_teacher - это таблица соединений многие-ко-многим, использующая автоматически сгенерированные PK и FK school и teacher.

Ученик принадлежит учителю конкретной школы, а у учителя школы много учеников.

У меня вопрос, должен ли я создавать иностранного введите таблицу ученика, чтобы указать school_teacher таблицу PK или две таблицы PK (school, teacher) по отдельности?

Я считаю, что для ссылочной целостности было бы лучше ссылаться на school_teacher убедиться, что записи транзакций вставляются только в том случае, если между школой и учителем существуют отношения. С точки зрения передового опыта, что является лучшим вариантом или лучшим способом решения этой проблемы? Есть ли какая-либо другая возможность лучше, чем те, о которых я упоминал?

В общем, существует ли проблема, при которой первичный ключ таблицы ассоциации является внешним ключом в другой таблице?

Это просто пример. В реальном случае ученик может иметь более одного учителя. Это для упрощения примера.

1 Ответ

0 голосов
/ 02 февраля 2020

Ученик * ------ 1 Школа * ------ * Учитель

Будете ли вы проверять, принадлежит ли ученик одной или нескольким школам?

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