Académique Documents
Professionnel Documents
Culture Documents
BASES DE DONNEES
Cours 3: Modèle Relationnel
1 Classes: Licence 2
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.
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 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 relationnel:
EMPLOYE (numE, nomE, prenomE, Service, #NumE_chef)
10/03/2023
2. Passage au relationnel :Application
14
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