3. Langages de requête et de manipulation des données
81
3.3 Les langages relationnels complets
Que signifie la
complétude
relationnelle ?
Les langages relationnels complets sont des langages qui
intègrent au moins les opérations prévues dans l’algèbre relationnelle,
ou dans le calcul dit relationnel qui se révèle aussi puissant que
l'algèbre relationnelle introduite dans la section précédente.
Le calcul
relationnel
Le calcul relationnel (relational calculus, en anglais) est fondé
sur la logique des prédicats. Il permet de former des expressions qui
traduisent une condition de sélection définie par l'utilisateur (appelée
prédicat). Les prédicats portent sur une variable tuple d'une table
donnée, et peuvent se combiner entre eux à l'aide des opérateurs
logiques AND, OR et NOT. En outre, nous pouvons introduire des
quantificateurs, par exemple, «pour tout …» (quantificateur «quel que
soit») ou «il existe …» (quantificateur d'existence). Avec le
quantificateur «quel que soit», tous les tuples d'une table doivent
vérifier le prédicat correspondant. Le quantificateur d'existence
examine si la table contient au moins un tuple satisfaisant le prédicat.
Les langages utilisés en pratique dans les systèmes de bases de
données relationnelles s’appuient sur l'algèbre relationnelle ou le
calcul relationnel :
SQL normalisé
Par exemple, le langage SQL (Structured Query Language) dont
nous avons déjà parlé est considéré comme un mélange de l'algèbre
relationnelle et du calcul relationnel (voir section 3.4.1).
Langage QUEL
Le langage QUEL (Query Language) illustre l'approche du calcul
relationnel de tuples (3.4.2).
Langage graphique
QBE
QBE (Query by Example) est un langage qui permet de formuler
des requêtes et d'effectuer des manipulations de données à l'aide d’une
interface graphique (3.4.3). QBE s'appuie aussi sur le calcul
relationnel tout en offrant aux utilisateurs la convivialité de l'approche
graphique pour travailler avec les tables.
SQL, QUEL et QBE sont des langages dont la puissance
d’expression est fondée sur l'algèbre relationnelle et le calcul
81
3.3 Les langages relationnels complets
Que signifie la
complétude
relationnelle ?
Les langages relationnels complets sont des langages qui
intègrent au moins les opérations prévues dans l’algèbre relationnelle,
ou dans le calcul dit relationnel qui se révèle aussi puissant que
l'algèbre relationnelle introduite dans la section précédente.
Le calcul
relationnel
Le calcul relationnel (relational calculus, en anglais) est fondé
sur la logique des prédicats. Il permet de former des expressions qui
traduisent une condition de sélection définie par l'utilisateur (appelée
prédicat). Les prédicats portent sur une variable tuple d'une table
donnée, et peuvent se combiner entre eux à l'aide des opérateurs
logiques AND, OR et NOT. En outre, nous pouvons introduire des
quantificateurs, par exemple, «pour tout …» (quantificateur «quel que
soit») ou «il existe …» (quantificateur d'existence). Avec le
quantificateur «quel que soit», tous les tuples d'une table doivent
vérifier le prédicat correspondant. Le quantificateur d'existence
examine si la table contient au moins un tuple satisfaisant le prédicat.
Les langages utilisés en pratique dans les systèmes de bases de
données relationnelles s’appuient sur l'algèbre relationnelle ou le
calcul relationnel :
SQL normalisé
Par exemple, le langage SQL (Structured Query Language) dont
nous avons déjà parlé est considéré comme un mélange de l'algèbre
relationnelle et du calcul relationnel (voir section 3.4.1).
Langage QUEL
Le langage QUEL (Query Language) illustre l'approche du calcul
relationnel de tuples (3.4.2).
Langage graphique
QBE
QBE (Query by Example) est un langage qui permet de formuler
des requêtes et d'effectuer des manipulations de données à l'aide d’une
interface graphique (3.4.3). QBE s'appuie aussi sur le calcul
relationnel tout en offrant aux utilisateurs la convivialité de l'approche
graphique pour travailler avec les tables.
SQL, QUEL et QBE sont des langages dont la puissance
d’expression est fondée sur l'algèbre relationnelle et le calcul
