|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() dark meteor Inscription : janvier 2010 Messages : 45 ![]() |
Bonjour,
Je crée un diagramme de classes où une partie doit modéliser cela : un établissement universitaire (par exemple : faculté ou école) est lié à un ou plusieurs diplomes, ces diplomes là ont des années spécifiques d'études, par exemple pour un Deug on aura la 1ère et la 2ème année, pour une licence on aura la 1ère année... et j'ai besoin de lier chaque établissement à chacun de ses diplomes pour chaque année, pour pouvoir afficher des informations de cette manière : * établissment 1 -> année 1 DEUG : informations .... année 2 DEUG : informations ... année 1 licence professionnelle : informations ... * établissment 2 -> année 1 licence fondamentale : informations ... * établissment 3 -> année 1 licence professionnelle : informations ... vous allez mieux comprendre en regardant les classes que j'ai créées (sachant que des établissement différents peuvent avoir des diplomes en commun) alors j'ai créé 2 classes : Etablissement(id_E, nom_E)[0..n]----[1..n]Diplome(id_D, nom_D, année_D) l'attribut année_D désigne par exemple année 1 pour DEUG ou aussi année 2 pour DEUG ou encore année 1 pour licence... jusqu'ici tous va bien, le problème c'est que je souhaite aussi stocker pour chaque candidat (étudiant) qui a étudié dans un ou plusieurs établissements et a eu un ou plusieurs diplomes des informations sur chaque année, par exemple : s'il a un DEUG et une licence de deux établissements différents, je dois pouvoir dire cela en précisant des informations sur sa 1ère année du DEUG, sur sa 2ème année du DEUG et sur sa 1ère année de licence, alors je comprend que je dois lier ce candidat aux 2 classes Etablissement et Diplome en même temps mais donc quoi faire? est ce qu'il est possilbe de laisser le lien déjà créé avant et ajouter une relation n-aires entre les 3 classes Candidat, Etablissement et Diplome ? par ce que je pense que dans mon cas, j'ai besoin de garder la 1ère relation (etablissement-diplome) pour le stockage. Sinon, avez vous des propositions pour m'éclairer? Merci d'avance |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Spécialiste en bases de données Inscription : septembre 2006 Messages : 2 884 ![]() |
Bonjour,
Une solution pourrait être de transformer en une classe (appelons-la ETABL_DIPL) l’association des classes ETABLISSEMENT et DIPLOME, à partir de relations de composition. La classe ETABL_DIPL peut être dotée d’attributs, notamment l’attribut Année. Il suffirait ensuite d’établir une association entre les classes ETABL_DIPL et CANDIDAT, et (pour la production d’une base de données SQL) de rendre identifiants les attributs qui vont bien (EtablissementId, DiplomeId, Année) : ![]() Un diagramme logique dérivé :
__________________
_ Faites simple, mais pas plus simple ! (A. Einstein) E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire ») => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale ») __________________ Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !) |
|
|
10
|
|
|
#3 |
|
Futur Membre du Club
![]() dark meteor Inscription : janvier 2010 Messages : 45 ![]() |
Bonjour,
C'est exactement ce qui me fallait, merci infiniment pour votre aide |
|
|
00
|
|
|
#4 |
![]() ![]() |
je me permet d'intervenir même si ce thread est résolu.
D'un point de vue métier, il me parait essentiel de ne jamais avoir de classe/entité portant un "double nom" du genre Etablissemet_Diplome. Ces classes, si elles doivent exister doivent porter un nom qui a du sens pour le métier décrit et il est important d'essayer de trouver un nom porteur d'une réelle sémantique........ça peut parfois être difficile je le reconnais. Pour revenir à ton problème, je me demande si la modélisation suivante n'est pas plus juste ? La classe Cursus (mais il faudrait voir si le nom est juste) correspond à "DEUG" ou "MAITRISE". Le Diplôme, est-ce le bon terme ?, correspond à DEUG 1e année, DEUG 2e année,... Une Personne (ou Candidat si le terme est mieux pour toi) peut être "Diplômé" pour un Diplôme dans un Etablissement donnée. Une règle en plus du modèle ci-dessous est que l'Etablissement d'un Diplomé donne nécessairement le Diplome délivré.
__________________
http://ego.developpez.com |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com