Académique Documents
Professionnel Documents
Culture Documents
ASSOCIATIONS
Il est difficile de modéliser un modèle sur une forme facilement utilisable par un système de
gestion de base de données. Une ou plusieurs modélisations intermédiaires sont donc utile. Le
modèle entités association constitue l’une des premières et la plus courante. Il permet une
description naturelle du monde réel à partir du concept d’entités et des associations. Il s’appuie
sur la théorie des ensembles et des relations. Ce modèle utilise pour sa phase de conception la
méthode MERISE (Méthode d’Etude et de Réalisation Informatique pour les Système
d’Entreprise).
Un des concepts clé de la méthode merise est la séparation des données et des traitements. Les
données représentent la statique du système d’information. Dans ce cours, nous nous
écarterons séparément.
L’analyse de la méthode MERISE définie 3 niveau de représentation des données ; qui sont
Le niveau conceptuel : le MCD (Modèle Conceptuel des Données) décrit les entités du monde réel
en termes d’objet, de propriété et de relation indépendante. Ce modèle se concrétise par un
schéma entité-association représentant la structure du système d’information du point de vue
des données
Niveau logique (MLD : Modèle Logique de Données) : il précise la méthode conceptuel par des
choix organisationnel. Il s’agit d’une dérivation du MCD dans un formalisme adapté à une
implémentation ultérieur
Niveau physique (MPD : Modèle Physique de Données) : il permet d’établir la manière concrète
dont le système sera mis en place
Règle 2 : un attribut est une données élémentaire ; ce qui exclut les données calculé ou dérivé.
Ex :
type.article
Total est exclu car c’est un attribut dont les données sont calculées
Type.etudiant
nom prénom date_Naissance âge
Age est exclu car c’est un attribut dont les données sont dérivées.
Règle 3 : un type entité et ses attributs doivent être cohérent entre eux. C'est-à-dire qui ne traite
que d’un seul sujet.
Article
Article
Nom_article Nom_article Fournisseur
QteArticle QteArticle NomFournisseur
PUArticle PUArticle AdresseFournisseur
NomFournisseur
AdresseFournisseur
3- Identifiant ou clé
Un identifiant ou clé d’un type entité ou d’un type association est constitué par un ou plusieurs de
ses attributs qui doivent avoir une valeur unique pour chaque attribut ou association de ce type.
Il est donc impossible que les attributs constituant l’identifiant d’un type entité prennent la même
valeur pour 2 entités distincte.
Exemple d’identifiant : numéro CNI, matricule d’un étudiant, la référence d’un produit, etc…
Règle 4 : chaque type entité possède au moins un identifiant éventuellement forme de plusieurs
attribut.
Ainsi, chaque type entité possède au moins un attribut qui, s’il est seul est donc forcément
l’identifiant.
Dans la représentation graphique, les attributs qui constitue l’identifiant sont soulignés et placé
en tête
Articles
refArticle
Nom_article
QteArticle
PUArticle
4- Association-Relation, Type Association
Une association (ou une relation) est un lien entre plusieurs entité.
Ex : l’achat du livre MySQL et PHP num 203 par le client MouafogatienNum 403.
Les associations ne sont pas généralement représentées graphiquement.
Un type association ou un type relation désigne un ensemble de relation qui possède les mêmes
éléments caractéristiques. Le type association décrit un lien entre plusieurs types entité. Les
associations de ce type d’association lit des entités de ce type entité
Livrer
Article Fournisseur
NomArticle NomFournisseur
QteArticle AdresseFournisseur
PUArticle
Par abus de langage, on utilise souvent le mot association en lieu et place du mot type association.
Il faut cependant prendre garde a ne pas confondre les 2 concepts
Quelque définition
1- Participant : les types entités intervenant dans un type association sont appelés les participant
de ce type association
2- Collection : l’ensemble des participants d’un type association est appelé la collection de ce type
association.
3- Dimension d’un type association : la dimension d’un type association est le nombre de type
entité contenu dans la collection. On parle de type association n-aire (si n=2, c’est une relation
binaire ; n=3, c’est ternaire).
Comme un type entité, un type association possède un identifiant qu’il soit explicite ou non.
Regle 5 : la concaténation des identifiants des types entités lie à un type association constitue un
identifiant de ce type association et cet identifiant n’est pas mentionné sur le modèle
5- La cardinalité
La cardinalité d’une patte créant un type association et un type entité précise le nombre de fois
minimale et maximale d’intervention d’une entité du type entité dans une association du type
association. La cardinalité minimale doit être inferieur ou égale à la cardinalité maximale.
Règle 6 : l’expression de la cardinalité est obligatoire pour chaque patte d’un type association.
Règle 7 : une cardinalité minimale est toujours 0 ou 1 et une cardinalité maximale est toujours 1
ou n.
Remarque :
- Si une cardinalité maximale est connu et vaut 2, 3, ou plus, alors nous considérons qu’elle
est indéterminé et vaut donc n. de la même manière, on ne modélise pas les cardinalités
minimale qui valent plus de 1. Les seul cardinalité admissible sont donc 0,1 ; 0,n ; 1,n ; 1,n
Exemple :
Nous voulons établir une base de données pour la gestion des auteurs des livres. Une personne
peut être l’auteur de plusieurs livres, mais un livre ne peut être écrit que par une seule personne.
Une personne est identifiée par un nom, un prénom et une adresse. Un livre est identifié par un
titre et un éditeur. Réaliser
le modèle entité-association
Ecrire
1,n 1,1
livres auteur
Numlivre numAuteur
Titre nom
editeur prenom
adresse
Exercice:
On veut modéliser indépendamment les situations suivantes:
- Plusieurs cours sont offert et un cours peut être suivie par plusieurs étudiants et un étudiant peut
s’inscrire à plusieurs. Pour chaque cours, on veut connaitre la liste des étudiants et leurs notes. Chaque
cours ne comporte qu’une seul évaluation
- Plusieurs cours sont offerts. Un cours est dispense par un seul enseignant et un enseignant peut
dispenser plusieurs cours. Pour chaque cours, on veut connaitre l’enseignant qui le dispense.
Etablir le modèle entité-association pour les 2 cas
1. Associations plurielles
Deux mêmes types entité peuvent être plusieurs fois en association. On parle d’associations
plurielles. Ex :
1 ,n 1, 1
ecrire livre
personne
NumLivre
NumPersonne
NomLivre
nomPersonne 1,n Pu livre
1,n
acheter
0 ,n
0,n
critiquer
Sur ce schéma le type association permet de modeliser les livre. Les livre peuvent être critique et acheter
par une seul personne
2. Association réflexive
Un type association réflexive est matérialisé par une relation entre un type entité et lui-même
personne 0 ,n
Numpersonne
nompersonne
Etre frère
0,n
Le type association être frère matérialisé ci-dessus est symétrique. Il existe des types association
réflexives asymétrique et dans ce cas, on précise le rôle de chaque patte sur le type
d’association.
Ex :
personne
1,n
Numpersonne
nompersonne Enfant
Etre parent
Parent
0,n
client
Numclient
nomclient
1,n
client
Numclient
1,n nomclient
Appartenir
1,1 produit
refproduit
facture nomproduit
Contient
Numfacture 1,n 0,n
datefacture PU, Qte
- Règle 10 : lorsque les cardinalité d’un type association sont toutes a ‘1,1’, c’est que le type
association n’a pas lieu d’être. Ex :
- Règle 11 : Il faut veiller à éviter les types association redondant. En effet, s’il existe 2 chemins,
pour se rendre d’un type entité à un autre, alors ces chemins doivent avoir 2 significations ou 2
durées de vie distinctes. Dans le cas contraire, il faut supprimer le chemin le plus court.
Règlement
Num règlement
1, 1 Date règlement
payer montant
1,n
client
Numclient 1,1
nom client Correspondre
adresse
0,n 1,n
Recevoir 1, 1
Facture
Numfacture
Date facture
Montant total
Un client reçois plusieurs factures, et une facture est payer en plusieurs règlement par un client.
Si un client ne peut pas régler la facture d’un autre client, le type association payé est inutile
IV- La normalisation
Les formes normales sont différents stade d’anomalie qui permette d’éviter la redondance. La
normalisation peut être aussi bien effectuée sur un modèle entité-association ou elle s’applique
sur les types entité, les types association que suit un modèle relationnelle. Il existe 5 formes
normales principales et 2 extensions. Plus le niveau de normalisation n’est moins élevé, plus le
modèle des redondances. Un modèle entité-association est en forme normale de niveau ‘n’,
automatiquement, il est en forme normale de niveau ‘n-1’
chambre
Numchambre
Nom chambre
Occupant
Car occupants n’est pas élémentaire
chambre 1,1 occupant
Numchambre Habiter Numoccupant
1,n
Nom chambre Nom occupant
adresse
personne
personne Num personne
Nom personne Nom personne
2FN
Prénom Prénom
Sexe La 2FN n’est pas respectée Sexe
Adresse Adresse
personne personne
Date naissance Date naissance
Produit Produit
Num produit 0,n 0,n
NumProduit Fournisseur
Nom produit
Num fournisseur NomProduit NumFournisseur
Livrer
Nom fournisseur PU NomFournisseur
P.U. DateNaiss
4. Forme normale de Boyce-codd (FNBC)
Un type entités ou association est la FNBC si et seulement si il est en troisième forme normale et
si aucun attribut faisant partie de la clé dépend d’un attribut ne faisant pas partie de la clé. Ex :
intéressons nos a l’exemple suivant du type entité diplômé
Diplômé
Nom
Prénom
Diplôme
Institution
Ici, le type entité diplômé modélise des personnes (nom et prénom) possédant un diplôme
d’une institution. On suppose qu’il n’y a pas d’homonyme et qu’une personne ne possède pas 2
fois le même diplôme mais qu’elle peut posséder plusieurs diplômes différents.
Une institution ne délivre qu’un type de diplôme mais un même diplôme peut être délivré par
plusieurs institutions. Ainsi, une clé possible pour le type entité diplôme est donc (le nom,
prénom, diplôme). Le type entité obtenu est en troisième forme normale mais une redondance
suscite car l’attribut institution détermine l’attribut diplôme. Ainsi le type entité diplôme n’est
donc pas en FNBC
Etape 3 : identification des types entités. Le repérage d’attribut pouvant servir d’identifiant
permet souvent de repérer un type entité, le attribut de ce type entités sont alors le attribut qui
dépendent des attributs pouvant servir d’identifiant.
Remarque : lorsqu’on ne parvient pas a trouver l’identifiant pour un type entité, il faut se
demander s’il ne s’agit pas en fait d’un type association. Si ce n’est pas le cas, un identifiant
arbitraire numérique entier peut faire l’affaire
Etape 4 : identification des types associations. Identifier les types associations reliant les types
entités du modèle. Le cas échéant, leur affecter les attributs correspondant.
Etape 5 : vérification du modèle. Vérifier que le modèle respecte bien les règles que nous avons
énoncées tout au long du cours et les définitions concernant la normalisation des types entités
et des types association (1FN, 2FN, 3FN). Le cas échéant, opérer la modification nécessaire pour
que le modèle soit bien formé.
2. Quelques conseils
- Bien distinguer les concepts de données et de traitement. La modélisation conceptuelle de
données exclut la représentation des traitements futurs sur ces données. Toute foi, elle nécessite
la connaissance de ses traitements pour prévoir les données indispensable à ceux-ci
- Le choix des noms : pour les types entités, choisissez un nom commun décrivant le type entité.
Ex ; étudiant, voiture, produit, etc… certain préfère mettre les noms au pluriel. Respecter
cependant la cohérence des données. C'est-à-dire, soit tous les noms des types entités sont au
pluriel, soit ils sont tous au singulier. Pour les types association, choisissez un verbe à l’infinitif
et éventuellement à la forme passive ou accompagné d’un adverbe. Ex : étudier, manger, boire,
avoir lieu dans, avoir lieu pendant, etc… Pour les attributs, utiliser un nom commun au singulier
éventuellement accompagné du nom du type entité ou du type association dans lequel il se
trouve. Ex : nom du client, numéro de l’article et etc…
- Choix des identifiants des types entités : éviter les identifiants composés de plusieurs attribut,
par exemple, un identifiant formé par les attributs nom et prénom d’un type association ; cet
identifiant dégrade généralement les performances du système de gestion des bases de données.
Eviter les identifiants susceptible de changer au court du temps