Académique Documents
Professionnel Documents
Culture Documents
Association
des Données [Gardarin]
[Audibert ]
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
18
Page 9
Attributs
19
Attributs
20
Page 10
Attributs
21
22
Page 11
Dépendances des attributs et
entités faibles
23
24
Page 12
Entité ou relation ?
25
Page 13
Modèle Entité Association
l Un mauvais exemple
l Table Film simple
l Stocke des informations de base sur les films
27
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
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
31
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
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.
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
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
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
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
• Un client a établi un ou plusieurs contrats mais un contrat a été établi avec un seul client
• 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
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
1 1
* plusieurs (0 à N)
0..1 optionnel (0 ou 1)
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
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
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
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
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
64
Page 32
Guide de bonnes pratiques
l Supprimer tout attribut dérivé d’autres attributs
65
66
Page 33
Guide de bonnes pratiques
l Eliminer une association dont toutes les cardinalités sont 1
67
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