Vous êtes sur la page 1sur 35

Modélisation Entité

Association
des Données [Gardarin]
[Audibert ]

l  Objectifset principes


l  Le modèle Entité-Association

l  Passage au relationnel

l  Conclusion

1. Objectifs de la Modélisation
l  Permettre une meilleure compréhension
l  Le monde réel est trop complexe
l  Abstraction des aspects cruciaux du problème
l  Omission des détails
l  Permettre une conception progressive
l  Abstractions et raffinements successifs
l  Possibilité de prototypage rapide
l  Découpage en modules ou packages
l  Génération des structures de données (et de traitements)

Page 1
Élaborer un modèle conceptuel
l  Isoler les concepts fondamentaux
l  Que vont représenter les données de la BD ?
l  Découvrir les concepts élémentaires du monde réel
l  Décrire les concepts agrégés et les sous-concepts
l  Faciliter la visualisation du système
l  Diagrammes avec notation simple et précise
l  Compréhension visuelle et non seulement
intellectuelle

Dériver le schéma de la BD
l  Schéma
l  Définition de tous les types de données de la base et de leurs liens
l  Agrégation de données
l  Type élémentaire (de base) : Entier, Réel, String, ...
l  Type complexe (composé) : Collection de types élémentaires
l  Tuple
•  Type Personne (nom: String, Prenom: String, age: Réel)
•  Instance ou occurrence Personne("Dupont", "Jules", 20)
l  Set
•  Exemple : Voitures {id:String}; Voitures {"75AB75", "1200VV94"}
l  Bag, List, ...
l  Possibilité d'intégrer des relations entre données (liens)
•  Exemple : Personne à Voitures; "Dupont" à "75AB75"

Page 2
Modélisation à plusieurs
niveaux

Réel

•  Indépendant du
Modèle modèle de données
•  Indépendant du
conceptuel SGBD Médecin effectue Visite

•  Dépendant du
Modèle modèle de données
Codasyl Relationnel Objet XML
•  Indépendant du
logique SGBD

•  Dépendant du
Modèle modèle de données
•  Organisation physique des données
•  Structures de stockage des données
•  Dépendant du
Physique SGBD
•  Structures accélératrices (index) 5

Générations de méthodes
l  Méthodes d'analyse et de décomposition hiérarchiques
l  Première génération fondée sur des arbres fonctionnels
l  Diviser pour régner (Problème → Sous-problème)
l  Warnier, SADT, Jackson, De Marco
l  Méthodes d'analyse et de représentation systémiques
l  Deuxième génération fondée sur entité-association
l  Séparation des données et traitements
l  Merise, Axial, SSADM
l  Méthodes d'analyse et de conception orientées objets
l  Troisième génération basée sur les objets
l  Réconciliation données et traitements
l  Réutilisation de composants
6

Page 3
Objectifs des méthodes
l  Réduire la distance sémantique entre le langage des
utilisateurs et le langage des concepteurs
l  meilleure communication entre utilisateurs et concepteurs
l  abstraction du réel perçu en termes compréhensibles et visibles
l  Regrouper l'analyse des données et des traitements
l  meilleure compréhension des choses
l  plus grande cohérence entre l'aspect statique et l'aspect
dynamique
l  Simplification des transformations entre niveau
conceptuel et niveau interne
l  implémentation directe éventuelle du schéma conceptuel
l  établissement possible de règles de transformations
automatisées 7

Méthode MERISE
l  Hubert Tardieu, Arnold Rochfeld, René Colletti –
La Méthode MERISE (tome 1 : Principes et outils,
1983 ; tome 2 : Démarches et pratiques, 1985).
Paris, Editions d’organisation.
l  Décomposition
l  En étapes du travail : cycle de vie
l  En niveaux de détail : cycle d’abstraction

Page 4
Cycle de vie
l  Cycle de vie
l  Conception
l  Réalisation
l  Maintenance
l  Etapes de la conception
l  Schéma directeur
l  Etude préalable
l  Etude détaillée
l  Etude technique
9

Cycle de décision
l  A chaque étape
l  Validation des analyses et des propositions

10

Page 5
Modélisation des données
l  Description du fonctionnement attendu sous
forme de texte
l  Rapport d’étude préalable (entretiens avec des
experts) selon la méthode MERISE
l  Le plus couramment, notes prises au cours d’une
réunion de définition de tâches avec le client,
reformulées par vous, individuellement ou
collectivement.
l  Ce texte est le point de départ de l’analyse et de
la modélisation à élaborer
11

Identification
l  Acteurs
l  Identification et description des futurs utilisateurs
l  Définition des scénarios d’utilisation et des droits d’accès
aux données
l  Objets
l  Modélisation sous forme de données
l  Traitements
l  Identification et description
l  Automatisés ou pas permettent de déterminer les données
pertinentes
12

Page 6
Dictionnaire des données
l  Recueillir dans le texte de toutes les données
pertinentes et non redondantes
l  Dictionnaire des données
l  Liste établie à partir du recueil
l  A chaque donnée pertinente est associée
l  Identifiant
l  Nature de l’information représentée
l  Type ou domaine de valeurs

13

Pertinence
l  Qu’est-ce qu’une donnée pertinente ?

14

Page 7
Redondance
l  Qu’est-ce qu’une donnée non redondante

15

Entités

16

Page 8
Relations

17

Arité des relations

18

Page 9
Attributs

19

Attributs

20

Page 10
Attributs

21

Atomicité des attributs

22

Page 11
Dépendances des attributs et
entités faibles

23

Rattachement des attributs

24

Page 12
Entité ou relation ?

25

2. Le Modèle Entité – Association


(E/R Model)
l  Ensemble de concepts pour modéliser les
données d'une application (d'une entreprise)
l  Ensemble de symboles graphiques associés

l  Formalisé en 1976 par P. Chen USA


l  Raison du succès
l  Langage graphique
l  Concepts simples
l  Etendu vers E/R généralisé puis vers l'objet
26

Page 13
Modèle Entité Association
l  Un mauvais exemple
l  Table Film simple
l  Stocke des informations de base sur les films

Titre Année Nom_REA Prénom_REA Année de naissance_REA

Alien 1979 Scott Ridley 1943


Vertigo 1958 Hitchcock Alfred 1899
Psychose 1960 Hitchcock Alfred 1899
Kagemusha 1980 Kurosawa Akira 1910
Volte-face 1997 Woo John 1946
Pulp Fiction 1995 Tarantino Quentin 1963
Titanic 1997 Cameron James 1954
Sacrifice 1986 Tarkovski Andrei 1932

27

Modèle Entité Association


l  Un mauvais exemple
Titre Année Nom_REA Prénom_REA Année de naissance_REA
Alien 1979 Scott Ridley 1943
Vertigo 1958 Hitchcock Alfred 1899
Psychose 1960 Hitchcock Alfred 1899
Kagemusha 1980 Kurosawa Akira 1910
Volte-face 1997 Woo John 1946
Pulp Fiction 1995 Tarantino Quentin 1963
Titanic 1997 Cameron James 1954
Sacrifice 1986 Tarkovski Andrei 1932
l  Redondances
l  Il est possible de représenter plusieurs fois la même information
l  Erreurs possibles associées à
l  Insertion
l  Mise à jour
l  Destruction
28

Page 14
Modèle Entité Association
l  Erreur lors de l’insertion
l  Possibilité de représenter plusieurs fois le même film
l  Possibilité d’insérer plusieurs fois le film Vertigo en le décrivant de manière différent
•  Vertigo réalisateur Alfred Hitchcock
•  Vertigo réalisateur John Woo
l  Etc.
l  Questions
l  Qu’est-ce qui distingue un film d’un autre ?
l  A quel moment décide t-on qu’une information est répétée ?
l  Peut-il y avoir deux films différents avec le même titre
•  Non
On doit pouvoir s’assurer qu’il n’y a pas deux lignes avec la même valeur pour l'attribut titre
•  Oui
Reste à déterminer les attributs permettant de caractériser le film de manière unique

29

Modèle Entité Association


l  Erreur lors d’une modification
l  Modification de la date de naissance de Hitchcock pour Vertigo
et pas Psychose
l  Informations incohérentes

l  Question
l  Jusqu'à quel point peut-on déclarer qu’il existe
•  Un seul réalisateur nommé Hitchcock ?
•  Une seule année de naissances pour un réalisateur de ce nom ?
l  Erreur lors d’une destruction
l  Impossibilité de suppression d’un film sans supprimer son réalisateur

30

Page 15
Modèle Entité Association
l  La bonne méthode

l  Représenter individuellement les films et les réalisateurs


Une modification de l’un n’entraîne pas celle de l’autre
l 

l  Définir une méthode d’identification des films ou des réalisateurs


La même information est représentée une seule fois
l 

l  Préserver le lien entre film et réalisateur


l  Sans introduire de redondances

31

Modèle Entité Association


l  La bonne méthode Clé
l  Premières étapes
Clé Titre Année Id_MES Nom_MES Prénom_MES Année de naissance_MES

Alien 1979 1 Scott Ridley 1943

Vertigo 1958 2 Hitchcock Alfred 1899


Identification du
réalisateur
Psychose 1960 3 Hitchcock Alfred 1899

Kagemusha 1980 4 Kurosawa Akira 1910

Volte-face 1997 5 Woo John 1946

Pulp Fiction 1995 6 Tarantino Quentin 1963

Titanic 1997 7 Cameron James 1954

Sacrifice 1986 8 Tarkovski Andrei 1932

Table des films Table des réalisateurs


2 films ne peuvent avoir le même titre 2 réalisateurs peuvent avoir le même nom

l  Elimination des redondances


32

Page 16
Modèle Entité Association
l  Introduction du lien entre les films et les réalisateurs sans introduire de redondance
Clé
étrangère
Titre Année Id_MES Id_MES Nom_MES Prénom_MES Année de naissance_MES

Alien 1979 1 1 Scott Ridley 1943

Vertigo 1958 2 2 Hitchcock Alfred 1899

Psychose 1960 3 3 Hitchcock Alfred 1899

Kagemusha 1980 4 4 Kurosawa Akira 1910

Volte-face 1997 5 5 Woo John 1946

Pulp Fiction 1995 6 6 Tarantino Quentin 1963

Titanic 1997 7 7 Cameron James 1954

Sacrifice 1986 8 8 Tarkovski Andrei 1932

Table des films Table des réalisateurs

l  Plus d'erreurs


l  Insertion - Mise à jour - Destruction
l  Conservation de l’information sans redondance
33

Modèle Entité Association


l  Présentation informelle
l  Entité
l  Représentée dans un rectangle
l  Film - Artiste - Internaute - Pays
l  Caractérisée par des attributs
•  Parmi eux figure 1 ou plusieurs figure
l’identifiant unique
l  Association entre entités
l  Représentée dans des losanges ou des ellipse
reliées par des traits aux entités impliquées
l  Un réalisateur réalise un film
l  Un internaute note un film

34

Page 17
Modèle Entité Association
l  Présentation informelle
l  Entité
l  Représentée dans un rectangle
l  Film - Artiste - Internaute - Pays
l  Caractérisée par des attributs
•  Parmi eux figure 1 ou plusieurs figure
l’identifiant unique
l  Association entre entités
l  Représentée dans des losanges ou des ellipse
reliées par des traits aux entités impliquées
l  Un réalisateur réalise un film
l  Un internaute note un film

35

Entité
l  Un objet du monde réel qui peut être identifié et que l'on
souhaite représenter
l  La classe d'entité correspond à une collection d'entités décrites
par leur type commun (le format)
l  L'instance d'entité correspond à un élément particulier de la
classe d'entité (un objet)
l  Attention
l  On dit entité pour les deux ! Comprendre selon le contexte.

l  Il existe généralement plusieurs instances d’entités dans


une classe

36

Page 18
Attribut
l  Description des propriétés des entités
l  Titre (du film) - Nom (l’acteur)
l  Toutes les instances d'une entité ont les mêmes attributs
l  Un attribut
l  Désigné par un nom
l  Prend ses valeurs dans un domaine énumérable
l  Types d’attributs
l  Attribut simple
l  Attribut ayant une valeur d'un type de base
l  Attribut composé
l  Attribut constitué d'un groupe d'attributs
l  ADRESSE peut être constitué des attributs
•  RUE NUMERO VILLE CODE_POSTAL PAYS
l  Attribut multi-valué
l  attribut pouvant avoir plus d'une valeur
l  DIPLÔMES plusieurs valeurs pour une même PERSONNE
l  Avec le modèle E/R de base tout attribut est simple
l  Avec le modèle E/R étendu, les attributs peuvent être complexes
l  Composés et multi-valués

37

Domaines
l  Ensemble nommé de valeurs
l  Un attribut prend ses valeurs dans un domaine
l  Généralisation des types élémentaires
l  Exemples
l  Liste de valeurs (1,2,3)
l  Type contraint (<0< int <100)
l  Permettent de préciser les valeurs possibles des attributs
l  Réduisent les ambiguïtés

38

Page 19
Représentation
l  Rectangle avec attributs
Nom de l’entité
attribut 1
attribut 2
attribut 3

attribut n

l  Exemple
Voitures Nom
Nveh: Int
Type: String
Marque: String
Vitesse: Int
Attribut : Type
Km : Int

39

Exemple d'instances

Voiture
Nveh: 75AB75
Type: Mégane
Marque: Renault

Vitesse: 120
Km : 54000
Voitures
Nveh: Int
Type: String
Marque: String
Vitesse: Int Voiture
Km : Int ∍
Nveh: 850VV94
Type: 407
Marque: Peugeot
Vitesse: 0
Km : 4000

40

Page 20
Identifiant ou Clé
l  Un identifiant aussi appelé clé
l  Attribut qui permet de retrouver une instance d'entité unique à tout
instant parmi celles de la classe.
l  Exemple
l  NVeh dans Voitures
l  NSS dans Personnes
l  Email de internaute
l  Un identifiant peut être constitué de plusieurs attributs (clé
composée)
l  Exemple
l  [N°, Rue, Ville] pour Maisons
l  [Nom, Prénom] pour Personnes

41

Association
l  Les entités sont reliées ensemble par des associations
l  Entre entités
l  Association entre les entités véhicule et personne

l  Entre classes


l  Abstraction des associations entre instances

l  Une association peut avoir des attributs (propriétés)


l  Elle peut relier plusieurs entités ensemble

42

Page 21
Caractéristiques d’une association
l  Dimension d’une association : son arité
l  L’association EcritPar est d’arité 2
l  Binaire

l  L’association EstMariéA est d’arité 2


l  Binaire réflexive
•  Fait intervenir au moins deux fois la même entité

l  L’association AVenduA est d’arité 3


l  Ternaire

43

Association ternaire
l  Autoriser deux entités à être liées plus d’une fois dans une association
l  Un internaute peut noter à plusieurs reprises un film
l  Souhait de garder l’historique des notations
l  Pas de moyens pour distinguer des liens multiples entre deux entités
l  Introduction d’une entité discriminante
l  Association ternaire

44

Page 22
Différents types d’association
l  Association 1,1 occurrence 1
occurrence 2
occurrence 5
occurrence 2

occurrence 1
occurrence 2
occurrence 1 occurrence 3
l  Association 1,n occurrence 2
occurrence 4
occurrence 5

l  Association n,n occurrence 1


occurrence 1
occurrence 2
occurrence 3
occurrence 3 occurrence 4
occurrence 2 occurrence 5

45

Types d’association
l  Type de liaison inter-entité
l  Liaison de type 1 à 1
l  A toute occurrence de X correspond une et une seule occurrence de Y et
réciproquement

•  En régime monogamique, un homme est marié à une seule femme et réciproquement

l  Liaison de type 1 à n


l  A toute occurrence de X correspond une ou plusieurs occurrences de Y et une
seule de X

•  Un client a établi un ou plusieurs contrats mais un contrat a été établi avec un seul client

l  Liaison de type plusieurs à plusieurs


l  A toute occurrence de X correspond une ou plusieurs occurrences de Y et
réciproquement

•  Un client peut commander plusieurs produits et un prodit peut être commandé par plusieurs clients
46

Page 23
Caractéristiques d’une association
l  Cardinalités (minimales et maximales)
l  Cardinalité minimum
l  Nombre minimum d’occurrences d’une entité X dans l’association considérée
l  Cardinalité maximum
l  Nombre maximum d’occurrences d’une entité X dans l’association considérée

47

Caractéristiques d’une association


l  Exemple

48

Page 24
Caractéristiques d’une association
l  Exemple

49

Cardinalités
l  Les valeurs de cardinalité sont en général 0, 1 ou n
l  Cardinalité minimum à 0
l  Certaines occurrences de l’entité X ne sont pas impliquées dans une
occurrence de l’association
l  Cardinalité minimum à 1
l  Une occurrence de l’entité X ne peut exister sans participer à une
occurrence de l’association
l  Cardinalité maximum à 1
l  Toute occurrence de l’entité X ne peut pas participer au plus qu’à une
occurrence de l’association
l  Cardinalité maximum à n
l  Une occurrence de l’entité X peut être impliquée dans un maximum n
occurrences de l’association

50

Page 25
Cardinalités min et max
l  Cardinalité maximum
l  Indique le nombre maximum d'instances d'une classe
d'entité participant à une association
l  Cardinalité minimum
l  Indique le nombre minimum d'instances d'une classe
d'entité participant à une association

51

Cardinalités: notations UML

1 1

* plusieurs (0 à N)

0..1 optionnel (0 ou 1)

1..* obligatoire (1 ou plus)

0..* ordonné (0 à N)
{ord}
3..5 limité (de 3 à 5)
52

Page 26
Identifiant d’une association
l  Seules les associations ne comportant que des
cardinalités maximales de n sur entités

53

Représentation d’une association

Personne Véhicule
INE Numéro d’immatriculation
Nom 0,n
Prénom
Possèder
Date de naissance
Adresse

Etudiant Cours
Numéro Code
Nom 1,n Inscrire 0,n Libellé
Prénom année
Date de naissance semestre 0,1

54

Page 27
Exemple

Possèder
Voiture Personne
nv 1 0..* nss
marque nom
type prenom
date
puissance datenais
prix
couleur

55

Spécialisation ou Héritage

56

Page 28
Association : quelques définitions
l  Association (Association)
l  Une relation entre des instances de deux (ou plus) classes
l  Lien (Link)
l  Une instance d'association
l  Rôle (Role)
l  Une extrémité d'une association
l  Attribut de lien (Link attribute)
l  Un attribut de l'association instancié pour chaque lien
l  Cardinalité (Multiplicity)
l  Le nombre d'instance d'une entité pour chaque instance de
l'autre
57

Entité faible
l  Entité dont l’identification dépend d’une autre entité via
une association
l  L’identifiant de l’entité faible est constitué de
l  Identifiant de l’entité faible
l  Identifiant de l’entité forte

l  Exemples
l  Numérotation des salles de cours indépendamment des
bâtiments
l  Difficile en pratique

l  Numérotation des salles de cours en fonction des bâtiments

58

Page 29
Entité faible : Exemple
l  idSalle et numérotation des salles indépendamment du cinéma auxquelles elles
sont rattachées

force la participation
d’une salle avec un et
un seul cinéma

l  Représentation correcte


l  Inconvénient : création d’un id pour le type salle
l  Numérotation des salles par un numéro interne à chaque cinéma
l  L’entité Salle ne dispose pas d’une identification absolue mais d’une identification relative à l’entité
cinéma.

Clés d’identification
59
Représentation graphique UML de l’entité faible

Entité faible
l  Pas une nécessité absolue
l  Possibilité d’utiliser une association classique
l  Principale différence
l  Obtention d’une identification composée facilitant
l  Sa gestion

l  Certaines requêtes

l  Entité faible A associée à une entité B


l  Contraintes fortes sur
•  Création - Modification - Destruction
des instances de A et B

60

Page 30
Entité faible Exemple
l  Salle et Cinéma
l  Insertion d’une Salle dans la table
l  Obligation de l’associer à un Cinéma
l  Destruction d’un Cinéma
l  Obligation de détruire toutes ses salles
l  Modification de la clé d’un cinéma
l  Obligation de répercuter sur toutes ses salles

61

La pratique de la conception
l  Bien comprendre le problème à résoudre
l  Essayer de conserver le modèle simple
l  Bien choisir les noms
l  Ne pas cacher les associations sous forme d'attributs
l  Utiliser les associations
l  Faire revoir le modèle par d'autres
l  Définir en commun les objets de l’entreprise
l  Documenter les significations et conventions
l  Elaborer le dictionnaire

62

Page 31
Guide de bonnes pratiques
l  Un bon schéma entité association limite les redondances et les
incohérences

Situation à éviter

63

Guide de bonnes pratiques


l  Remplacer un attribut multiple par une association et une entité supplémentaire

64

Page 32
Guide de bonnes pratiques
l  Supprimer tout attribut dérivé d’autres attributs

Suppression : Peut être calculé à


partir de l’identifiant quantité de
l’association Contenir

65

Guide de bonnes pratiques


l  Si possible tenter de factoriser les entités

l  Si possible factoriser les associations

66

Page 33
Guide de bonnes pratiques
l  Eliminer une association dont toutes les cardinalités sont 1

l  Attention aux redondances d’association

67

Guide de bonnes pratiques


l  Attention aux redondances d’association

Un client ne peut pas régler la facture d’un autre client

68
Un client peut régler la facture d’un autre client

Page 34
Modèle Entité/Association
l  Avantages
l  Trois concepts
l  Entité
l  Association
l  Attributs
l  Représenttaion graphique intuitivé
l  Même s’il existe de nombreuses conventions
l  Offre la possibilité de concevoir rapidement un modèle
l  Des structures pas trop complexes
l  Limites
l  Expressivité
l  Difficile d’exprimer les contraintes d’intégrité
l  Difficile d’exprimer des structures complexes
l  La conception en schéma reste une affaire de
l  Bon sens et expérience
l  N’offre pas d’opérations sur les données

69

Page 35

Vous aimerez peut-être aussi