0

У меня есть таблица учеников и преподавателей. Первичным ключом для ученика является studendID (SID) и первичный ключ факультета - это facultyID, естественно. У студента есть столбец советника и запрашиваемая колонка советника, которые являются иностранным ключом для преподавателей. Это достаточно просто, не так ли?База данных «многие ко многим»

Однако, теперь мне нужно бросить даты. Я хочу узнать, кто их советник был на определенную четверть (например, зима 2009 года) и кто их попросил.

Результат будет таблица, как это:

Year | Term | SID  | Current | Requested 
------------------------------------------------ 
2009 | Winter | 86| 1  | NULL 
2009 | Winter | 860445566 | 3  | NULL 
2009 | Winter | 860369147 | 5  | 1 

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

Я не уверен, как выглядят эти новые таблицы. Будет ли годовой стол с тремя колонками, которые являются осенью, весной и зимой? И что будет у стола «Падение, весна, зима»?

Я новичок в искусстве таблиц, так что это сбивает с толку меня ...

Кроме того, я чувствую, что я должен уточнить, как сайт работает до сих пор в настоящее время. Администратор может утверждать запросы студентов, и происходит то, что текущий советник студента перезаписывается с их запросом. Однако, я думаю, я больше не должен этого делать, верно?

ответ

2

У вас есть отношения «многие ко многим», и вам нужен третий стол. Вместо столбцов Current и Requested, существующих в таблице Students, они должны существовать в новой таблице. Эта таблица может быть что-то вроде этого:

StudentAdvisors 
StudentAdvisorID, SID, Current, Requested, Year, Term 
0

Типичный подход, который я использовал & преподавали много-много отношений является то, что составляет таблицу перевода между двумя таблицами.

 Смежные вопросы

  • Нет связанных вопросов^_^