Vous êtes sur la page 1sur 21

MODELISATION

BASES DE DONNEES
Cours 3: Modèle Relationnel
1 Classes: Licence 2

Enseignant: SILUE Kolo


UP Informatique, Direction Pédagogique, ESATIC 10/03/2023
Plan du cours 3:
1. Définition du modèle relationnel
2. Transformation du modèle E-A en modèle relationnel
3. Dépendance fonctionnelle

2
4. Normalisation
5. Exemple de schéma relationnel

10/03/2023
1. Définition du modèle relationnel (Schéma relationnel)
Un schéma de base de données
On appelle schéma de base de données la description d'une base de données,
obtenue en spécifiant les structures de données dont elle est constituée et de leurs
contraintes d'intégrité.
Un schéma de base de données relationnelle contient donc la définition des
tables, des attributs et des clés primaires.
3 Les contraintes d'intégrité imposent des limites aux domaines des attributs,
établissent des dépendances entre les tables (d'intégrité référentielle) et
définissent des restrictions sur les données proprement dites.

Exemple de schéma de base de données


CLIENT (IdCli, nom, ville)
PRODUIT (IdPro, nom, prix, qstock)
VENTE (#IdCli, #IdPro, date, qte)
10/03/2023
Concepts du modèle relationnel (Schéma relationnel)
Les N-uplets (Tuple en anglais)
Un élément d’une relation (ensemble) est un n-uplet de valeurs. Un n-
uplet représente un fait.
Exemple: « Cissé Yaya est un étudiant inscrit en Licence SIGL ».
Le domaine
C’est l’ensemble de valeurs atomiques d’un certain type sémantique.
4
Exemple: Ville_Nais = {"Abidjan", "Dabou", "Ferké"}
 Les domaines sont les ensembles de valeurs possibles dans lesquels
sont puisées les données.
 Deux ensembles peuvent avoir les mêmes valeurs bien que
sémantiquement distincts.

10/03/2023
Concepts du modèle relationnel (Schéma relationnel)
Relation
1. Les relations représentent les entités du monde réel et/ou les associations
entre ces entités. C’est un ensemble d’attributs noté R(At1, At2, …, Atn)
donc le produit cartésien de plusieurs domaines. R ⊂ D1 × D2 × ... × Dn
2. Une relation a été définie par Codd* comme un objet mathématique porteur
de données. Pour Codd, la définition de la relation est celle-ci :
 un objet mathématique porteur d’informations ;
5  contenant un ou plusieurs attribut(s) valué(s) ;
 possédant une clé ;
 doté d’un nom unique au sein de la base de données.
Il précise en outre que les attributs doivent :
 avoir un nom unique au sein de la relation ;
 contenir une information atomique ;
 posséder une valeur prise dans un domaine.
10/03/2023
* Edgar Frank Codd est un informaticien britannique, inventeur du modèle relationnel des SGBDR.
Exemples des concepts du modèle relationnel
 Les domaines :
NOM_ELV = { "Zoro", "Yoro"}
PREN_ELV = { "Rosine", "Ali", "jacques" }
DATE_NAISS = {Date entre 1/1/1998 et 31/12/2005}
NOM_SPORT = { "judo", "tennis", "foot" }
 La relation ELEVE
6
ELEVE ⊂ NOM_ELV × PREN_ELV × DATE_NAISS
ELEVE = { (Zoro, Ali, 1/1/1999), (Yoro, Rosine, 2/2/2000) }
 La relation INSCRIT
INSCRIT ⊂ NOM_ELV × NOM_SPORT
INSCRIT = { (Zoro, judo), (Zoro, foot), (Yoro, judo) }
 La relation R_employé (matricule, nom, prénom, date de naissance)
 Un tuple de R_employe: XD1247, SILUE, Fèrèlaha, 21/04/1999
10/03/2023
Les avantages du modèle relationnel:
 SIMPLICITE DE PRÉSENTATION
 représentation sous forme de TABLES
 OPÉRATIONS RELATIONNELLES
 algèbre relationnelle
 langages assertionnels
 INDEPENDANCE PHYSIQUE
7
 optimisation des accès
 stratégie d'accès déterminée par le système
 INDEPENDANCE LOGIQUE
 concept de VUES
 MAINTIEN DE L’INTEGRITÉ
 contraintes d'intégrité définies au niveau du schéma
10/03/2023
2. Passage du modèle E/A au modèle relationnel :
Règles de passage du modèle E/A au modèle relationnel

Règle N°1 - Chaque entité devient une relation. Les attributs de l’entité deviennent
attributs de la relation. L’identifiant de l’entité devient clé primaire de la relation.
Règle N°2 - Chaque association de type 1-1 est prise en compte en incluant la clé
primaire d’une des relations comme clé étrangère dans l’autre relation.
8 Règle N°3 - Chaque association de type 1-N est prise en compte en incluant la clé
primaire de la relation issue de l'entité dont la cardinalité maximale est N comme clé
étrangère dans l’autre relation.
Règle N°4 - Chaque association de type M-N est prise en compte en créant une
nouvelle relation dont la clé primaire est la concaténation des clés primaires des
relations issu des entités participantes. Les attributs de l’association sont insérés dans
cette nouvelle relation.
10/03/2023
2. Passage au relationnel :Application

9
Schéma Entité/Association de type (1-N)

Schéma relationnel:
DEPARTEMENT (numDep, libDep)
ETUDIANT (numE, nom, prenom, #numDep)

10/03/2023
2. Passage au relationnel :Application

10
Schéma Entité/Association de type (N-M)

Schéma relationnel:
PRODUIT (code-prod, lib-prod, prix)
COMMANDE (num-com, date-com)
LIGNE-DE-COMMANDE(#code-prod, #num-com, quantite)

10/03/2023
2. Passage au relationnel :Application

11

Schéma Entité/Association ternaire

Schéma relationnel:
ETUDIANT (numE, nom, prenom)
SPORT (numSport, libSport)
CLUB (numClub, nomClub)
PRATIQUER (#numE, #numSport, #numClub ) 10/03/2023
2. Passage au relationnel :Application

12
Schéma Entité/Association de type (1-1)
Schéma relationnel:
DEPARTEMENT (codeDep, libDep, nbHab)
PREFECTURE (numPref, nomVille, nbHab, nomPrefet, #codeDep)
Ou
PREFECTURE (numPref, nomVille, nbHab, nomPrefet)
DEPARTEMENT (codeDep, libDep, nbHab, #numPref)
10/03/2023
2. Passage au relationnel :Application

13

Schéma Entité/Association réflexive de type (1-N)

Schéma relationnel:
EMPLOYE (numE, nomE, prenomE, Service, #NumE_chef)

10/03/2023
2. Passage au relationnel :Application

14

CLIENT (numCl, nomCl, prenomCl, datenaisCl, adrCl)


PRODUIT (numPd, designPd, puPd, #numFr)
FOURNISSEUR (numFr, rsFr, emailFr, adrFr)
COMMANDE (#numCl, #numPd, dateCd, qtePc) 10/03/2023
3. Les dépendances fonctionnelles (DF):
Soit R(A1, A2, ...., An) un schéma de relation.
Soit X et Y des sous ensembles de {A1,A2,...An).
On dit que Y dépend fonctionnellement de X (X->Y) si à chaque valeur de X
correspond une valeur unique de Y.
on écrit : X → Y et on dit que : X détermine Y.

15 Exemple:
PRODUIT (no_prod, nom, prixUHT)
no_prod → (nom, prixUHT)
NOTE (no_contrôle, no_élève, note)
(no_contrôle, no_élève) → note
• une dépendance fonctionnelle est une propriété sémantique, elle correspond à
une contrainte supposée toujours vrai du monde réel.
10/03/2023
3. Les dépendances fonctionnelles (DF):
 Une DF A, B → C est ELEMENTAIRE si ni A → C, ni B → C ne sont des
DF.
 Une DF A → C est DIRECTE si elle n’est pas déduite par transitivité, c’est-à-
dire s’il n’existe pas de DF A → B et B → C.
Propriétés des dépendances fonctionnelles
Soient X, Y et Z des ensembles d'attributs. On notera XY l'ensemble X  Y. Les dépendances
16
fonctionnelles obéissent à certaines propriétés connues sous le nom d'axiomes d'Armstrong.
- Réflexivité : X →X
- Augmentation : X → Y  XZ → YZ
- Transitivité : X → Y et Y → Z  X → Z
D'autres propriétés se déduisent de ces axiomes :
- Union : X → Y et X → Z  X → YZ
- Pseudo-transitivité : X → Y et YW → Z  XW → Z
- Décomposition : X → Y et Z ⊆ Y  X → Z
10/03/2023
4. Normalisation:
 Objectifs de la normalisation
 Suppression des problèmes de mise à jour (anomalies),
 Minimisation de l’espace de stockage (élimination des redondances)
 Première forme normale (1FN)
Une relation est en 1FN si tout attribut est atomique (n’est pas décomposable en
d'autres attributs).
17
 Deuxième forme normale (2FN)
Une relation est en 2FN si elle est en première forme normale, d’une part, et si
tout attribut n’appartenant pas à la clé primaire est en DF élémentaire avec la
clé, d’autre part. En d'autres termes, une relation est en 2FN si :
 elle est en 1FN ;
 tout attribut non clé primaire dépend ENTIEREMENT de la clé primaire.

10/03/2023
4. Normalisation:
 Troisième forme normale (3FN)
Une relation est en 3FN si elle est en 2FN et si les dépendances fonctionnelles
entre la clé primaire et les attributs ne faisant pas parti de la clé sont directes.
En d'autres termes, une relation est en 3FN si :
 elle est en 2FN ;
 il n’existe aucune DF entre deux attributs non clé primaire de cette
relation.
18

10/03/2023
Application
CANDIDAT ( nunCandidat, nomCandidat, prénomCandidat, dateNaissance);
EXAMEN ( codeExamen, libelléExamen);
EPREUVE (numEpreuve, libelléEpreuve, dateRédaction, dateEpreuve,
coefficient, #codeExamen);
ENSEIGNANT ( numEnseignant, nomEnseignant, prénomEnseignant);
PASSER (#numCandidat, #numEpreuve, note);
19 REDIGER (#numEnseignant, #numEpreuve);
INSCRIRE (#codeExamen, #numCandidat, appréciation).

10/03/2023
Application: traduire ce CSD en modèle relationnel

20

10/03/2023
Application: traduire ce CSD en modèle relationnel

21

10/03/2023

Vous aimerez peut-être aussi