Le modèle Relationnel
Leçon N 01
Mr DAHAK Fouad
Chargé de cours Bases de données 3SI
Concepts de base
Institut National d’Informatique
(INI, Oued Smar Alger)
f_dahak@ini.dz
www.ini.dz/~dahak
1
Concepts de base Concepts de base
Produit cartésien Relation
Définition : Le produit cartésien D1x D2x... x Dn est Définition : Une relation est un sous-ensemble nommé
l’ensemble des tuples (n-uplets) <V1,V2,....Vn> tq du produit cartésien d’une liste de domaines.
∀i, Vi ∈ Di
Elle est notée R(A1:D1,…,An:Dn) où D1…Dn sont des
Exemple: D1XD2
domaines, comme on peut également la noter sans
Bleu Vrai
– D1 = {Bleu,Blanc,Rouge} Bleu Faux mentionner les domaines : R(A1,A2,…,An)
– D2 = {Vrai, Faux} Blanc Vrai
Blanc Faux
Rouge Vrai
Rouge Faux
2
Concepts de base Concepts de base
Relation Attribut
Personne (Nom:Chaîne, Age:Entier, Marié:Booléen)
Définition : Un attribut est un nom donné à une
Et d’extension : {{Nom=‘’Hakim’’, Age=23, Marié = colonne d'une relation, il prend ses valeurs dans un
Faux},{Nom=‘’Saida’’, Age=28, Marié =Vrai}} domaine.
Définition : C’set un groupe d’attributs minimum qui Définition : Nom de la relation, liste des attributs avec
détermine un tuple unique dans une relation. domaines, et liste des clés d’une relation.
Exemples:
Exemple
– {modèle,Année} DANS Voiture Æ Couleur, Type
– NSS Dans Personne
Voiture(Modèle: texte, Année:Int, Couleur:texte, Type:
texte)
Contrainte : Toute relation doit posséder au
moins une clé.
3
Concepts de base Exercice
Clé étrangère Soit les domaines suivants :
Personne (Nss,Nom,Prénom)
Personne (Nss,Nom,Prénom) Maison(Nmais,Adresse)
Voiture(Nchassis,Marque,NSS,date) Habite(NSS,NMAIS,date)
4
De l’EA au relationnel De l’EA au relationnel
Médecin Infirmier
Cinéma(NCiné,Nom, Adresse)
- Spécialité - Niveau
Salle(Nsalle,NCiné,nbPlace)
5
Introduction
La notion de dépendance
Leçon N 02 fonctionnelle permet d'établir des
liens sémantiques entre attributs ou
Les Dépendances groupe d'attributs.
Fonctionnelles
Notation Définition 1
On écrit : Étant donné une relation R, nous disons qu'il
AÆB y a dépendance fonctionnelle (DF) de X de R vers
Source Æ Destination (Cible) Y de R si à une valeur de X est associée au plus
une valeur de Y.
On Lit :
Définition 2 Définition 3
6
Exemple DF élémentaires
DF directe DF triviale
Une DF A Æ B est directe, s'il n'existe pas un Une DF est dite triviale s’il est impossible qu’elle ne
attribut C qui engendrerait une DF transitive soit pas satisfaite. Une DF est triviale si et
seulement si le membre droit est un sous-ensemble
A Æ C Æ B. du membre gauche.
A1, A2, …, An → B1, B2, …, Bm
Num_Facture Æ Num_Représentant VRAI Triviale : Si B1, B2, …, Bm est sous-ensemble de
Num_Représentant Æ Nom_Représentant VRAI A1,A2,..,An
Num_Facture Æ Nom_Représentant FAUX Non triviale : Si au moins un Bi n’appartient pas à
A1,A2,..,An
Complètement non triviale : Si aucun des Bi n’appartient
à A1,A2,…,An
7
Axiomes d’Armstrong Axiomes d’Armstrong
8
La fermeture transitive Fermeture d’un attribut
Définition : La fermeture d'un attribut X par rapport à
Règle : Deux ensembles de DF sont F notée X+(F) est l'ensemble des attributs
équivalents s’ils ont la même fermeture fonctionnellement dépendants de X sous la
couverture fonctionnelle F.
transitive.
Employé(NE, ENom, NP, PNom, Loc, Temps)
F = { NE Æ ENom ; NP Æ {PNom, Loc} ; {NE,NP} Æ Temps}
NE+ = {NE , ENom }
NP+ = {NP, PNom, Loc }
{NE,NP}+ = {NE,NP,ENom,PNom,Loc,Temps}
9
Exemple 1 Clé candidate
F = {ABÆC, DÆEG, CÆA, BEÆC, BCÆD,
Soit une relation R.
CGÆBD, ACDÆB, CEÆAG}
SI R ne contient qu'un seul attribut ALORS
Solution : cet attribut forme l'unique clé candidate de R
Première étape : décomposer les df de telle sorte que les SINON
parties droites se composent d’un seul attribut. Soient X et Y deux ensembles non vides disjoints d'attributs de R
ABÆC DÆE DÆG BEÆC tel que X Union Y = R.
BCÆD CGÆBD ACDÆB CEÆA SI on a X →Y Avec X minimal ALORS
CEÆG X est une clé candidate de R (il peut y en avoir plusieurs).
SINON (Aucun X ne peut être trouvé ainsi) ALORS
l'unique clé candidate de R est formée de tous ses attributs.
FSI
Indication : Pour vérifier que X est minimal, il faut contrôler qu'il Démontrez par les axiomes d’Armstrong que
n'est pas possible de prendre un attribut de X pour le mettre dans AÆC
Y tout en maintenant X →Y.
Théorie de la normalisation
10
La relation universelle Pourquoi normaliser
Définition : La relation universelle est la relation qui ENSEIGNEMENTS(Numens, Nomens, Numat, Nomat, Coefficient)
regroupe toutes les informations à stocker.
Problèmes
11
Deuxième forme normale Deuxième forme normale
Définition : Une relation est en deuxième forme normale Exemple
si et seulement si :
• elle est en première forme normale, Enseignement(NUM, CODE_MATIERE, NOM,
• tout attribut n’appartenant pas à une clé ne dépend VOLUME_HORAIRE)
pas que d’une partie de cette clé. Avec: NUMÆNom
A,B
DF partielle
C D
C D C D
D
DF Transitive
A,B C
Une relation en 1 NF dont la clef est mono-attribut B
est forcément en 2 NF.
⇒
E D C D E C
12
Forme normale de Boyce Codd Forme normale de Boyce Codd
Définition : Une relation est en forme normale de Boyce Exemple :
Codd si et seulement si :
• elle est en deuxième forme normale, ADRESSE(Rue, Commune, Bureau-Postal, Code Postal)
• toute source de DF est une clé primaire minimale
F={Rue,Commune, Bureau-PostalÆCodePostal;
C
CodePostalÆCommune}
Attributs atomiques Î 1 NF
A,B D Toutes les DF de source AB sont minimales Î 2 NF
Pas de transitivité entre attribut non clef Î 3NF
E
EÆB
Résumé Exercice
13
DF Multivaluées
Observations
NE Cours Sport
Leçon N 04 100 BDD Tennis
100 RESEAU Tennis
100 BDD Foot
100 BDD Vélo
Les dépendances multivaluées 100 RESEAU Vélo
La BCNF n’est pas suffisante pour 200 RESEAU Vélo
éliminer les redondances.
NE COURS Supposons qu’un employé est capable d’effectuer chacun des types
d’interventions sur chacune des marques de voitures. Dans ce cas, il
existe des dépendances multivaluées dans la relation Intervenir :
SPORT
Nom-Employé ÆÆType-Intervetion et Nom-Employé ÆÆMarque.
14
Normaliser en 4NF Dépendance de jointure
R R1 R11
Soit R une relation et F un ensemble de dépendances
(fonctionnelles et multivaluées). R2 R12
Si R n’est pas en 4NF, soit une dépendance XÆÆY
de F+ telle que Il existe cependant des relations qui ne peuvent pas
• Y n’est pas vide; être décomposées sans perte d’information en deux
• Y n’est pas inclus dans X projections, mais qui peuvent l’être en trois ou plus.
• XY sont inclus dans R et X n’est pas une superclé.
Projection
On décompose R en R1=XY et R2=X(R-XY) DJ
Jointure
Définition : Soient X1,X2, . . . ,Xn des sous- Définition : Une relation R est en cinquième forme
ensembles d’un schéma de relation R. Il y a une normale si, pour toute dépendance de jointure
dépendance de jointure, notée *{X1,X2,...,Xn} dans *{X1,X2, . . . ,Xn} dans R, chacun des Xi contient
la relation R, si : une clé candidate de R.
15
Cinquième forme normale Conclusion
Relation Fournisseur
Exercice 1 Exercice 2
Exercice 3 Exercice 4
16
Par décomposition
Remplacer la relation R(A1,A2,…,An) par
une collection de relations R1,R2,…,Rp
Relation obtenues par projection de R sur des
DF sous ensembles d’attributs dont l’union
universelle
contient tous les attributs de R.
Schéma en
3NF
R = R1 R2 … Rn
Algorithme de synthèse
17