Que vient faire l’algèbre dans les bases de données ?
- Jusqu’à présent nous nous sommes concentrés sur les concepts de la structuration des données
- On va maintenant s’intéresser à comment interroger une base de données pour obtenir les informations qui y sont stockées
- La solution est de définir un langage à base d’opérateurs algébriques pour manipuler les tables et les relations
- Ce langage est l’algèbre relationnelle
Exemple
Exemple
La gestion des étudiants
Une gestion d’étudiants à l’université pourrait se résumer, de manière simple, aux entités suivantes :
- Étudiants : nom, prénom, numero, date de naissance, date de première inscription, régime de sécurité sociale, etc.
- Enseignants : numero de sécurité sociale, nom, prénom, date de naissance, emploi occupé, salaire, catégorie, date de titularisation, nombre d’enfants, adresse, téléphone, etc.
- UFR (Unité de Formation et de Recherche) : nom, responsable, bâtiment, téléphone, secrétariat, diplômes préparés, modules, cours, etc.
- Inscriptions : étudiants, UFR, cours et diplômes, etc.
- Affectation des enseignants : calcul des services d’enseignement, congés, modification de salaires, etc
Exemple
Questions qui pourraient être posées
- Qui suit le cours de BDD et qui le donne ?
- À quels cours est inscrit Lulu ?
- Qui donne les cours de Droit ?
- Quels sont les professeurs de Toto et de Zoé ?
- Quels sont les étudiants inscrits à au moins un cours ?
- Quels sont les étudiants qui suivent tous les cours ?
- Quel est le nombre d’étudiants inscrits au cours de BD ?
- Quels sont les étudiants de Michel et de Roland ?
Algèbre : Rappel
Algèbre: Rappel
- Les opérateurs arithmétiques :
+, - , x, /
- les opérateurs logiques :
∧, ∨, ¬
(AND, OR, NOT) - Chaque opérateur à une arité
- Exemples d’opérateurs binaires :
+, - , *, /
- Exemple d’opérateurs unaires :
¬, -
(NOT, négation)
- Exemples d’opérateurs binaires :
- Règles de construction des opérateurs ou axiomes
- Axiomes pour
+
,x
(associativité, commutativité, distributivité, etc.) - Axiomes (loi de Morgan) pour
∧
et∨
- Axiomes pour
- Une algèbre est dite fermée si le résultat de tout opérateur est du même type que les opérandes (ce qui est indispensable pour construire des expressions)
L’algèbre relationnelle
- L’algèbre relationnelle a été proposée par Codd en 1970
- Elle est composée d’une collection d’opérateurs algébriques unaires ou binaires
- Possibilité de composition des opérateurs (propriétés de fermeture de l’algèbre relationnelle)
- Une requête relationnelle est la composition d’un nombre fini d’opérateurs algébriques
- L’ordre d’évaluation des opérateurs a un impact sur le temps de réponse du SGBD
- Principe de l’optimisation des requêtes
Les opérateurs de l’algèbre relationnelle
Les opérateurs ensemblistes
- Union :
R ∪ S
- Intersection :
R ∩ S
- Différence :
R - S
(ou R ≏ S) - Complément :
−R
(ou R’)
Les opérateurs spécifiques à l’algèbre relationnelle
- La projection :
R[A]
( aussi représentée avec le symbole Pi :πA
) - La sélection :
R:(C)
( aussi représentée avec le symbole Sigma :σφ
) - Le produit cartésien :
x
- La jointure :
R(C) x S
( aussi représentée avec le symbole Noeud Papillon :⋈
) - La Division :
R/S
- Le renommage :
R[A|B]
( aussi symbolisé par Rho :ρ a|b
)
Rappel de vocabulaire
Une TABLE = une RELATION
On pourra faire référence à un attribut d’une relation en utilisant la notation : Relation.Attribut