Vous êtes sur la page 1sur 142

Introduction aux Base de

données

Mr Rida Ezzaoufi
Mr Abdelalim Sadik
Bibliographie
• Les bases de données, Gardarin
• Conception d’une base de données, Cyril Gruau

2008/2009 Introduction aux Base de Données 2


Introduction
• Les entreprises gèrent des volumes de données très grands
– Giga, Terra, Péta –octets
– Numériques, Textuelles, Multi-média (images, films,...)
• Il faut pouvoir facilement
– Archiver les données sur mémoires secondaires permanente
– Retrouver les données pertinentes à un traitement
– Mettre à jour les données variant dans le temps
• Les données sont structurées et identifiées
– Données élémentaires ex: Votre salaire, Votre note en BD
– Données composées ex: Votre CV, vos résultats de l'année
– Identifiant humain ex: CIN ou machine: P26215

2008/2009 Introduction aux Base de Données 3


Un peu d'histoire
• Modèle hiérarchique (les années 60):
– Récipients logique de données  fichiers sur disque
– Accès séquentiel
• Modèle réseau (les années 70):
– Avènement des Bases de Données Réseaux (BD)
– Ensemble de fichiers reliés par des pointeurs
– Langage d'interrogation par navigation
• Modèle relationnel (les années 80):
– Avènement des Bases de Données Relationnelles (BDR)
– Relations entre ensemble de données
– Langage d'interrogation par assertion logique
• Modèle Objet:
– Introduit le notion de base de données objets
– Plus récent et en phase de recherche et développement

2008/2009 Introduction aux Base de Données 4


Systèmes de fichiers Caractéristiques

Comptabilité Chirurgie

Problèmes

Consultations Psychiatrie

2008/2009 Introduction aux Base de Données 5


Format des fichiers Caractéristiques
Plusieurs applications
 plusieurs formats
 plusieurs langages
Dupont Dupond
Turlututusqjsk
Symptomes : y Symptom: yyyy
Turlututu : sqj Analyses xxxx
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx

Problèmes
 Difficultés de gestion

Duhpon Duipont
Turlututu : sq

Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx

Symptomes : yy Turlututudhjsd

2008/2009 Introduction aux Base de Données 6


Redondance (données) Caractéristiques
Plusieurs applications
 plusieurs formats
 plusieurs langages
Dupont Dupond
Symptomes : y
Turlututusqjsk
Symptom: yyyy Redondance de données
Turlututu : sqj Analyses xxxx
Symptomes : y
Turlututu : sdd Turlututudhjsd
Analyses : xxx Analyses :xx

Problèmes
 Difficultés de gestion
 Incohérence des données

Duhpon Duipont
Turlututu : sq

Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx

Symptomes : yy Turlututudhjsd

2008/2009 Introduction aux Base de Données 7


Interrogations Caractéristiques
Plusieurs applications
 plusieurs formats
 plusieurs langages
Dupont Dupond
Redondance de données
taSoft
Comp
Turlututusqjsk

uSof
Chir
Symptomes : y Symptom: yyyy
Turlututu : sqj Analyses xxxx

Pas de facilité d’interrogation


Symptomes : y
Turlututu : sdd Turlututudhjsd

t
Analyses : xxx Analyses :xx

 Question ⇒développement

Problèmes
 Difficultés de gestion
 Incohérence des données
 Coûts élevés
 Maintenance difficile
Duhpon Duipont
ltSoft
Consu

Psychi
aSoft

Turlututu : sq

Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx

Symptomes : yy Turlututudhjsd

2008/2009 Introduction aux Base de Données 8


Pannes ??? Caractéristiques
Plusieurs applications
 plusieurs formats
 plusieurs langages
Dupont Dupond
Redondance de données
taSoft
Comp
Turlututusqjsk

uSof
Chir
Symptomes : y Symptom: yyyy
Turlututu : sqj Analyses xxxx

Pas de facilité d’interrogation


Symptomes : y
Turlututu : sdd Turlututudhjsd

t
Analyses : xxx Analyses :xx

 Question ⇒développement
Redondance de code

Problèmes
 Difficultés de gestion
 Incohérence des données
 Coûts élevés
 Maintenance difficile
Duhpon Duipont
ltSoft
Consu

Psychi

 Gestion de pannes ???


aSoft

Turlututu : sq

Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx

Symptomes : yy Turlututudhjsd

2008/2009 Introduction aux Base de Données 9


Partage de données Caractéristiques
Plusieurs applications
 plusieurs formats
 plusieurs langages
Dupont Dupond
Redondance de données
taSoft
Comp
Turlututusqjsk

uSof
Chir
Symptomes : y Symptom: yyyy
Turlututu : sqj Analyses xxxx

Pas de facilité d’interrogation


Symptomes : y
Turlututu : sdd Turlututudhjsd

t
Analyses : xxx Analyses :xx

 Question ⇒développement
Redondance de code

Problèmes
 Difficultés de gestion
 Incohérence des données
 Coûts élevés
 Maintenance difficile
Duhpon Duipont
ltSoft
Consu

Psychi

 Gestion de pannes ???


aSoft

Turlututu : sq

Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx

Symptomes : yy Turlututudhjsd
 Partage des données ???

2008/2009 Introduction aux Base de Données 10


Confidentialité Caractéristiques
Plusieurs applications
 plusieurs formats
 plusieurs langages
Dupont Dupond
Redondance de données
taSoft
Comp
Turlututusqjsk

uSof
Chir
Symptomes : y Symptom: yyyy
Turlututu : sqj Analyses xxxx

Pas de facilité d’interrogation


Symptomes : y
Turlututu : sdd Turlututudhjsd

t
Analyses : xxx Analyses :xx

 Question ⇒développement
Redondance de code

Problèmes
 Difficultés de gestion
 Incohérence des données
 Coûts élevés
 Maintenance difficile
Duhpon Duipont
ltSoft
Consu

Psychi

 Gestion de pannes ???


aSoft

Turlututu : sq

Symptomes : yy Symptomyyyy
Analyses : xxxx Analysesxxxx

Symptomes : yy Turlututudhjsd
 Partage des données ???
 Confidentialité ???
2008/2009 Introduction aux Base de Données 11
L’approche ‘‘Bases de données’’
• Modélisation des données
 Eliminer la redondance de données
 Centraliser et organiser correctement les données
 Plusieurs niveaux de modélisation
 Outils de conception

• Logiciel «Système de Gestion de Bases de Données»


 Factorisation des modules de contrôle des applications
- Interrogation, cohérence, partage, gestion de pannes, etc…
 Administration facilitées des données

2008/2009 Introduction aux Base de Données 12


Définitions
• Une Base de Données (BD) est un ensemble structuré
d'informations mémorisées sur un support permanent et mises à
disposition d'un ensemble d'utilisateurs, informaticiens ou non.

• Un Système de Gestion de Base de Données (SGBD) est un


logiciel général qui permet à l'utilisateur de manipuler les
données dans des termes abstraits, sans tenir compte de la
façon dont l'ordinateur les représente

2008/2009 Introduction aux Base de Données 13


Objectifs des SGBD
• Indépendance physique : La façon dont les données sont définies doit
être indépendante des structures de stockage utilisées.

• Indépendance logique : Un même ensemble de données peut être vu


différemment par des utilisateurs différents.

• Accès aux données : L’accès aux données se fait par l’intermédiaire d’un
Langage de Manipulation de Données (LMD). Il est crucial que ce langage
permette d’obtenir des réponses aux requêtes en un temps « raisonnable ».

• Administration centralisée des données (intégration) : Toutes les


données doivent être centralisées dans un réservoir unique commun à
toutes les applications.

2008/2009 Introduction aux Base de Données 14


Objectifs des SGBD

• Non redondance des données : Afin d’éviter les problèmes lors des mises
à jour, chaque donnée ne doit être présente qu’une seule fois dans la base.

• Cohérence des données : Les données sont soumises à un certain nombre


de contraintes d’intégrité qui définissent un état cohérent de la base. Elles
doivent pouvoir être exprimées simplement et vérifiées automatiquement à
chaque insertion, modification ou suppression des données.

2008/2009 Introduction aux Base de Données 15


Objectifs des SGBD
• Partage des données : Il s’agit de permettre à plusieurs utilisateurs
d’accéder aux mêmes données au même moment de manière transparente.

• Sécurité des données : Les données doivent pouvoir être protégées contre
les accès non autorisés. Pour cela, il faut pouvoir associer à chaque
utilisateur des droits d’accès aux données.

• Résistance aux pannes : Que se passe-t-il si une panne survient au milieu


d’une modification, si certains fichiers contenant les données deviennent
illisibles ? Il faut pouvoir récupérer une base dans un état « sain

2008/2009 Introduction aux Base de Données 16


Modélisation du réel
Réel

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

• Dépendant du Codasyl Relationnel Objet XML


Modèle modèle de données
logique • Indépendant du
SGBD

• Dépendant du • Organisation physique des données


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

2008/2009 Introduction aux Base de Données 17


Modèles des données
• Modèle :
– Les données
– Les relations entre les données
– Les contraintes auxquelles elles sont soumises
• Les différents modèles:
– Hiérarchique
– Entités-relations
– Réseau
– Relationnel

2008/2009 Introduction aux Base de Données 18


Modèle Hiérarchique
• Les données et les relations sont représentées par des ensembles
d’enregistrements et des liens (pointeurs) formant une structure
arborescente

• Client nom adresse ville

numéro position
• Compte

2008/2009 Introduction aux Base de Données 19


Modèle Hiérarchique

Tahiri 23 rue Zerhoune rabat Alaoui 12 rue oujda casa Alami 13 rue sabou Sale

900 00550 556 1000 801 10533 674 12500

2008/2009 Introduction aux Base de Données 20


Modèle réseau
• Les données, organisées en réseau, sont représentées
par un ensemble d’enregistrements, tandis que les
relations sont représentées par des liens (pointeur).
• La base de données est stockée sous forme d’une
collection de graphes

2008/2009 Introduction aux Base de Données 21


Modèle réseau

Tahiri 23 rue Zerhoune rabat Alaoui 12 rue oujda casa Alami 13 rue sabou Sale

900 00550 556 1000 801 10533 674 12500

2008/2009 Introduction aux Base de Données 22


Modèle Entités - Relations
• Contenu
– Concepts de base
• Entités, attributs
• Relations
• Clés
• Multiplicités, cardinalités
– Concepts avancés
• Héritage
• Agrégation, Composition
• Entités faibles

Introduction aux Base de


2008/2009 23
Données
Objectif du modèle de données
• Apporter une interprétation du contexte applicatif
– en soulignant les aspects fondamentaux
– en négligeant les détails
• Identifier les données gérées par la base de données et leur
relations
• Produire un diagramme, suivant un formalisme,
en vue de convertir le modèle de données en schéma de base
relationnelle

Modèle Systèmes
RÉALITÉ
Entité-Relation Relationnels

modeling mapping
Introduction aux Base de
24 2008/2009
Données
Entités et ensembles d'entités
• Entité
– "une chose" qui existe et qui peut être distinguée de façon unique. Ex.: un
étudiant, une voiture, une banque
– abstraite ou concrète
• Ensemble d'entités
– Une collection d'entités similaires, ayant les mêmes propriétés, identifiées
par l’ "organisation" ("entreprise" en sens large) comme ayant une vie
propre
Ex.: les étudiants d'une université, les comptes d'une banque, les entreprises
d'un pays, les voitures d'une société de location …

Remarque: s'il n'y a pas d'ambiguïté, on utilise le terme "entité" pour


indiquer un ensemble d'entités.

Introduction aux Base de


25 2008/2009
Données
Attributs
• Attribut
– propriété d’une entité
– prend des valeurs simples, par exemple entiers ou
chaînes de caractères (domaine d'attribut)
Ensemble d'Entités Attributs Domaines
Voitures n°série entier (12)
marque chaîne de car. (8)
type chaîne de car. (10)

ty Représentation
n°s p mar sous forme de
érie voitures
e que diagramme

Introduction aux Base de


26 2008/2009
Données
Clé des ensembles d'entités
• clé candidate: un ensemble minimal d’attributs qui
identifie de façon unique une occurrence d’entité
• clé primaire: une clé candidate choisie pour identifier de
façon unique chaque occurrence d’entité
• clé composée: une clé candidate composée de deux ou
plusieurs attributs

ty n no
n°s p mar ° m_
érie voitures
e que d département
d

Clés candidates Clé primaire


Clé primaire
K1 = n°d K = n°d
K = n°série
K2 = nom_d
Introduction aux Base de
27 2008/2009
Données
Relations
– Une relation relie deux ou plusieurs ensembles d'entités
– Ex.:
• Des universités délivrent des diplômes
• Des étudiants sont inscrits dans des universités

n° nom n tit
u _u ° re
université délivre diplôme
d

inscription

n nom
° _e
étudiant préno
e
me
Introduction aux Base de
28 2008/2009
Données
Ensemble de relations
• La "valeur" d'une relation est l'ensemble des listes des
entités réellement associées par la relation. Chaque liste est
obtenue en correspondance des ensembles d'entités en
relation.
Exemple: valeur de la relation "délivre"
- l'université identifiée par u1
n°u n°d
délivre les diplômes identifiés
u1 d2
par d2, d3 et d5,
u1 d3

u1 d5
l'université identifiée par u100
…. …
délivre les diplômes identifiés
u100 d1
par d1 et d2
u100 d2
Introduction aux Base de
29 2008/2009
Données
Ensemble de relations (2)
• Soit r une relation entre k ensembles d'entités E1, E2, …, Ek. Un ensemble
d'entités peut apparaître plus d'une fois dans la liste.

• Soit un k-uplet (e1, ... ek) ∈ r


– e1 ∈ E1, ... ek ∈ Ek sont associés par la relation r
– e1, ... ek est dit tuple de r
– k est le degré de la relation
• K = 1 : relation unaire (ou récursive, sur un même ensemble d'entités)
• K = 2 : relation binaire
• K = 3 : relation ternaire
• …
• K = n : relation n-aire

Introduction aux Base de


30 2008/2009
Données
Relations n-aires
• Une relation connectant plus de 2 ensembles d'entités permet de
restreindre les combinatoires entre les valeurs des entités en
relation
Ex.: des employés participent à des projets avec des rôles

n° nom
_p n°p n°e n°r
p p1 e2 r1
projet n desc
p1 e3 r2
° r_r
p1 e5 r3
participe r rôle
… … …
n p2 e2 r2
° employé préno p2 e3 r1
nome m_e
_e
Introduction aux Base de
31 2008/2009
Données
Exercices

Donner des exemples de relations de type (1), (2) et (3)

A r B
r A r
A B

C
(1) (2)
(3)

Introduction aux Base de


32 2008/2009
Données
Type des relations binaires
Soit r une relation binaire
Le type de r est lié au nombre d’occurrences d’une
entité qui peuvent être associées avec une
occurrence de l'autre entité

E1 r
E2

Introduction aux Base de


33 2008/2009
Données
Relations de type m-n
Dans une relation "plusieurs à plusieurs" ("many-many", m-n),
une entité de chaque ensemble peut être connectée à plusieurs entités
de l'autre ensemble

n nom_e n tit
° ° re
employés par p projets
e
tici
pe
(n-m)

employés projets

Introduction aux Base de


34 2008/2009
Données
Relations de type 1-n
Dans une relation "un à plusieurs" ("one-many", 1-n),
• une entité d'un ensemble peut être connectée à au plus une entité du
second ensemble
• mais une entité du second ensemble peut ne pas être connecté à
aucune entité du premier ensemble, ou être connectée à une ou
plusieurs entité de cet ensemble

n no n°s ty
° m_f érie p
fabriquants pr voitures
e
f
od
uit
(1-n) fabriquants voitures

Introduction aux Base de


35 2008/2009
Données
Relations de type 1-1
Dans une relation "un à un" ("one-one", 1-1),
une entité de chaque ensemble peut être connectée à au plus une entité
de l'autre ensemble
Exemple: une BD pour l'administration d'un pays
une personne possède au plus un passeport
et un passeport a un seul titulaire

n no n°p date_emi
° m_ ass ssion
personnes
p po passeport
p
ss
èd
(1-1)
e personnes passeports

Introduction aux Base de


36 2008/2009
Données
Synthèse sur les types des
relations
A B A B A B

1-n n-m 1-1

Introduction aux Base de


37 2008/2009
Données
Exercice
Trouver des exemples de relations de type 1-n, n-m,
1-1. Pour chaque exemple, spécifier les entités A et B,
en indiquant leurs attributs et clés, ainsi que la
relation r.

A r B

Introduction aux Base de


38 2008/2009
Données
Attributs de relation
Propriétés dont la valeur dépend des tuples dans
l'ensemble de relations.

n dat no
n
° e_c m_
°
commande con p
produit
c p
cer
ne
quan
tité

Introduction aux Base de


39 2008/2009
Données
Exercice
• Trouver un exemple de relation binaire r: r associe les
entités A et B, et est munie d'un attribut C.
• Comparer les diagrammes (3) et (4).

A r B

(4)

Introduction aux Base de


40 2008/2009
Données
Cardinalités
• Les BD sont conçues dans l'hypothèse du "monde fermé"
Les ensembles d'entités sont FINIS !!
• Cardinalités
Couples (min, max) associés à chaque ensemble d'entité relié par une relation r
• Si r est binaire, entre E1 et E2:
– le min (resp. max) associé à Ei (i=1,2) représente le nombre minimum (resp. max)
d'entités de Ej (j=2,1) associées à un élément quelconque de Ei.
• Si r est n-aire:
– le nombre d’occurrences possibles d’entités associées dans cette relation quand
les autres (n-1) valeurs sont fixées

Min Max
0 1
1 n

Introduction aux Base de


41 2008/2009
Données
Exemples

n no ty n°s
° m_f p érie
1,n pr 1,1
f fabriquant voitures
e
od
uit
(1-n)

n nom_ tit n
° e 0,n 1,n re °
employé par projet p
e
tici
(n-m)
pe

Introduction aux Base de


42 2008/2009
Données
Exemples
no n°p date_emi
n
m_ ass 1,1 ssion
° 0,1
personne
p po passeport
p
ss
èd
(1-1)
e

est composée de
n°pi
èce 0,n
quantité
nom_p pièce
0,n

compose

Introduction aux Base de


43 2008/2009
Données
Exemple

n° nom
p _p
projet
1,n n desc
° r_r
participe 0,n
r rôle

n 0,n
° employé préno
nome m_e
_e

Introduction aux Base de


44 2008/2009
Données
Exercice
n° nom
nom p _p
n° projet _p projet
p 1,n n desc 1,n desc
° r_r n r_r
participe 0,n
r rôle participe ° rôle
a r 0,n
n 0,n n 0,n
° ° 1,n
employé préno employé préno
e A e B
nom m_e nom m_e
_e _e
projet
n° 1,n
Comparer les modèles p nom nécessite
A, B et C _p participe
0,n rôle
desc
n 0,n
0,n r_r
° employé préno n C
2008/2009 nome aux Base de Données m_e
Introduction ° 45
Question
• A partir des cardinalités d'une relation binaire, on
peut déduire le type de la relation. Comment ?

Introduction aux Base de


46 2008/2009
Données
Choix des entités et des relations
• Une base de données est valable dans un contexte
d'application
• Le choix des entités et relations représentées dans un
modèle de données dépend de la "perspective" du modèle
et de ses objectifs
• des entités peuvent être reliées par plusieurs relations, non
redondantes entre elles.

n 1,1 0,n
a x
° segments rr
s orientés points
1,1 iv
p 0,n y
e
a
r Introduction aux Base de
47 2008/2009
t Données
Héritage
• Relation entre une entité (classe) et une sous-classe qui nécessite
d’être représentée dans un modèle de données
• Par rapport à l'ensemble d'entités plus général, la sous-classe
– contient moins d'éléments
– ses éléments ont des propriétés supplémentaires ou participent
de relations supplémentaires

employés
véhicules
motos avions
pilotes
voitures
cami
ons
Introduction aux Base de
48 2008/2009
Données
Relations is-a
• Relation Is-a ou Est-un: relation binaire
• Induit une relation d'ordre entre les entités
– Généralisation / Spécialisation
• Représentations graphiques
– A généralisation de B et C ; B et C spécialisations
de A A A
Multiplicité ?
Cardinalités ?
is a is a
is a is a

B C B C

Introduction aux Base de


49 2008/2009
Données
Exemple

domaine
d'activité
industrie raison_s
n l ociale
client
°
c
no
particulier
adre m
sse prén
profes om
sion

Introduction aux Base de


50 2008/2009
Données
Participation
• Totale ou Partielle
détermine si toutes ou seulement quelques
occurrences d’un ensemble d'entités participent à
une relation
• A partir des cardinalités:
– min = 0 ⇒ participation partielle
– min > 0 ⇒ participation totale

Introduction aux Base de


51 2008/2009
Données
Participation (2)
• Tous les éléments du modèle (entités, relations,
cardinalités, …) reflètent des choix pour représenter le
contexte applicatifs.
• En particulier, les cardinalités dépendent des "domaines"
des ensembles d'entités.
est
Homme 0,1 marié 0,1
à Femme

est
Homme 1,1 marié 1,1 Femme
marié à mariée

Introduction aux Base de


52 2008/2009
Données
Exercice
• Trouver des exemples d’entités et de relations
correspondant au modèle (5).
• Modifier le modèle, afin de rendre les participations
"totales".

0,n r 0,n
A B

(5)

Introduction aux Base de


53 2008/2009
Données
Exercice
n°d sigle budget

1,1 départemen
Modifier le modèle ci- t
contre dir 1,n
pour générer des nom
0,1
ig
appa
e
participations totales n°e rtien
1,1
grâce à des relations employé
t

d’héritage 0,1
0,1
trav
est aill 1,n
responsab e
le n°p
1,n projet
libellé

budget

Introduction aux Base de


54 2008/2009
Données
Relation "Est-de-type"

code_t
n 1,1 1,n Type_contra ype
contrat Est
° t
de libellé_
c
date_sign type type
ature

contrats Type_contrats

Introduction aux Base de


55 2008/2009
Données
Utilité des classifications
• Spécifier des propriétés applicables à tous les éléments d'un sous-
ensemble d'entités
• Exercice: compléter le modèle ci-dessous, pour représenter le fait que tous les contrats d'un même
type sont soumis aux mêmes règles.

code_t
n 1,1 1,n Type_contra ype
contrat Est
° t
de libellé_
c
date_sign type type
ature

Introduction aux Base de


56 2008/2009
Données
Relation "Est-un" et relation "Est-
de-type"
Les deux relations peuvent être présentes dans le même
modèle

Exercice:
Esquisser un modèle E-R pour l'exemple ci-dessous

clients industriel
s
particulier type_clients
s

Introduction aux Base de


57 2008/2009
Données
Exemple

acti
code_type_client vité
n industrie raison_so
° l ciale
type_client Est
c client
de
type no
remise_type_client adre particulie m
sse r prén
profes om
sion
La remise accordée aux clients dépend du type de client,
par exemple: 10% à tous les particuliers, 20% à tous les industriels

Introduction aux Base de


58 2008/2009
Données
Agrégation / Composition
• Agrégation
une relation « a-un » ou « fait-part-de » entre deux
ensembles d’entités, dont un représente le « tout »
et l’autre une « partie »
• Composition
une forme particulière d’agrégation entre deux
entités,
avec un lien très fort entre le tout et la partie
(en terme de propriété et de durée de vie)

Introduction aux Base de


59 2008/2009
Données
Exemple d'agrégation

n°modèl marq n°modèle_


e_v ue 1,1 moteur
voiture comprend 0,n moteur

1,n
descr_modèle_
comprend moteur
n°modèl 1,n
e_ph phares
descr_modè
le_ph

Introduction aux Base de


60 2008/2009
Données
Entités faibles
• Un ensemble d'entités E est dit "faible" si pour identifier
ses entités on doit suivre une ou plusieurs relations de type
1-n à partir de E et considérer simultanément les clés des
entités parcourues.
• La clé d'un ensemble d'entités faible est obtenue en
complétant sa propre clé par les clés des ensembles
d'entités qui le supportent

Nb lits n°C n°H


nom_H

1,1 1,n
CHAMBRE Situer HOTEL

Introduction aux Base de


61 2008/2009
Données
Synthèse
• Un modèle Entité-Relation contient les éléments suivants:
– Entités
• Propriétés (ou attributs)
• Clés primaires
– Relations
• Éventuellement munies de propriétés (ou attributs)
– Cardinalités
• Ces éléments sont TOUS OBLIGATOIRES

Introduction aux Base de


62 2008/2009
Données
Exercice
• Compléter le modèle ci-dessous

n dat no
n
° e_c m_
°
commande con p
produit
c p
cer
ne
quan
tité

Introduction aux Base de


63 2008/2009
Données
Exercice
nom
n°e prénom n°m adresse
0,n 1,1
employé appartient magasin
1,0
n°m is a
1,1 Analyser ce modèle
type-salarié et le corriger, si
nécessaire

salaire coût taux taux heures


mensuel journalier heures supplémentaires
de base

Introduction aux Base de


64 2008/2009
Données
Exercice
nom-c n°p
nom-v nom_p
Compagnie Pilote
Ville

Aéroport Vol Passager


n°a
nom-a date nom
heure prénom
n°de vol adresse

- Ci-dessus des entités d'un modèle ER pour un système de


transport aérien. Le compléter, en introduisant les relations, les
identifiants, les cardinalités.
- Modifier ensuite le modèle pour prendre en compte le n° de
siège occupé par un passager sur un vol bien précis.

Introduction aux Base de


65 2008/2009
Données
Modèle relationnel
• Les données et les relations qui les lient sont
structurées sous forme de tableaux comportant des
colonnes désignées par des noms uniques.

2008/2009 Introduction aux Base de Données 66


Modélisation Relationnelle
Docteurs Prescriptions
Id-D Nom Prénom Id-V Ligne Id-M Posologie
1 Dupont Pierre
Visites 1 1 12 1 par jour
2 Durand Paul 1 2 5 10 gouttes
Id-D Id-P Id-V Date Prix
3 Masse Jean 2 1 8 2 par jour
1 2 1 15 juin 250
…. …….. …… 2 2 12 1 par jour
1 1 2 12 août 180
2 2 3 13 juillet 350 2 3 3 2 gouttes

2 3 4 1 mars 250 …. …. …. …………

Patients
Id-P Nom Prénom Ville Médicaments
1 Lebeau Jacques Paris Id-M Nom Description
2 Troger Zoe Evry 1 Aspegic 1000 ……………………………..
3 Doe John Paris 2 Fluisédal ……………………………..
4 Perry Paule Valenton 3 Mucomyst ……………………………..
…. ……. ……. ……. …. …….. ……………………………..
2008/2009 Introduction aux Base de Données 67
Modèle relationnel

• Une base de données relationnelle est une base de


données structurée suivant les principes de l’algèbre
relationnelle.
• Une relation R est un sous-ensemble du produit
cartésien de n ensembles D ,D ,…,D appelé Domaine.
1 2 n

n est appelé le degré de la relation R; une relation est


constitue de n-uplets

2008/2009 Introduction aux Base de Données 68


Modèle relationnel

• Le produit cartésien de D ,D ,…,D noté D ×D ×…×D


1 2 n 1 2 n

est l’ensemble ordonné de n-uplets


• Dans le théorie relationnelle, tous les n-uplets doivent
être distinct (la clé).

2008/2009 Introduction aux Base de Données 69


Attribut
• Description des propriétés des entités
• Toutes les instances d'une entité ont les mêmes attributs
– Attribut simple: attribut ayant une valeur d'un type de base
– Attribut composé: attribut constitué d'un groupe d'attributs
– Attribut multi-valué: attribut pouvant avoir plus d'une valeur

70
2008/2009 Introduction aux Base de Données 70
Identifiant ou Clé
• Un identifiant aussi appelé clé est un attribut qui permet de
retrouver une instance d'entité unique à tout instant parmi
celles de la classe.
– Exemple: NVeh dans Voitures, NSS dans Personnes
• Un identifiant peut être constitué de plusieurs attributs (clé
composée)
– Exemple:
• [N° , Rue, Ville] pour Maisons
• [Nom, Prénom] pour Personnes

71
2008/2009 Introduction aux Base de Données 71
Domaines
• Ensemble nommé de valeurs
– Un attribut peut prend valeur dans un domaine
– Généralisation des types élémentaires
• Exemples
– Liste de valeurs (1,2,3)
– Type contraint (<0< int <100)
• Permettent de préciser les valeurs possibles des attributs
• Réduisent les ambiguïtés

72
2008/2009 Introduction aux Base de Données 72
Modélisation Relationnelle (1)
Champs,
Relation ou attributs,
table colonnes

Id-D Nom Prénom


1 Dupont Pierre
2 Durand Paul
3 Masse Jean
…. …….. ……

Tuples, lignes
ou n-uplets
2008/2009 Introduction aux Base de Données 73
Opérations Ensemblistes
• Opérations pour des relations de même schéma
– UNION notée ∪
– INTERSECTION notée ∩
– DIFFERENCE notée —
• Opérations binaires
– Relation X Relation --> Relation
• Extension
– Union externe pour des relations de schémas différents
– Ramener au même schéma avec des valeurs nulles

74
2008/2009 Introduction aux Base de Données 74
Projection
• Elimination des VINS Cru Mill Région Qualité

attributs non désirés VOLNAY 1983 BOURGOGNE A


VOLNAY 1979 BOURGOGNE B
et suppression des CHENAS 1983 BEAUJOLAIS A
tuples en double JULIENAS 1986 BEAUJOLAIS C

• Relation -> Relation π Cru,Régio


n
notée: π (VINS) Cru Région
π A1,A2,...Ap (R) VOLNAY
CHENAS
BOURGOGNE
BEAUJOLAIS
JULIENAS BEAUJOLAIS

75
2008/2009 Introduction aux Base de Données 75
Restriction
• Obtention des tuples de R satisfaisant un critère Q
• Relation ->Relation, notée σ Q(R)
• Q est le critère de qualification de la forme :
– Ai θ Valeur
– θ = { =, <, >=, >, <=, !=}

• Il est possible de réaliser des "ou" (union) et des


"et" (intersection) de critères simples

76
2008/2009 Introduction aux Base de Données 76
Exemple de Restriction

VINS Cru Mill Région Qualité


VOLNAY 1983 BOURGOGNE A
VOLNAY 1979 BOURGOGNE B
CHENAS 1983 BEAUJOLAIS A
JULIENAS 1986 BEAUJOLAIS C

σ MILL>1983

VINS Cru Mill Région Qualité


JULIENAS 1986 BEAUJOLAIS C

77
2008/2009 Introduction aux Base de Données 77
Jointure
• Composition des deux relations sur un domaine commun
• Relation X Relation ->Relation
– notée
• Critère de jointure
– Attributs de même nom égaux :
• Attribut = Attribut
• Jointure naturelle
– Comparaison d'attributs :
• Attribut1 Θ  Attribut2
• Théta-jointure

78
2008/2009 Introduction aux Base de Données 78
Exemple de Jointure
VINS Cru Mill Qualité
VOLNAY 1983 A
VOLNAY 1979 B
CHABLIS 1983 A
JULIENAS 1986 C

LOCALISATION Cru Région QualMoy


VOLNAY Bourgogne A
CHABLIS Bourgogne A
CHABLIS Californie B

VINSREG Cru Mill Qualité Région QualMoy


VOLNAY 1983 A Bourgogne A
VOLNAY 1979 B Bourgogne A
CHABLIS 1983 A Bourgogne A
CHABLIS 1983 A Californie B

79
2008/2009 Introduction aux Base de Données 79
Complétude
• L'algèbre relationnelle est complète
– Les cinq (sept) opérations de base permettent de
formaliser sous forme d'expressions toutes les questions
que l'on peut poser avec la logique du premier ordre
(sans fonction).
• Exemple :
– Nom et prénom des buveurs de volnay 1988 ?
PROJECT (NOM, PRENOM,
RESTRICT(CRU="VOLNAY" et MILL =1988,
JOIN(VINS, ABUS, BUVEURS)))

80
2008/2009 Introduction aux Base de Données 80
CONCEPTION D’UNE BASE DE
DONNÉES

2008/2009 Introduction aux Base de Données 81


Introduction
• Quand nous construisons directement les tables d’une base de données
dans un SGBD, nous sommes exposée à deux type de problèmes:
– Nous ne savons pas toujours dans quelle table placer certaines colonnes (par
exemple, l’adresse de livraison se met dans la table des clients ou dans la tables
des commandes)

– Nous avons du mal à prévoir les tables de jonction intermédiaires (par exemple, la
table des interprétations qui est indispensable entre les tables des films et table des
acteurs)

– Il est nécessaire de recourir à une étape préliminaire de conception

2008/2009 Introduction aux Base de Données 82


MERISE
Création : 1978-1979

Une démarche de construction des Systèmes d’information.

A quoi sert Merise ?


 En ce qui concerne les données : A identifier le nombre et la nature des tables, les
articulations et la ventilation des informations entre ces tables, afin que l'ensemble soit le
plus efficace et évolutif possible,
 Pour les traitements : A identifier les fonctionnalités selon une approche "top / down"
("du général au particulier"), leur découpages et leurs enchaînements.
 Merise est un travail d'anticipation : Elle sert à préparer les développements informatiques
et à chiffrer (en coût, en temps et en énergie) ces chantiers, quelle que soit leur échelle.

2008/2009 Introduction aux Base de Données 83


Niveau d’abstraction
3 niveaux d’abstraction :
1. Le niveau conceptuel
2. Le niveau organisationnel
3. Le niveau physique

1. Le niveau conceptuel :
Il consiste à répondre à la question QUOI ?
Quoi faire, avec quelles données ?
A ce niveau, on ne se préoccupe pas de l’organisation du travail ni du matériel utilisé.

Les deux modèles sont le Modèle conceptuel des données (MCD) et le Modèle
conceptuel des traitements (MCT).

2. Le niveau organisationnel :
Il consiste à répondre à la question QUI ?, OU ?, QUAND ?
C’est à ce niveau que sont intégrés les critères d’organisation de travail.
On tient compte (ou on propose) des choix d’organisation de travail comme la répartition
des traitements entre l’homme et la machine, le mode de fonctionnement (temps réel,
temps différé).

2008/2009 Introduction aux Base de Données 84


Vue d’ensemble
Niveau Données Traitements Choix pris en compte
Modèle Conceptuel des Modèle Conceptuel des
Données Traitements
(MCD) (MCD) Choix de gestion
Conceptuel
Signification des informations Activite du domaine sans Quoi ?
sans contrainte technique ou préciser les ressources ou
économique leur organisation
Modèle Organisationnel des
Données Modèle Organisationnel des
(MOD) Traitements
Choix d'organisation
Organisationnel Signification des informations (MOT)
Qui ?, Ou ?, Quand ?
avec contrainte Fonctionnement du domaine
organisationnelles et avec les ressources utilisées
économique

Modèle Physique des Données Modèle Physique des


(MPD) Traitements
Choix technique
Physique Description de la ou des bases (MPT)
Comment ?
de données dans la syntaxe du Architecture technique des
logiciel SGF ou SGBD programmes

2008/2009 Introduction aux Base de Données 85


Vue d’ensemble
Dissociation des données et des traitements et l’étude de leurs interactions

2008/2009 Introduction aux Base de Données 86


Le M.C.D (Modèle conceptuel de
données)
Son objectif : définir (identifier) toutes les données utilisées, les regrouper en
ensembles appelés entités, et de lier ces entités par des relations, dans un modèle
définit et compréhensible par toute personne connaissant la "syntaxe" du MCD.
Le MCD regroupe les informations à traiter, le "quoi" du système.

Les étapes du MCD :


1. Dictionnaire de données
2. Épuration (polysèmes et synonymes)
3. Détermination des entités
4. Détermination et affectation des propriétés
5. Recensement des associations (avec, éventuellement, les propriétés non encore
affectées
6. Détermination des cardinalités

2008/2009 Introduction aux Base de Données 87


M.C.D (Entité)
Représentation d'un objet réel, ayant une existence et une raison d'être
dans le système d'information.

2008/2009 Introduction aux Base de Données 88


M.C.D (Propriétés)
Entité :
• Une entité est pourvue d’une existence propre et est conforme aux choix de la gestion
• Une entité peut être un acteur : client, usine, produit => pourvue d’une existence
• Une entité peut être un flux : commande, livraison => existe par l’intermédiaire
d’acteurs.
Les propriétés :
Une propriété est une donnée élémentaire qui qualifie l’entité à laquelle elle se rapporte :
• Chaque propriété prend des valeurs qui sont appelées occurrences de la propriété,
• Chaque propriété a un domaine de définition (ensemble de valeurs possibles),
• Chaque propriété se rattache toujours à une entité.
Identification d’une Entité :
Permet d’identifier de façon unique une occurrence de l’entité.
• Pour être identifiant, la ou le groupe de propriétés ne doit pas prendre plusieurs fois la
même valeur sur l’ensemble des occurrences de l’entité.
• L’identifiant figure en premier dans la liste des propriétés
• Il est souligné

2008/2009 Introduction aux Base de Données 89


M.C.D(Association)
• Objet permettant d'associer deux ou plusieurs entités. Ce lien est nommé et
est, par convention, très souvent un verbe à l'infinitif.
• ex : entre deux entités, Personne et Ordinateur, une relation nommée Posséder peut
être mise, et on lit "une personne possède un ordinateur" et, dans l'autre sens, 'un
ordinateur est possédé par une personne".

2008/2009 Introduction aux Base de Données 90


• ex : entre deux entités, Ouvrage et Auteur, une relation
nommée Écrire peut être mise, et on lit "un Auteur a écrit un
Ouvrage" et, dans l'autre sens, 'un Ouvrage est écrit par un
Auteur".

2008/2009 Introduction aux Base de Données 91


M.C.D (Cardinalité)
• C'est le nombre d'occurrences, minimal et maximal, d'une association par
rapport à chaque occurrence d'une entité donnée. D'une entité donnée vers
une association donnée.

2008/2009 Introduction aux Base de Données 92


M.C.D (Cardinalité)
• Un employé a une et une seule société. Une société a 1 ou n employés.

a Société
Employé
1,1 1,n

• Une commande est composée de 1 ou n produits distincts en certaine


quantité. Un produit est présent dans 0 ou n commandes en certaine
quantité.

compose Produit
Commande
1,n quantité Entier 0,n

2008/2009 Introduction aux Base de Données 93


M.C.D (Cardinalité)
• Un étudiant parle une ou plusieurs langues avec un niveau. Chaque langue
est donc parlée par 0 ou n étudiants avec un niveau. Pour chaque niveau, il
y a 0 ou plusieurs étudiants qui parlent une langue.

Langue

Etudiant 0,n
parle
1,n

0,n
Niveau

2008/2009 Introduction aux Base de Données 94


M.C.D
• Une centrale d’achat : les cardinalités
TYPE

0,n

appartient

1,1

OUVRAGE AUTEUR
écrit 0,n

0,n
0,n

0,n
1,n
vend édite stocke

quantité Entier quantité Entier quantité Entier

0,n
0,n
0,n LIBRAIRIE
EDITEUR

2008/2009 Introduction aux Base de Données 95


M.C.D
Cas des associations de
dimension "1" (dites "réflexives") :

Cas des associations de dimension "3"

2008/2009 Introduction aux Base de Données 96


M.C.D
• Définition des relations entre les Entités et cardinalité :

(1,1) : Une marque est entreposée dans un seul entrepôt.


(1,N) : Dans un entrepôt sont entreposées une ou plusieurs marques.

2008/2009 Introduction aux Base de Données 97


M.C.D
(Dépendances fonctionnelles)
La relation qui lie un TYPE DE VEHICULE à une MARQUE est
«appartenir». Il s’agit d’une relation hiérarchique : à un type de véhicule
donné ne correspond qu’une seule marque, et à une marque correspond
plusieurs type de véhicule. Ici, TYPE DE VEHICULE détermine totalement
MARQUE.
Nous appelons cette relation fonctionnelle (DF), et elle se note de la manière
suivante :
TYPE DE VEHICULE -> MARQUE
•Ex: CLIENT -> ATTACHE COMMERCIAL
– (A un client ne correspond qu’un attaché commercial

2008/2009 Introduction aux Base de Données 98


M.L.D
C'est grâce à toutes les opérations précédentes que l'ensemble des tables de la base
de donnée vont pouvoir être structurées de manière simple et très rapide :
 les entités deviennent des tables (sauf des cas particuliers comme les "dates")
Si l'une des cardinalités maximales est à "1" et l'autre à "n", l'association disparaît et
l'identifiant de l'entité marquée "n" vient s'ajouter à la liste des propriétés de l'entité
marquée "1" (Cas 1).

Si toutes les cardinalités maximales sont à "n", l'association se transforme en une


table qui permettra la correspondance entre les enregistrements des tables reliées
(tout en pouvant comporter ses propres propriétés) (Cas 2).

Ces règles s'appliquent aussi bien pour les associations "réflexives" (Cas 3).
Pour les associations de dimension "3" ou plus, elles sont toujours transformées en
table (Cas 4).

2008/2009 Introduction aux Base de Données 99


M.L.D
1er cas :

2ème cas :

2008/2009 Introduction aux Base de Données 100


M.L.D
1er cas :

2008/2009 Introduction aux Base de Données 101


1er cas :
M.L.D

2008/2009 Introduction aux Base de Données 102


M.L.D
2eme cas :

2008/2009 Introduction aux Base de Données 103


M.L.D

2008/2009 Introduction aux Base de Données 104


M.L.D

2008/2009 Introduction aux Base de Données 105


M.L.D
3eme cas :

2008/2009 Introduction aux Base de Données 106


M.L.D

4eme cas :

2008/2009 Introduction aux Base de Données 107


BASE DE DONNÉES ORIENTÉ
OBJET

2008/2009 Introduction aux Base de Données 108


Bases d’approche objet
programmation fonctionnelle ou structurées

2008/2009 Introduction aux Base de Données 109


Bases d’approche objet
• Notion d’objet
– Point de vue informel : objet = entité tangible représentant des composantes bien particulier
– Point de vue informatique : état, comportement, identité

• Relation entre objet :


– Système : collaboration entre objets
– Interaction entre objets par le biais de leurs méthodes
– Deux type de relations : utilisation et contenance

• Notion de classe
– Ensemble d’objets de comportements et de structure de données commun

2008/2009 Introduction aux Base de Données 110


Les éléments de modèle objet
• Abstraction : le fait de ressortir les caractéristiques essentielles d’un objet
le distinguant des autres
• Encapsulation : occultation des données
• Modularité : décomposition d’un système en un ensemble de modules
cohérents et faiblement couplés
• Héritage : partage de données et de comportements entre deux ou
plusieurs classes ayant des similitudes
• Contenance : relation reliant une classe assemblable à ses classes
composantes
• Polymorphisme : surdéfinition de méthodes des suivant de l’héritage

2008/2009 Introduction aux Base de Données 111


Modélisation objet
Notion d’Objet
Une abstraction du monde réel c.-à-d. des données informatiques
regroupant des caractéristiques du monde réel

Exemple
une personne, une voiture, une maison, ...

Caractérisation d’un objet


Identité FIAT-UNO-17 :
permet de le distinguer des autres objets Voiture
233434 : Numéro de série
1500 kg : Poids
Attributs 8864 YF 17 : Immatriculation
données caractérisant l'objet 133 000 : kilométrage

Méthodes Démarrer ()
Arrêter()
actions que l'objet est à même de réaliser Rouler()

2008/2009 Introduction aux Base de Données 112


Modélisation objet
Notion de Classe
• Structure d'un objet, c.-à-d. une déclaration de l'ensemble des entités
qui composeront l’objet
• Un objet est donc "issu" d'une classe, c'est le produit qui sort d'un
moule

Notation
un objet est une instanciation (occurrence) d'une classe

Une classe est composée: Nom_de_la_class


 attributs e
attribut1 : Type
données dont les valeurs représentent attribut2 : Type

l'état de l'objet
 méthodes méthode1 ()
méthode2 ()
opérations applicables aux objets …

2008/2009 Introduction aux Base de Données 113


Modélisation objet
Voiture FIAT-UNO-17
Numéro de série : Int 233434 : Numéro de série
Poids : double 1500 kg : Poids
Immatriculation : String 8864 YF 17 : Immatriculation
Kilométrage : double 33 000 : kilométrage

Démarrer ()
Arrêter()
Rouler()

Renault-Clio-17 Peugeot-206-75
5323454 : Numéro de série 3434 : Numéro de série
1500 kg : Poids 1700 kg : Poids
64 YFT 17 : Immatriculation 8634 YGG 75 : Immatriculation
23 000 : kilométrage 15 000 : kilométrage

2008/2009 Introduction aux Base de Données 114


Modélisation objet
Visibilité des attributs
définissent les droits d'accès aux données (pour la classe elle-même,
d'une classe héritière, ou bien d'une classe quelconque)

Publique (+)
les classes peuvent accéder aux données et
méthodes d'une classe définie avec le niveau
de visibilité public Nom_de_la_class
e
# Attribut1 : Type
- Attribut2 : Type
Protégée (#): l'accès aux données est …
réservé aux fonctions des classes héritières + méthode1 ()
Méthode2 ()

Privée (-): l'accès aux données est limité
aux méthodes de la classe elle-même

2008/2009 Introduction aux Base de Données 115


Types relations entre classes

Héritage

Association

Contenance

2008/2009 Introduction aux Base de Données 116


Héritage
permet de créer une nouvelle classe à partir d'une classe existante

Principe
classe dérivée contient les attributs et les méthodes de sa superclasse

Spécialisation Généralisation
étendre les propriétés factoriser les propriétés
d'une classe, sous groupe de classes sous
forme de sous-classes forme de super-classe

Chaque personne de l’université est identifiée par son nom, prénom


Les étudiants ont plus un noEtudiant
Les enseignants ont un numéro de téléphone interne
2008/2009 Introduction aux Base de Données 117
Association
Connexion sémantique entre deux classes
Navigabilité
 Par défaut une association est navigable dans les deux sens

• Chaque instance de voiture a un lien vers le propriétaire


• Chaque instance de Personne a un ensemble de lien vers les voitures

 Restriction de la navigabilité
• Le service de contravention Navigable
est associé à une ou plusieurs
voiture(s)
• La voiture ne connaît pas service
de contravention

2008/2009 Introduction aux Base de Données 118


Association
Documentation d’une association

 Nom de l’association
lien sémantique entre les classes
La personne achète la voiture
La voiture est achetée

 Rôle d’une association


Spécification du rôle de la classe

La personne joue le rôle de


propriétaire de la voiture

2008/2009 Introduction aux Base de Données 119


Association
Relation n-aire
Type particulier d’association qui relie plus de deux classes

Professeur

Symbole d’association

Salle Etudiant

Attention
difficiles à déchiffrer

2008/2009 Introduction aux Base de Données 120


Association
Multiplicités

1 : la classe est en relation avec un et un seul objet de l’autre classe


1..* : la classe est en relation avec au moins un objet de l’autre classe
0..* : la classe est en relation avec 0 ou n objets de l’autre classe
0..1 : la classe est en relation avec au plus un objet de l’autre classe

Une voiture est achetée par une


Une personne peut acheter
et une seule personne
0 ou n voitures

2008/2009 Introduction aux Base de Données 121


Contenance
Cas particulier d’association exprimant une relation de contenance

Exemples:
• Une voiture a 4 roues
• Un dessin contient un ensemble de figures géométriques
• Une présentation PowerPoint est composé de transparents
• Une équipe de recherche est composée d’un ensemble de personnes

Deux types de relations de contenance en UML


• Agrégation
• Composition (Agrégation forte)

2008/2009 Introduction aux Base de Données 122


Agrégation
A B
Type de relations
– A « contient » des instances de B,
Agrégat

Propriétés de l’agrégation
• La suppression de A n’implique pas la suppression de B
• L'élément agrégé peut être partagé
Exemples :
• L’enseignant est un composant
d’une (ou plusieurs) équipe de
recherche d’un seul département
• La disparition d’une équipe de
recherche n’entraine pas la
disparition d’un enseignant

2008/2009 Introduction aux Base de Données 123


Composition
 La suppression de A entraine la suppression de B

Exemple:
« Une présentation PowerPoint est composé de transparents »

La suppression de la présentation entraine la disparition des transparents


qui la compose

2008/2009 Introduction aux Base de Données 124


Diagramme de classes

2008/2009 Introduction aux Base de Données 125


MÉTHODE UML

2008/2009 Introduction aux Base de Données 126


Objectifs de UML

• Modélisation de systèmes divers en utilisant des


concepts orientés objets
• Établir un couplage entre les concepts et leur
implantation
• Aborder la description des problèmes d’échelle
propres aux systèmes complexes
• Offrir une approche de description utilisable par les
humains et les machines

2008/2009 Introduction aux Base de Données 127


Types de visualisation dans UML

Composantes Logique

Use-Case

Répartition Concurrence

2008/2009 Introduction aux Base de Données 128


Les diagrammes UML
• Vues statiques
– Les diagrammes de classes
– Les diagrammes d’objets
– Les diagrammes de cas d’utilisation
– Les diagrammes de composants
– Les diagrammes de déploiement

• Vues dynamiques
– Les diagrammes de séquence
– Les diagrammes de collaboration
– Les diagrammes d’états-transition
– Les diagrammes d’activités

2008/2009 Introduction aux Base de Données 129


Les diagrammes UML
• Les diagrammes de cas d’utilisation : Les fonctions du système, du point de vue de
l’utilisateur ou d’un système extérieur - l’usage que l’on en fait.

• Les diagrammes de classes : Une description statique des relations entre les classes.

• Les diagrammes d’objet : Une description statique des objets et de leurs relations. Une
version « instanciée » du précédent.

• Les diagrammes de séquence : Un déroulement temporel des objets et de leurs interactions.

• Les diagrammes de collaboration : Les objets et leurs interactions en termes d’envois de


message + prise en compte de la séquentialité.

2008/2009 Introduction aux Base de Données 130


Les diagrammes UML
• Les diagrammes d’états-transitions : Scrute les cycles de vie d’une
classe d’objet, la succession d’états et les transitions.
• Les diagrammes d’activité : Le comportement des différentes opérations
en termes d’actions.
• Les diagrammes de composants : Représente les composants physiques
d’une application.
• Les diagrammes de déploiements : Le déploiement des composants sur
les dispositifs et les supports matériels.

2008/2009 Introduction aux Base de Données 131


Diagrammes des cas
d ’utilisation
RetirerDeLArgent

Ajouter
DesBillets Transporteur
ConsulterSonCompte
Client DeBillets

FaireUnVirement

Assurer
Technicien
LaMaintenance

DistributeurDeBillet

2008/2009 Introduction aux Base de Données 132


Diagrammes de classes

Compte Banque
1..4 0..* 1..* 1..*
Client numéro
titulaires numéro
solde nom
1 signataire ... 0..*

1 Consortium
CarteBleue
0..* 0..1 1
Code
retraitMax AcceptéPar> 0..*
Distributeur
1..*

2008/2009 Introduction aux Base de Données 133


Diagrammes d’objets
EstAcceptéPar>
: Distributeur
: CarteBleue
signataire

titulaires
med : Client c4 : Compte : Banque : Consortium

: CarteBleue
signataire

ali : Client c1 : Compte : Banque


titulaires

titulaires
omar : Client c2 : Compte : Consortium
titula
ires

titulaires
maria : Client c3 : Compte : Banque

signataire
: CarteBleue
EstAcceptéPar>
sophia : Client : Distributeur
EstAcceptéPar>

2008/2009 Introduction aux Base de Données 134


Diagramme de Packages
IU IU
AWT
Saisie Commandes Publipostage

Package
Dépendance

Application Application
Saisie Commandes Publipostage

Commandes Clients

2008/2009 Introduction aux Base de Données 135


Diagramme de structure
composite
Véhicule

émetteur 1 Contrôleur
BoitierEmission trajets

récepteur 1 Télécontrôle
BoitierRéception

2008/2009 Introduction aux Base de Données 136


Diagrammes de composants

2008/2009 Introduction aux Base de Données 137


Diagrammes de déploiement

<<S1SLT>>
Serveur Palm

distributeur

<<tcpip>>

ServeurWeb
<<https>> PC

2008/2009 Introduction aux Base de Données 138


Diagrammes d ’états
carte insérée
En attente En attente du code

carte retirée mauvais code code frappé

En attente retrait carte En vérification

code bon

montant incorrect En attente du montant

montant correct

billets retirés
En distribution

2008/2009 Introduction aux Base de Données 139


Diagrammes d’activités
Client Vendeur Livreur

Se renseigner

Etablir un devis

Commander

Facturer

Payer Livrer

2008/2009 Introduction aux Base de Données 140


Diagrammes de séquence

omar le distrib. la carte de M. la reserve la banque le compte de M.

retirer 500 dh
lire n° compte

retirer 500 dh sur le compte n

débiter 500 dh
confirmer

sortir 5 billets de 100 dh


prendre la carte

2008/2009 Introduction aux Base de Données 141


Diagrammes de
communication

la reserve

6 : sortir 5 billet de 100 dh

1 : retirer 500 dh 3 : retirer 500 dh sur compte n 4 : débiter(500)

le distributeur la banque
5 : confirmer
paul
2 : lire n° de compte

le compte de omar
la carte de O.

2008/2009 Introduction aux Base de Données 142