Vous êtes sur la page 1sur 21

Le modèle relationnel

M1 Gestion

Alain Berro
Démarche de conception
Etapes Techniques utilisées

Spécifications de la BD

Indépendant
MODELISATIONCONCEPTUELLE Modèle Entité/Association du SGBD

Schéma conceptuel en E/A

MODELISATION LOGIQUE Modèle Relationnel

Schéma logique en Relationnel


Spécifique
à un SGBD
MODELISATION PHYSIQUE Modèle de données du SGBD

Schéma Physique de la BD

2
Modèle relationnel
• Modèle relationnel
– Modèle défini par F. Codd (1970)
– Modèle logique
• Indépendant des choix physiques (matériels et logiciels)
– Organisation des données
• sous forme de tables à 2 dimensions
– Bases formelles issues de la théorie mathématique
des ensembles

3
Modèle relationnel
• Concepts
– Domaine D
• Ensemble de valeurs :
– Couleur = {vert, rouge, bleu, blanc}
– Entier, réel, réel positif
– Attribut A
• Information élémentaire prenant ses valeurs dans un
domaine D
– Relation R
• Ensemble de n attributs
– Tuple ou n-uplet
• Enregistrement (occurrence) de la relation

4
Modèle relationnel
• Relation
– Représentation graphique
3 attributs
(ou champs)
Table Usines
NuméroU NomU AdresseU
6009 Tex 1 bd Europe, Tlse
3 tuples 1254 Bat 65 rte Canal, Paris
(ou enregistrements) 4621 Fig 8 Oxford rd, London

Clé primaire

– Définition
Usines (NuméroU, NomU, AdresseU)

5
Modèle relationnel
• Relation entre les lignes de tables
Table Usines NuméroU NomU AdresseU
6009 Tex 1 bd Europe, Tlse
1254 Bat 65 rte Canal, Paris
4621 Fig 8 Oxford rd, London

Table Produits NuméroP NomP NuméroU


1 Robe 6009
2 Veste 4621
3 T-Shirt 6009
4 Pantalon 1254

Clé primaire Clé étrangère


– Définition
Produits (NuméroP, NomP, NuméroU*)
6
Modèle relationnel
• Contraintes
– Contrainte de clé primaire : une clé primaire ne peut
contenir une valeur nulle (manquante).

Table Usines NuméroU NomU AdresseU


6009 Tex 1 bd Europe, Tlse
1254 Bat 65 rte Canal, Paris
ERREUR Fig 8 Oxford rd, London
Valeur
manquante !
Clé primaire

7
Modèle relationnel
• Contraintes
– Contrainte d’intégrité référentielle : la base de
données ne doit pas contenir de clé étrangère dont la
valeur référencée n’existe pas.
Table Usines NuméroU NomU AdresseU
6009 Tex 1 bd Europe, Tlse
1254 Bat 65 rte Canal, Paris
4621 Fig 8 Oxford rd, London

Table Produits NuméroP NomP NuméroU


1 Robe 6009
2 Veste 1111
3 T-Shirt 6009
4 Pantalon 1254

ERREUR - Cette valeur n’existe Clé étrangère


pas dans la table Usines ! 8
Modèle relationnel
• Contraintes
– Contrainte d’intégrité référentielle (suite) : implique
que :
• Une ligne ne peut être ajoutée à une table avec une clé
étrangère que si la valeur référencée existe dans la table
référencée.
• Si une valeur dans une table qui est référencée par une clé
étrangère est modifiée (ou si la ligne entière est supprimée),
les lignes de la table avec la clé étrangère ne doivent pas
être “orphelines”.

9
Modèle relationnel
• Contraintes
– Contraintes de gestion : toutes les contraintes qui ne
sont pas couvertes par l’intégrité référentielle et la
contrainte de clé primaire. Elles viennent des règles
propres au domaine modélisé par la base de
données.
• Par exemple, pour l’entreprise de transport Eurostop
(voir TD) :
– Pour un camion donné, les dates d’entrée et de sortie
d’un garage doivent être postérieures à l’année de
première mise en circulation du camion.
– Le nombre de camions garés dans un garage doit être
inférieur ou égal au nombre de places du garage.

10
Du modèle EA au relationnel
• Exemple
USINES

fabrique NuméroU
est fabriqué Fabriquer
PRODUITS (1,1) (1,n) NomU
AdresseU
NuméroP
NomP est vendu
(0,n)
MAGASINS
Vendre vend
Prix (1,n) NuméroM
NomM
AdresseM

Modèle relationnel correspondant à


ce modèle Entité-Association ?
11
Du modèle EA au relationnel
1. Représenter chaque classe d’entités par une
relation
• Les propriétés de la classe d’entités deviennent des
attributs de la relation
• L’identifiant de la classe d’entités devient la clé
primaire de la relation

Modèle Modèle relationnel


entité-association

PRODUITS
PRODUITS (NuméroP, NomP
NuméroP
NomP

12
Du modèle EA au relationnel
1. Représenter chaque classe d’entités par une
relation
Modèle Modèle relationnel
entité-association

USINES
USINES (NuméroU, NomU, AdresseU
NuméroU
NomU
AdresseU

MAGASINS

NuméroM
NomM
AdresseM

13
Du modèle EA au relationnel
2. Représenter les classes d’associations
a) Si au moins une patte de la classe d’association a
1 en cardinalité maximale (CIF) alors ajouter à la
relation qui représente la classe d’entité de cette
patte :
• les identifiants des autres classes d’entités reliées à la
classe d’associations deviennent des clés étrangères de la
relation
• les propriétés portées éventuelles de la classe d’association
deviennent des attributs de la relation
PRODUITS USINES
(1,1) (1,n)
Fabriquer
NuméroP est fabriqué fabrique NuméroU
NomP NomU
AdresseU
PRODUITS (NuméroP, NomP, NuméroU*) 14
Du modèle EA au relationnel
2. Représenter les classes d’associations
a) Cas particulier : Si plusieurs pattes de la classe
d’associations ont 1 en cardinalité maximale, alors,
si possible, appliquer la règle précédente seulement
à la patte la plus spécifique (celle, si elle existe,
avec 1 en cardinalité minimale).

PRODUITS USINES
(1,1) (0,1)
Fabriquer
NuméroP est fabriqué fabrique NuméroU
NomP NomU
AdresseU

PRODUITS (NuméroP, NomP, NuméroU*)

15
Du modèle EA au relationnel
2. Représenter les classes d’associations
b) Si la cardinalité maximale sur toutes les pattes de la
classe d’associations est supérieure à 1, alors la
classe d’associations devient une relation.
• Les propriétés de la classe d’associations deviennent des
attributs de la relation
• Les identifiants des classes d’entités reliées deviennent des
clés étrangères de la relation
• L’identifiant de la classe d’associations devient la clé primaire
de la relation
PRODUITS est vendu vend
MAGASINS
Vendre
(0,n) Prix (1,n)
NuméroP NuméroM
NomP NomM
AdresseM
VENDRE (NuméroP*, NuméroM*, Prix) 16
Du modèle EA au relationnel
2. Représenter les classes d’associations
• Comment traduire la classe d’associations “Vendre”
dans le modèle relationnel ?

PRODUITS est vendu vend


MAGASINS
Vendre
(0,n) Date (1,n)
NuméroP NuméroM
Prix
NomP NomM
AdresseM

17
Du modèle EA au relationnel
2. Représenter les classes d’associations
• Comment traduire la classe d’associations “Vendre”
et la classe d’entités CALENDRIER dans le modèle
relationnel ?
PRODUITS est vendu vend
MAGASINS
Vendre
(0,n) Prix (1,n)
NuméroP NuméroM
NomP est la date de vente (0,n) NomM
CALENDRIER AdresseM
Date

18
Du modèle EA au relationnel
USINES
• Exemple
fabrique NuméroU
est fabriqué Fabriquer
PRODUITS (1,1) (1,n) NomU
AdresseU
NuméroP
NomP est vendu
(0,n)
MAGASINS
Vendre vend
Prix (1,n) NuméroM
NomM
AdresseM
Modèle relationnel
USINES (NuméroU, NomU, AdresseU)
MAGASINS (NuméroM, NomM, AdresseM)
PRODUITS (NuméroP, NomP, NuméroU*)
VENDRE (NuméroP*, NuméroM*, Prix)
19
Exercice
• Base de données géographique
– Traduire le diagramme Entité-Association suivant en
un modèle relationnel.

20
Exercice
• Base de données d’un label musical
– Traduire le diagramme Entité-Association suivant en
un modèle relationnel.

21

Vous aimerez peut-être aussi