1. Deux mots sur SQL
Le langage SQL a été développé pour communiquer avec la base de données
relationnelle ; son principal avantage est que les mêmes requêtes peuvent être utilisées
(relativement) indépendamment du système de gestion de base de données sous-jacent,
puisque le langage a été normalisé. SQL est un langage de description très complet des
requêtes que l'on souhaite effectuer. Il permet notamment d'interroger la base de
données, pour obtenir par exemple une liste de livres d'un éditeur donné ; il est
suffisamment général pour effectuer toute opération nécessaire sur la base de données,
comme son initialisation.
De manière générale, une base de données relationnelle stocke ses informations sous la
forme de tableaux à deux entrées. Chacun de ces tableaux correspond à une table. Lors
de la création d'une de ces tables, les colonnes doivent être nommées, avec le type de
données à y stocker. Ensuite, les opérations d'insertion ajouteront des enregistrements
dans ces tables. Finalement, les opérations de lecture portent sur des sous-ensembles
de ces tables : on peut sélectionner tout ou partie des colonnes (il suffit de donner la
liste des colonnes intéressantes), tout ou partie des enregistrements (à l'aide d'un critère
de sélection).
1.1. Création d'une table
Dans une base de données, une table se crée avec une requête CREATE TABLE. Par
exemple, pour créer une table des genres littéraires :
CREATE TABLE genres (
genre_id INTEGER PRIMARY KEY, genre TEXT );
La requête CREATE TABLE prend deux arguments : le nom de la table à créer (ici,
genres), puis une liste de colonnes entre parenthèses ().
La première colonne se nomme genre_id et sera de type entier (INTEGER). Ce
numéro identifiera de manière unique chaque genre et permettra d'y faire référence
ultérieurement. Cette manière de procéder a plusieurs avantages par rapport à
l'approche précédente, qui est de copier in extenso le genre au niveau de chaque
354
Le langage SQL a été développé pour communiquer avec la base de données
relationnelle ; son principal avantage est que les mêmes requêtes peuvent être utilisées
(relativement) indépendamment du système de gestion de base de données sous-jacent,
puisque le langage a été normalisé. SQL est un langage de description très complet des
requêtes que l'on souhaite effectuer. Il permet notamment d'interroger la base de
données, pour obtenir par exemple une liste de livres d'un éditeur donné ; il est
suffisamment général pour effectuer toute opération nécessaire sur la base de données,
comme son initialisation.
De manière générale, une base de données relationnelle stocke ses informations sous la
forme de tableaux à deux entrées. Chacun de ces tableaux correspond à une table. Lors
de la création d'une de ces tables, les colonnes doivent être nommées, avec le type de
données à y stocker. Ensuite, les opérations d'insertion ajouteront des enregistrements
dans ces tables. Finalement, les opérations de lecture portent sur des sous-ensembles
de ces tables : on peut sélectionner tout ou partie des colonnes (il suffit de donner la
liste des colonnes intéressantes), tout ou partie des enregistrements (à l'aide d'un critère
de sélection).
1.1. Création d'une table
Dans une base de données, une table se crée avec une requête CREATE TABLE. Par
exemple, pour créer une table des genres littéraires :
CREATE TABLE genres (
genre_id INTEGER PRIMARY KEY, genre TEXT );
La requête CREATE TABLE prend deux arguments : le nom de la table à créer (ici,
genres), puis une liste de colonnes entre parenthèses ().
La première colonne se nomme genre_id et sera de type entier (INTEGER). Ce
numéro identifiera de manière unique chaque genre et permettra d'y faire référence
ultérieurement. Cette manière de procéder a plusieurs avantages par rapport à
l'approche précédente, qui est de copier in extenso le genre au niveau de chaque
354
