À l'école
[20 min]
Une école souhaite se doter d'une base de données pour suivre ses effectifs (élèves et professeurs) ainsi que les classes auxquelles ils sont rattachés. L'analyse des besoins est la suivante :
Les classes sont identifiées par un niveau et une lettre (6-A, 6-B, 5-A, ...).
Les classes peuvent avoir un programme adapté suivant un thème unique (sport-étude, bilingue anglais ou bilingue allemand).
Les classes ont un professeur principal et plusieurs professeurs intervenant dans leur spécialité.
Les classes accueillent des élèves.
Les élèves sont sous la responsabilité d'un parent (qui peut aussi être professeur, voire lui même élève).
On a élaboré le diagramme UML ci-après.
Question
Proposer un schéma relationnel. Justifier les transformation d'héritage.
Solution
personne (#num:entier,nom:chaîne, prénom:chaîne, date_de_naissance:date)
élève (#num=>personne, moyenne_générale:réel, responsable=>parent, classe=>classe)
parent (#num=>personne, profession:chaîne)
professeur (#num=>personne, matière:chaîne)
classe (#id:entier(1)-char(1), type{normal|sport_étude|bilingue_anglais|bilingue_allemand}, prof_principal=>professeur)
enseigne (#professeur=>professeur, #classe=>classe)
Remarque :
Personne : transformation de l'héritage par référence
Classe : transformation de l'héritage par la classe mère