1 Introduction
2 Les associations particulières du MCD
3 Les entités particulières
4 Généralisation, spécialisation
5 Les contraintes sur les associations
6. Résumé des contraintes
>>> Retour page précédente
Les autres 10% sont constitués de réflexions sur l'existence d'associations non fonctionnelles (non hiérarchiques) et non porteuses de propriété et de questions comme :
- Cette donnée est-elle codifiable, doit-elle être codifiée,
- Cette association ternaire est elle juste?
- Les associations ayant la même collection d'entité ont-elle le même ensemble d'occurrences ?
- La date participe-t-elle à la clé ?
2.1 Les associations ternaires (et n-aires)
Lorsque le cas se présente, il faut se poser des questions sur la validité de l'association et sur les liens avec les entités.Pour cela, prendre toutes les entités sauf une et se poser la question :
Connaissant une occurrence définie de chaque entité, combien a-t-on d'occurrences de l'entité testée ?
- Une seule : l'association n'est pas bonne, réviser le schéma
- Plusieurs : passer à une autre entité
2.2 Les associations réflexives
Une association réflexive est une association entre une entité et … elle même.
Exemple :
Une personne est enfant de plusieurs personnes, sauf les premiers de la liste.
Une personne peut être parent de plusieurs enfants.
Une personne est enfant de plusieurs personnes, sauf les premiers de la liste.
Une personne peut être parent de plusieurs enfants.

Dans ce cas, ne pas hésiter à préciser le rôle de l'entité pour chaque "patte" de l'association.
2.3 Le temps
Il y a deux cas :- La date est la cible d'une dépendance fonctionnelle directe :
La bouteille de plongée doit être révisée à telle date -> n°bouteille -> dateRév - La date devient une propriété
La date est un élément de mesure du temps dans une association non fonctionnelle.
Exemples :
Le fournisseur livre tel article, en telle quantité à telle date
Le plongeur emprunte telle bouteille à telle date, la bouteille peut être empruntée à d'autres dates, le plongeur peut emprunter à d'autres dates, à une date, un plongeur peut emprunter plusieurs bouteilles, …
L'appartement est disponible à telle semaine :
Le fournisseur livre tel article, en telle quantité à telle date
(numFou, codeArt, date) --> qtéLivrée
=> Association non fonctionnelle, porteuse d'une propriété
=> Association non fonctionnelle, porteuse d'une propriété
Le plongeur emprunte telle bouteille à telle date, la bouteille peut être empruntée à d'autres dates, le plongeur peut emprunter à d'autres dates, à une date, un plongeur peut emprunter plusieurs bouteilles, …
=> Association non fonctionnelle non porteuse (noPlo, noBout, dateEmp) non visible dans le graphe des DF
L'appartement est disponible à telle semaine :
=> Association non fonctionnelle et non porteuse entre appartement et semaine, l'identifiant de la semaine est son numéro si on ne considère que l'année en cours, mais sur plusieurs années, l'identifiant sera la date de début de la semaine.
Truc : si la cardinalité entre l'entité et l'association avec la date est 1,1, il est fort probable que la date soit une propriété de l'entité.
C'est quasiment sûr si l'entité date n'a aucune propriété (hors identifiant qui est une date).
Si la date fait partie de la clé de l'association non fonctionnelle, non hiérarchique, la date doit être représentée sous forme d'entité
(c'est le cas pour l'association emprunter de l'exemple club de plongée vu plus loin). Retour index
3.1 L'agrégation
L'agrégat, aussi appelé pseudo-entité, est un groupe d'entités qui est associé avec une autre entité.On le repère par la présence d'une DF d'un attribut source vers plusieurs attributs (au moins deux, source de la DF) indissociables.
Exemple :
Une société de location nautique dispose de voiliers à louer. Chaque voilier n'est disponible que certaines semaines qui sont donc notées sur un calendrier.
Les clients effectuent une réservation, qui couvre une ou plusieurs semaines disponible pour un voilier donné, et pour laquelle on note le montant des arrhes versées.
Le GDF pourrait être le suivant :
Et son MCD :
Mais les erreurs seraient :
On pourra nommer l'agrégat. Le formalisme utilisé ci-dessus n'est pas le seul.
Une société de location nautique dispose de voiliers à louer. Chaque voilier n'est disponible que certaines semaines qui sont donc notées sur un calendrier.
Les clients effectuent une réservation, qui couvre une ou plusieurs semaines disponible pour un voilier donné, et pour laquelle on note le montant des arrhes versées.
Le GDF pourrait être le suivant :


- deux résa peuvent être mise sur le même couple (voilier,semaine) ou sur un couple non disponible
- si 'Réserver' est une association ternaire avec semaine, on ne peut pas louer plusieurs semaines, la cardinalité 1,1 serait fausse (une asso ternaire avec une card. 1,1 est sûrement faux) et si on a 1,n alors on peut louer plusieurs bateaux différents (ce n'est pas le but ici)
- si 'Disponible' est ternaire, ça ne convient pas car le prix de location ne dépend que de voilier et semaine.
numResa -> nomVoilier, arrhes, (nomVoilier + numSemaine)
Le prix dépend du voilier et de la semaine, le client réserve le couple voilier et semaine disponible.
Le prix dépend du voilier et de la semaine, le client réserve le couple voilier et semaine disponible.

3.2 Entités dépendantes ou entité faibles
Une entité faible est une entité dont les occurrences ne peuvent exister que si les occurrences d'une autre entité existent (contrainte d'identification).
Exemple :
immeuble et appartement : un appartement a un n° dans l'immeuble, si l'immeuble n'existe pas, l'appartement non plus.
L'identifiant de cette entité faible est dit identifiant relatif et nécessite la concaténation de celui de l'entité maîtresse.
L'appartement aura comme identifiant le n° de l'immeuble + celui de l'appartement dans l'immeuble dans le schéma relationnel.
Modélisation :
Remarquez la cardinalité : 1,1 et entre parenthèses.
Retour index
immeuble et appartement : un appartement a un n° dans l'immeuble, si l'immeuble n'existe pas, l'appartement non plus.
L'identifiant de cette entité faible est dit identifiant relatif et nécessite la concaténation de celui de l'entité maîtresse.
L'appartement aura comme identifiant le n° de l'immeuble + celui de l'appartement dans l'immeuble dans le schéma relationnel.
Modélisation :

Remarquez la cardinalité : 1,1 et entre parenthèses.
4.1 Introduction
Rappel important : les occurrences d'entité se caractérisent toutes par un ensemble de propriétés communes !Cependant, il arrive des cas où les occurrences se distinguent par :
On décompose l'entité en deux "sous-entités" en plaçant :
Les entités spécifique héritent de l'identifiant de l'entité générique (et de ses propriétés).
C'est une association de type hiérarchique de généralisation/spécialisation.
Exemple :
Dans une agence de location, les propriétaires et les locataires sont des tiers (=personnes, un locataire peut être propriétaire et un proprio, locataire).
Mais ils disposent d'informations différentes :
Des appart. Appartiennent aux proprio, les locataires effectuent des résa.
Les propriétaires sont payés, on mémorise le n° de compte en banque, des locataires, on retiendra le nombre d'enfants pour affiner l'offre.
Le schéma sera le suivant :
De même pour le club de plongée :
Le matériel est emprunté, le plomb est un matériel spécialisé, emprunté en quantité.
C'est par traitement (recherche sur emprunter1) que l'on constate si le matériel est dispo ou non, le matériel non dispo est celui qui est emprunté et qui n'est pas du plomb (sauf si qtéDispo=0).
Dans une agence de location, les propriétaires et les locataires sont des tiers (=personnes, un locataire peut être propriétaire et un proprio, locataire).
Mais ils disposent d'informations différentes :
Des appart. Appartiennent aux proprio, les locataires effectuent des résa.
Les propriétaires sont payés, on mémorise le n° de compte en banque, des locataires, on retiendra le nombre d'enfants pour affiner l'offre.
Le schéma sera le suivant :

De même pour le club de plongée :

Le matériel est emprunté, le plomb est un matériel spécialisé, emprunté en quantité.
C'est par traitement (recherche sur emprunter1) que l'on constate si le matériel est dispo ou non, le matériel non dispo est celui qui est emprunté et qui n'est pas du plomb (sauf si qtéDispo=0).
4.2 Les contraintes de spécialisation/généralisation
Les contraintes sont issues des règles de gestion observées.(Ceci n'est valable que pour les entités, dans le cadre d'une spécialisation, d'un héritage)
Dans l'ensemble des occurrences d'une entité générale, il y a deux critères croisés :
Analysons cela sous forme de tableau :
Couverture
Aucun élément n'est hors d'une sous entité | Non couverture
Il y a des éléments hors des sous entités | |
---|---|---|
Disjonction
Il n'y a pas d'intersection | + Partition (=exclusion+Totalité)
![]() (elle est aussi notée XT) | X Exclusion
![]() |
Non disjonction
Il existe une intersection | T Totalité
![]() | Pas de contrainte
![]() |
4.3 Applications
Classez les énoncés suivants selon le type de spécialisation.- Les fournisseurs et clients sont des tiers mais un client ne peut être fournisseur.
- Le matériel de plongée est géré à l'unité ou en quantité.
- Les ouvrages sont soit des BD avec un auteur, un dessinateur, soit des romans avec un seul auteur.
- Les profs peuvent être élève et suivre des cours, les élèves peuvent être non profs.
- Les articles produits finis sont commandés par des clients, les articles achetés sont commandés aux fournisseurs. Certains articles sont fabriqués en interne et ne peuvent être vendus mais peuvent être achetés.
- Dans l'entreprise Brain, un salarié est posté comme cadre dirigeant, employé administratif ou commercial, cadre chef de projet ou développeur.
- Un extrait du MCD de l'entreprise soundOrganisation est donné ci-après. Il n'y a pas d'autre forme de local dans la base.
- Les contraintes de disjonction et de couvertures sont-elles respectées ?
- conclusion ?
- représentez la contrainte dans le schéma.
- Une société gère les expéditions selon différents modes de transport. On distingue ces modes selon les critères économiques suivants :
- La consommation globale,
- le type de carburant utilisé,
- la puissance du moteur pour les moteurs diesels,
- la date de révision pour les moteurs au kérosène
- la date de mise en conformité et la position du réservoir pour les moteurs au GPL.
A chaque moteur correspond une entité spécifique, quelles sont-elles ?
Reconstituez le MCD
De même que des contraintes peuvent être posées sur des entités, d'autres sont appliquées aux associations.
Il y a deux contraintes supplémentaires : l'inclusion (une occurrence d'une association doit exister dans une autre association) et l'égalité (inclusion dans les deux sens, une occurrence doit exister dans les deux relations).
De plus, il y a la notion de pivot.
Exemple :
Un voilier ne peut être loué que s'il a été réservé. Si un locataire loue, c'est qu'il a réservé.
Il y a une contrainte d'inclusion de 'Louer' dans ' Réserver' avec Locataire comme pivot.
Il y a une contrainte d'inclusion de 'Louer' dans ' Réserver' avec Locataire comme pivot.

5.1 Pivot d'une contrainte
Le pivot est l'entité concernée par l'expression de la contrainte.Exemple :
Un article est soit fabriqué (produit finis) avec des articles (matières), soit livré (ces matières) par un fournisseur (mais pas les deux). Les attributs sont différents selon le cas.
On aura :
Le pivot est désigné par une flèche ou un trait pointillé qui relie le symbole de la contrainte et le pivot.

Un article est soit fabriqué (produit finis) avec des articles (matières), soit livré (ces matières) par un fournisseur (mais pas les deux). Les attributs sont différents selon le cas.
On aura :
- Une contrainte d'exclusion : un article est fabriqué ou livré mais pas les deux.
- Un pivot : il s'agit de l'article, pas du fournisseur ou autre.
5.2 Exemple, la démarche de recherche de contrainte
Il existe deux types d'articles : les produits finis et les matières.Un produit fini est fabriqué (rôle de composé) avec des matières (rôle de composant) et n'est pas livré. Dans ce cas, il n'est pas lui-même composant.
Une matière n'est pas composée et peut être livrée par plusieurs fournisseurs. De même elle peut entrer dans la composition de plusieurs produits finis.
Recherche des cardinalités :
Un produit fini est fabriqué (composé) avec des matières (composant) …
… et n'est pas livré.
Dans ce cas, il n'est pas lui-même composant
Une matière n'est pas composée …
… et peut être livrée par plusieurs fournisseurs.
De même elle peut entrer dans la composition de plusieurs produits finis.
-> card. Maxi n vers Composer, coté 'composé' (composé : ?,n)
… et n'est pas livré.
-> card. Mini 0 vers Livrer (Livrer : 0,?)
Dans ce cas, il n'est pas lui-même composant
-> card. Mini 0 vers Composer, coté 'composant' (composant : 0,?)
Une matière n'est pas composée …
-> card. Mini 0 entre Article et Composer, coté composé (composé : 0,n)
… et peut être livrée par plusieurs fournisseurs.
-> card. Maxi n entre Article et livrer (livrer : 0,n)
De même elle peut entrer dans la composition de plusieurs produits finis.
-> card. Maxi n entre Article et Composer, coté composant (composant : 0,n)
On a donc :
Lien | Card. | Explication |
---|---|---|
Article-Composer (Composant) | 0,n | Un article composant compose 0 à plusieurs articles composés |
Article-Composer (Composé) | 0,n | Un article composé est composé 0 à plusieurs articles composants |
Article-Livrer (Composé) | 0,n | Un article est livré par 0 à plusieurs fournisseurs |
Mais qui, conceptuellement, nous empêche de créer un article qui serait composé et livré ?
C'est exprimé dans le texte mais pas traduit dans le SCD.
On a bien des cardinalités 0,n partout mais rien qui nous indique que si un article est composé, il ne doit pas pouvoir être livré.

Pour exprimer cela, on ajoutera :
a) Une contrainte d'exclusion : un article est fabriqué ou livré mais pas les deux.
b) Un pivot : il s'agit de l'article, pas du fournisseur ou autre.

Le pivot est désigné par une flèche (bof) ou un trait pointillé (oui) qui relie le symbole de la contrainte et l'entité pivot.
Une contrainte peut avoir plusieurs entités pivot.
Note : dans cet exemple, il faudrait même ajouter une contrainte d'exclusion entre Composer et … Composer pour exprimer qu'un article composant ne peux pas être composé et vis versa.
Cependant, dans la réalité, on a souvent des articles qui sont des semi-fini, càd des articles géré en stock et composé ET composant simultanément.
C'est le cas, par exemple, pour la caisse d'une voiture dont on ne sait quelle motorisation elle aura au final. On peut prendre n'importe quelle caisse du stock et, pourtant, elles sont toutes fabriquées par le constructeur.
5.3 Expression des contraintes
5.3.1 Partition (XT ou +)
Toute occurrence du pivot participe toujours à l'une ou l'autre association mais jamais aux deux simultanément.
Un matériel est loué ou acheté.
Tous les matériels le sont mais il ne peuvent pas être à la fois loués et achetés.
Tous les matériels le sont mais il ne peuvent pas être à la fois loués et achetés.
5.3.2 Totalité (T)
Toute occurrence de l'entité pivot participe toujours à l'une, à l'autre ou aux deux associations.
Une voiture est vendue à un disributeur (garage, grande surface) ou distribuée via une concession.
d'une manière ou d'une autre, la voiture est vendue. Vendre et Distribuer représentent la totalité des occurrences de Voiture.
d'une manière ou d'une autre, la voiture est vendue. Vendre et Distribuer représentent la totalité des occurrences de Voiture.
5.3.3 Exclusion (X)
Toute occurrence du pivot participe à l'une, à l'autre ou aucune association. Mais jamais aux deux simultanément.
Les clients d'un hôtel choisissent entre une formule Restauration ou Pension.
Ils peuvent prendre leurs repas hors de l'hôtel.
Il y a exclusion entre Choisir1 (Restauration) et Choisir2 (Pension) mais les client peuvent ne pas avoir fait de choix.
Il y a exclusion entre Choisir1 (Restauration) et Choisir2 (Pension) mais les client peuvent ne pas avoir fait de choix.
5.3.4 Egalité ou simultanéité (= ou S)
Toute occurrence du pivot participant à l'une des associations participe obligatoirement à l'autre.Les deux ensembles sont confondus
Les clients de la formule Séjour doivent choisir une formule Pension.
il y a simultanéité entre Séjourner et Choisir.
5.3.5 Inclusion (I)
Une occurrence du pivot qui participe à une association incluse participe obligatoirement à l'autre. Ce n'est pas réciproque.Une flèche indique le sens de la contrainte
Exemple :
Un client réserve mais ne loue pas forcément un voilier. Toute location a fait l'objet d'une réservation préalable. La contrainte d'inclusion va de louer qui est incluse dans réserver le pivot est le voilier.
Un client réserve mais ne loue pas forcément un voilier. Toute location a fait l'objet d'une réservation préalable. La contrainte d'inclusion va de louer qui est incluse dans réserver le pivot est le voilier.
5.4 Exemples applicatifs
a) Modélisez les situations suivantes
Pour les cas suivants : représentez la répartition des occurrences sous forme ensembliste (dessinez, c'est ...) puis construisez les MCD- Tuyauterie Industrielle est un spécialiste de la fourniture de canalisations. Le MCD des tuyaux a déterminé quatre entités spécifiques (avec leurs propriétés) : pipe-line (type de pipe-line), buse (coef de débit), tuyau en acier (caractéristiques acier), tuyau en grès (type de grès).
- 'Vroum-vroum' : il arrive que des pilotes en fin de carrière laisse leur place et
vont rejoindre les équipes d'encadrement.
Par ailleurs, certaines autres entités sont généralisables. Trouvez lesquelles. - 'Tintin' : ne peuvent prononcer de jurons dans un album que les personnages qui y participent effectivement non ?
b) Les paragraphes suivants concernent le MCD ci-dessous.

Le personnel de l'entreprise est majoritairement constitué de salariés.
En cas de surcharge de travail, il est parfois fait appel à des intérimaires pour renforcer les équipes.
Il arrive également qu'un intérimaire soit embauché par l'entreprise.
En cas de surcharge de travail, il est parfois fait appel à des intérimaires pour renforcer les équipes.
Il arrive également qu'un intérimaire soit embauché par l'entreprise.
- L'intérimaire embauché change d'identifiant.
L'entreprise n'utilise aucune autre catégorie d'employés.
- L'intérimaire embauché conserve son matricule et ses informations sur son statut intérimaire.
L'entreprise n'utilise aucune autre catégorie d'employés.
- L'intérimaire embauché change d'identifiant.
Par ailleurs, l'entreprise fait appel à des vacataires, rémunérés uniquement pour une mission précise.
Ils ont un matricule pour obtenir un badge d'accès aux locaux.
- L'intérimaire embauché conserve son matricule et ses informations sur son statut intérimaire.
Par ailleurs, l'entreprise fait appel à des vacataires, rémunérés uniquement pour une mission précise.
Ils ont un matricule pour obtenir un badge d'accès aux locaux.
Les contraintes suivantes sont appliquées dans une d'Entité
Contrainte | généralisation/spécialisation
Entité | Entre Associations
+ pivot |
---|---|---|
Exclusion X | Oui | Oui |
Totalité (T) | Oui | Oui |
Partition (XT ou +) | Oui | Oui |
Inclusion (I + -> (flèche)) | Non | Oui |
Simultanéité (= ou s) | Non | Oui |
Pas de contrainte (- vide -) | Oui | Non |
Remarques :
Il n'y a pas de contrainte d'inclusion ni de simultanéité entre entités spécialisées.
Quand il n'y a pas de contrainte, entre associations, … on ne les représente pas. Logique, non ?
Et maintenant, transformez voire ces particularités du MCD en MR … Retour index