# Gnral Dveloppement > ALM > Modlisation > Schma > [MCD] Professeurs, cours, tudiants

## beegees

Bonjour tout le monde,

J'aimerais crer un MCD Professeurs, cours, tudiants.

Pour ce qui est du cours, j'ai donc une table cours, avec :

- Mnemonic (cl primaire)
- Intitutl

Je bloques sur le fait que ce cours peut soit tre thorique, pratique, ou les deux.

J'ai aussi trois genres de cours :

- Un cours suivi par un tudiant qui est en parcours normal, a s'est le cas normal.
- Un cours suivi en cours isol (s'est  dire qu'un tudiant prend de l'avance sur l'anne prochaine en suivant des cours de l'anne juste aprs).
- REUS sont des cours de l'anne prcdente qui doivent encore tre passs et russis par un tudiant, il est nanmoins dans l'anne suprieure.

Je ne sais pas comment je peux schmatiser ces cas.

Sauriez-vous m'aider svp ?

Je vous en remercie d'avance.

beegees

----------


## fsmrel

Bonjour Beegees,


a fait un moment que je ne vous avais pas vu.




> Je bloque sur le fait que ce cours peut soit tre thorique, pratique, ou les deux.


Puisquil sagit dune proprit du cours, vous dfinissez un attribut supplmentaire de lentit-type COURS, par exemple CoursType, pouvant prendre les valeurs "thorique", "pratique", "thorique et pratique".




> J'ai aussi trois genres de cours :
> - Un cours suivi par un tudiant qui est en parcours normal, a s'est le cas normal.
> - Un cours suivi en cours isol (s'est  dire qu'un tudiant prend de l'avance sur l'anne prochaine en suivant des cours de l'anne juste aprs).
> - REUS sont des cours de l'anne prcdente qui doivent encore tre passs et russis par un tudiant, il est nanmoins dans l'anne suprieure.


Considrons le schma suivant :
[COURS]---1,N---(SUIVRE)---1,N---[ETUDIANT]Vous ajoutez un attribut SuiviType dans lassociation-type SUIVRE, et donc pour un tudiant et pour un cours donns, vous aurez au choix une des trois valeurs : "normal", "isol", "REUS".

----------


## beegees

> Bonjour Beegees,
> 
> 
> a fait un moment que je ne vous avais pas vu.
> 
> 
> Puisquil sagit dune proprit du cours, vous dfinissez un attribut supplmentaire de lentit-type COURS, par exemple CoursType, pouvant prendre les valeurs "thorique", "pratique", "thorique et pratique".
> 
> 
> ...


Bonjour fsmrel,

Un tout grand merci pour votre rponse et pour l'accueil, a fait toujours plaisir  :;): 

S'est vrai que je ne suis plus venu depuis un moment car quand je venais sur cette partie du forum (merise) s'tait pour mon cours d'analyse de premire anne.

Je suis maintenant en 3e et dernire anne et je dois prparer mon travail de fin d'tude.

Pour cela, je dois utiliser Merise, vous allez donc me revoir assez souvent.

Merci pour votre rponse qui me semble trs intressante, vous me mettez sur une trs bonne piste, je vais potasser tout a et je reviens vous dire quoi (promis).

Encore merci pour tout.

beegees

----------


## beegees

Bonjour,

Comme promis, me voil avec mon MCD.

Sauriez-vous y jeter un coup d'oeil svp ?

Voici plus d'info :

Le programme que je veux concevoir va permettre  des Professeurs d'encoder leurs cotes d'examen.

Il est important de savoir qu'un tudiant peut suivre un cours "Isol", "REUS" ou "Normal".

Seules 0  20, abs et D pourront tres encods mais je ne pense pas que a intervient dans le MCD.

J'aurais aussi aim avoir une proprit qui indique depuis combien d'anne l'tudiant  obtenu une certaine cote, je vous explique :

Un tudiant qui rate une anne (aprs la seconde session) conserve les cotes = ou >  12, on dit alors qu'il a une cote d'une anne si il double une premire fois, une cote de deux ans si il double deux fois, lors de son 2e essais, il a pu obtenir des 12 ou plus (rat l'anne d'avant), ces cotes sont alors des cotes de premire anne....

Un tudiant ne peut conserver ses cotes que 5 annes, aprs, il perd la cote.

Il y'aura donc une colonne supplmentaire pour indiquer depuis combien d'anne une cote est reporte.

Merci d'avance pour votre aide trs prcieuse et trs apprcie.

beegees

----------


## fsmrel

Bonjour Beegees,

Quelques observations.

Dictionnaire de donnes :

Votre dictionnaire des donnes ne fait que recenser les noms des donnes ; imaginez consulter le Larousse ou le Robert et ny trouver que linventaire des mots de la langue franaise, sans aucune explication...

Pour chaque terme quil comporte, votre dictionnaire doit donc en donner la dfinition. Ainsi on saurait ce que veut dire Type_cours. 

En outre, des exemples de valeurs doivent complter la dfinition dun terme (prenez par exemple le cas du terme Mnemonic_Cours). Ceci peut aider  mieux apprcier la pertinence du MCD.

Faites en sorte dutiliser les mmes noms dans le dictionnaire et dans la reprsentation graphique (on trouve par exemple Mnemonic_Cours dans le dictionnaire et MNEMONIC dans lentit-type COURS).

Par ailleurs, votre dictionnaire est incomplet. Il manque les termes suivants, utiliss dans la reprsentation graphique, notamment :

ENCODE_COTE, CATEGORIE_COTE, NOM, AC, ...

Identification des entits-types :

Il est dusage didentifier les entits-types au moyen de proprits artificielles, qui au niveau tabulaire feront lobjet de cls primaires dont les valeurs pourront tre affectes par le SGBD (par exemple par incrmentation). Les systmes externes  lentreprise et les utilisateurs ne doivent pas tre autoriss  changer ces valeurs. Par exemple, lentit-type COURS doit tre identifie par une proprit artificielle nomme quelque chose comme CousrId ou Id_Cours ou approchant. La proprit MNEMONIC fait alors lobjet dun identifiant alternatif (cl alternative au niveau tabulaire).

Tout ceci fait, on pourra commencer  commenter le MCD.

----------


## beegees

> Bonjour Beegees,


Bonjour Fsmrel et merci sincrement pour votre rponse rapide et constructive.




> Quelques observations.
> 
> Dictionnaire de donnes :
> 
> Votre dictionnaire des donnes ne fait que recenser les noms des donnes ; imaginez consulter le Larousse ou le Robert et ny trouver que linventaire des mots de la langue franaise, sans aucune explication...
> 
> Pour chaque terme quil comporte, votre dictionnaire doit donc en donner la dfinition. Ainsi on saurait ce que veut dire Type_cours.


J'ai ajout une explications pour chaque terme de mon dictionnaire des donnes.




> En outre, des exemples de valeurs doivent complter la dfinition dun terme (prenez par exemple le cas du terme Mnemonic_Cours). Ceci peut aider  mieux apprcier la pertinence du MCD.


Totalement raison, j'ai ajout un exemple pour chaque terme.




> Faites en sorte dutiliser les mmes noms dans le dictionnaire et dans la reprsentation graphique (on trouve par exemple Mnemonic_Cours dans le dictionnaire et MNEMONIC dans lentit-type COURS).


J'ai corrig.




> Par ailleurs, votre dictionnaire est incomplet. Il manque les termes suivants, utiliss dans la reprsentation graphique, notamment :
> 
> ENCODE_COTE, CATEGORIE_COTE, NOM, AC, ...


Je ne savais pas que les proprits devaient tre reprises dans le DD, c'est maintenant fait.  Notez que j'ai remplac AC par AA (erreur de frappe)




> Identification des entits-types :
> 
> Il est dusage didentifier les entits-types au moyen de proprits artificielles, qui au niveau tabulaire feront lobjet de cls primaires dont les valeurs pourront tre affectes par le SGBD (par exemple par incrmentation). Les systmes externes  lentreprise et les utilisateurs ne doivent pas tre autoriss  changer ces valeurs. Par exemple, lentit-type COURS doit tre identifie par une proprit artificielle nomme quelque chose comme CousrId ou Id_Cours ou approchant. La proprit MNEMONIC fait alors lobjet dun identifiant alternatif (cl alternative au niveau tabulaire).


Je ne comprends pas bien ce que vous voulez dire par ceci.




> Tout ceci fait, on pourra commencer  commenter le MCD.


Merci d'avance pour votre trs aide trs prcieuse.

Je mets en attach le MCD modifi ainsi que certaines explications complmentaires.

Infos complmentaires :




> REUS :
> 
> REUS signifie Russite partielle.  Il permet  un tudiant qui a russi au minimum 46 ECTS de cours de repasser le ou les cours qu'il a rat en  2e session tout en passant son anne et en allant donc dans l'anne suprieure.  Lors de la dlibration, l'tudiant sera dlibr sur le ou les cours qu'il aura rat dans l'anne prcdente, deux possibilits sont alors possibles :
> 
> 1re possibilit :
> 
> L'tudiant  russi tous les cours qu'il devait repass dans l'anne infrieure (minium 10 sur 20), il peut alors tre dlibr pour l'anne dans laquelle il est.
> 
> 2e possibilit :
> ...


Merci encore.

beegees

----------


## fsmrel

Bonsoir Beegees,

Quest-ce quune cte ? A quoi correspond la tche dencoder une cote ? Quelle en est la finalit ?

A-t-on reprsent sur le MCD tous les lments permettant  un professeur dencoder une cote, si cela est ncessaire ? Quels sont ces lments ? Leurs relations ? 

Si un seul professeur encode une cote, plutt quutiliser un boolen qui pourra prendre plusieurs fois la valeur de vrit VRAI (au lieu dune seule fois), mieux vaut tablir une association-type  ddie entre PROFESSEUR et COURS.

 

En passant, il est dusage de ne pas employer le pluriel pour les noms des entits-types, en loccurrence il vaut mieux crire PROFESSEUR plutt que PROFESSEURS. En effet, vous modlisez une entit-type et en logique cela sinterprte comme un prdicat. 

Vous voquez des quantits dECTS. Un attribut ECTS ne devrait-il pas figurer sur le MCD (par exemple dans lassociation-type SUIT ( moins quil ny ait double emploi avec la cote y figurant ?))

Vous prcisez quun tudiant peut tre inscrit simultanment  des cours de type BAx et BAy. En fait, on a deux chemins pour "aller" de lentit-type ETUDIANT  lentit-type ANNEE :

En passant par COURS,
En prenant le chemin direct ETUDIANT - ANNEE.

Quelque part, il y a une redondance incitant  supprimer le chemin direct. Reste cependant  rgler le sort de lattribut AA (transformer lassociation-type en proprit multivalue (agrgat) ou dfinir un attribut dans lentit-type reprsentant une des deux annes acadmiques (la 2e tant gale  celle-ci + une anne).




> Envoy par Fsmrel
> 
> Identification des entits-types :
> 
> Il est dusage didentifier les entits-types au moyen de proprits artificielles, qui au niveau tabulaire feront lobjet de cls primaires dont les valeurs pourront tre affectes par le SGBD (par exemple par incrmentation). Les systmes externes  lentreprise et les utilisateurs ne doivent pas tre autoriss  changer ces valeurs. Par exemple, lentit-type COURS doit tre identifie par une proprit artificielle nomme quelque chose comme CousrId ou Id_Cours ou approchant. La proprit MNEMONIC fait alors lobjet dun identifiant alternatif (cl alternative au niveau tabulaire).
> 
> 
> Je ne comprends pas bien ce que vous voulez dire par ceci.


Pour un tas de raisons, un identifiant ne doit pas tre porteur dinformation et modifiable par lutilisateur. Je cite un trs grand spcialiste de la question, Yves Tabourier :
_Une raison encore plus profonde pour laquelle lidentifiant  a laspect dune proprit, mais nest pas une proprit  est que la fonction dune proprit est de dcrire les objets (ou les rencontres), alors que lidentifiant ne dcrit rien. Son rle fondamental est dtre sr de distinguer deux jumeaux parfaits, malgr des descriptions identiques. Lexprience montre dailleurs que lusage des  identifiants significatifs  (ou  codes significatifs ) a pu provoquer des dgts tellement coteux que la sagesse est dviter avec le plus grand soin de construire des identifiants dcrivant les objets_... (Yves Tabourier, "De lautre ct de Merise").En ce sens, la dfinition de la table COURS au niveau SQL devrait avoir lallure suivante (le nouvel identifiant CoursId faisant lobjet de la cl primaire de la table :


```

```

 

Affaire  suivre...

----------


## beegees

> Bonsoir Beegees,
> 
> Quest-ce quune cte ? A quoi correspond la tche dencoder une cote ? Quelle en est la finalit ?


Bonjour Fsmrel,

Merci beaucoup pour votre rapide rponse.

En ce qui concerne la dfinition de cote, A quoi correspond la tche d'encoder une cote et Quelle en est la finalit, j'y ai rpondu dans le nouveau MCD que je mets en copie, les changements sont en bleus, en haut dans le tableau.




> A-t-on reprsent sur le MCD tous les lments permettant  un professeur dencoder une cote, si cela est ncessaire ? Quels sont ces lments ? Leurs relations ?


Une cote dpend d'un cours, d'une catgorie (thorie, travaux pratique) et d'un tudiant.

Donc Charles Dupont peut obtenir 18/20 pour la thorie du cours "TRAN-J-202".

C'est la thorie, maintenant il faut voir comment implmenter cela.

Sauriez-vous me dire avec quel programme vous avez dessinez cette partie de MCD ?




> Si un seul professeur encode une cote, plutt quutiliser un boolen qui pourra prendre plusieurs fois la valeur de vrit VRAI (au lieu dune seule fois), mieux vaut tablir une association-type  ddie entre PROFESSEUR et COURS.


Trs bonne ide, merci  :;): 

Mais quand je dis qu'un Professeur encode une cote, je veux dire qu'il encode les cotes du cours en entier, il encode donc toutes les cotes de PHAR-J-202 et pas la cote de Charles Dupont --> TRUE, Valrie Lemercier --> TRUE, Denis Bregnot --> FALSE...

Donc si un cours comprends trois titulaires :

- Prof. Gismow
- Prof. Spielberg
- Prof. King

Un aura "Encode-Cotes"  true et les deux autres  False

J'ai transform le MCD, les changements sont en bleus galement.

 




> En passant, il est dusage de ne pas employer le pluriel pour les noms des entits-types, en loccurrence il vaut mieux crire PROFESSEUR plutt que PROFESSEURS. En effet, vous modlisez une entit-type et en logique cela sinterprte comme un prdicat.


Bonn  savoir, merci.




> Vous voquez des quantits dECTS. Un attribut ECTS ne devrait-il pas figurer sur le MCD (par exemple dans lassociation-type SUIT ( moins quil ny ait double emploi avec la cote y figurant ?))


Je n'utilise pas cette information (ECTS) car elle n'a aucune utilit dans le programme que je vais mettre sur pied.

Le programme permettra aux Professeurs d'encoder leur cotes via internet, la premire tape est de crer une base de donnes avec une bonne analyse (ce que nous faisons actuellement).




> Vous prcisez quun tudiant peut tre inscrit simultanment  des cours de type BAx et BAy. En fait, on a deux chemins pour "aller" de lentit-type ETUDIANT  lentit-type ANNEE :
> 
> En passant par COURS,
> En prenant le chemin direct ETUDIANT - ANNEE.
> 
> Quelque part, il y a une redondance incitant  supprimer le chemin direct. Reste cependant  rgler le sort de lattribut AA (transformer lassociation-type en proprit multivalue (agrgat) ou dfinir un attribut dans lentit-type reprsentant une des deux annes acadmiques (la 2e tant gale  celle-ci + une anne).


Exactement, un tudiant peut soit prendre des cours en avance dans une anne suprieure ou terminer un ou plusieurs cours dans une anne infrieure.

Vous suggrer donc de retirer la relation entre Etudiant et Annee, je suis pour, je vous fais 100% confiance.  Pour ce qui est de AA (Anne Acadmique) on pourrait le mettre comme une proprit, mais elle reviendra alors  chaque fois ?





> Pour un tas de raisons, un identifiant ne doit pas tre porteur dinformation et modifiable par lutilisateur.


L'ais-je fait quelque part ?

Je cite un trs grand spcialiste de la question, Yves Tabourier :
_Une raison encore plus profonde pour laquelle lidentifiant  a laspect dune proprit, mais nest pas une proprit  est que la fonction dune proprit est de dcrire les objets (ou les rencontres), alors que lidentifiant ne dcrit rien. Son rle fondamental est dtre sr de distinguer deux jumeaux parfaits, malgr des descriptions identiques. Lexprience montre dailleurs que lusage des  identifiants significatifs  (ou  codes significatifs ) a pu provoquer des dgts tellement coteux que la sagesse est dviter avec le plus grand soin de construire des identifiants dcrivant les objets_... (Yves Tabourier, "De lautre ct de Merise").



> En ce sens, la dfinition de la table COURS au niveau SQL devrait avoir lallure suivante (le nouvel identifiant CoursId faisant lobjet de la cl primaire de la table :


Je prsme que idCours serait du genre 1,2,3... ?

Unique (Mnemonic_Cours) indique qu'il ne peut pas y avoir de doublon ?



```

```

 

Affaire  suivre...

Je vous remercie encore une fois pour votre professionnalisme et pour le temps que vous me consacrez.  

Je n'oublierai pas ce que vous avez fait pour moi.

beegees

----------


## fsmrel

Bonjour Beegees,





> Sauriez-vous me dire avec quel programme vous avez dessinez cette partie de MCD ?


Il sagit du logiciel de modlisation Power AMC. Mais il y a aussi lexcellent WinDesign pour raliser tous types de modles.




> Je prsme que IdCours serait du genre 1,2,3... ?
> 
> Unique (Mnemonic_Cours) indique qu'il ne peut pas y avoir de doublon ?


Cest tout  fait cela. IdCours prend successivement les valeurs 1, 2, 3, etc. au fil de la cration des cours. Lutilisateur pour sa part accde aux donnes dun cours via Mnemonic_Cours. La clause UNIQUE est prsente pour que le systme interdise que deux cours distincts aient la mme valeur de mnmonique. 




> quand je dis qu'un Professeur encode une cote, je veux dire qu'il encode les cotes du cours en entier, il encode donc toutes les cotes de PHAR-J-202 et pas la cote de Charles Dupont --> TRUE, Valrie Lemercier --> TRUE, Denis Bregnot --> FALSE...
> Donc si un cours comprends trois titulaires :
> 
> - Prof. Gismow
> - Prof. Spielberg
> - Prof. King
> 
> Un aura "Encode-Cotes"  true et les deux autres  False


On est tout  fait daccord quun professeur et un seul (disons Prof. King) encode les cotes dun cours (disons PHAR-J-202). Mais il ny aura pas dattribut Encode-Cotes.

En effet, si lon reprend le bout de MCD :

 


du fait de la cardinalit 1,1 porte par la patte connectant lentit-type Cours et lassociation-type Encoder, au niveau tabulaire on aura par exemple linstantan suivant concernant le cours Tran-J-202 :


```

```

Cest lattribut IdProfEncodeur de la table Cours qui se substitue au boolen. Et lon voit bien sur cet instantan quil ne peut y avoir personne dautre que le prof. King ayant pu encoder le cours Tran-J-202.

D'un point de vue boolen : 
Le prof. Gismow a-t-il encod le cours Tran-J-202 ? La rponse est : FAUX.
Le prof. King a-t-il encod le cours Tran-J-202 ? La rponse est : VRAI.Par ailleurs si une valeur devait tre prcise pour la cote attribue au cours, lattribut correspondant figurerait dans len-tte (schma) de lentit-type Cours.




> Envoy par fsmrel
> 
> Vous prcisez quun tudiant peut tre inscrit simultanment  des cours de type BAx et BAy. En fait, on a deux chemins pour "aller" de lentit-type ETUDIANT  lentit-type ANNEE :
> 
> En passant par COURS,
> En prenant le chemin direct ETUDIANT - ANNEE.
> 
> Quelque part, il y a une redondance incitant  supprimer le chemin direct. Reste cependant  rgler le sort de lattribut AA (transformer lassociation-type en proprit multivalue (agrgat) ou dfinir un attribut dans lentit-type reprsentant une des deux annes acadmiques (la 2e tant gale  celle-ci + une anne).
> 
> ...


Limitez vous  80%... Rflexion faite, il est prfrable, au moins  ce stade, de conserver lassociation-type _Se trouve en_, car elle si elle est cause de redondance, elle permet nanmoins dengranger le fait que, par exemple, pour le couple <Lon, BA2>, lanne acadmique est 2007-2008 et que pour le couple <Lon, BA1>, lanne acadmique est 2006-2007, ce que lon ne peut pas dduire avec ce que jai propos. En revanche, du fait de lassociation-type _Se trouve en_, rien ninterdit que Lon suive des cours dont aucun ne correspond  BA2, ce sur quoi jattirais lattention. En loccurrence, pour viter des anomalies lies  la redondance des chemins, au niveau SQL, il faudra prvoir un trigger pour assurer la cohrence.

Bon courage  vous...

----------


## beegees

> Bonjour Beegees,
> 
> Il sagit du logiciel de modlisation Power AMC. Mais il y a aussi lexcellent WinDesign pour raliser tous types de modles.


Bonjour Fsmrel,

Un tout GRAND merci pour votre rponse qui me permet d'avancer dans mon MCD.

Merci aussi pour l'info sur le programme "PowerAMC", j'ai tlcharg une version d'valuation (11) et je l'ai donc pour 15 jours.

Connaissez-vous le prix d'une licence ?  C'est juste pour terminer mes tudes, je n'en aurai plus besoin aprs.




> Cest tout  fait cela. IdCours prend successivement les valeurs 1, 2, 3, etc. au fil de la cration des cours. Lutilisateur pour sa part accde aux donnes dun cours via Mnemonic_Cours. La clause UNIQUE est prsente pour que le systme interdise que deux cours distincts aient la mme valeur de mnmonique.


Avec PowerAMC, sauriez-vous me dire quel type de donne est-ce 1,2,3... est-ce Squentiel ?





> On est tout  fait daccord quun professeur et un seul (disons Prof. King) encode les cotes dun cours (disons PHAR-J-202). Mais il ny aura pas dattribut Encode-Cotes.
> 
> En effet, si lon reprend le bout de MCD :
> 
>  
> 
> 
> du fait de la cardinalit 1,1 porte par la patte connectant lentit-type Cours et lassociation-type Encoder, au niveau tabulaire on aura par exemple linstantan suivant concernant le cours Tran-J-202 :
> 
> ...


Intressant, merci, comment fait-on cela avec PowerAMC ?
D'un point de vue boolen : 
Le prof. Gismow a-t-il encod le cours Tran-J-202 ? La rponse est : FAUX.
Le prof. King a-t-il encod le cours Tran-J-202 ? La rponse est : VRAI.Par ailleurs si une valeur devait tre prcise pour la cote attribue au cours, lattribut correspondant figurerait dans len-tte (schma) de lentit-type Cours.

Avec POWERAMC 11, j'ai l'association "Encoder_Cote", dois-je y mettre un attribut ? j'avais pens mettre "Id_Prof" dans l'attribut, est-ce correct ?

Si je fais cela, le programme me donne un avertissement en me disant que Id_Prof est utilis plusieurs fois.

J'ai ajout une table "Cote" avec comme attribut "Categorie" qui indique si c'est une cote thorique ou pratique (travaux pratique).

En faisant F4 pour tester le MCD, j'ai ce message d'avertissement :




> Circularit forme de liens obligatoires






> Limitez vous  80%... Rflexion faite, il est prfrable, au moins  ce stade, de conserver lassociation-type _Se trouve en_, car elle si elle est cause de redondance, elle permet nanmoins dengranger le fait que, par exemple, pour le couple <Lon, BA2>, lanne acadmique est 2007-2008 et que pour le couple <Lon, BA1>, lanne acadmique est 2006-2007, ce que lon ne peut pas dduire avec ce que jai propos. En revanche, du fait de lassociation-type _Se trouve en_, rien ninterdit que Lon suive des cours dont aucun ne correspond  BA2, ce sur quoi jattirais lattention. En loccurrence, pour viter des anomalies lies  la redondance des chemins, au niveau SQL, il faudra prvoir un trigger pour assurer la cohrence.
> 
> Bon courage  vous...


Encore un tout grand merci pour tout, je vais inclure dans quelques heures le MCD issus du programme PowerAMC 11, il sera bien plus claire.

Bon Dimanche  vous.

beegees

----------


## fsmrel

Bonsoir Beegees,





> Connaissez-vous le prix d'une licence ? C'est juste pour terminer mes tudes, je n'en aurai plus besoin aprs.


Uniquement pour le module donnes (celui qui vous concerne) : pas loin de 3000 euros...
http://www.pc21.fr/marque/promotions_sybase.html

Vous pouvez ventuellement vous rabattre sur un logiciel gratuit, MySQL Workbench, avec lequel on ne fait pas des MCD Merise, mais directement des MLD orients SQL :
http://dev.mysql.com/downloads/workbench/5.0.html

A titre dexemple, voil ce que donne la partie Professeurs - Cours




Selon cette reprsentation graphique, on ne parle pas didentifiant mais directement de cls primaires (petit mickey dor  gauche du nom, IdProf par exemple).
Un petit losange bleu  gauche dun nom dattribut signifie que celui-ci na rien de particulier.
Un petit losange mauve  gauche dun nom dattribut signifie que celui-ci participe  une cl trangre.
Le terme Indexes na rien  faire ici, car les index sont du niveau physique alors quion est au niveau logique.
Le lien Encoder est en pointills car IdProfEncodeur participe  la cl trangre, mais ne participe pas  la cl primaire de Cours.
Les autres liens sont en trait continu parce que les attributs IdProf et IdCours participent aux cls trangres, mais aussi  la cl primaire de la table Enseigner. 





> Envoy par fsmrel
> 
> Cest tout  fait cela. IdCours prend successivement les valeurs 1, 2, 3, etc. au fil de la cration des cours. Lutilisateur pour sa part accde aux donnes dun cours via Mnemonic_Cours. La clause UNIQUE est prsente pour que le systme interdise que deux cours distincts aient la mme valeur de mnmonique.
> 
> 
> Avec PowerAMC, sauriez-vous me dire quel type de donne est-ce 1,2,3... est-ce Squentiel ?


Vous pouvez dj parcourir le message :
http://www.developpez.net/forums/d58...o-incrementee/





> Intressant, merci, comment fait-on cela avec PowerAMC ?


Vous parlez de ce qui prcde votre question ? De ce qui la suit ?






> Avec POWERAMC 11, j'ai l'association "Encoder_Cote", dois-je y mettre un attribut ? j'avais pens mettre "Id_Prof" dans l'attribut, est-ce correct ?
> 
> Si je fais cela, le programme me donne un avertissement en me disant que Id_Prof est utilis plusieurs fois.


Au niveau conceptuel, hors de question dajouter lattribut Id_Prof en tant quattribut dans lassociation. Il est l en puissance, et lors de la production du modle logique, cest Power AMC qui lajoutera dans la table Cours en tant que cl trangre,  limage ce que lon a fait avec Workbench. 





> En faisant F4 pour tester le MCD, j'ai ce message d'avertissement :
> 
> 
> Circularit forme de liens obligatoires


Cest juste un warning, en loccurrence a nest pas grave.





> En connaissant le nom de l'tudiant, le cours, sa catgorie (TH OU TP), sa catgorie (REUS, CI, Cours  option, Normal) et l'anne acadmique, on connat quelle est la cote de l'tudiant. Est-ce correcte ?


Non, car dans votre dernier MCD, o voyez-vous que lon connat la catgorie de ltudiant, etc. ?

Le MCD est  revoir, notamment du ct Etudiant - Cote.

----------


## beegees

Bonsoir fsmrel,

Dsol de vous dranger  nouveau  ::oops:: 




> Le MCD est  revoir, notamment du ct Etudiant - Cote.
> Hier 12h48


Je pense "Categorie" et "Type" devraient tre des informations hors de la table cours.

Pour rappel :

Type :

TH ou TP

Catgorie :

REUS
CI
Normal
Cours  options
Mmoire

Mais je me pose une premire question :

Quelles cardinalits dois-je utiliser pour ces deux tables ?

1 cours peut tre d'un type et un type peut correspondre  plusieurs cours ?

Alors on aurait 1:1--------------------1,N

Il faudrait que cette information soit lie  un tudiant bien prcis.

Pour Charlie, le cours TRAN-J-202 TH est un CI par contre pour Nadia c'est un cours normal.

C'est faisable ceci ?

Merci pour tout.

beegees

----------


## beegees

Rebonjour fsmrel,

Voil, je viens de refaire mon MCD.

Je n'ai pas touch  ce que nous avons fait ensemble, c'est--dire Professeur encode et Professeur enseigne.

J'ai par contre retouch tout ce qui tait tudiant et note.

Sauriez-vous svp y jeter un coup d'oeil ?

Vous tes mon dernier espoir  ::ave:: 

Je tiens  vous dire encore un grand  ::merci::  pour votre aide.

beegees

----------


## fsmrel

Bonjour Beegees,

Concernant la rgle de gestion RG9 :
"Si le cours est enseign par plusieurs Professeurs, seul l'un d'entre eux pourra encoder les cotes du cours (boolean)"

a) Le type des donnes na pas  figurer dans les rgles de gestion : le mot "boolean" doit disparatre.

b) La patte liant Lentit-type COURS et lassociation-type ENCODER_COTE est porteuse dune cardinalit maximale 1. Comme je vous lai dj expliqu  avec au niveau du MLD, le contenu des tables et les requtes SQL  la cl  on sait qui a encod un cours, en consquence de quoi lattribut Cloturer figurant dans lassociation-type ENCODER_COTE ne fera que rpter ce que lon sait dj : cest une *redondance* et cet attribut doit disparatre.

Concernant lassociation-type OBTIENT_NOTE :

La patte liant Lentit-type COURS et lassociation-type OBTIENT_NOTE est porteuse dune cardinalit maximale *1* : *N* serait plus pertinent, sinon cela veut dire que pour un cours donn, un seul lve peut tre not...

Mme remarque concernant la patte liant Lentit-type CATEGORIE_COURS et lassociation-type OBTIENT_NOTE.

En supposant que vous ayez procd  ces ajustements, on peut interprter cette association. En effet, son *prdicat* est le suivant :

Pour le cours (ayant pour mnmonique) _Mnemonic_, dans la catgorie _Id_Categorie_, ltudiant (ayant pour matricule) _Matricule_Et_ a obtenu la note _Note_ et a choisi le type de cours _Type_Cours_.

Exemple de propositions (vraies simultanment) correspondant  ce prdicat :

Pour le cours _Tran-J-202_, dans la catgorie _TH_, ltudiant _007_ a obtenu la note _12_ et choisi le type de cours _Normal_
Pour le cours _Tran-J-202_, dans la catgorie _TP_, ltudiant _007_ a obtenu la note _14_ et choisi le type de cours _Normal_
Pour le cours _Tran-J-202_, dans la catgorie _TP_, ltudiant _123_ a obtenu la note _14_ et choisi le type de cours _Isol_

Mais votre rgle de gestion RG4 donne lieu  un prdicat diffrent, ce qui est gnant...

Mais vous avez aussi crit :



> Pour Charlie, le cours TRAN-J-202 TH est un CI par contre pour Nadia c'est un cours normal.


Il faudrait donc reformuler la rgle de gestion.

J'attends vos corrections du MCD et autres amnagements.

----------


## fsmrel

Bonsoir Beegees,


Avec vos messages qui fusent de partout, je ne sais plus trs bien o nous en sommes. On repart sur la base de mon message du 19/08/2008, 17h53, forum Merise. vitez les autres forums, car  tout mlanger, avec des MCD et MLD qui ne se correspondent pas, vous me faites tourner en bourrique.


Bon courage.

----------


## beegees

> Bonsoir Beegees,
> 
> 
> Avec vos messages qui fusent de partout, je ne sais plus trs bien o nous en sommes. On repart sur la base de mon message du 19/08/2008, 17h53, forum Merise. vitez les autres forums, car  tout mlanger, avec des MCD et MLD qui ne se correspondent pas, vous me faites tourner en bourrique.
> 
> 
> Bon courage.


Bonjour Fsmrel,

Merci pour vos rponses.

Vraiment dsol pour la confusion mais c'est surtout la base de donnes access que je voulais faire vrifier (domaine non repris ici dans la partie Merise).

Je rponds tout de suite au message du 19/08 (dont je n'ai pas reu de notification de rponse et c'est pourquoi je n'ai pas rpondu).

Merci pour votre dvouement sans faille.

beegees

----------


## beegees

> Bonjour Beegees,


Bonjour Fsmrel,

Dsol sincrement pour le retard de ma rponse, je n'ai pas reu de notification de rponse, la seule que j'ai reu, est celle de la rponse d'aujourd'hui  minuit et quelque et merci pour votre rponse.




> Concernant la rgle de gestion RG9 :
> "Si le cours est enseign par plusieurs Professeurs, seul l'un d'entre eux pourra encoder les cotes du cours (boolean)"
> 
> a) Le type des donnes na pas  figurer dans les rgles de gestion : le mot "boolean" doit disparatre.
> 
> b) La patte liant Lentit-type COURS et lassociation-type ENCODER_COTE est porteuse dune cardinalit maximale 1. Comme je vous lai dj expliqu  avec au niveau du MLD, le contenu des tables et les requtes SQL  la cl  on sait qui a encod un cours, en consquence de quoi lattribut Cloturer figurant dans lassociation-type ENCODER_COTE ne fera que rpter ce que lon sait dj : cest une *redondance* et cet attribut doit disparatre.


OK j'ai fais ce que vous m'avez conseill, c'est un trs bon conseil, merci.




> Concernant lassociation-type OBTIENT_NOTE :
> 
> La patte liant Lentit-type COURS et lassociation-type OBTIENT_NOTE est porteuse dune cardinalit maximale *1* : *N* serait plus pertinent, sinon cela veut dire que pour un cours donn, un seul lve peut tre not...


OK j'ai modifi, je vais gnrer le MPD et je vais le mettre en attach.




> Mme remarque concernant la patte liant Lentit-type CATEGORIE_COURS et lassociation-type OBTIENT_NOTE.


*L par contre, j'hsite entre deux cardinalit, j'ai chang celle la plus  droite, j'espre que c'est la bonne.*

En supposant que vous ayez procd  ces ajustements, on peut interprter cette association. En effet, son *prdicat* est le suivant :




> Pour le cours (ayant pour mnmonique) _Mnemonic_, dans la catgorie _Id_Categorie_, ltudiant (ayant pour matricule) _Matricule_Et_ a obtenu la note _Note_ et a choisi le type de cours _Type_Cours_.
> 
> Exemple de propositions (vraies simultanment) correspondant  ce prdicat :
> 
> Pour le cours _Tran-J-202_, dans la catgorie _TH_, ltudiant _007_ a obtenu la note _12_ et choisi le type de cours _Normal_
> Pour le cours _Tran-J-202_, dans la catgorie _TP_, ltudiant _007_ a obtenu la note _14_ et choisi le type de cours _Normal_
> Pour le cours _Tran-J-202_, dans la catgorie _TP_, ltudiant _123_ a obtenu la note _14_ et choisi le type de cours _Isol_


C'est exactement ce qu'il me faut.




> Mais votre rgle de gestion RG4 donne lieu  un prdicat diffrent, ce qui est gnant...
> 
> Mais vous avez aussi crit :
> 
> Il faudrait donc reformuler la rgle de gestion.


N'en tenez pas compte pour l'instant, ds que j'aurai bien compris mon MCD, j'adapterai mes rgles de gestions.




> J'attends vos corrections du MCD et autres amnagements.


J'ai fais la majeure partie des changements, *mais quelque chose m'inquite* : 

Maintenant que j'ai 1,n entre Etudiants et Notes, j'ai une table supplmentaire qui contient :

Id_notes - Categorie

Je me vois mal mettre pour chaque cote quelle est la catgorie (normal, REUS...)

Est-ce une bonne ide d'avoir une entit cote ? a ne devrais pas tre un attribut de l'association "Obtient_Note" ?

Qu'en pensez-vous ?

merci pour TOUT.

beegees

PS: voici le tout nouveau MCD et MPD

----------


## fsmrel

Bonjour Beegees,

Tant que le MCD ne sera pas stabilis, ne transmettez plus le MLD, on le regardera plus tard.




> Envoy par fsmrel
> 
> Concernant lassociation-type OBTIENT_NOTE :
> 
> La patte liant Lentit-type COURS et lassociation-type OBTIENT_NOTE est porteuse dune cardinalit maximale 1 : N serait plus pertinent, sinon cela veut dire que pour un cours donn, un seul lve peut tre not...  
> 
> 
> OK j'ai modifi, je vais gnrer le MPD et je vais le mettre en attach.


Bien.




> Envoy par fsmrel
> 
> Mme remarque concernant la patte liant Lentit-type CATEGORIE_COURS et lassociation-type OBTIENT_NOTE.  
> 
> 
> L par contre, j'hsite entre deux cardinalit, j'ai chang celle la plus  droite, j'espre que c'est la bonne.


Ce qui est gnant, cest que vous ne devriez plus hsiter...
Voyez mes commentaires plus loin  ce sujet.





> En supposant que vous ayez procd  ces ajustements, on peut interprter cette association. En effet, son prdicat est le suivant :
> 
> 
> 
> 
> 
>  Envoy par fsmrel
> 
> Pour le cours (ayant pour mnmonique) Mnemonic, dans la catgorie Id_Categorie, ltudiant (ayant pour matricule) Matricule_Et a obtenu la note Note et a choisi le type de cours Type_Cours.
> ...


Puisque cest exactement ce quil vous faut, vrifions si votre MCD est en phase.

Le prdicat que jai propos est issu de la reprsentation suivante :

 

Je fais observer en passant que lattribution dune note est anonyme, en ce sens que lon ne sait pas quel est le professeur qui a attribu la note  ltudiant. Est-ce normal ?


Considrons maintenant lassociation-type CORRESPOND_A. Elle est le lieu de rencontre des cours et des notes et se lit ainsi : 
A un cours peuvent correspondre plusieurs notes
A une note peuvent correspondre plusieurs cours.Exemple :
Au cours Tran-J-202 peut correspondre la note 0
Au cours Tran-J-202 peut correspondre la note 1
...
Au cours Xyzt-K-303 peut correspondre la note 0
Au cours Xyzt-K-303 peut correspondre la note 1
...
Etc.=> Je ne vois pas trop lutilit de cette association-type...


Au tour de lassociation-type CAT :
A la catgorie TH peut correspondre la note 0
A la catgorie TH peut correspondre la note 1
...
A la catgorie TP peut correspondre la note 0
A la catgorie TP peut correspondre la note 1
...
Etc.=> L encore je ne vois pas trop lutilit de cette association-type...


Au tour de votre association-type OBTIENT_NOTE :

Tout dabord, la patte connectant lentit-type NOTES et lassociation-type OBTIENT_NOTE est 1,1 : cela veut dire quune note donne (par exemple 12) ne peut tres obtenue que par un seul tudiant, c'est--dire que si ltudiant beegees a obtenu la note 12, ltudiant fsmrel ne pourra pas obtenir cette note 12. Autrement dit, la cardinalit maximale 1 doit tre remplace par N. 

Quant  la cardinalit minimale, disons quelle est 0 plutt que 1, sinon vous injectez la rgle suivante : toute note doit tre obtenue par au moins un tudiant.


Quen est-il de la rgle RG11 ? vous y parlez de cotes qui ne figurent pas dans votre MCD.

Plus gnralement les noncs des rgles sont de moins en moins en phase avec le MCD (cf. par exemple RG4) : il est impratif que la cohrence soit (r)tablie. Sinon, cela veut dire que vous narrivez pas  raliser ladquation MCD/rgles mais il faut  tout prix que vous y arriviez...

Rdigez des exemples comme je lai fait, cela vous sera trs utile, rien de tel que le concret pour s'assurer de la petinence de ce que l'on modlise. Pour le moment, le compte n'y est pas...

Allez, courage.

----------


## beegees

Bonjour Fsmrel,

Un tout grand merci pour vos messages qui m'aident beaucoup.

J'ai jamais vue quelqu'un avec une telle patience.

Ce schma 



doit bien tre lu de cette faon ? :

Un professeur enseigne un  plusieurs cours
Un cours peut tre enseign par un  plusieurs professeurs

Un Professeur encode 1  Plusieurs cours 
Un cours est encod par 1 seul Professeur




> Je fais observer en passant que lattribution dune note est anonyme, en ce sens que lon ne sait pas quel est le professeur qui a attribu la note  ltudiant. Est-ce normal ?


Il faudrait que le Professeur qui attribue la cote (qui encode) soit dsign, je pense que dans mon MCD actuel, c'est le cas vue que "Cours" a une association "Enseigner" (qui est indispensable car mme si un Prof n'encode pas un cours dont il est co-titulaire, il a le droit d'aller jeter un coup d'oeil sur les cotes encodes).

Votre morceau de MCD m'a tellement plu que j'ai transform le mien pour qu'il ressemble au vtre.

La seule petite chose et a je pense que c'est mieux qui a mlang les pinceaux :

Type : Th (thorie) TP (Travaux Pratiques)

Catgorie : Rgulier (anciennement normal), REUS, CI (Cours isol), CAO (Cours  option) et Mmoire.

Et en tapant ces lignes, je pense  quelque chose d'important :

Une cote ne pourra pas tre numrique car :

- On pourra encoder des cotes de 0  20 mais aussi "ABS" ou "OUI" et "NON" pour les stages.

D'ailleurs, en parlant de stage, je devrai ajouter dans "Catgorie" une option stage.

Je penses donc que le type "Texte" sera plus adapt aux cotes, qu'en pensez-vous ?

Voil, suivant vos conseils, j'ai retravaill le MCD, il est bien plus "lger" maintenant.

Encore merci pour votre aide trs apprcie et  combien prcieuse.

beegees

*Edit:* Afin de ne pas crer un nouveau message, j'indique la continuit du message ici :

Chr(e) Fsmrel,

J'ai pris un peu d'avance...

J'ai cr grce au programme le MPD et la base de donnes Access afin de voir  quoi a allait ressembler et... je n'ai jamais eu une base de donnes aussi bien faite  ::yaisse2:: 

 ::merci:: 

Bon, ce n'est pas encore tout  fait fini mais nous sommes sur le bon chemin.

La table "Cours" reprend chaque cours *UNE seule fois* chaque cours, ce qui permet d'tre sr qu'on a bien le professeur qui encode.

C'est donc gnial  ::king:: 

La premire partie du MCD est donc pour moi termine, je ne sais pas ce que vous en pensez, j'attends en tout cas votre accord pour dire que la premire partie du MCD est termine.

Il y'aura quelque chose dont je devrais parler dans le MCD, les reports.

En fait, aprs la seconde session, si un tudiant rate son anne et qu'il se rinscrit comme tudiant dans l'anne qu'il a rat, il garde toutes les notes gales ou suprieures  12.

Il faut donc que ces cotes apparaissent.

Pour cela, ma premire ide serait de "dater" les cotes.

Je m'explique :

- Une cote de zro anne est une cote pour un examen qu'on passe pour la premire fois (ou la deuxime fois en 2e session).
- Une cote d'une anne est une cote russie lors de l'anne acadmique prcdente, cette cote doit donc apparaitre et l'tudiant ne doit donc plus passer l'examen.

a, c'est la thorie, maintenant, je vais rflchir comment mettre cela  jour et je vous dis quoi.

*Edit:* Il y'a quelques choses d'important que j'ai oubli de prendre en compte, un cours peut tre cltur, c'est--dire que lorsque le Professeur a termin d'encoder ses cotes, il doit avoir la possibilit de clturer le cours pour imprimer les cotes et les remettre au secrtariat.

J'ai donc pens  mettre "Cltur" dans l'association "ENCODER_COTE", le 1:1 va me permettre d'ajouter une colonne "Cltur" dans la table "Cours".  a sera un boolean, il est soit non cltur (false) ou cltur (true).  Qu'en pensez-vous.  Voir le MCD mise  jour. 

Encore un tout grand et *sincre*  ::merci::  pour votre aide.

beegees

----------


## fsmrel

Bonjour Beegees





> Ce schma 
> 
> 
>  
> 
> doit bien tre lu de cette faon ? :
> 
> Un professeur enseigne un  plusieurs cours
> Un cours peut tre enseign par un  plusieurs professeurs
> ...


Lassociation-type Encoder a disparu...

Quand vous crivez "Un professeur enseigne un  plusieurs cours", vous signifiez quun professeur enseigne au moins un cours, ce qui est correct. La cardinalit minimale 1 est conforme  ce que vous avez crit. 

Quand vous crivez "Un cours peut tre enseign par un  plusieurs professeurs", vous signifiez quun cours nest pas forcment enseign. De deux choses lune :
_ De fait, un cours peut ne pas tre enseign, mais alors la cardinalit 1,N (ct Cours) devient 0,N.

_ Ou bien, un cours est enseign par au moins un professeur, conformment  la cardinalit 1,N que vous avez reprsente mais alors la rgle de gestion s'nonce : "Un cours est enseign par au moins un professeur", le "peut tre" doit disparatre.Quand vous crivez "Un Professeur encode 1  Plusieurs cours", cela veut dire que chaque professeur encode au moins un cours. Si ce nest pas le cas de tous les professeurs, crivez "Un professeur peut encoder des cours" et remplacez la cardinalit 1,N par 0,N. 





> Envoy par fsmrel
> 
> Je fais observer en passant que lattribution dune note est anonyme, en ce sens que lon ne sait pas quel est le professeur qui a attribu la note  ltudiant. Est-ce normal ? 
> 
> 
> Il faudrait que le Professeur qui attribue la cote (qui encode) soit dsign, je pense que dans mon MCD actuel, c'est le cas vue que "Cours" a une association "Enseigner" (qui est indispensable car mme si un Prof n'encode pas un cours dont il est co-titulaire, il a le droit d'aller jeter un coup d'oeil sur les cotes encodes).


Je nai pas tout saisi. Qu'entendez-vous par "dsign" ? 
Peu importe. Sachant que les professeurs King, Gismow et Spielberg enseignent le cours Tran-J-202 et que cest le professeur King qui a encod ce cours, je pose la question :
En sa qualit dencodeur du cours, seul le professeur King est-il habilit  attribuer une note  ltudiant Tintin pour le cours Tran-J-202 ? Ou bien n'importe lequel des trois est-il habilit  le faire ?





> Une cote ne pourra pas tre numrique car :
> - On pourra encoder des cotes de 0  20 mais aussi "ABS" ou "OUI" et "NON" pour les stages.


Que signifient chacune des valeurs "ABS", "OUI", "NON", autrement dit dans quelles conditions ces valeurs se substituent-elles  une cote comprise entre 0 et 20 ?





> Il y'aura quelque chose dont je devrais parler dans le MCD, les reports.


On verra cela quand ce qui prcde sera dquerre et que vous aurez reformul en consquence chaque rgle de gestion. On ne construit que sur des bases saines.


En passant : Flicitations  Tia Hellebaut.

----------


## beegees

> Bonjour Beegees


Bonjour Fsmrel,

Dsol pour le retard de ma rponse, j'avais un examen de passage jeudi dernier.




> Lassociation-type Encoder a disparu...


Dans le schma prsent oui mais pas dans le schma original.




> Quand vous crivez "Un professeur enseigne un  plusieurs cours", vous signifiez quun professeur enseigne au moins un cours, ce qui est correct. La cardinalit minimale 1 est conforme  ce que vous avez crit.


OK




> Quand vous crivez "Un cours peut tre enseign par un  plusieurs professeurs", vous signifiez quun cours nest pas forcment enseign. De deux choses lune :
> _ De fait, un cours peut ne pas tre enseign, mais alors la cardinalit 1,N (ct Cours) devient 0,N.
> 
> _ Ou bien, un cours est enseign par au moins un professeur, conformment  la cardinalit 1,N que vous avez reprsente mais alors la rgle de gestion s'nonce : "Un cours est enseign par au moins un professeur", le "peut tre" doit disparatre.


OK fait, merci d'aller si loin dans les dtails.  

Voici la nouvelle rgle de gestion :




> RG2 : 1 cours est enseign par 1 ou plusieurs Professeurs (Cours





```
Quand vous crivez "Un Professeur encode 1  Plusieurs cours", cela veut dire que chaque professeur encode au moins un cours. Si ce nest pas le cas de tous les professeurs, crivez "Un professeur peut encoder des cours" et remplacez la cardinalit 1,N par 0,N.
```

OK, en effet il peut y avoir un Professeur qui n'encode rien.  Le changement de 1,n par 0,n ne change rien  la base de donnes finale ?



```

```

Ils se dcident sur une cote pour tel et tel tudiant MAIS un seul aura la possibilit d'encoder les cotes dans la page web, mais la dcision est prise par les deux ou trois Professeurs.



```
Que signifient chacune des valeurs "ABS", "OUI", "NON", autrement dit dans quelles conditions ces valeurs se substituent-elles  une cote comprise entre 0 et 20 ?
```

ABS, si un tudiant ne se prsente pas  un examen, il est not ABS (absent).  Mme si il est malade avec justificatif, ce n'est pas aux Professeur d'en juger mais au Jury lors de la dlibration.

Pour ce qui est de "OUI" et "NON" cela ne s'applique qu'aux stages.

Un tudiant  soit termin sont stage (OUI) soit ne l'a pas encore termin (NON).




> On verra cela quand ce qui prcde sera dquerre et que vous aurez reformul en consquence chaque rgle de gestion. On ne construit que sur des bases saines.


OK vous avez raison.

Il y'a juste une chose pour moi qui me parait trs importante, voir capitale, il FAUT savoir dans quelle anne (BA1,BA2...) un tudiant est je vous explique mon ide :

L'ide est de crer un script qui va remplir une base de donnes par rapport  un listing d'un datawarehouse.  

En 2007-2008 l'tudiant Charles Dupont tait en BA2.

Il double, en 2008-2009 Charles Dupont s'inscrit  nouveau en BA2.

Il faut que je garde toutes les cotes suprieures  12 de Charles Dupont.

Pour cela, je sais qu'il tait ajourn, je sais qu'il s'est rinscrit, je peux donc lancer le script pour les cotes suprieures ou gales  12.

Le fait donc de savoir dans quelle anne est un tudiant est capital. 

J'ai modifi mon MCD pour ce point l (RG10 et RG11 en bleu) sauriez-vous y jeter un coup d'oeil svp ?




> En passant : Flicitations  Tia Hellebaut.


Merci pour elle, c'est vrai qu'elle sauve un peu notre honneur car deux mdailles ce n'est pas beaucoup.

Tiens en passant, je n'ai pas vu RelationLand aux JO, que c'est-il pass  ::lol:: ?

Bonne journe et bon WE  vous et un tout grand  ::merci:: 

beegees

----------


## fsmrel

Bonsoir Beegees,





> Envoy par fsmrel
> 
> Quand vous crivez "Un Professeur encode 1  Plusieurs cours", cela veut dire que chaque professeur encode au moins un cours. Si ce nest pas le cas de tous les professeurs, crivez "Un professeur peut encoder des cours" et remplacez la cardinalit 1,N par 0,N.
> 
> 
> OK, en effet il peut y avoir un Professeur qui n'encode rien. Le changement de 1,n par 0,n ne change rien  la base de donnes finale ?


Si vous prvoyez 1,N, votre base de donnes devra dune faon ou dune autre comporter une contrainte pour garantir que chaque professeur encode au moins un cours (toute rgle de gestion des donnes doit tre vrifie au niveau de la base de donnes, mme si nombreux sont ceux qui oublient cela). Comme il y a des professeurs qui nencodent pas de cours, vous devez ncessairement remplacer 1,N par 0,N.




> Envoy par fsmrel
> 
>  Concernant la rgle de gestion RG9 :
> "Si le cours est enseign par plusieurs Professeurs, seul l'un d'entre eux pourra encoder les cotes du cours (boolean)"
> a) Le type des donnes na pas  figurer dans les rgles de gestion : le mot "boolean" doit disparatre.
> b) La patte liant Lentit-type COURS et lassociation-type ENCODER_COTE est porteuse dune cardinalit maximale 1. Comme je vous lai dj expliqu  avec au niveau du MLD, le contenu des tables et les requtes SQL  la cl  on sait qui a encod un cours, en consquence de quoi lattribut Cloturer figurant dans lassociation-type ENCODER_COTE ne fera que rpter ce que lon sait dj : *cest une redondance et cet attribut doit disparatre*.
> 
> 
>  OK j'ai fais ce que vous m'avez conseill, c'est un trs bon conseil, merci.


Pourquoi lattribut Cloturer refait-il surface ? Relisez vos MCD avant de les proposer, nous perdons du temps.






> Envoy par fsmrel
> 
> Je nai pas tout saisi. Qu'entendez-vous par "dsign" ? 
> Peu importe. Sachant que les professeurs King, Gismow et Spielberg enseignent le cours Tran-J-202 et que cest le professeur King qui a encod ce cours, je pose la question :
> En sa qualit dencodeur du cours, seul le professeur King est-il habilit  attribuer une note  ltudiant Tintin pour le cours Tran-J-202 ? Ou bien n'importe lequel des trois est-il habilit  le faire ?
> 
> 
> Ils se dcident sur une cote pour tel et tel tudiant MAIS un seul aura la possibilit d'encoder les cotes dans la page web, mais la dcision est prise par les deux ou trois Professeurs.


Vous confirmez donc quil ny a aucun lien  tablir entre les professeurs concerns et l'tudiant Tintin (en loccurrence via lassociation-type OBTIENT_NOTE). 






> Il y'a juste une chose pour moi qui me parait trs importante, voir capitale, il FAUT savoir dans quelle anne (BA1,BA2...) un tudiant est je vous explique mon ide :
> En 2007-2008 l'tudiant Charles Dupont tait en BA2.
> Il double, en 2008-2009. Charles Dupont s'inscrit  nouveau en BA2.
> Il faut que je garde toutes les cotes suprieures  12 de Charles Dupont.
> Pour cela, je sais qu'il tait ajourn, je sais qu'il s'est rinscrit, je peux donc lancer le script pour les cotes suprieures ou gales  12.
> Le fait donc de savoir dans quelle anne est un tudiant est capital.


Quentendez-vous *exactement* par "garder toutes les cotes suprieures  12 de Charles Dupont" ?
Daprs votre MCD, pour un tudiant, un cours et une catgorie, il y a exactement une note. Pour le moment, j'acte donc que par "toutes" vous voulez parler de la note obtenue pour chaque cours auquel est inscrit Charles.

Dans ces conditions et selon le MCD actuel, vous savez que ltudiant Dupont (le jumeau de Dupond, bien sr) a suivi le cours c1, dans la catgorie cat1 et obtenu par exemple la note 15. Cela dit, le cours c1  dtermine (rgle RG6) lanne, disons BA2. Lassociation-type INSCRIT_EN napporte donc rien quon ne sache dj et reprsente une redondance que jai dj signale (http://www.developpez.net/forums/d58...r/#post3553312), elle doit sauter. Par contre, rien ne permet de savoir que Dupont sest inscrit  ce cours en 2008 puis rebelote en 2009. Il serait donc peut-tre utile dajouter un attribut Date_Inscription dans lassociation-type OBTIENT_NOTE. 





> je n'ai pas vu RelationLand aux JO, que c'est-il pass  ?


Je navais pas russi les minima. Chut...

----------


## beegees

Bonjour Fsmrel,

Dsol pour le retard de ma rponse, j'ai repris le travail (aprs mes congs) et je n'ai plus eu le temps de m'occuper de mon TFE.




> Si vous prvoyez 1,N, votre base de donnes devra dune faon ou dune autre comporter une contrainte pour garantir que chaque professeur encode au moins un cours (toute rgle de gestion des donnes doit tre vrifie au niveau de la base de donnes, mme si nombreux sont ceux qui oublient cela). Comme il y a des professeurs qui nencodent pas de cours, vous devez ncessairement remplacer 1,N par 0,N.


OK a c'est en ordre, merci.





> Pourquoi lattribut Cloturer refait-il surface ? Relisez vos MCD avant de les proposer, nous perdons du temps.


Il est  nouveau prsent car j'aimerais juste que ce champ devienne une case  cocher, quand le Professeur a termin, il peut clturer dfinitivement et ne pourra donc plus toucher aux cotes du cours.




> Vous confirmez donc quil ny a aucun lien  tablir entre les professeurs concerns et l'tudiant Tintin (en loccurrence via lassociation-type OBTIENT_NOTE).


Exactement.




> Dans ces conditions et selon le MCD actuel, vous savez que ltudiant Dupont (le jumeau de Dupond, bien sr) a suivi le cours c1, dans la catgorie cat1 et obtenu par exemple la note 15.


c'est une bonne chose que l'on peut dire par rapport  un tudiant, un cours et une catgorie (ainsi que le type (th ou TP)) on peut connatre une cote qui lui appartient.  Cette cote n'est pas unique car un 15 peut tre attribu  plusieurs tudiants.




> Cela dit, le cours c1 dtermine (rgle RG6) lanne, disons BA2. Lassociation-type INSCRIT_EN napporte donc rien quon ne sache dj et reprsente une redondance que jai dj signale (http://www.developpez.net/forums/d58...r/#post3553312), elle doit sauter.


Entirement d'accord avec vous, le fait de connatre un cours, on connat son anne vue qu'un cours se trouve dans une et une seule anne.




> Par contre, rien ne permet de savoir que Dupont sest inscrit  ce cours en 2008 puis rebelote en 2009. Il serait donc peut-tre utile dajouter un attribut Date_Inscription dans lassociation-type OBTIENT_NOTE.


Cela est un point important  lequel j'ai rflchi dernirement.  La date ou l'anne est vraiment trs importante car grce  cela, avec PHP, je vais pouvoir dire Charles Dupont  obtenu une cote de 15 pour le cours BIOL-J-201 en 2006, il est de  retour en BA2 en 2008, il a donc un report de deux annes (2008 - 2006) ou ABS(2006-2008).

*EDIT :*

Je viens de tester la base de donnes Access et je me rends compte qu'il y'a certaines choses qui ne vont pas :

1. Dans la table "OBTIENT_NOTE" J'ai une cl primaire compose de :




> - MATRICULE_ET (le matricule de l'tudiant)
> - ID_CATEGORIE (REUS, NORMAL, CI...)
> - MNEMONIC (BIOL-J-202)


Cette cl compose permet donc d'identifier une cote pour un certain tudiant, un certain cours et une certaine catgorie MAIS pas pour un certain type.

Si je souhaite mettre la cote pour l'tudiant 123456 pour le cours de BIOL-J-201 avec la catgoire 02 (NORMAL) pour la thorie et qu'ensuite je veux ajouter une cote pour le mme cours en Travaux pratique, il me le refuse car il y'a doublon.

Je suggre donc d'ajouter  la cl compose le type de cours (TH ou TP) afin d'avoir un cours unique, *est-ce correcte ?*

Merci encore pour tout et trs bon Week-End.

beegees

----------


## fsmrel

> Envoy par fsmrel
> 
> Dans ces conditions et selon le MCD actuel, vous savez que ltudiant Dupont (le jumeau de Dupond, bien sr) a suivi le cours c1, dans la catgorie cat1 et obtenu par exemple la note 15.
> 
> 
> c'est une bonne chose que l'on peut dire par rapport  un tudiant, un cours et une catgorie (ainsi que le type (th ou TP)) on peut connatre une cote qui lui appartient.


Attention, daprs le MCD dont nous tions convenus, le type de cours est une proprit de lassociation-type Obtient_Note :








> Dans la table "OBTIENT_NOTE" J'ai une cl primaire compose de :
>  -MATRICULE_ET (le matricule de l'tudiant)
> - ID_CATEGORIE (REUS, NORMAL, CI...)
> - MNEMONIC (BIOL-J-202)  
> Cette cl compose permet donc d'identifier une cote pour un certain tudiant, un certain cours et une certaine catgorie MAIS pas pour un certain type.
> Si je souhaite mettre la cote pour l'tudiant 123456 pour le cours de BIOL-J-201 avec la catgoire 02 (NORMAL) pour la thorie et qu'ensuite je veux ajouter une cote pour le mme cours en Travaux pratique, il me le refuse car il y'a doublon.
> Je suggre donc d'ajouter  la cl compose le type de cours (TH ou TP) afin d'avoir un cours unique, est-ce correct ?


La cl primaire cre par votre SGBD est en phase avec le MCD ci-dessus.

Le MCD doit maintenant voluer pour que le SGBD puisse en faire autant :





(Sans oublier dajouter la date).

Le prdicat de Obtient_Note devient le suivant :

ltudiant _e1_ a suivi le cours _c1_, dans la catgorie _cat1_, selon le type de cours _tc1_ et obtenu la note _n1_  la date _d1_.

----------


## fsmrel

J'avais oubli :





> Envoy par fsmrel
> 
>   Pourquoi lattribut Cloturer refait-il surface ? Relisez vos MCD avant de les proposer, nous perdons du temps.
> 
> 
> Il est  nouveau prsent car j'aimerais juste que ce champ devienne une case  cocher, quand le Professeur a termin, il peut clturer dfinitivement et ne pourra donc plus toucher aux cotes du cours.


Dans ces conditions, il sagit donc dun attribut Cloture de lentit-type *Cours*.

----------


## beegees

> Attention, daprs le MCD dont nous tions convenus, le type de cours est une proprit de lassociation-type Obtient_Note :
> 
> 
> 
> 
> 
> 
> La cl primaire cre par votre SGBD est en phase avec le MCD ci-dessus.
> 
> ...


Bonjour Fsmrel,

Un tout GRAND merci pour votre message qui confirme un peu ce que je pensais.

Voici mon nouveau MCD (voir attach).

Il y'a une chose importante.

Toutes les cotes runies vont donnes avec les pondrations une moyenne.

Je vais donc avoir une moyenne thorique, une moyenne pratique et une moyenne gnrale.

Celles-ci sont des donnes calculables, elles ne doit donc pas apparaitrent dans le MCD ????

*Il faut pourtant prvoir une place dans une table pour ce genre de donnes ?* 
*
Ce qui me chagrine aussi*, c'est qu'un tudiant (et1 par exemple)  un cursus  l'Universit de ce genre :




> - 2004-2005 | CHIMIE1 | SESSION 1 : SATISFACTION
> - 2005-2006 | CHIMIE2 | SESSION 1 : AJOURNE | Session 2 : DISTINCTION
> - 2006-2007 | CHIMIE3 | SESSION 1 : SATISFACTION
> - 2007-2008 | CHIMIE4 | SESSION 1 : DISTINCTION
> - 2008-2009 | CHIMIE5 | SESSION 1 : INSCRIT


Je me demande comment je vais pouvoir lier cette information  une table ?

 quelle table ? quelle cardinalit utiliser ?

EDIT :

Mon Professeur m'a conseill hier soir de crer une table cursus avec les donnes suivantes :

Ref_Matricule (qui ferait rfrence aux matricules de la table "Etudiants")
Ref_annee (qui ferait rfrence aux annes existantes comme BA1, BA2...)
Anne acadmique
Session (1 ou 2)
Ref_Decision (qui ferait rfrence  une table nomme "Dcision")

*Ceci est la fin de mon MCD, ds que j'aurai termin ceci, mon MCD devrait tre termin.*

*Mon tout dernier MCD est online, le problme se trouve au niveau de la table cursus, je ne sais pas quelles cardinalits je peux mettre.*

Vous verrez que la pondration pour chaque cours et chaque type (thorie et travaux pratiques) ont maintenant leur place dans la table "cours"

Merci encore pour l'aide.

beegees

----------

