Vous êtes sur la page 1sur 29

Conception d’une BD

extensions
sous-type
lien relatif
Merise/2
agrégation
contraintes
et contraintes
exercices
Extensions de Merise/2
Qu'est-ce que Merise/2 ?
extensions Merise/2 (dans les années 90) est une extension de l'ancien modèle (né
dans les années 70).
sous-type
Quelles sont les extensions ?
lien relatif
Gestion les objets spécialisés
agrégation Ex : "Il existe des messages normaux et des messages urgents..."
contraintes Simplification de certains formalismes
exercices Ex : "Un dossier contient des fiches numérotées par dossier."
Visualisation certaines contraintes
Ex : "Un salarié ne peut être à la fois animateur et participant d'un stage".
Répercutions ?
Toutes ces extensions n'ont éventuellement des répercutions que dans la
base de données :
- au niveau de la structure
- à travers l'intégration de triggers et procédures stockées (programmes
sql directement intégrés dans la base de données)
sous-type
Problème :
"Un message comporte une date et un contenu, un message urgent
extensions
comporte aussi le nombre de rappels à effectuer."
sous-type Solution :
lien relatif Créer une entité spécifique qui contient les informations spécifiques, et
mettre ce qui est générique à tous les messages dans le sur-type (l'entité
agrégation mère).
sur-type
contraintes entité générique
exercices entité mère MESSAGE
sous-type idmessage
entité spécifique date
entité fille
contenu
MESSAGE (idmessage, date, contenu)
idmessage : clé primaire
MESS_URGENT (idmessage, nbrappels)
MESS_ URGENT
idmessage : clé primaire
idmessage : clé étrangère en réf. à nbrappels
idmessage de MESSAGE
lien relatif
Problème :
"Les dossiers comportent des fiches dont la numérotation redémarre à 1
extensions
pour chaque dossier."
sous-type Solution :
lien relatif Le numéro de la fiche doit être composé de l'identifiant du dossier + un
numéro séquentiel.
agrégation identifiant relatif
contraintes DOSSIER FICHE
0,n (1,1) numfiche
exercices iddossier
date_ouverture description
lien identifiant
lien relatif entité faible
entité forte contrainte d'identification entité dépendante
noté aussi 1,1(R)
DOSSIER (iddossier, date_ouverture)
iddossier : clé primaire
FICHE (iddossier, numfiche, description)
iddossier, numfiche : clé primaire
iddossier : clé étrangère en référence à iddossier de DOSSIER
agrégation
Problème :
"Les meubles ont un prix différent suivant leur couleur. Il faut gérer les
extensions commandes avec les quantités".
sous-type Solution :
La ligne de commande concerne une commande d'un côté, et le couple
lien relatif meuble/couleur de l'autre.
agrégation COULEUR
MEUBLE TARIF
contraintes 0,n 0,n idcouleur
idmeuble prix_unitaire
exercices nom
nom

0,n

LIGNE_COM COMMANDE
0,n idcommande
quantité
date

LIGNE_COM (idcommande, idmeuble, idcouleur, quantité)


idcommande, idmeuble, idcouleur : clé primaire
id commande : clé étrangère en réf. à idcommande de COMMANDE
idmeuble, idcouleur : clé étrangère en réf. à (idmeuble, idcouleur) de TARIF
agrégation
Autre représentation :
Il faut savoir lire les deux représentations.
extensions
sous-type
lien relatif
agrégation MEUBLE TARIF COULEUR
0,n 0,n
contraintes idmeuble prix_unitaire idcouleur
nom nom
exercices
0,n
LIGNE_COM COMMANDE
0,n idcommande
quantité
date
contrainte
Qu'est-ce qu'une contrainte ?
extensions Elle apporte des informations complémentaires sur les dépendances entre
des propriétés ou des objets.
sous-type
lien relatif
Quelles sont les retombées sur la base de données ?
agrégation Structure de la base de données : aucun changement.
contraintes C'est la programmation qui prend en compte les contraintes :
exercices - soit directement dans l'application (mauvaise idée)
- soit directement dans la base de données : sous forme de triggers et
procédures stockées.

Sur quoi portent les contraintes ?


Il existe 2 types de contraintes :
- contraintes sur sous-types
- contraintes sur associations
contrainte
Notions de couverture et de disjonction ensemblistes
extensions Couverture :
Chaque tuple se retrouve dans au moins un objet.
sous-type
lien relatif
X X
X X
agrégation X
X X
contraintes X
X
exercices

Disjonction :
Un tuple ne peut pas appartenir à plus d'un objet.
X

X X
X X
X
X
X
X
contrainte
Exercice sur la couverture et la disjonction :
extensions Pour chaque situation, dire s'il y a couverture et/ou disjonction entre les
éléments soulignés..
sous-type
couverture disjonction
lien relatif
Un réservoir est forcément enterré ou aérien oui oui
agrégation
contraintes Une analyse est forcément sur un captage ou
sur un réservoir, pas les deux en même temps oui oui
exercices
Parmi les personnels, on veut connaître le
service des personnels de bureaux et la
matière enseignée des professeurs. Il existe non oui
aussi les personnels d'entretien.
Un personnel ne peut pas être à la fois
formateur et stagiaire d'un même stage. non oui
Une commande peut comporter des menus,
elle peut aussi comporter des articles à la
carte, voire des deux (mais au moins l'un des oui non
deux).
contrainte d'exclusion
Exclusion sur héritage
extensions "Parmi les personnels, on veut connaître le service des personnels de
bureaux et la matière enseignée des professeurs. Il existe aussi les
sous-type personnels d'entretien."
lien relatif
PERSONNEL
agrégation
idpersonnel
contraintes nom
exercices grade

ADMINISTRATIF ENSEIGNANT
service matière

exclusion = non(couverture) + disjonction


Dans la mesure du possible, les contraintes doivent être placées sur tous les
héritages (à partir de 2 sous-types).
contrainte d'exclusion
Exclusion sur association
extensions "Un personnel ne peut pas être à la fois formateur et stagiaire d'un même
stage."
sous-type
lien relatif FORMATEUR
agrégation 0,n 0,n
contraintes pivot
PERSONNEL STAGE
exercices
X idstage
idpersonnel
nom titre

0,n STAGIAIRE 0,n


présent

pivot = clé concernée par la contrainte


Il y a exclusion entre Formateur et Stagiaire sur le couple (idstage, idperso)
Il y a <contrainte> entre <les associations> sur <le pivot>.
contrainte d'exclusion
attention au sens en fonction de la position du pivot :

extensions FORMATEUR

sous-type 0,n 0,n


PERSONNEL STAGE
lien relatif X idstage
idpersonnel
agrégation titre
nom
0,n STAGIAIRE 0,n
contraintes
présent
exercices
Un stage a soit des stagiaires, soit des formateurs, par les 2 !
FORMATEUR
0,n 0,n
PERSONNEL STAGE
X idstage
idpersonnel
nom titre
0,n STAGIAIRE 0,n
présent
Un personnel est soit toujours formateur, soit toujours stagiaire !
contrainte d'exclusion
FORMATEUR
extensions
0,n 0,n
sous-type
lien relatif PERSONNEL STAGE
X idstage
agrégation idpersonnel
nom titre
contraintes
exercices 0,n STAGIAIRE 0,n
présent

Le couple (idpersonnel, idstage) ne peut pas se retrouver à la fois dans


Formateur et dans Stagiaire.
Pour un stage donné, un personnel ne peut pas y être à la fois en tant que
formateur et stagiaire.

Les clés des pivots doivent obligatoirement être présentes dans les
associations concernées par la contrainte.
L'absence de pivot signifie que tous les pivots sont présents.
contrainte de partition
Partition sur héritage
extensions "Un réservoir est forcément enterré ou aérien. Un réservoir enterré a un
débit maximum, un chateau d'eau (réservoir aérien) a un temps de
sous-type remplissage."
lien relatif
RESERVOIR
agrégation
idreservoir
contraintes nom
exercices capacité

+
ENTERRE AERIEN
débitmax tempsrempl

partition = couverture + disjonction


La contrainte de partition peut aussi être notée XT (ce qui signifie exclusion
et totalité).
contrainte de partition
Partition sur association
extensions "Une analyse est forcément sur un captage ou sur un réservoir, mais pas les
deux à la fois."
sous-type
lien relatif CAPTAGE
agrégation 0,n idcaptage
0,1
nom
contraintes ANALYSE débit
exercices idanalyse
date
+
RESERVOIR
résultat
idreservoir
0,1 nom
0,n capacité

Il y a "partition" entre les 2 cif sur idanalyse.


(dans ANALYSE une seule des 2 clés étrangères peut et doit être remplie)
contrainte de totalité
Totalité sur héritage
extensions "Un stage peut porter sur une matière, il peut préparer un examen, il peut
aussi être les deux à la fois."
sous-type
lien relatif
STAGE
agrégation
idstage
contraintes libellé
exercices nbplaces

T
STAGE_EXAM STAGE_MAT
examen matière

totalité = couverture + non(disjonction)


contrainte de totalité
Totalité sur association
extensions "Une commande peut comporter des menus, elle peut aussi comporter des
articles à la carte, voire des deux (mais au moins l'un des deux)."
sous-type
lien relatif MENU
MENU_COM 0,n
agrégation idmenu
0,n quantité
nom
contraintes COMMANDE prix
exercices idcommande T
date
ARTICLE
numtable
ARTICLE_COM idarticle
0,n
nom
quantité 0,n prix

Il y a "totalité" entre Menu_Com et Article_Com sur idcommande.


(une commande contient au moins un menu et/ou un article)
contrainte d'égalité (simultanéité)
Egalité sur association (n'existe pas sur héritage)
extensions "Une personne qui pratique un sport fait partie d'une équipe, et vice versa."

sous-type
SPORT
lien relatif 0,n
0,1 idsport
agrégation nom
PERSONNE
contraintes
exercices
idpersonne
nom
=
tel EQUIPE
0,1 idequipe
0,n nom

Il y a "égalité" entre les 2 cif sur idpersonne.


(dans PERSONNE les clés étrangères sont remplies ou vides toutes les 2)

La contrainte d'égalité peut aussi être notée S (simultanéité)


contrainte d'inclusion
Incluson sur association (n'existe pas sur héritage)
extensions "Les inscrits à un stage sont sélectionnés parmi les demandeurs de ce
même stage."
sous-type
lien relatif DEMANDEUR
agrégation 0,n 0,n
contraintes
PERSONNE STAGE
exercices
I idstage
idpersonne
nom titre

0,n INSCRIT 0,n


présent

La flèche (obligatoire) pointe sur l'ensemble le plus grand


Il y a "inclusion" d'Inscrit dans Demandeur sur le couple (idpersonne, idstage)
(un couple présent dans Inscrit doit être présent dans Demandeur)
contrainte d'inclusion
Incluson à portée multiple
extensions "Une personne peut conduire un véhicule que si elle possède le bon permis."

sous-type CONDUIT VEHICULE


0,n
lien relatif idvehicule
0,n
agrégation immat
dateachat
contraintes PERSONNE
1,1
exercices idpersonne
I
nom

0,n
0,n PERMIS
POSSEDE
idpermis
dateobtention 0,n
nom

Les pivots sont toujours sur les entités qui entourent la flèche

La contrainte d'inclusion multiple est dans un "cercle" fermé.


contrainte d'unicité
Unicité sur association (n'existe pas sur héritage)
extensions "Pour chaque captage de secours affecté à un réservoir, un technicien est
désigné responsable de son activation."
sous-type
lien relatif RESERVOIR
SECOURS 0,n idreservoir
agrégation 0,n remarque
capacitémax
contraintes CAPTAGE
idcaptage 0,n
exercices 1
nom
TECHNICIEN
débitmax
SECOURS_TECH idtechnicien
ARTICLE_COM
0,n nom
quantité 0,n
tel

Il y a "unicité" sur le couple (idcaptage, idreservoir) pour obtenir idtechnicien


(se traduit par idtechnicien en clé étrangère dans Secours)
L'unicité traduit une DF entre une association et une entité.
C'est la seule contrainte qui modifie la structure de la base de données.
contrainte d'unicité
Voici une autre représentation de l'unicité, en utilisant l'agrégation sur
association, qui permet de faire partir une CIF d'une association :
extensions
sous-type
lien relatif RESERVOIR
SECOURS 0,n idreservoir
agrégation 0,n remarque
capacitémax
contraintes CAPTAGE
exercices idcaptage
nom 1,1
TECHNICIEN
débitmax
idtechnicien
0,n nom
tel

Cette représentation est plus visuelle,


et permet d'éliminer le cas particulier de l'unicité comme seule contrainte se
traduisant par une modification de la structure de la base de données.
exercices
Suivant le type de pathologie, certains médicaments sont conseillés,
d'autres sont totalement proscrits. Pour chaque médicament conseillé, il
extensions faudra mémoriser la posologie.
sous-type
lien relatif
agrégation
contraintes
exercices
exercices
Une agence de location de véhicules propose 3 types de véhicules : les
véhicules légers, les utilitaires, les camions. Pour les véhicules légers, le
extensions modèle et la marque sont renseignés, ainsi que le nombre de CV. Pour les
sous-type utilitaires, la capacité en mètres cubes est précisée. Enfin, pour les camions,
le tonnage et la hauteur sont donnés. Pour chaque type de véhicule, une
lien relatif photo est proposée.
agrégation
contraintes
exercices
exercices
Dans une université, un professeur peut être responsable d'un ou plusieurs
cours dès qu'il a participé à au moins une publication. Plusieurs professeurs
extensions peuvent être responsables du même cours. Un cours a un nom et un niveau
sous-type requis. Il faut mémoriser le titre et la date de chaque publication. Pour
chaque professeur, il faut mémoriser son nom, son téléphone, son adresse
lien relatif email et savoir si c'est un chercheur.
agrégation
contraintes
exercices
exercices
Un stage porte sur un ensemble de compétences. Un formateur possède un
ensemble de compétences. Plusieurs formateurs peuvent intervenir sur un
extensions même stage, à condition bien sûr qu'ils aient toutes les compétences
sous-type requises.

lien relatif
agrégation
contraintes
exercices
exercices
Dans chaque classe, chaque cours est enseigné par un seul professeur. Pour
chaque classe, il faut connaitre le volume horaire réservé pour chaque
extensions cours.
sous-type
lien relatif
agrégation
contraintes
exercices
exercices
Une agence de voyages organise des séjours à thème.

extensions Un séjour est repéré par une destination principale et une date (il ne peut
sous-type pas y avoir 2 séjours différents pour une même destination et une même
date).
lien relatif Les destinations possibles sont des villes, situées dans des pays.
agrégation
Pour chaque séjour, il faut mémoriser la durée en nombre de jours, le tarif,
contraintes le type de séjour (historique, scientifique, sportif, festif, reposant...) ainsi
que la liste des activités prévues pour le séjour.
exercices
Chaque activité est spécifique à un séjour et elle est numérotée par séjour
(première activité du séjour, seconde activité du séjour...). Il faut mémoriser
le nom de l'activité ainsi que son tarif (les activités sont souvent payantes).
Il arrive que certaines activités soient découpées en sous-activités : il faut
alors mémoriser l'ordre des sous-activités et leur nom.

Suivant les séjours, certaines options sont proposées (chambre individuelle,


pension complète...). Ces options peuvent être sélectionnées pour
différents séjours.
exercices
extensions
sous-type
lien relatif
agrégation
contraintes
exercices

Vous aimerez peut-être aussi