Base de Données 2

publicité
Classes préparatoires La Salle HEI
Année scolaire 2015/2016
Base de Données 2
APPLICATION AUX BASES DE DONNEES
Beaucoup de SGBD existent, afin de minimiser les manipulations de fichiers, nous utiliserons SQLite ( en version 3
) : SGBD gratuit, téléchargeable sur Internet et d’installation simplifiée.
Comme interface, on choisit SQLitestudio .
Une table ( d’une base de donnée ) est un ensemble (de données) semblable à une relation, mais acceptant dans
certains cas ( résultat d’une requête ) les doublons des n-uplets.
Les n-uplets d’une table sont dits : enregistrements de la table, les attributs sont dits aussi : champs.
Les champs d’une base de données sont typés : entiers, flottants , chaine de caractères , … Eventuellement on
limite ces types : entiers compris entre 0 et 999 … On parlera alors du domaine du champ.
Souvent une clé est choisie, on dit qu’elle est primaire. Une clé est dite étrangère lorsqu’elle est clé primaire d’une
autre table.
Afin d’extraire des données d’une base, l’algèbre relationnelle est appliquée aux tables.
Chaque table peut se visualiser par un tableau. Il est courant de schématiser une table.
Nom de la table
Attribut 1
Attribut 2
Attribut 3
…
Attribut n
Table1
Attribut 1
Attribut 2
Attribut 3
…
Attribut n
La clé primaire est visualisée sur le schéma par un soulignement.
Visualisation d’une clé étrangère
Table2
Attribut 1
Attribut 2
Attribut 3
…
Attribut p
LANGAGE DES SGBD ; SQL
Chaque SGBD dispose d’un langage, par exemple : SQL ( Structured Query Language ). Ces langages permettent
d’interroger les bases de données mais aussi de les gérer.
1
Classes préparatoires La Salle HEI
Année scolaire 2015/2016
Ce sont des langages de type LDD ( Langage de Définition des Données ) , LMD ( Langage de Modification des
Données ) et LCD ( Langage de Contrôle des Données).
La casse des caractères n’est pas significative en SQL :
Select équivaut à select équivaut à SELECT , etc…
Pour l’usage de la suite, on utilisera la base "baseEcole", que l’on manipule à l’aide de l’interface SQLiteStudio.
En particulier , on utilise la table tEleves comportant 6
champs. La clé primaire est le champ : idE de type entier.
SQL comme langage de modification des donné es
Partie 1
Dans cette première partie, les commandes envisagées concernent l’extraction de données.
Etant donnée une base de données de tables : T1 , T2 , ….
On crée une nouvelle table par :
Select * from T1
: c’est une table virtuelle identique à la table T1 .
2
Classes préparatoires La Salle HEI
Année scolaire 2015/2016
Contrairement aux tables initiales d’une base de données, on crée des tables virtuelles que l’on pourra conserver ou
non.
A l’aide de ce type de commande, on peut exploiter les opérations ensemblistes.
La projection
Données : une table T ( ch1 , ch2 , …) où ch1 est la clé
primaire
Select chj, .. chk from T
table virtuelle de champ chj , …chk.
Remarque : si le champ ch1 n’est plus dans la sélection
il est possible qu’il y ait des doublons.
Exemple : ici plusieurs enregistrements sont
identiques.
Le mot distinct permet d’éviter les doublons :
Select distinct chj, .. chk from T
La sélection
Données : une table T ( ch1 , ch2 , …) où ch1 est la
clé primaire ; P un prédicat sur certains champs.
Select * from T where P
table virtuelle ne contenant que les
enregistrements « sélectionnés » par le prédicat.
Exemple :
Forme des prédicats :
Une telle expression peut contenir :
des opérateurs logiques : AND , OR , NOT
un opérateur de comparaison : < , > , <= , >= , =
un opérateur de comparaison au contenu d’une liste de valeurs :
IN ( syntaxe : IN ( val1, val2,..,valP ) )
3
Classes préparatoires La Salle HEI
Année scolaire 2014/2015
un test existentiel : EXIST ( voir sous requêtes )
un test d’unicité : UNIQUE ( voir sous requêtes )
pour les chaines de caractères , un filtre : LIKE , avec éventuellement des caractères jockers : _ ( remplace
n’importe quel caractère ) et % ( remplace n’importe quelle chaine de caractères y compris la chaine nulle )
un test d’indétermination : IS NULL ou IS Not NULL
4
Téléchargement