Construction des Requêtes
Une requête dans une base de données est une demande adressée à la base pour obtenir, ajouter, modifier ou supprimer des informations. Autrement une requête est une instruction qui exprime ce que l'on veut faire avec les données de la base. La base de données contient des collections d'objets appelées ensembles ou fichiers de données ou tables. La manipulation de ces données repose sur les lois de la théorie des Ensembles. C'est pour cela Visualis Mali a jugé bon de faire un rappel aussi exhaustif que possible sur la théorie des Ensembles et sur l'Algèbre Relationnelle ou Algèbre de Boole ou Algèbre Booléenne.
George Boole (2 novembre 1815 – 8 décembre 1864) était un mathématicien et philosophe anglais, souvent crédité d’avoir révolutionné la logique en la transformant d’une étude philosophique du langage en un système mathématique d’équations algébriques utilisant des valeurs binaires et des opérateurs logiques
La théorie des ensembles étudie les collections d'objets appelées ensembles.
Par exemple :
A={1,2,3,4}
B={3,4,5,6}
On peut donc effectuer plusieurs opérations :
| Opération | Notation | Résultat |
|---|---|---|
| Union | A U B | {1,2,3,4,5,6} |
| Intersection | A n B | {3,4} |
| Différence | A - B | {1,2} |
| Différence | B - A | {5,6} |
| Inclusion | A IN B | Vrai/Faux |
| Produit cartésien | A X B | Couples (a,b) |
Quelques Rappels : L'intersection de deux ensembles est l'ensemble des éléments qui appartiennent simultanément aux deux ensembles.
Soient :
A={1,2,3,4,5} et B={3,4,5,6,7}
L'intersection de A et B est : A n B = {3,4,5}
Parce que 3, 4 et 5 sont présents dans A ET dans B.
L'inclusion de deux ensembles signifie que tous les éléments du premier ensemble appartiennent au second.
Soient :
A={1,2,3} et B={1,2,3,4,5}
On dit que A est inclus dans B :
car chaque élément de A se trouve également dans B.
Le produit cartésien est particulièrement important pour les bases de données.
Si :
A={1,2} et B={X,Y}
alors : A×B={(1,X),(1,Y),(2,X),(2,Y)}
Algèbre relationnelle
L'algèbre relationnelle applique ces idées aux relations, c'est-à-dire essentiellement aux tables d'une base de données relationnelle.
Exemple :
| Code | Nom | Ville |
|---|---|---|
| C01 | Diallo | Bamako |
| C02 | Traoré | Sikasso |
| C03 | Coulibaly | Bamako |
Une relation peut être vue mathématiquement comme un ensemble de tuples :
CLIENT= {(C01,Diallo,Bamako), (C02,Traoré,Sikasso), (C03,Coulibaly,Bamako)} $
C'est là que la théorie des ensembles devient directement utile.
Les principales opérations de l'algèbre relationnelle
Les principales opérations de l'algèbre relationnelles sont les suivantes :
- Sélection : choisir les éléments qui satisfont une condition. Par Exemple : j'ai 100 employés et je veux sélectionner uniquement les employés du Service RH.
Ici c'est la sélection de certaines lignes et l'élimination des autres. Donc la sélection consiste à choisir les éléments qui satisfont une condition. En base de données, cela correspond essentiellement au filtrage des lignes.
- Projection : regarder sous un certain angle. J'ai une fiche contenant :
- Matricule,
- Nom,
- Prénom,
- Date de naissance,
- Adresse,
- Téléphone,
- Service,
- Salaire,
- Etc.
Mais je veux uniquement : Nom, Prénom et le Service.
Ici je fais une projection, je ne retiens que certaines informations comme énumérées ci-dessus parmi toutes celles disponibles. Donc la projection ne conserve que certaines propriétés/caractéristiques des éléments.
Union : réunir deux ensembles pour former un ensemble contenant leurs éléments. Par Exemple : j'ai A = employés de Bamako et B = employés de Sikasso Je veux obtenir tous les employés de Bamako et de Sikasso. Donc je fais faites leur union : AUB
Différence : prendre le premier ensemble et lui retirer les éléments qui appartiennent au second A-B. J'ai : A = tous les employés, et B = employés ayant déjà reçu leur salaire. Je veux les employés qui sont dans A mais pas dans B. Donc je fais : A-B.
Produit Cartésien : <<tout avec tout>>. Toutes les combinaisons possibles entre les deux ensembles.
Imaginez deux listes :
A = {Ali, Boubacar}
B = {Comptabilité, RH}
Le produit cartésien consiste à associer chaque personne avec chaque service :
- Ali — Comptabilité
- Ali — RH
- Boubacar — Comptabilité
- Boubacar — RH
Produit cartésien = toutes les combinaisons possibles entre les deux ensembles.
C'est la raison pour laquelle il peut produire beaucoup de lignes dans une base de données.
En Resumé :
| Terme | Sens littéral | Idée simple |
|---|---|---|
| Produit cartésien | Combiner chaque élément d'un ensemble avec chaque élément de l'autre | « Tout avec tout » |
| Sélection | Choisir certains éléments selon une condition | « Je garde ceux qui répondent au critère » |
| Projection | Regarder seulement certaines caractéristiques | « Je ne garde que les colonnes qui m'intéressent » |
| Union | Réunir deux ensembles | « Je mets les deux ensembles ensemble » |
| Différence | Retirer d'un ensemble les éléments qui appartiennent à l'autre | « Je garde ce que le premier a et que l'autre n'a pas » |