Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Bases de donneesCours 2 : Modelisation d’une base de donnees
Odile PAPINI
POLYTECHUniversite d’[email protected]
http://odile.papini.perso.luminy.univ-amu.fr/sources/BD.html
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Plan du cours
1 Modelisation d’une base de donnees
2 Le langage UML
3 Le modele Entite - Association
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Bibliographie
Livres :
C. J. Date : Introduction aux bases de donnees. (8iemeedition). Vuibert ed. 2004.
H. Garcia-Molina, J. D. Ullman, J. Widow : Databasesystems, the complete book. Prentice Hall ed. 2002.
Supports de cours :
Support de cours : F. Jacquenet :http ://eurise.univ-st-etienne.fr/˜ fj
Support de cours : C. Support de cours :
C. Vangenot :http ://lasig.epfl.ch/enseignement/cours/SIG/Christelle BD/UML.pdf
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Cycle de vie d’une base de donnee
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Modelisation conceptuelle
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Rappel : cycle de vie d’un logiciel (modele en cascade)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Modelisation des donnees
Modele de donnees : ensemble de
concepts permettant la description et la manipulation desdonnees du monde reelregles d’utilisation de ces concepts
les concepts decrivent les aspects :
Statiques : structure des donneesDynamiques : operations sur les donnees + contraintesexplicites
Schema :
description de la BD obtenue en utilisant un modele dedonnees
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Objectif de la modelisation conceptuelle
representer la realite telle qu’elle est percue par les utilisateurs
Contrairement aux modeles logiques qui decrivent la realite enfonction du modele du SGBD
Representation a laide de la trilogie de base
objetsliensproprietes
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Avantages de la modelisation conceptuelle
Attention est portee sur les applications
Independante des technologies
PortabiliteLongevite
Orientee utilisateur
ComprehensibiliteSupport du dialogue concepteurs / utilisateursPermet la collaboration et la validation par les utilisateurs
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Avantages de la modelisation conceptuelle
Specifications formelles, non ambigues
Puissance des concepts
Support d’interfaces visuelles (lisibilite)
Diagrammes de definition de donneesManipulation de donnees
Facilite les echanges dinformations entre SGBD differents
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Elaboration du schema conceptuel
Analyse du monde reelIdentification des phenomenes a representer dans la BD
delimitation de lunivers du discours
Representation a laide des concepts du modele
contenustructurereglesdynamique
Representation
PartielleInfidele et Subjective
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Abstraction
De la realite percue a la representation :Faire abstraction des particularites permet de passer des objetsaux types ou classes d’objets
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Definition d’un schema conceptuel
Un schema est une collection de typesd’entite ↔ objetsd’association ↔ liens
La bases de donnees contiendra les valeurs representant lesinstances de ces types
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
differents types de modeles conceptuels
Entite-Association (EA) - (ER : Entity-Relationship)
UML (Unified Modelling Language)
MERISE
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Vocabulaire
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Le langage UML
UML : Unified Modelling Language
langage visuel pour le developpement d’applicationsinformatiques
resultat de la fusion de plusieurs methodes (Booch, Jacobsonet Rumbaugh)
defini par le consortium OMG (Object Managment Group) :http ://www.omg.org/uml
propose differents types de diagrammes
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
modele de type conceptuel
But : Unified Modelling Language permettre une descriptionconceptuelle des structures de donnees d’une application
les concepts de base (correspondent aux concepts d’absractionet de realite) :
objet ↔ entite
lien ↔ association
propriete ↔ attribut
en plus : la representation multiple
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Definition d’un schema
un schema est compose de
de types d’entitesd’associationsles types d’entites et les associations possedent des attributs
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Entite et type d’entites
entite : representation d’un objet du monde reel ayant uneexistence propre
type d’entites (TE) : representation d’un ensemble d’entitespercues comme similaires et ayant les memes caracteristiques
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Association et type d’associations
association : representation d’un lien entre plusieurs objets
type d’associations (TA) : representation d’un ensembled’associations ayant la meme semantique et decrites par lesmemes caracteristiques
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Association et type d’associations
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Attributs
decrivent les proprietes associees a :
un type d’entitesune association
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Association
une association est caracterisee par :
un role pour chacun des types d’entites
un nom eventuellement suivi d’une fleche precisant le sens delecture
des cardinalites indiquant le nombre d’objets lies par uneassociation
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Role d’une association
dans une association chaque objet joue un role determine
en UML : association binaire : 2 roles
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Contraintes de cardinalite
une personne peut ne pas avoir de voiture, en avoir 1,2,· · · ,n : 0 :nune voiture a un et un seul proprietaire : 1 :1
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Valeurs et notation de cardinalites
Mininum Maximum UML
0 1 0 · ·11 1 1
0 n ? (ou 0 · ·?)
1 n 1 · ·?n m n · ·m
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Valeurs et notation de cardinalites
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Association cyclique
deux roles (au moins) lient le meme type d’entite
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Association ternaire
lie trois types d’entite
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
2 associations particulieres : agregation et composition
dans les 2 cas : relation de composition, mais l’une est plusforte que l’autre
agregation :semantique de compositionagregation legere
le composant peut etre un composant d’un autre type d’entitemais pas de dependance
composition :semantique de compositionagregation forte
le composant ne peut pas etre un composant d’un autre typed’entitedependance : si le composant est detruit , le composant aussi
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Agregation
si on detruit le departement, les employes existent toujours
employe est composant de 2 agregations
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Composition
si on detruit le livre, les chapitres n’existent plus
chapitre ne peut pas etre composant d’une autre agregation
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Attributs
decrivent les proprietes associees a :
un type d’entitesune association
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Attibuts simples
simples : atomiques, non decomposables
ex : jour, prenom · · ·
le domaine de valeurs est constitue de valeurs atomiques
ex : jour, domaine de valeurs : {1, · · · , 31}
domaines predefinis standard, intervalles, enumeres
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Attibuts mono- ou multi-values
mono-value : une seule valeur par occurrence(cardinalite max = 1)
ex : date de naissance, numero AVS, · · ·
multi-value : plusieurs valeurs par occurrence(cardinalite max > 1)
ex : prenoms, no de telephone
une valeur d’attribut multi-value est un ensemble de valeurs,prises chacune dans le domaine de valeurs associe a l’attribut
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Attibuts obligtoires ou facultatifs
obligatoire : une valeur au moins par occurrence(cardinalite min >= 1)
ex : nom, prenoms
facultatif : peut ne pas prendre de valeur(cardinalite min = 0)
ex : salaire, no de telephone
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Attibuts : cardinalite
MIN : caractere facultatif ou obligatoire de l’attribut
MAX : caractere mono-value ou multi-value de l’attribut
meme notation pour les attributs que pour les cardinalites desroles
exemple :nom d’une personne 1prenoms 1..*telephone fixe 0..* (ou *)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Attibuts complexes
complexe : decompose en d’autres attributs
ex : date (jour, mois, annee)ex : adresse (rue, ville, code postal)
la valeur d’un attribut complexe est la composition des valeursdes attributs composants (qui le composent)
un composant d’attribut complexe peut etre lui-meme unattribut complexe
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Identifiants d’entite et d’association
Necessite de pouvoir designer une entite ou une association defacon univoque
Identifiant : ensemble minimal dattributs tel qu’il n’existe pasdeux instances de l’entite ou de l’association ou ces attibutsaient la meme valeur
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Identifiants d’entite : exemple
il n’y a pas deux employes qui ont le meme numero
il n’y a pas deux employes qui ont les memes nom et prenoms
2 identifiants possibles Num et Nom + Prenoms
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Identifiants d’association
Premiere possibilite : attributs propres
identifiant du TA commande : num-com
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Identifiants d’association
Deuxieme possibilite : identifiants des entites liees
identifiant du TA inscrit : Etudiant.num-carte + Cours.num-cours
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Identifiants d’association
Troisieme possibilite : identifiants es entites liees + attributspropres
identifiant du TA commande : Client.num + Produit.num-prod +Commande.date
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Identifiants d’association
Quatrieme possibilite : Tout role monovalue induit un identifiantde l’association
identifiant du TA assure : Voiture.num-im
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (1)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (2)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (3)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (4)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (5)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (6)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (7)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (8)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (9)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (10)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (11)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (12)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (13)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (14)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (15)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (16)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (17)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Contraintes d’integrite
Regles definissant les etats (CI statiques) et les transitionsd’etats (CI dynamiques) possibles de la BD
doivent etre decrites explicitement si elles ne peuvent pas etredecrites avec les concepts du modele de donnees
une BD est coherente si toutes les CI sont satisfaites par lesvaleurs de la BD
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (18)
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Contraintes d’integrite de l’exemple
Pour chaque occurrence de l’entite client, la caution doit etrepositive
Pour chaque occurrence de l’association emprunte si la datede retour existe elle doit etre superieure a la date d’emprunt
Pour chaque occurrence de l’entite livre, la date d’achat doitetre inferieure a la date d’emprunt de toutes les occurences del’association Emprunte qui lui sont liees.
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exemple de conception (20)
En notation UML
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Description d’un schema entite association
Entites
Assocations
Attributs
Identifiants
Domaines d’attributs
Contraintes d’integrite
schema conceptuel :
( { Entites }, { Associations }, { Contraintes d’integrite } )
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exercice de conception
Odile PAPINI Bases de donnees
Modelisation d’une base de donneesLe langage UML
Le modele Entite - Association
Exercice de conception
Odile PAPINI Bases de donnees
Top Related