Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
2014-05-20
1
Base de donnéesCOURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION
1
L’amorce d’un projet
Tout projet d’ingénierie doit passer par plusieurs étapes de réalisation.
Les techniques de gestion de projet sont nombreuses et variées.
L’approche traditionnelle propose 5 étapes
L’initiation
La conception et la planification
L’exécution
L’évaluation
La complétion
2
2014-05-20
2
L’initiation d’un projet
La réalisation d’un projet doit répondre minimalement à ces questions :
Quel est l’objectif?
Quel est le contexte?
Quels sont les ressources?
Quels sont les contraintes?
C’est probablement la phase la plus importante!
3
Modélisation d’un système
d’information
À quoi sert la modélisation?
La modélisation d’un système d’information se fait à deux niveaux :
modélisation au niveau externe;
modélisation au niveau interne.
La modélisation au niveau externe est celle qui ne tient pas compte des
contraintes d’implantation et qui met l’emphase sur la structure
conceptuelle du projet.
La modélisation au niveau interne tient compte des technologies et des
moyens d’implantation à mettre en œuvre. Elle s’applique souvent
lorsqu’on tente de réaliser l’implémentation d’une modélisation externe.
4
2014-05-20
3
Modélisation d’un système
d’information
Considérant les SGBD relationnels, nous verrons ces deux outils de
modélisation :
Le modèle entité-association (modélisation externe)
Le modèle UML (modélisation externe et interne)
Le modèle relationnel (modélisation interne)
5
Modèle entité-associationIntroduction
Le modèle entité-association (EA) est un outil de modélisation graphique
créant, sous forme de diagramme, une description de haut niveau d’un
système d’information.
C’est un outil de modélisation externe principalement utilisé dans les
phases de définition de projet et d’écriture des devis. Il participe aussi à la
phase de conception.
Cet outil de modélisation a initialement été développé par Peter Chen en
1976 et a été largement modifié et adapté depuis. Cette méthode reste
encore la plus utilisée pour ce type de modélisation.
6
2014-05-20
4
Modèle entité-associationIntroduction
Le modèle EA est simple et basé sur ces deux constituants fondamentaux :
les entités;
les associations.
À ceci on ajoute les particularités suivantes :
les entités possèdent des attributs;
les relations peuvent posséder des attributs;
plusieurs autres caractéristiques permettent de préciser les intentions du concepteur.
7
Modèle entité-associationEntité
Les entités décrivent un objet concret ou abstrait du monde.
concret : un individu, un livre, une pièce en stock, un client, une commande, …
abstrait : une transaction, une action, une période de temps, …
Les entités représente des objets uniques dans l’univers du projet.
Elles ne représentent pas une instance en particulier mais plutôt une
définition du type des instances possibles.
Sur les diagrammes, elles sont représentées par des rectangles.
8
Étudiant Cours
2014-05-20
5
Modèle entité-associationAssociation
Les associations décrivent les liens qui existent entre les entités.
Elles représentent un lien particulier ayant un sens précis. Ainsi, il est
possible d’avoir plusieurs associations différentes pour les mêmes entités
liées.
Encore une fois, elles ne représentent pas une instance en particulier mais
plutôt une définition du type d’association.
Sur les diagrammes, elles sont représentées par des losanges et des lignes
joignant les entités liées.
9
Étudiant CoursInscrit
Modèle entité-associationDiagramme de conception vs une instance
Il est essentiel de faire la
différence entre un
diagramme EA et
une instance.
Voici un exemple
concret.
10
Étudiant CoursInscritDiagramme EA
Gaston
Patrick
Mohamed
Carolina
James
Laurent
Érica
GPA445
GPA775
GPA789
Instance
2014-05-20
6
Modèle entité-associationAttributs
Les attributs sont des propriétés qui composent les entités et les
associations.
Chaque entité doit posséder au moins un attribut alors que les associations
peuvent n’avoir aucun attribut.
Sur les diagrammes,
ils sont représentés
par des ellipses.
11
InscritÉtudiant
Prénom
Nom
Code permanent
CourrielGenre
Date de naissance
NAS CoursDescription
NomSigle
Nombre de créditAdresse
Modèle entité-associationAttributs
Il existe plusieurs précisions possibles concernant les attributs :
domaine de valeur;
atomique ou composé;
à valeur simple ou valeur multiple;
dérivé;
obligatoire;
clé primaire.
12
2014-05-20
7
Modèle entité-associationAttributs | domaine de valeur
Le domaine de valeur indique la nature des données (le type) et certaines
caractéristiques importantes selon le contexte du projet.
type : nombre entier, nombre à virgule flottante, chaîne de caractère, …
caractéristiques : valeur numérique inscrite dans un intervalle prescrit, longueur maximum de la chaîne de caractères, liste de valeurs prédéfinies, …
Ces informations ne sont généralement pas incluses dans les diagrammes
EA mais plutôt dans les documents décrivant les spécifications détaillées
du projet. Néanmoins, il est souhaitable de s’y attardé dès cette phase de
modélisation.
13
Modèle entité-associationAttributs atomiques et composés
Les attributs peuvent être :
atomiques : attributs indivisibles;
composés : attributs constitués de plusieurs attributs atomiques.
Indirectement, le modèle EA amène une description des entités par des
attributs à valeurs atomiques.
La représentation est la suivante :
l'attribut atomique est représenté par l’ellipse déjà vue;
l‘attribut composé est représenté par des grappes d’attributs atomiques structurés en arbre.
14
2014-05-20
8
Modèle entité-associationAttributs atomiques et composés
15
InscritÉtudiant
Prénom
Nom
Code permanent
CourrielGenre
Date de naissance
NAS CoursDescription
NomSigle
Nombre de créditAdresse
Code postal
PaysVille
No. civique
No. appart.Rue
No. rue
Modèle entité-associationAttributs à valeur simple ou valeur multiple
Les attributs peuvent être :
à valeur simple : ne possède qu’une seule valeur;
à valeur multiple : possède plusieurs valeurs à la fois.
Il est important que le concepteur fasse cette distinction dès l’étape de
modélisation du modèle EA.
Ces attributs sont représentés par une double ellipse.
16
2014-05-20
9
Modèle entité-associationAttributs à valeur simple ou valeur multiple
17
InscritÉtudiant
Prénom
Nom
Code permanent
CourrielGenre
Date de naissance
NAS CoursDescription
NomSigle
Nombre de créditAdresse
Code postal
PaysVille
No. civique
No. appart.Rue
No. rue
Modèle entité-associationAttributs dérivés
Les attributs dérivés sont ceux qui sont en étroite relation avec un autre ou
plusieurs autres attributs.
Souvent, ils peuvent être calculés ou retrouvés à partir d’un autre attribut.
Ils sont représentés par une ligne pointillée du contour.
18
2014-05-20
10
Modèle entité-associationAttributs dérivés
19
InscritÉtudiant
Prénom
Nom
Code permanent
CourrielGenre
Date de naissance
NAS CoursDescription
NomSigle
Nombre de créditAdresse
Code postal
PaysVille
No. civique
No. appart.Rue
No. rue
Âge
Modèle entité-associationAttributs obligatoires
Permet de préciser si la valeur d’un attribut doit être définie.
Il est souvent utile pour le concepteur de pouvoir spécifier si un attribut
peut être non définis (vides) ou doit obligatoirement posséder une valeur.
Ces attributs sont représentés en mettant le texte en caractère gras.
20
2014-05-20
11
Modèle entité-associationAttributs obligatoires
21
InscritÉtudiant
Prénom
Nom
Code permanent
CourrielGenre
Date de naissance
NAS CoursDescription
NomSigle
Nombre de créditAdresse
Code postal
PaysVille
No. civique
No. appart.Rue
No. rue
Âge
Modèle entité-associationAttributs | clé primaire
Notion de clé primaire : une clé primaire est un attribut ou un ensemble
d’attributs permettant d’identifier de façon unique l’instance d’une entité
spécifique dans l’ensemble des entités existantes.
Les types de clés :
Super clé : tout ensemble d’un ou plusieurs attributs permettant d’identifier de façon unique une entité dans l’ensemble des entités.
Clé : c’est une super clé à laquelle on ne peut plus enlever d’attribut.
Clé candidate : clé possédant les caractéristiques pour être une clé primaire;
Clé primaire : clé désignée parmi les clés candidates par le concepteur pour identifier de façon unique une entité.
22
2014-05-20
12
Modèle entité-associationAttributs | clé primaire
Différentiation entre entité et association :
les entités doivent toujours posséder une clé primaire (et une seule);
les associations ne possèdent jamais de clé primaire.
Les clés primaires sont représentés en soulignant le texte des attributs
concernés.
23
Modèle entité-associationAttributs | clé primaire
24
InscritÉtudiant
Prénom
Nom
Code permanent
CourrielGenre
Date de naissance
NAS CoursDescription
NomSigle
Nombre de créditAdresse
Code postal
PaysVille
No. civique
No. appart.Rue
No. rue
Âge
2014-05-20
13
Modèle entité-associationAssociation
Il existe plusieurs précisions possibles concernant les associations :
rôle;
association récursive;
attribut de l’association (comme on vient de le voir);
contraintes structurelles :
de correspondance;
de participation;
degré de l’association.
25
Modèle entité-associationAssociation | rôle
Il est important de comprendre qu’une association indique un lien précis
selon une fonction spécifique du schéma.
Il est fréquent de voir plusieurs liens entre deux mêmes entités engendrant
ainsi plusieurs associations entre elles.
On indique le rôle en nommant l’association par un nom pertinent
permettant d’éviter toute ambiguïté sur sa fonction.
Parfois, malgré le nom donné, l’ambiguïté persiste et il est de mise de
clarifier ses propos. Plusieurs adaptation du diagramme permet de lever
ces cas problématiques.
26
2014-05-20
14
Modèle entité-associationAssociation récursive
Certaines associations font participer plus d’une fois la même entité. Ce
sont les associations récursive.
Le rôle de ces associations est souvent ambigu et requiert une précision
sur le sens précis des fonctions impliquées.
27
CoursDescription
NomSigle
Nombre de crédit
Préalable
est préalable à
a comme préalable
Modèle entité-associationAssociation | attributs
28
InscritÉtudiant
PrénomNom
Code permanent
CourrielGenre
Date de naissance
NAS CoursDescription
NomSigle
Nombre de créditAdresse
Code postal
PaysVille
No. civique
No. appart.Rue
No. rue
ÂgeDate d'inscription
2014-05-20
15
Modèle entité-associationAssociation | contraintes structurelles
Les contraintes structurelles permettent de limiter les combinaisons
possibles entre les différentes entités.
Elle permettent de préciser les intentions du concepteur et doit
représenter l’analyse faite du problème.
Il existe deux types de contraintes structurelles :
contrainte de correspondance (cardinalité);
contrainte de participation.
29
Modèle entité-associationAssociation | cont. de correspondance
La contrainte de correspondance permet de préciser le nombre
d’instance possible pour chaque entité participante.
Il existe 3 cardinalités possibles :
1 vers 1 (noté 1:1)
1 vers N (noté 1:N)
N vers N (noté N:N)
La représentation graphique se fait par l’ajout des symboles 1 ou N
directement sur les liens entre l’association et l’entité liée.
30
2014-05-20
16
Modèle entité-associationAssociation | cont. de correspondance
Association 1 vers 1
31
Professeur DépartementSupervise1 1Diagramme EA
Patrick
Mohamed
Carolina
James
Laurent
ELE
GPA
MEC
Instance
LOG
CTN
Modèle entité-associationAssociation | cont. de correspondance
Association 1 vers N
32
Étudiant DépartementInscritN 1Diagramme EA
Patrick
Mohamed
Carolina
James
Laurent
ELE
GPA
MEC
Instance
Gaston
Érica
2014-05-20
17
Modèle entité-associationAssociation | cont. de correspondance
Association N vers N
33
Étudiant CoursInscritN NDiagramme EA
Gaston
Patrick
Mohamed
Carolina
James
Laurent
Érica
GPA445
GPA775
GPA789
Instance
Modèle entité-associationAssociation | cont. de participation
La contrainte de participation permet de préciser si chaque instance
d’une entité doit nécessairement être lié à une autre entité.
Ainsi, il y a deux types de participation :
totale : toutes les instances doivent être liées;
partielle : chacune des instances peut ne pas être liée.
La représentation graphique se fait par une ligne double entre
l’association et l’entité ayant une contrainte de participation totale.
34
1Professeur DépartementSupervise1
2014-05-20
18
Modèle entité-associationAssociation | cont. de participation
Il est possible de préciser l’intervalle de valeur permise pour chaque
association. Ainsi, on détermine une paire d’entier (min, max) pour
chaque lien.
Les bornes doivent respecter ces règles :
0 min max
max 1
Remarque intéressante :
min = 0 implique une participation partielle
min > 0 implique une participation totale
35
Modèle entité-associationAssociation | cont. de participation
La représentation graphique se fait par l’ajout de l’intervalle (min, max)
directement sur le lien concerné. Attention à l’ambiguïté liée à la notation
de contrainte de correspondance.
36
Étudiant CoursInscrit0:6 1:N
2014-05-20
19
Modèle entité-associationAssociation | degré
Le degré d’une association correspond au nombre d’entités participantes:
le degré d’une association est toujours égal ou supérieur à 2;
une association de degré 2 est appelée association binaire, une association de degré 3 est appelée association ternaire et ainsi de suite;
Malgré le fait que les associations de degré supérieur permettent des
descriptions plus complexes que celle de degré inférieur, on tente
généralement de limiter la conception aux associations de degré 2.
37
Modèle entité-associationAssociation | degré
Exemple
d’une
association
ternaire.
38
InscritÉtudiant
PrénomNom
Code permanent
CourrielGenre
Date de naissance
NAS CoursDescription
NomSigle
Nombre de créditAdresse
Code postal
PaysVille
No. civique
No. appart.Rue
No. rue
ÂgeDate d'inscription
Session
DescriptionTrimestre
Session
2014-05-20
20
Modèle entité-associationAssociation | degré
Attention à la conversion d’une
association de degré 3 à 2!
Ces deux schémas ne sont
pas équivalents!
39
InscritÉtudiant Cours
Session
InscritÉtudiant Cours
Session InscritInscrit
Modèle entité-associationEntités fortes et faibles
Il est fréquent d’avoir des entités qui dépendent entièrement d’une autre.
Ces entités ne possèdent pas de clé primaire et utilisent celle de l’entité
forte. De plus, elles ont toujours une contrainte de participation totale.
Ces entités sont appelées entités faibles alors que celles dont elles
dépendent sont appelées entités fortes.
Les associations liant ces deux types d’entité sont nommées association
d’identification.
Les entités faibles ainsi que les associations d’identification sont illustrées
par une double ligne sur le contour.
40
2014-05-20
21
Modèle entité-associationEntités fortes et faibles
41
CoursDescription
NomSigle
Nombre de crédit
Possède0:N LaboratoireÉnoncé
DescriptionTitre
Pondération
1:1
Numéro
Modèle entité-associationEntités fortes et faibles
Il est important de bien identifier ces entités dès la conception afin de tirer
profit des avantages qu’elles offrent.
réduit la duplication de données;
reflète la dépendance d’une entité faible par rapport à une entité forte;
effacement automatique de l’entité faible lors de l’effacement de l’entité forte;
identifie souvent des informations indirects du projet;
l‘entité faible peut être stocké physiquement avec l’entité forte (augmente les performances du SGBD lors de la recherche).
42
2014-05-20
22
Modèle entité-associationEntités fortes et faibles
Stratégie d’identification d’une entité faible :
tentez de construire la liste des attributs de l’entité en prenant le soin de bien distinguer ces trois types :
clé primaire de l’entité forte;
discriminant(s) de l’entité faibles (ce qui permet de différencier les entités
dépendantes entre elles pour une même entité forte);
les attributs restant de l’entité faible.
On crée ainsi l’entité faible avec : le(s) discriminant(s) + les attributs restants.
On accède à une instance de l’entité faible avec : clé primaire de l’entité forte + le(s) discriminant(s) de l’entité faible.
43
Modèle entité-associationMéthodes de représentation
Il existe plusieurs standards établis permettant de présenter un diagramme EA.
Voici les méthodes les plus répandues :
Chen (celle que nous avons vue jusqu’à maintenant)
IDEF1X, Bachman, Crowfoot, Min-Max ISO
UML (variante importante)
De plus, plusieurs formes alternatives ont été adaptées afin de présenter des solutions à des problématiques spécifiques.
Les prochaines diapositives résument deux standards qui seront utilisés dans le cadre du cours.
44
2014-05-20
23
Modèle entité-associationMéthodes de représentation | Chen
45
abc
abc
abc
abc
Entité (entité forte)
Entité faible
Association et son rôle
Association d identification
abc
abc
abc
abc
abc
Attribut
Attribut participant à la clé primaire
Attribut obligatoire
Attribut multivalué
Attribut dérivé
Modèle entité-associationMéthodes de représentation | Chen
46
abcabc
abc
abc
E2AE1
E2A 1:N
Attribut composite
Participation partielle de E1 dans AParticipation totale de E2 dans A
Contrainte de participation (min-max) de E2 dans A
2014-05-20
24
Modèle entité-associationMéthodes de représentation | Abrégée
47
XYZ
Entité (entité forte)
XYZ
. . .Entité faible
abc
def
ghi
jkl (mno, pqr, ...)
stu
vwx
Attribut participant à la clé primaire
Attribut
Nom de l entité
Attribut obligatoire
Attribut composite
Attribut multivalué
Attribut dérivé
UVW
. . .
XYZ
. . .
(m1:M1) Rôle 1
(m2:M2) Rôle 2
m : cardinalité minimumM : cardinalité maximumRôle : description du rôle1 : de UVW vers XYZ2 : de XYZ vers UVW
Modèle entité-associationExemple
48