Académique Documents
Professionnel Documents
Culture Documents
25 avril 2020
1 Introduction
4 Algèbre relationnelle
Definition
Une base de données est une collection partagée de données en relation
logique, conçues pour satisfaire les besoins d’information d’une organisation.
Elle est gérée par un SGBD (Système de Gestion de base de données) qui
est un logiciel qui gère et contrôle l’accès à la base de données : il permet à
l’utilisateur de définir, créer, mettre à jour une base de données et d’en contrô-
ler l’acces.
Tuple : C’est l’ensemble des occurrences de valeurs par les attributs sur une
ligne dans une relation.
Clé étrangère : C’est un attribut qui a été clé primaire d’une autre table et qui
met en évidence les liens unissant les différentes relations décrivant le
système d’information. Dans le schéma d’une relation, elle est représentée
avec le symbole #.
Union
Si on a deux dépendances fonctionnelles ayant la même source, on peut les
rassembler en une seule, en séparant les cibles par une virgule.
Si A → B et A → C alors on peut écrire A → B, C
Transitivité
Si A → B et B → C alors on a : A → C
La normalisation élimine les redondances, ce qui permet :
une diminution de la taille de la base de donnée sur le disque
une diminution des risques d’incohérence
d’éviter une mise à jour multiple des mêmes données.
ESCAE Bénin BDD & SQL 25 avril 2020 10 / 29
Les Trois formes normales
SELECTION
La sélection est une opération de RESTRICTION sur les LIGNES. La sélection
consiste à extraire de la relation R considérée un sous-ensemble de tuples
satisfaisant à certains critères. La qualification Q peut être exprimée à l’aide
de constantes, d’opérateurs relationnels (>, <, >=, <=, = , <> ) et d’opérateurs
logiques ( OU, ET , NON ).
T = SELECTION (R, Q)
Remarque : les doublons sont éliminés. (tuples pour lesquels les valeurs de
tous les attributs ont la même valeur)
UNION
L’union de 2 relations R et S de même schéma est une relation T de même
schéma contenant l’ensemble des tuples appartenant soit à R, soit à S, soit à
la fois à R et S.
T=UNION(R, S)
DIFFERENCE
La différence entre 2 relations R et S de même schéma dans l’ordre (R - S)
est la relation T de même schéma contenant les tuples appartenant à R sauf
ceux qui appartiennent aussi à S.
T = DIFFERENCE(R, S)
INTERSECTION
L’intersection de 2 relations R et S de même schéma est une relation T de
même schéma contenant les tuples appartenant à la fois à R et à S.
T = INTERSECTION(R, S)
ESCAE Bénin BDD & SQL 25 avril 2020 18 / 29
Algèbre relationnelle
DIVISION
Le quotient (ou division) : de la relation R de schéma R (A1, A2...An) par la
sous-relation S de schéma S (Ap+1, ...An) est la relation T de schéma T(A1,
A2,...Ap) formée de tous les tuples qui, combinés à chaque tuple de S, donnent
toujours un tuple de R.
T = DIVISION (R, S)
T = JOINTURE(R, S, Q)
La jointure externe
La jointure externe (OUTER JOIN) est une jointure de R et S qui conserve tous
les tuples, de l’une ou l’autre des relations et les tuples issus de la jointure des
2 relations. La jointure de R et S conserve tous les tuples :
de R pour une jointure externe gauche, (LEFT OUTER JOIN)
et de S pour une jointure externe droite (RIGHT OUTER JOIN)
ou des 2 relations pour une jointure totale (FULL OUTER JOIN).
ESCAE Bénin BDD & SQL 25 avril 2020 21 / 29
SQL
Requêtes d’interrogation
Projection
Opération unaire générant une table de degré inférieur au degrtexté de la table
source. Elle est exécutée par la syntaxe suivante :
Sélection
Opération unaire permettant de réduire la cardinalité d’une table, c’est-à-dire
ne donnant que des occurrences(enregistrements) vérifiant la condition spéci-
fiée.
SELECT *
FROM < table >
WHERE < condition >
La condition s’exprime de plusieurs manières à savoir :
.<attribut> <opérateur de comparaison> <valeur>
.<attribut> BETWEEN <borne inf.> AND <borne sup.>
.<attribut> IN (<liste des valeurs>)
.<attribut> LIKE "chaîne de caractères"
La chaîne de caractères peut contenir des caractères de substitution à savoir :
* ou % pour n’importe quelle chaîne de caractères ;
? ou _ pour un caractère.
ESCAE Bénin BDD & SQL 25 avril 2020 24 / 29
Les requêtes SQL
Jointure(équijointure)
Opération permettant d’extraire des données issues de plusieurs tables tout
en les liant deux à deux par la valeur de la clé primaire d’une table et celle de
la clé étrangère de la seconde table.
SELECT *
FROM <TABLE1>,<TABLE2>
WHERE <table1>.<attribut commun> = <table2>.<attribut commun>
La clause Tri
Cette clause permet de produire une table réponse triée suivant les attributs
spécifiés. Ce qui explique la présence de tous les attributs de tri devant SE-
LECT.
NB : Tout attribut devant SELECT doit être inclus devant GROUP BY.
Les fonctions standards
Syntaxe Explication
SUM(<attribut>) Retourne le cumul des valeurs de l’attribut sur tout
l’ensemble des occurrences ou par groupes en cas
de présence de GROUP BY.
AVG(<attribut>) Retourne la moyenne des valeurs de l’attribut sur
tout l’ensemble des occurrences ou par groupes en
cas de présence de GROUP BY.
COUNT(<attribut>) Retourne le nombre de valeurs de l’attribut sur tout
l’ensemble des occurrences ou par groupes en cas
de présence de GROUP BY.
INSERT INTO <table> [(liste des attributs)] VALUES <liste des valeurs>
Pour une insertion multiligne qui insère plusieurs enregistrements par une
requêtes.
NB : La liste des attributs est spécifiée lorsque tous les attributs de la table ne
seront pas renseignés, ou lorsque l’ordre des attributs dans la table n’est pas
maîtrisé.
Mise à jour des données
A voir
UPDATE <table> SET <attribut 1> = <valeur 1>
<attribut 2> = <valeur 2>,
<attribut n> = <valeur n>
WHERE <condition>