Vous êtes sur la page 1sur 38

Cours : Bases de Données – Prof : M.

BASLAM 68

CHAP. 3 : LE MODÈLE
RELATIONNEL (LOGIQUE)
DE DONNÉES
Pr. : Mohamed BASLAM
Niveau : S4 BCG
Année : 2020/2021
Cours : Bases de Données – Prof : M. BASLAM 69

Démarche de construction d’une BD


Interview Modélisation
Document Entité association

Schéma logique
en Entité-Association

Transformation
en relationnel

Schéma conceptuel
en relationnel
Cours : Bases de Données – Prof : M. BASLAM 70

Généralités
• Notions de modèle de données :
• Un modèle est un ensemble d’outils utilisés pour décrire et
manipuler des données
• Modèle relationnel
• La majorité des SGBD actuels sont basés sur ce modèle.
• Dispose d’un Langage de Description des Données (LDD) et d’un
Langage de Manipulation des Données (LMD).
• Principe simple : 1 seul concept (relation ou table) pour décrire les
données et les liens entre ses données.
• SQL : langage standard de description et de manipulation des
données.
Cours : Bases de Données – Prof : M. BASLAM 71

Concepts du modèle
• Table (relation) : Vision tabulaire du relationnel :
• Le données (le schéma logique) sont représentées dans une table

• Exemple : la table OUVRAGES décrit un ouvrage Modèle


relationnel

OUVRAGES
Côte Titre Editeur Année NbExe T hème
mplaire
12TA1 Réseaux Eyrolles 1998 10 Interconnexion,
informatiques réseaux Internet
13GO1 Algorithmes Addison 1994 5 AG , informatique
génétiques W esley évolutionniste,
15TA2 Système Eyrolles 1993 6 UNIX , SE, ordinateur
d’exploitation
Cours : Bases de Données – Prof : M. BASLAM 72

Concepts du modèle
• Attribut : nom donné à une colonne d'une table (exemple cote, Titre,
Editeur, etc.). La première ligne de la table comporte ses attributs.
• Nom de la table (ou de la relation) : OUVRAGES.
• Tuple (ou n-uplet) : nom donné à une ligne comportant des valeurs
saisies. (tuple : 12TA ; Réseaux informatiques ; Eyrolles ; 1998 ; 10 ;
Interconnexion réseau Internet).
• Extension d’une table : le contenu de la table tous les tuples.
• Cardinalité : nombre de tuples de la relation. Exemple la cardinalité
dans OUVRAGES est 3.
• L'ordre des lignes et des colonnes n ’est pas significatif.
• Pas de lignes identiques.
• Une case une valeur (voir redondance des informations).
Cours : Bases de Données – Prof : M. BASLAM 73

Concepts du modèle
• Attribut
• nom donné à une colonne d'une relation
• prend ses valeurs dans un domaine
• Domaine : ensemble de valeurs possibles prises
par lesattributs
• Exemples
• ENTIER, REEL, CHAINES DE CARACTERES
• Dirham
• SALAIRE = {4 000..100 000}
• COULEUR= {BLEU, BLANC, ROUGE}
• POINT = {(X:REEL,Y:REEL)}
• TRIANGLE = {(P1:POINT,P2:POINT,P3:POINT)}
Cours : Bases de Données – Prof : M. BASLAM 74

Notions de clé primaire


• Clé primaire : Groupe d’attributs minimum qui
détermine un tuple d’une manière unique dans la
table.
• Exemple de clés :
• Le numéro de la SECU
• Le numéro étudiant
• La clé de la table OUVRAGES est l’attribut « cote », car la cote
permet de déterminer de façon unique une ligne de la table
• ATTENTION : la clé se détermine par rapport à toutes les valeurs
possibles de l’attribut (ou les attributs) formant la clé primaire, et
surtout pas par rapport aux valeurs déjà saisies
• Remarque : toute table doit obligatoirement avoir
une clé primaire.
Cours : Bases de Données – Prof : M. BASLAM 75

Schéma d’une table

• Le schéma d’une table, appelé aussi le schéma en


intention, comporte le nom de la relation, ses attributs +
format et la clé primaire.
• La clé primaire est souvent soulignée (et/ou mise en gras)
• Exemple : le schéma de la table OUVRAGES est :
OUVRAGES (cote: texte, Titre: Texte, Editeur: Texte, NbExemplaire:
Numérique, Année: Date, Thème: Texte )
Cours : Bases de Données – Prof : M. BASLAM 76

Problème de Redondance des données


OUVRAGES
Côte Titre Année NbExe T hème NomAuteur PrénomAuteur
mplaire

12TA1 Réseaux 1998 10 Interconnexion, Tanenbaum Henri


informatiques réseaux Internet
13GO1 Algorithmes 1994 5 AG , informatique Goldberg Stephen
génétiques évolutionniste,
13GO1 Algorithmes 1994 5 AG , informatique Holland John
génétiques évolutionniste,
15TA2 Système 1993 6 UNIX , SE, Cardy Ronald
d’exploitation ordinateur
15TA2 Système 1993 6 UNIX , SE, Dumar Eric
d’exploitation ordinateur
15TA2 Système 1993 6 UNIX , SE, Tannenbaum Henri
d’exploitation ordinateur

• La redondance = répétition des informations.


• Un des objectifs des SGBD est (de nous permettre) de représenter
les données avec le moins de redondance possible
• Comment éliminer les redondances ?
Cours : Bases de Données – Prof : M. BASLAM 77

Éliminer les redondances


• Pour éliminer les répétitions nous allons dans premier temps
construire une table auteur comportant tous les auteurs
• La table auteur est décrite par AUTEURS (NumAuteur,
NomAuteur,PrénomAuteur). Nous avons rajouté l’attribut NumAuteur
pour représenter la clé. NumAuteur est un numéro qui peut être
donné automatiquement par le SGBD.

AUTEURS
NumAuteur NomAuteur PrénomAuteur

1 Tanenbaum Henri

2 Goldberg Stephen

3 Holland John

4 Cardy Ronald

5 Dumar Eric
Cours : Bases de Données – Prof : M. BASLAM 78

Éliminer les redondances


OUVRAGES
Côte Titre Année NbExempl T hème NumAuteur
aire
12TA1 Réseaux 1998 10 Interconnexion, 1
informatiques réseaux Internet
13GO1 Algorithmes 1994 5 AG , informatique 2
génétiques évolutionniste,
13GO1 Algorithmes 1994 5 AG , informatique 3
génétiques évolutionniste,
15TA2 Système 1993 6 UNIX , SE, ordinateur 4
d’exploitation
15TA2 Système 1993 6 UNIX , SE, ordinateur 5
d’exploitation
15TA2 Système 1993 6 UNIX , SE, ordinateur 1
d’exploitation

Cette représentation nous permet effectivement de réduire la table


OUVRAGES il n y a que le numéro de l’auteur au lieu du nom et du
prénom, mais Il y a toujours des redondances. La redondance
provient du fait qu’un OUVRAGE peut avoir plusieurs auteurs.
Cours : Bases de Données – Prof : M. BASLAM 79

Éliminer les redondances


• Pour éliminer ces redondances, nous allons construire une table
ECRIT qui permet de relier les OUVRAGES et leurs AUTEURS.
• Rappelons qu’un des intérêts d’un SGBD est sa possibilité de créer
des liens entre les objets.
• Le schéma de la table ECRIT est : ECRIT (cote, NumAuteur) , il suffit
donc de prendre les clés primaires des tables OUVRAGES et
AUTEURS et former une nouvelle nouvelle table, en l’occurrence
ECRIT.
ECRIT
Côte NumAuteur
12TA1 1
13GO1 2
13GO1 3
15TA2 4
15TA2 5
15TA2 1
Cours : Bases de Données – Prof : M. BASLAM 80

Éliminer les redondances


OUVRAGES
.
Côte Titre Année NbExempl T hème
aire
12TA1 Réseaux 1998 10 Interconnexion,
informatiques réseaux Internet
13GO1 Algorithmes 1994 5 AG , informatique
génétiques évolutionniste,
15TA2 Système 1993 6 UNIX , SE, ordinateur
d’exploitation

ECRIT AUTEURS
Côte NumAuteur NumAuteur NomAuteur PrénomAuteur

12TA1 1 1 Tanenbaum Henri


13GO1 2
2 Goldberg Stephen
13GO1 3
3 Holland John
15TA2 4
4 Cardy Ronald
15TA2 5
5 Dumar Eric
15TA2 1
Cours : Bases de Données – Prof : M. BASLAM 81

Éliminer les redondances


• La base de données décrivant les OUVRAGES
sera composé des tables suivantes :
AUTEURS(NumAuteur, Nom, Prénom)
OUVRAGES(cote, Titre, NbExemplaire, Année, Editeur,
Thème)
ECRIT (cote, NumAuteur)

• Noterque nous avons supprimé l’attribut


NumAuteur de la table OUVRAGES
Cours : Bases de Données – Prof : M. BASLAM 82

Clé Étrangère
• Les attributs cote et NumAuteur de la table ECRIT
proviennent en fait respectivement des tables
OUVRAGES et AUTEURS. Ces deux Attributs sont clés
primaires dans chacune de ces tables.
• Définition : Nous appelons Clé étrangère toute clé
primaire apparaissant dans une autre table.
• Exemple :
• NumAuteur est une clé étrangère dans la table ECRIT
• Cote est aussi une clé étrangère dans ECRIT
Par convention, Une clé étrangère commence par le symbole “#”
• Attention : la notion de clé est toujours liée à une table, un
attribut (ou groupe d’attributs) est clé primaire, ou clé
étrangère dans une table donnée.
Cours : Bases de Données – Prof : M. BASLAM 83

Contraintes d’intégrités
• Un des avantages des bases de données par rapport à
une gestion de fichiers traditionnelle réside dans la
possibilité d’intégrer des contraintes que doivent vérifier
les données à tout instant.
• Exemple : on souhaite poser les contraintes suivantes :
• le nombre d’exemplaire de chaque OUVRAGE doit être supérieur à
0 (zéro)
• chaque OUVRAGE doit avoir au moins un auteur
• Etc.
• Ceci est possible grâce à la notion de contraintes
d’intégrité
• Définition :
• Contraintes d’intégrité «sont des assertions qui doivent être
vérifiées à tout moment par les données contenues dans la base
de données»
Cours : Bases de Données – Prof : M. BASLAM 84

Contraintes d’intégrités
Trois types de C.I. Obligatoires :
• Contrainte de clé : une relation doit posséder une clé primaire
• Contrainte d’entité : un attribut d’une clé ne doit pas posséder de
valeurs nulles (vides)
• Contrainte de référence (pour les clés étrangères), c’est une
contrainte exprimée entre deux tables. Tout tuple d’une relation
faisant référence à une autre relation doit se référer à un tuple qui
existe.
• Intuitivement, cela consiste à vérifier que l'information utilisée dans un
tuple pour désigner un autre tuple est valide, notamment si le tuple
désigné existe bien
• En d’autre terme, quand on désigne un attribut comme clé étrangère,
les seules valeurs que peut prendre cet attribut sont celles qui sont
déjà saisies dans la table qu’il référence (voir exemple sur la page
suivante).
Cours : Bases de Données – Prof : M. BASLAM 85

Contraintes d’intégrités
• Contrainte optionnelle
• Contrainte de domaine : liée au domaine de définition d'un attribut.

Exemple: NbExemplaire > 0

• Les contraintes d’intégrité sont vérifiées (exécutées) à


chaque mise à jour de la base de données (ajout,
suppression ou modification d’un tuple). Si, lors d’une
mise à jour une contrainte n’est pas satisfaite, cette mise
à jour ne peut pas avoir lieu.
Cours : Bases de Données – Prof : M. BASLAM 86

Contraintes d’intégrités (Exemlpe)


• Schéma de la relation AUTEURS
AUTEURS (NumAuteur, Nom, Prénom)
clé primaire : NumAuteur
• Schéma de la relation OUVRAGES (avec la modification
de l’exercice précédent)
OUVRAGES(cote, Titre, NbExemplaire, Année, Thème)
clé primaire : cote
Contrainte de domaine : NbExemplaire >0
Cours : Bases de Données – Prof : M. BASLAM 87

Contraintes d’intégrités (Exemlpe)


• Schéma de la table ECRIT
ECRIT (NumAuteur,cote)
Clé primaire : NumAuteur, cote
Contraintes référentielles :
• ECRIT.NumAuteur REFERENCE AUTEURS.NumAuteur
• ECRIT.cote REFERENCE OUVRAGES.cote

• Le fait d’écrire ECRIT.cote REFERENCE OUVRAGES.cote, c’est à dire


définir l’attribut cote dans ECRIT comme clé étrangère, implique une
contrainte référentielle. Ceci se traduit par ; les seules valeurs que peut
prendre cote dans ECRIT sont celles qui sont déjà saisies dans cote
d’OUVRAGES (c’est à dire dire 12TA1, 13GO1,15TA2)
Cours : Bases de Données – Prof : M. BASLAM 88

Contraintes d’intégrités (Exemlpe)


• Le schéma d’une base de données est composé de l’ensemble
des schémas des tables (relations) définies dans cette BD
• Exemple schéma de la base de données permettant la gestion
de notices bibliographiques est :
AUTEURS (NumAuteur, Nom, Prénom)
OUVRAGES(cote, Titre, NbExemplaire, Année, Thème)
• Contrainte de domaine : NbExemplaire >0
ECRIT (NumAuteur, cote)
• Contraintes référentielles :
• ECRIT.NumAuteur REFERENCE AUTEURS.NumAuteur
• ECRIT.cote REFERENCE OUVRAGES.cote
Cours : Bases de Données – Prof : M. BASLAM 89

Bilan

 Relation ou Table
 Attribut ou Colonne
 Domaine ou Type
 Clé primaire
 Clé étrangère
 Contrainte d’intégrité
 Schéma d’une relation
 Schéma d’une base de données
Cours : Bases de Données – Prof : M. BASLAM 90

Modèle Logique des Données (MLD)


Etapes de conception

Une fois le MCD établi, nous sommes en mesure de le traduire en


système logique : MLD
Cours : Bases de Données – Prof : M. BASLAM 91

Modèle Logique des Données (MLD)

• Comment est constitué un MLD et comment


l’établir ?
• Tables, lignes et colonnes
• Clés primaires et clés étrangères
• Schéma relationnel
• Lien entre MCD et MLD
Cours : Bases de Données – Prof : M. BASLAM 92

Modèle Logique des Données (MLD)


• Tables, lignes et colonnes

Lorsque les données ont la même structure (par ex.


renseignements relatifs à un client), on peut alors les
organiser en tables dans lesquelles :
• les colonnes décrivent les champs en commun
• les lignes contiennent les valeurs de ces champs
pour chaque enregistrement
Cours : Bases de Données – Prof : M. BASLAM 93

Modèle Logique des Données (MLD)


• Tables, lignes et colonnes

Exemple : Contenu de la table Clients


Cours : Bases de Données – Prof : M. BASLAM 94

Modèle Logique des Données (MLD)


• Clés primaires et clés étrangères

• Clé primaire :
Les lignes d’une table sont uniques  il existe au moins
une colonne qui sert à identifier les lignes : il s’agit de la
clé primaire de la table.
Propriétés requises :
• la valeur vide (NULL) est interdite
• la valeur de la clé primaire d’une ligne ne devrait pas changer au
cours du temps
Cours : Bases de Données – Prof : M. BASLAM 95

Modèle Logique des Données (MLD)


• Clés primaires et clés étrangères

• Clé étrangère :
Cours : Bases de Données – Prof : M. BASLAM 96

Modèle Logique des Données (MLD)


• Clés primaires et clés étrangères

• Conventions :
• on souligne les clés primaires
• on fait précéder d’un # les clés étrangères
Par exemple dans la description des colonnes d’une
table:
a) Clients(numclient, nom client, prénom, adresse)
b) Commandes(numcommande, date commande,
#numclient (non vide)).
Cours : Bases de Données – Prof : M. BASLAM 97

Modèle Logique des Données (MLD)


• Clés primaires et clés étrangères
Remarque :
une même table peut avoir plusieurs clés étrangères mais
une seule clé primaire (éventuellement composée de
plusieurs colonnes)
une clé étrangère peut aussi être primaire (dans la même
table)
une clé étrangère peut être composée (c’est le cas si la clé
primaire référencée est composée)
implicitement chaque colonne qui compose une clé primaire
ne peut pas recevoir la valeur vide (NULL interdit)
par contre, si une clé étrangère ne doit pas recevoir la valeur
vide, alors il faut le préciser dans la description des colonnes
Cours : Bases de Données – Prof : M. BASLAM 98

Modèle Logique des Données (MLD)


• Clés primaires et clés étrangères
• Schéma relationnel
les tables sont appelées relations
les liens entre les clés étrangères et leur clé primaire sont
symbolisés par un connecteur
• Notations
On dit qu’une association binaire (entre deux entités ou
réflexive) est de type :
 1:1 (un à un) si aucune des 2 cardinalités maximales n’est n
 1:n (un à plusieurs) si une des 2 cardinalités maximales est
n
 n :m (plusieurs à plusieurs) si les 2 cardinalités maximales
sont n
Cours : Bases de Données – Prof : M. BASLAM 99

Modèle Logique des Données (MLD)


• Passage d’un MCD (modèle E/A) en MLD
(Modèle relationnel)
• Règle 1
Chaque entité donne naissance à une relation du même
nom.
Chaque propriété d’une entité devient un attribut de la
relation.
L’identifiant de l’entité devient la clé de la relation.
Cours : Bases de Données – Prof : M. BASLAM 100

Modèle Logique des Données (MLD)


• Passage d’un MCD (modèle E/A) en MLD
(Modèle relationnel)
• Règle 2
Si une association n’a aucune patte de cardinalité maximale
égale à 1(Une association binaire de type n :m), alors :
 Cette association devient une relation (s’appelle table de jonction)
 Chaque propriété de l’association devient un attribut de la relation
 Les deux clés des deux entités de cette association deviennent
des clés étrangères dans la nouvelle relation.
 La clé primaire de cette association est composée des deux clés
étrangères.
Cours : Bases de Données – Prof : M. BASLAM 101

Modèle Logique des Données (MLD)


• Passage d’un MCD (modèle E/A) en MLD
(Modèle relationnel)
• Règle 2 (Exemple)
Cours : Bases de Données – Prof : M. BASLAM 102

Modèle Logique des Données (MLD)


• Passage d’un MCD (modèle E/A) en MLD
(Modèle relationnel)
• Règle 3
Une association binaire de type 1 : n disparaît, au profit d’une
clé étrangère dans la table coté 0,1 ou 1,1 qui référence la clé
primaire de l’autre table. Cette clé étrangère ne peut pas
recevoir la valeur vide si la cardinalité est 1,1

.
Cours : Bases de Données – Prof : M. BASLAM 103

Modèle Logique des Données (MLD)


• Passage d’un MCD (modèle E/A) en MLD
(Modèle relationnel)
• Règle 4
Une association non binaire est traduite par une table supplémentaire dont la clé
primaire est composée d’autant de clés étrangères que d’entité en association. Les
attributs de l’association deviennent les colonnes de cette nouvelle table.
Enseignant ENSEIGNANT ENSEIGNE
NoEnseignant Matière MATIÈRE
Enseigne NOENSEIGNANT NoEnseignant
Nom 1,n 0,n Code_Matière CODE_MATIÈRE
NOM Code_Matière
Prénom Libellé LIBELLÉ
PRÉNOM Nom_Classe
Date_de_naissance
DATE_DE_NAISSANCE
1,n

. Classe CLASSE
Nom_Classe NOM_CLASSE
Cycle CYCLE
Cours : Bases de Données – Prof : M. BASLAM 104

Modèle Logique des Données (MLD)


Exercice

Réalisateur Agent
N° Réalisateur Id Agent
Nom Réal Nom Agent
1,n 1,n
A réalisé Manager

1,n 1,1
. FILM Acteur
N° Film N° Acteur
Nom Film Nom Acteur
1,n 1,n
A tourné dans
N° Contrat
Cours : Bases de Données – Prof : M. BASLAM 105

Modèle Logique des Données (MLD)


Solution
Réalisateur Agent
N° Réalisateur Id Agent
Nom Réal Nom Agent

Réaliser
#N° Réalisateur
#N° Film
Acteur
FILM N° Acteur
N° Film #Id Agent
Nom Film Nom Acteur

Tourner
#N° Film
#N° Acteur
N° contrat

Vous aimerez peut-être aussi