У меня есть вопрос о дизайне базы данных в MySQL.
Есть две группы людей, для которых у меня есть отдельная таблица. Позвони им TABLE student
а также TABLE professor
,
Я могу дать каждому из них задания от TABLE assignments
,
Каждый человек в каждой группе может иметь несколько назначений, и каждое назначение может иметь несколько человек. Итак, чтобы отслеживать их, у меня есть две таблицы сопоставления, позвоните им TABLE student_assignment
а также TABLE professor_assignment
,
Мой вопрос приходит сюда. У меня есть один стол TABLE assignment_results
что я хочу сохранить результаты всех назначений в. Я хотел бы, чтобы каждая строка каждой таблицы сопоставления имела одну запись … так что, кажется, имеет смысл иметь отдельную таблицу результатов для каждой группы людей? ?? TABLE prof_assign_results
а также TABLE stud_assign_results
Или имело бы смысл объединить таблицы сопоставления и вообще избежать разделения? Можно ли определить уникальный индекс, содержащий три столбца? Будет ли NULL
значения (в колонках студентов или преподавателей) мешают этому?
Задача ещё не решена.
Других решений пока нет …