Salut,
Voici mon MCD.
J'ai déjà fait mes tables sur phpmyadmin et tout fonctionne nikel, mais il me faut un MCD.
Merci de votre aide !
Salut,
Voici mon MCD.
J'ai déjà fait mes tables sur phpmyadmin et tout fonctionne nikel, mais il me faut un MCD.
Merci de votre aide !
Vous avez donc mis la charrue avant les boeufs !J'ai déjà fait mes tables sur phpmyadmin et tout fonctionne nikel, mais il me faut un MCD.
Une première observation (c'est le cas de le dire !) qui saute aux yeux : L'entité OBSERVATION ne va pas du tout !
Une instance de cette entité (une ligne de la table qui en découle) ne devrait concerner qu'une seule observation et pas 10 !
Idem dans l'entité ETUDIANT avec ses choix.
Pour le reste, c'est un peu difficile de juger un MCD sans cahier des charges.
On peut quand même faire quelques autres remarques :
1) L'étudiant a un code postal et une ville mais pas de rue où il habite ?
De plus, afin d'éviter les redondances et erreurs de saisies ou orthographes multiples pour une même ville, il devriat y avoir une association entre ETUDIANT et une entié VILLE à créer. De plus, la VILLE est située dans un PAYS : nouvelle entité et nouvelle association.
2) Les clés étrangères ne doivent pas figurer dans le MCD.
Supprimer SexeId, SemestreID et autres...
3) L'association ETUDIANT -1,1----est dans----0,n- SEMESTRE laisse supposer que l'étudiant n'est que dans un seul semestre. cela entraînera des mises à jour de données et pas de mémorisation des semestres passés.
C'est vraiment comme ça que vous voulez faire ?
4) L'entité FORMATIONANTERIEURE est trop "rassemblée". On y trouve à la fois des informations sur des établissements, des diplômes, des notes, des moyennes...
Si vous avez plusieurs étudiants qui ont la même formation antérieure, vous aurez encore des redondances de données.
Il faut éclater tout ce paquet en plusieurs entités et associations.
5) Comment se fait-il que l'ensemble UV et CATEGORIEMODULE soit isolé dans son coin, sans association avec le reste du MCD ?
6) On retrouve la notion de semestre dans l'entité SEMESTREETUDE mais sans association avec l'entité SEMESTRE. Bizarre non ?
Bref, ce MCD est totalement à revoir.
En fouillant sur ce forum, vous trouverez d'autres exemples assez récents qui vous donneront des pistes pour améliorer votre MCD.
Pour le moment, je lui donnerais un petit 5/20 !
Voilà j'ai entrepris quelques correction.
Il ne faut pas prendre en compte la redondance des données (ce n'est pas grave) ainsi que l'éclatement des entités que je n'ai pas fait.
Voici le MR :
MERCI !!!ETUDIANT(idEtudiant,nomEtudiant, prenomEtudiant, dateDeNaissanceEtudiant,codePostalEtudiant,villeEtudiant,paysEtudiant,emailEtudiant,#sexeId,noteEntretienEtudiant,
diplomeEnPreparationEtudiant,evalChefEtablissement,avisChefEtablissement,rentreeEtudiant,semestreId,permierChoixEtudiant, deuxièmeChoixEtudiant, troisièmeChoixEtudiant,
quatrièmeChoixEtudiant, nomConseillerEtudiant,prenomConseillerEtudiant)
FORMATIONANTERIEUR(idFormationAnterieur,etudiantFormationAnterieur,typeEtablissementAnterieur,libelleEtablissementFormationAnterieur,codePostalEtablissementFormationAnterieur,
villeEtablissementFormationAnterieur,libelleDiplomeEtablissementFormartionAnterieur,mentionDiplomeFormationAnterieur,anneeDiplomeEtudiantFormationAnterieur,moyenneEtudiantFormationAnterieur,
moyennePromoFormationAnterieur,classementEtudiantFormationAnterieur,effectifPromoFormationAnterieur)
SEXE(idSexe,libelleSexe)
SEMESTRE(idSemestre,libelleSemestre)
SEMESTREETUDE(idSemestreEtude,#etudiantIdSemestreEtude,libelleSemestreEtude, niveauSemestreEtude,periodeSemestreEtude,anneeSemestreEtude)
RESULTAT(etudiantIdResultat,libelleModuleResultat,noteResultat,#semestreEtudeId,obtientCreditResultat)
OBSERVATION(idObservation, #etudiantIdObservation,obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, obs10, poursuiteObservation)
UV(idUv,libelleUv,creditUv,#categorieId)
CATEGORIEMODULE(idCategorieModule,libelleCategorieModule)
ESTINSCRIT(#idUv,#idSemestreEtude,#IdEtudiant)
RECOIT(#idSemestreEtude,#idObservation,#idEtudiant)
ASUIVI(#idEtudiant,#idFormationAnterieur)
Comme dit dans mon précédent message, l'entité" Observation ne devrait pas avoir plusieurs colonnes identiques.
Elle ne devrait avoir pour attributs que 'idObservation' et 'libelleObservation'. On peut même simplifier l'association ternaire "recoit" en association binaire :
ETUDIANT -0,n----recoit_observation----0,n- SEMESTREETUDE
Avec l'association porteuse de la donnée libelleObservation. Chaque ligne de la table issue de l'association est une observation pour un étudiant dans un trimestre.
Comme déjà dit également, les choix des étudiants doivent aussi être externalisés.
Je ne sais pas si ce que vous appelez "redondance des données" est ce que je mentionne ci-dessus mais il ne faut pas dire "ce n'est pas grave" ! C'est contraire au principe des bases de données relationnelles ! C'est facilement générateur de données incohérentes, mortes, partielles selon l'endroit où elles sont enregistrées...Il ne faut pas prendre en compte la redondance des données (ce n'est pas grave) ainsi que l'éclatement des entités que je n'ai pas fait.
Terminez votre MCD en le normalisant à fond.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager