Documente Academic
Documente Profesional
Documente Cultură
Nature :
L'algèbre relationnelle permet le calcul sur les relations à
l'aide d'opérateurs pour obtenir de nouvelles relations.
Motivation :
On peut extraire les informations que l'on souhaite à
partir de la base de données les décrivant à l'aide
d'une expression algébrique relationnelle.
L'Algèbre Relationnelle
Utilité :
l Formaliser des requêtes sur des bases de données
l Permet d’avoir un schéma de requête avant de
programmer « physiquement » cette requête
l Automatiser la création de requêtes
l Preuves de résultats ou d'égalité entre questions
COMMANDE
Objet Client Nb
Objet, Client(R)
Objet Client
table Klein 4
table Klein
table Klein 2 placard Blériot
placard Blériot 3
La Sélection
l Signature : Relation Expression Logique Relation
l Notation : SELECT C(R) ou C (R)
l La sélection ne conserve de la relation que les tuples (lignes) qui
vérifient l'expression logique sur noms d'attributs (construite avec
les opérateurs logiques , , et les comparaisons =, <, >, , , ).
l Le schéma relationnel est conservé.
-Expression vérifiée
Décomposition de la -Jointure
R S = (S R)
Equi-jointure et Jointure naturelle
Union
l Signature : Relation Relation Relation
l Notation : RS
l Pour deux tables R et S de même schéma relationnel, l'union retourne les tuples qui
sont dans R, dans S ou dans R et dans S.
Intersection
l Signature : Relation Relation Relation
l Notation : RS
l Pour deux tables R et S de même schéma relationnel, l'intersection retourne les
tuples qui sont à la fois dans R et dans S.
La différence -
Stock1 Stock2
Pièce Nb-P Fournisseur
Stock2
Pièce Nb-P Fournisseur écrou 4000 Martin
Compétition
Discipline Participant
surf Alex
ski Fred
ski
surf
Requêtes en Algèbre Relationnelle (1)
Pièce(NB-P<500(STOCK1 STOCK2))
Pièce
Pièce
NB-P<500
poignée
axe
STOCK1 STOCK2
Requêtes en Algèbre Relationnelle (2)
Quels sont les noms de toutes les pièces avec leurs fournisseurs qui entrent
dans la fabrication d'une table ?
Fournisseur, Pièce
Pièce Fournisseur
vis Germond
écrou Martin
Objet = Table vis Dupont
Client
Client
Blériot
FABRICATION
Normalisation d’un schéma
relationnel
Mises à jour et cohérence
Schéma EA valide
Niveau logique
(Relationnel) Schéma Relationnel
TRADUCTION
EA - R
NORMALISATION
TRADUCTION
l Transitivité :
si X Y et Y Z alors X Z
(DF déduite)
l Augmentation :
si X Y alors (A, X) Y quelque soit A
(DF non élémentaire)
l On ne s’intéresse qu’aux DF élémentaires non
déduites
– Elles expriment les faits élémentaires du monde réel
– Ce sont elles qui permettent de déterminer si une relation
est bonne
et sinon comment la décomposer
Graphe des DF
A B C D
Utilité du graphe des DF
l DF non élémentaire
XD est non élémentaire s'il existe une DF
YD telle Y est un sous-ensemble des A B C
attributs de X
(A,B,C)D est non élémentaire
X
D
Exemple de graphe des DF
N°f N°p
nomC nbCrédits
année prof
DFs et identifiants
l Le graphe minimum des DF permet de trouver les identifiants de la relation
l L’identifiant d’une relation est l’ensemble (minimal) des nœuds du graphe
minimum à partir desquels on peut atteindre tous les autres nœuds (via les DF)
l Preuve :
Pour que ce soit faux il faudrait qu’il y ait deux lignes avec la même valeur de l’«
identifiant » et des valeurs différentes pour les autres attributs, ce qui est en
contradiction avec les DF.
l Exemple : R (A, B, C, D, E)
A B CD
E est l'identifiant de R
DFs et identifiants - Exemple
F G
A B C E
Si R = R1*R2* …*Rk
la décomposition est sans perte d'information
l THEOREME :
R (X, Y, Z) est décomposable sans perte
d’information en
R1 = p[X,Y]R
R2 = p[X,Z]R
si la DF XY existe
l R1 est alors nécessairement normalisée (en
3FN).
Elle décrit le fait élémentaire XY
l Les requêtes posées sur R et celles posées
sur R1*R2 donnent le même résultat
Exemple : décomposition sans perte d'info
R (NomEmp, adresse, poste, age)
Zoé Lausanne secrétaire 27
Armand Genève secrétaire 32
Marie Bienne directeur 38
R = R1*R2
NB Cette décomposition est sans perte d'information,
mais inutile
Exemple : décomposition avec perte d'info
R1' (NomEmp, adresse, poste) R2' (poste, age)
Zoé Lausanne secrétaire secrétaire 27
Armand Genève secrétaire secrétaire 32
Marie Bienne directeur directeur 38
R1' * R2'
Zoé Lausanne secrétaire 27
Zoé Lausanne secrétaire 32
Armand Genève secrétaire 27 R
Armand Genève secrétaire 32
Marie Bienne directeur 38
l Sans perte de DF :
Toute DF doit être dans l’une des relations obtenues par décomposition
Une DF ayant comme source un identifiant sera automatiquement vérifiée par
le SGBD
Une DF perdue => une contrainte d'intégrité implicite => le SGBD ne peut pas la
vérifier
Vérification des DF par le SGBD
N°f N°p
N°f N°p
R1 (N°f, adrF)
R1 R2 (N°p, typeP)
R2
R3 (N°f, N°p, qté)
adrF qté typeP
R3
3FN : 3ème forme normale
l Permet d’éliminer des sous-relations incluses
dans
une relation
l Exemple : Fournisseur (N°fourn, ville, pays)
N°fourn
ville pays
N°fourn
doit être décomposée en :
F (N°fourn, ville)
G (ville, pays) ville pays
3ème forme normale : définition
Fournisseur (N°fourn, ville, pays)
N°fourn
ville pays
N°fourn nom-fourn
prix (2 graphes possibles)
N°produit
• Identifiants : (N°fourn + N°produit)
(nomfourn + N°produit)
• Fournisseur est en 3FN mais pas en FNBC
l On doit décomposer pour obtenir des relations en FNBC
l Attention : Ce passage en FNBC n’est pas toujours possible
sans perte de dépendances
Décompostion de Fournisseur
l Fournisseur (N°fourn, nom-fourn, N°produit, prix)
N°fourn nom-fourn F1
prix
N°produit
F2
N°Etud Matière
Rang
N°Etud Matière
Prof
l Solution 1
– Enseignement (N°Etud, Prof, Matière)
– avec la CI : un prof n'enseigne qu'une seule matière
l Solution 2
– R1 (Prof, Matière)
– R2 (Prof, N°Etud)
– avec la CI : un étudiant suit une matière donnée avec un
seul prof
l Pas de solution idéale
La solution 1 est préférable
– elle génère moins de jointures lors des requêtes
– la CI est mono-relation
Algorithmes de décomposition / DF
D H CI : CD,H
l Avantages
– relations en FNBC
l Inconvénients
– dépend de l'ordre selon lequel les DF sont traitées
– peut perdre des DF
– peut trop décomposer
Méthode pragmatique
D H
l Avantages
– relations en FN3
– ne perd pas de DF
– ne perd pas d'information (grâce à R0)
l Inconvénients
– peut trop décomposer (cf. Enseignement)
Algorithme de décomposition :
l entrée : un schéma relationnel (ensemble d'attributs) et un ensemble
E de DF entre ses attributs
l sortie : une ou plusieurs relations en 3FN dont la jointure redonne la
relation initiale (par contre des DF de E ont pu être perdues)
l principe : l'algorithme peut se voir comme la construction d'un arbre
binaire. La racine de cet arbre est la relation à décomposer. L'arbre
se construit récursivement de la manière suivante :
l Définition :
Soit une relation R (X, Y, Z)
Il y a dépendance multivaluée
X --->> Y
si à toute valeur de X correspond un
ensemble de valeurs de Y qui est totalement
indépendant de Z
l Propriété :
S'il y a la DM X-->>Y alors il y a aussi X-->>Z
On note : X-->>Y|Z
prof livre
Employé
avec la DF :
AVS nom service nomSadresse
nomS adresse
Les accès concurrents à un SGBD
Navigateur
WEB
Youssef
Programme SGBD
Samir
Outil
d'administration
Sanae
Les problèmes de l'accès concurrent