Question

J'ai une table d'étudiants et de professeurs. La clé primaire pour les étudiants est studendID (SID) et la clé primaire de la faculté est facultyID, naturellement. L'élève a une colonne de conseiller et une colonne de conseiller demandé, qui sont la clé étrangère à la faculté. C'est assez simple, non?

Cependant, maintenant je dois jeter dans les dates. Je veux être en mesure de voir qui était leur conseiller pour un certain trimestre (comme hiver 2009) et qui ils avaient demandé.

Le résultat sera une table comme ceci:

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

Et puis si je me sens comme ça, je pourrais aussi aller de l'avant et voir une autre année et un autre terme.

Je ne sais pas comment ces nouvelle table (s) ressemblera. Qu'il y aura une table année avec trois colonnes qui sont l'automne, le printemps et l'hiver? Et quel sera l'automne, printemps, table d'hiver ont?

Je suis nouveau à l'art des tableaux, donc cela me déconcertant ...

De plus, je sens que je dois préciser comment le site fonctionne à ce jour maintenant. Admin peut approuver les demandes des étudiants, et ce qui se passe est que le conseiller actuel de l'élève est écrasé à leur demande. Cependant, je pense que je ne devrais pas faire ça, non?

Était-ce utile?

La solution

Vous avez un grand nombre à plusieurs, et ont besoin d'une troisième table. Au lieu des colonnes actuelles et demandées existantes dans le tableau étudiants, ils doivent exister dans la nouvelle table. Ce tableau pourrait être quelque chose comme ceci:

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

Autres conseils

L'approche typique que je l'ai utilisé et été enseigné pendant de nombreuses relations est-beaucoup ce qui équivaut à une table de translation entre les deux tables.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top