Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE...

24
2014-05-20 1 Base de données COURS 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

Transcript of Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE...

Page 1: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 2: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 3: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 4: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 5: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 6: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 7: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 8: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 9: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 10: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 11: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 12: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 13: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 14: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 15: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 16: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 17: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 18: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 19: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 20: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 21: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 22: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 23: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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

Page 24: Base de données - etsmtl.ca · 2014-05-20 1 Base de données COURS 02 | CONCEPTION ET MODÈLE ENTITÉ-ASSOCIATION 1 L’amorce d’un projet Tout projet d’ingénierie doit passer

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