2010-04-20 5 views
0

http://img714.imageshack.us/img714/7820/croppercapture1.pngLuttant pour créer des relations correctes dans MS Access

En gros: un prix (bien sûr) a de nombreuses unités , qui peuvent être soit en option ou de base (obligatoire), en fonction du prix. Ainsi, par exemple: l'unité 'Advanced Software Engineering' peut-être une unité de base pour le prix 'Software Engineering BSc' mais seulement une unité optionnelle pour le cours 'Web Technology BSc'. J'ai utilisé des drapeaux à cette fin.

Un étudiant est inscrit sur un prix donc j'ai besoin pour obtenir une liste complète de base et les unités en option (en gardant à l'esprit qu'un étudiant choisit 1 sur plusieurs possibles unités en option).

En outre, ces unités ont événements, par exemple, une conférence, un atelier ou un séminaire, etc., et ces événements ont sessions ou cas d'événements où les étudiants inscrits à cette unité sont tenus d'assister, et les vacations sont stockés dans une table séparée pour former un registre.

donc j'ai besoin d'une hiérarchie d'étendre les tables quelque chose comme ça je suppose:

  • Prix -> Étudiants -> Unités -> Sessions -> Assistances

Toute aide à ce serait apprécié ... Ça me fout l'esprit et je suis vraiment proche de devenir fou! Mon tuteur n'a pas repéré que je m'étais trompé quand je lui ai montré mon modèle de données original et il est dû dans la semaine prochaine! Merci: D

+0

Je pouvais voir votre image, mais je ne peux pas suivre les lignes. Ils se chevauchent, vont les uns sous les autres, se cachent derrière des tables et rendent généralement difficile à lire. De plus, ce n'est pas clair pour moi quelle est votre question. Est-ce que "cette E-R a un sens?" – MJB

+0

Ma question est une sorte de « comment puis-je faire un modèle ER correct pour elle » Les relations sont: étudiants un prix, étudiants de nombreuses unités, prix de nombreuses unités, unités de nombreux événements, événements de sessions, séances de nombreuses présences, étudiants beaucoup de vacations, les étudiants un groupe de tuteur, membres du personnel de nombreux groupes de tuteur, membre du personnel d'unités ... Est-ce que l'aide? : X – Yandawl

Répondre

0

À première vue, je ne pense pas que les étudiants doivent être liés à des prix ou des unités, mais à des unités de prix. Peut-être:

Awards Units 
    |  | 
    AwardsUnits -- AwardsUnitsSessions 
    (AwardID   | 
    (Mandatory   ---- AwardsUnitsSessionsStudents (ie Attendances) 
     |       | 
AwardUnitsStudents--Students-----| 

Lorsqu'un étudiant est créé, un prix est sélectionné et toutes les unités obligatoires de AwardUnits sont ajoutés à AwardUnitsStudents et une liste d'unités optionnelles sont présentées à l'utilisateur afin que les choix des étudiants peuvent être ajoutés. Vous voudrez peut-être considérer une table de personnes qui contient tous les détails communs de personne (dans un certain nombre de cas, la table d'adresses devrait être séparée) avec des tables supplémentaires pour définir des informations supplémentaires pour le personnel, étudiant, tuteur, etc. C'est un style assez commun, et peut rendre la vie plus facile, surtout quand une personne a plus d'un rôle.

+0

Merci, @Remou! Donc, dans AwardsUnitsSessionsStudents, les IDs pour les récompenses, les unités, les sessions et la même ligne seraient répétés pour combien d'étudiants doivent assister à une instance d'une session? et dans AwardsUnitsStudents il y aurait l'ID de récompenses et cela est répété pour autant d'unités qu'il y a pour ce prix, et cela est répété pour tous les étudiants de cette unité? juste en vérifiant que j'ai compris votre modèle =] – Yandawl

+0

Oui pour AwardsUnitsStudents, cependant, pour les AwardsUnitsSessionsStudents vous avez quelques possibilités. Vous pouvez entrer uniquement les étudiants qui se sont présentés, vous pouvez entrer toutes les lignes pour les sessions requises et seulement les étudiants qui se sont présentés pour des sessions optionnelles, et ainsi de suite. – Fionnuala

+0

@Remou Hmm ... Je ne peux pas tirer le AwardID de AwardsUnits à AwardsUnitsStudents bien que je peux parce que ce n'est pas une clé dans AwardsUnits? De plus, dans mon interface, je veux permettre à l'utilisateur d'entrer un événement, comme une conférence ou un atelier, etc ... puis le système ajoute automatiquement les sessions pour ces événements sur une base hebdomadaire à AwardsUnitsStudents ou autre. Tout le but du système est de permettre aux utilisateurs d'imprimer une liste de tous les étudiants qui sont censés y assister et de préciser si cette session a eu lieu, qu'ils l'aient fait ou non. – Yandawl