Vous êtes sur la page 1sur 72

Modélisation d’une

base de données
PLAN

 Cycle de vie d’une Base de Données

 Modèle conceptuel

 Modèle entité-association

et plus particulièrement les notions de


 type d’entités

 type d’associations

 Attributs

 cardinalité

 identifiant

2
Cycle de vie d’une base de données
Schéma conceptuel
Personne
Voiture
Personne conduit Voiture

Monde réel
Concepteur
Table Personne
Table Voiture
BD Table Conduit

Personne Voiture
Dupont Ford KA Schéma logique
Durant Peugeot 106
Utilisateurs
LMD Rochat

Toyota yaris

3
Ce qui nous intéresse aujourd’hui
La modélisation conceptuelle

Personne
Voiture

Monde réel

Concepteur

C’est-à-dire : la définition Personne conduit Voiture


du schéma conceptuel de la
base de données Schéma conceptuel
4
Culture générale
 Cycle de vie du logiciel (modèle en cascade)
Analyse
des besoins

Spécification
Conception
générale
Conception
détaillée
Codage

Tests

Distribution
Maintenance
5
Modéliser les données

 Modèle de données = ensemble de


 concepts permettant la description et la manipulation des données du monde réel
 règles d’utilisation de ces concepts

 Ces concepts décrivent les aspects


 Statiques : structure des données
 Dynamiques : opérations sur les données + contraintes explicites

 Schéma = description de la BD obtenue en utilisant un modèle


de données

6
Pourquoi la modélisation conceptuelle ?

 Objectif: représenter la réalité telle qu'elle est perçue par les


utilisateurs

 Contrairement aux modèles logiques qui décrivent la réalité en


fonction du modèle du SGBD

 Représentation à l’aide de la trilogie de base


 objets
 liens
 propriétés

7
Avantages de la modélisation conceptuelle

 Indépendante des technologies


 Portabilité
 Longévité

 Orientée utilisateur
 Compréhensibilité
 Support du dialogue concepteurs / utilisateurs
 Permet la collaboration et la validation par les utilisateurs

8
Avantages de la modélisation conceptuelle

 Spécifications formelles, non ambiguës,


 Puissance des concepts
 Support d’interfaces visuelles (lisibilité)
 Diagrammes de définition de données
 Manipulation de données

 Facilite les échanges d’informations entre SGBD


différents

9
TRES IMPORTANT

La qualité
de la conception
de la BD
est un facteur critique
de réussite
10
Culture générale
 Importance des premières étapes dans le cycle de vie du logiciel
Analyse
des besoins

Spécification
Conception
générale
Conception
détaillée
Codage

Tests

Distribution
Maintenance
11
Elaboration d’un schéma conceptuel

 Analyse du monde réel


 Identification des phénomènes à représenter dans la BD
 délimitation de l’univers du discours

 Représentation à l’aide des concepts du modèle


 contenu
 structure
 règles
 dynamique

 Représentation
 Partielle
 Infidèle et Subjective

12
Abstraction
De la réalité perçue
à la représentation:

Faire abstraction des


particularités permet de
Marielle Claire ... Fabien
passer des objets aux types Camille
ou classes d'objets

Type d’objet: Personne

propriétés: - nom,
- âge,
...
13
Définition d’un schéma

 Un schéma est une collection de types


 d’entité <-> objets
 d’association <-> liens
 La bases de données contiendra les valeurs
représentant les instances de ces types

Personne Possède Voiture

Est-marié-avec

14
Divers types de modèles conceptuels

 Entité-Association (EA) - (ER: Entity-Relationship)


 UML (Unified Modelling Language)
 MERISE...

15
ET MAINTENANT

Le modèle
Entité
Association
(entity-relationship)
16
Généralités
 C’est un modèle conceptuel
 Conçu par Chen en 1976

17
A quoi ressemble un schéma conceptuel ?

chef
Employé Chef de Fournisseur
subord.

nom salaire NomF adresse


Livré par
Affecté
quantité

Rayon Vend Article

NomR étage quantité NomA type

18
On y voit des rectangles

chef
Employé Chef de Fournisseur
subord.

nom salaire NomF adresse


Livré par
Affecté
quantité

Rayon Vend Article

NomR étage quantité NomA type

19
On y voit des losanges

chef
Employé Chef de Fournisseur
subord.

nom salaire NomF adresse


Livré par
Affecté
quantité

Rayon Vend Article

NomR étage quantité NomA type

20
On y voit des traits étranges

chef
Employé Chef de Fournisseur
subord.

nom salaire NomF adresse


Livré par
Affecté
quantité

Rayon Vend Article

NomR étage quantité NomA type

21
On y voit des mots reliés aux rectangles par des traits

chef
Employé Chef de Fournisseur
subord.

nom salaire NomF adresse


Livré par
Affecté
quantité

Rayon Vend Article

NomR étage quantité NomA type

22
On y voit des mots reliés aux losanges par des traits

chef
Employé Chef de Fournisseur
subord.

nom salaire NomF adresse


Livré par
Affecté
quantité

Rayon Vend Article

NomR étage quantité NomA type

23
Modèle de type conceptuel

 But : permettre la description conceptuelle des


structures de données d'une application

 Les concepts de base (qui correspondent aux


concepts d’abstraction de la réalité):
 objet <=> entité
 lien <=> association (relationship)
 propriété <=> attribut

24
Entité et Type d’entités
 Entité :
représentation d’un objet
du monde réel ayant
une existence propre

Marielle Claire ... Fabien


Camille

 Type d'entités (TE) :


représentation d'un ensemble
d'entités perçues comme
Personne
similaires et ayant les
mêmes caractéristiques
25
Association et type d’associations

 Association : représentation d'un lien non orienté entre


plusieurs entités (qui jouent un rôle déterminé)
 Type d'associations (TA) : représentation d'un ensemble
d'associations ayant la même sémantique et décrites par les
mêmes caractéristiques

Personne achète Maison

achète est une association entre une personne et une maison


26
Rôles d’une association

Personne achète Maison

ACHETEUR ACHETÉ

 Dans une association, chaque entité joue un rôle


déterminé

27
Association ternaire

Client achète Produit

Fournisseur

achète est une association (ternaire) entre un client,


un fournisseur et un produit

28
Population d’un TE et TA

Personne achète Maison

29
Cardinalité des rôles

Personne Possède Voiture

 Combien de voitures minimum une personne peut-elle


possèder ?
 Combien de voitures maximum une personne peut-elle
possèder ?

min:max
Personne Possède

30
Contraintes de cardinalités

 Une personne peut ne pas avoir de voiture, en avoir


une, deux, ..., n

0:n
Personne Possède

 Une voiture à un et un seul propriétaire

0:n 1:1
Personne Possède Voiture

31
Population d’un TE et TA
0:n 1:1
Personne achète Maison

32
Autres notations des cardinalités
Minimum Maximum

0 1
1 1
0 n
1 n
n m

Personne Possède Voiture

33
Association ternaire, cardinalité

 Plus difficiles à lire sur le schéma


 Nombre min et max d’occurrences du TA qui peuvent
lier une occurrence donnée du TE

0:n 1:1
Personne Assure Voiture

N°secu 0:n N°imm.


Compagnie
Assurance

Nom
34
Les attributs

 Ils décrivent les propriétés associées à:


 un type d’entité
 un type d’association
 un autre attribut

femme 1:1
Personne mari Marié à
1:1
Date_mariage
nom prénom salaire
jour mois année
Domaine [1,31]
35
Attributs simples

 simple (atomique) : non décomposable


 Exemples : jour, prénom

 Le domaine de valeurs est constitué de valeurs


atomiques
 Exemple :
 jour
 domaine de valeurs = {1, 2, …., 31}
 Domaines prédéfinis standard, intervalles, énumérés

36
Attributs complexes

 Complexe : décomposé en d'autres attributs


 Exemples
 date qui se décompose en jour, mois, année
 adresse qui se décompose en rue, ville, code postal

 Un attribut complexe ne porte pas de valeur propre


(pas de domaine directement associé)
 La valeur d'un attribut complexe est la composition des
valeurs de ses attributs composants.
 Un composant d'attribut complexe peut être lui-même
un attribut complexe.
37
Attributs obligatoires ou facultatifs

 Obligatoire : une valeur au moins par occurrence


(min1).
 Exemples : nom, prénoms

 Facultatif : peut ne pas prendre de valeur (min=0).


 Exemples : salaire, téléphones

38
Attributs mono ou multi-valués

 monovalué : une seule valeur par occurrence (max=1)


 Exemples: date de naissance, numéro sécu

 multivalué : plusieurs valeurs par occurence (max>1).


 Exemples: prénoms, téléphones
 Une valeur d'attribut multivalué est un ensemble ou une liste ou un multi-
ensemble de valeurs, prises chacune dans le domaine de valeurs associé
à l'attribut.

39
Attributs, cardinalité

 min : caractère facultatif ou obligatoire de l’attribut


 max : caractère mono-valué ou multi-valué de l’attribut
 Même notation pour les attributs que pour les
cardinalités des rôles
 Exemples
 nom d’une personne 1:1
 prenoms 1:n
 téléphone fixe 0:1
 téléphone mobile 0:n

40
Attributs, exemple
Employé
liste

No-emp nom prénoms CV postes

diplôme année intitulé salaires date-début date-fin

simple complexe,
obligatoire facultatif, montant date
monovalué multivalué de type
ensemble
simple, obligatoire, multivalué année mois
de type liste

Rappel : 0:1 0:n m:n

1:1 1:n 41
Attributs, exemple
/* intitulé ( technicien,
(1500, 1997, 10)
/* salaires (1600, 1999, 10)
(1700, 2000, 10) postes
/* date début ’01/01/1997’,
/* date fin ’31/12/2001’ ),
intitulé salaires date-début date-fin
(analyste,
(2500, 2000, 06)
(2800, 2001, 06) montant date
’01/01/2000’,
’31/12/2002’ ),
(chef_de_projet, année mois
(3500, 2002, 10)
’01/01/2002’,
’31/12/2003’ )

42
Autres notations existantes

Pour les entités et leurs attributs

Employé Employé
nom
nom
salaire salaire

Employé

nom salaire

43
Identifiants de TE et TA

 Nécessité de pouvoir désigner une entité (une


association) de façon univoque

 Identifiant: Ensemble minimal d'attributs tel qu'il


n'existe pas deux instances du TE (TA) où ces attributs
aient la même valeur

44
Exemple : Identifiants du TE employé

Employé
liste
N°emp nom prénoms CV postes

diplôme année intitulé salaires date-début date-fin

Il n’y a pas deux


employés qui montant date
ont le même
numéro Il n’y a pas deux employés qui ont à la
année mois
fois le même nom et les mêmes
prénoms

Deux identifiants possible : N°emp ou nom+prénoms 45


Identifiant d’un TA

 1ère possibilité : attribut(s) propre(s)

0:n 0:n
Client Commande Produit

N°client nom N°commande date quantité N°produit nom

Identifiant du type d’associations commande = N°commande

46
Identifiant d’un TA

 2ème possibilité : des identifiants de TE liés

0:n 0:n
Etudiant Inscrit Cours

N°carte nom note N°cours intitulé

Identifiant du type d ’association Inscrit =


Etudiant.N°carte + Cours.N°cours
47
Identifiant d’un TA

 3ème possibilité :
des identifiants de TE liés + attribut(s) propre(s)

0:n 0:n
Client Commande Produit

N°client nom date quantité N°produit nom

(Un client peut commander le même produit plusieurs fois à des dates différentes)

Identifiant du type d’association Commande =


Client.N°client + Produit.N°produit + Commande.date
48
Identifiant d’un TA

 4ème possibilité :
Tout rôle monovalué induit un identifiant du TA
(l’identifiant du TE lié est aussi identifiant du TA)
0:n 1:1
Personne Assure Voiture

N°secu 0:n N°imm


Compagnie
Assurance

Nom

Identifiant du TA Assure = Voiture.N°imm


49
Exemple de conception
 Un client qui s'inscrit à la bibliothèque verse une caution.
Suivant le montant de cette caution il aura le droit d'effectuer en
même temps 10 emprunts au maximum.
 Les emprunts durent au maximum 15 jours
 Un livre est caractérisé par son numéro dans la bibliothèque
(identifiant), son titre, son éditeur et son (ses) auteur(s).
 On veut pouvoir obtenir, pour chaque client les emprunts qu'il a
effectués (nombre, numéro et titre du livre, date de l'emprunt).
 Toutes les semaines, on édite la liste des emprunteurs en retard
: nom et adresse du client, date de l'emprunt, numéro(s) et titre
du (des) livre(s) concerné(s).
 On veut enfin pouvoir connaître pour chaque livre sa date
d'achat et son état.

50
Idée générale de la démarche
 Dans le texte, identifier les objets ayant une existence
propre

 Parmi eux, trouver ceux ayant un intérêt pour au moins


un traitement de l’application. Ce sont alors les types
d’entités

 D’après le texte, trouver les attributs des types


d’entités

 Découvrir les types d’associations permettant de lier


les types d’entités
51
Objets ayant une existence propre
 Un client qui s'inscrit à la bibliothèque verse une caution.
Suivant le montant de cette caution il aura le droit d'effectuer en
même temps 10 emprunts au maximum.
 Les emprunts durent au maximum 15 jours
 Un livre est caractérisé par son numéro dans la bibliothèque
(identifiant), son titre, son éditeur et son (ses) auteur(s).
 On veut pouvoir obtenir, pour chaque client les emprunts qu'il a
effectués (nombre, numéro et titre du livre, date de l'emprunt).
 Toutes les semaines, on édite la liste des emprunteurs en retard
: nom et adresse du client, date de l'emprunt, numéro(s) et titre
du (des) livre(s) concerné(s).
 On veut enfin pouvoir connaître pour chaque livre sa date
d'achat et son état.

52
Les types d’entités

 Objets ayant une existence propre et ayant un intérêt


pour au moins un traitement de l’application

Auteur

Livre Bibliothèque

?
Editeur
Client

53
Les types d’entités

 Objets ayant une existence propre et ayant un intérêt


pour au moins un traitement de l’application

Auteur

Livre ? Bibliothèque

Editeur
Client

54
Les types d’entités

 Objets ayant une existence propre et ayant un intérêt


pour au moins un traitement de l’application

Auteur

Livre Bibliothèque

Editeur
Client
?
55
Les types d’entités

 Objets ayant une existence propre et ayant un intérêt


pour au moins un traitement de l’application

Auteur

Livre Bibliothèque

?
Editeur
Client

56
Les types d’entités

 Objets ayant une existence propre et ayant un intérêt


pour au moins un traitement de l’application

Auteur

Livre Bibliothèque

Editeur
Client

?
57
Les types d’entités

 Objets ayant une existence propre et ayant un intérêt


pour au moins un traitement de l’application

Auteur

Livre Bibliothèque

Editeur
Client

58
Les attributs du TE livre
 Un client qui s'inscrit à la bibliothèque verse une caution.
Suivant le montant de cette caution il aura le droit d'effectuer en
même temps 10 emprunts au maximum.
 Les emprunts durent au maximum 15 jours
 Un livre est caractérisé par son numéro dans la bibliothèque
(identifiant), son titre, son éditeur et son (ses) auteur(s).
 On veut pouvoir obtenir, pour chaque client les emprunts qu'il a
effectués (nombre, numéro et titre du livre, date de l'emprunt).
 Toutes les semaines, on édite la liste des emprunteurs en retard
: nom et adresse du client, date de l'emprunt, numéro(s) et titre
du (des) livre(s) concerné(s).
 On veut enfin pouvoir connaître pour chaque livre sa date
d'achat et son état.

59
TE livre et ses attributs

1:1
titre

Livre numéro
liste
auteurs
1:n

état date-achat éditeur

60
Les attributs du TE client
 Un client qui s'inscrit à la bibliothèque verse une caution.
Suivant le montant de cette caution il aura le droit d'effectuer en
même temps 10 emprunts au maximum.
 Les emprunts durent au maximum 15 jours
 Un livre est caractérisé par son numéro dans la bibliothèque
(identifiant), son titre, son éditeur et son (ses) auteur(s).
 On veut pouvoir obtenir, pour chaque client les emprunts qu'il a
effectués (nombre, numéro et titre du livre, date de l'emprunt).
 Toutes les semaines, on édite la liste des emprunteurs en retard
: nom et adresse du client, date de l'emprunt, numéro(s) et titre
du (des) livre(s) concerné(s).
 On veut enfin pouvoir connaître pour chaque livre sa date
d'achat et son état.

61
Le TE client et ses attributs

numéro
Client nom
caution

adresse

n° rue ville

62
Les TE du schéma conceptuel

1:1
titre

Livre numéro
list
auteurs
1:n

état date-achat éditeur numéro


Client nom
caution

adresse

n° rue ville
63
Les types d’association

1:n 1:n
Livre emprunté
Emprunte Client
emprunteur

date-emprunt date-retour

64
Schéma conceptuel bibliothèque

Emprunte

emprunté emprunteur
date-retour
date-emprunt
1:n 1:n
titre numéro
numéro
Livre Client nom
caution
auteurs état date-achat éditeur adresse

n° rue ville

65
Comme promis

RECAPITULONS
Revenons à notre premier exemple

chef
Employé Chef de Fournisseur
subord.

nom salaire NomF adresse


Livré par
Affecté
quantité

Rayon Vend Article

NomR étage quantité NomA type

67
On y voit des entités

chef
Employé Chef de Fournisseur
subord.

nom salaire NomF adresse


Livré par
Affecté
quantité

Rayon Vend Article

NomR étage quantité NomA type

68
On y voit des associations

chef
Employé Chef de Fournisseur
subord.

nom salaire NomF adresse


Livré par
Affecté
quantité

Rayon Vend Article

NomR étage quantité NomA type

69
On y voit des cardinalités

chef
Employé Chef de Fournisseur
subord.

nom salaire NomF adresse


Livré par
Affecté
quantité

Rayon Vend Article

NomR étage quantité NomA type

70
On y voit des attributs d’entités

chef
Employé Chef de Fournisseur
subord.

nom salaire NomF adresse


Livré par
Affecté
quantité

Rayon Vend Article

NomR étage quantité NomA type

71
On y voit des attributs d’association

chef
Employé Chef de Fournisseur
subord.

nom salaire NomF adresse


Livré par
Affecté
quantité

Rayon Vend Article

NomR étage quantité NomA type

72

Vous aimerez peut-être aussi