Création d'une base de données
Pour créer une base de données et effectuer des requêtes sur cette dernière, nous allons utiliser le logiciel "DB Browser for SQLite" : https://sqlitebrowser.org/
SQLite est un système de gestion de base de données relationnelle très répandu. Noter qu'il existe d'autres systèmes de gestion de base de données relationnelle comme MySQL ou PostgreSQL. Dans tous les cas, le langage de requête utilisé est le SQL (même si parfois on peut noter quelques petites différences). Ce qui sera vu ici avec SQLite pourra, à quelques petites modifications près, être utilisé avec, par exemple, MySQL.
Nous allons commencer par créer notre base de données :
Après avoir lancé le logiciel "DB Browser for SQLite", vous devriez obtenir ceci :
Cliquez sur Nouvelle base de données. Après avoir choisi un nom pour votre base de données (par exemple "db_livres.db")
Cliquez sur Annuler dans la fenêtre qui s'ouvre après la création de la base de données
Vous devriez obtenir :
mais pour l'instant elle ne contient aucune table (aucune relation), pour créer une table, cliquez sur l'onglet "Exécuter le SQL". On obtient alors :
Copiez-collez la requête ci-dessous dans la fenêtre "SQL 1" et exécutez là (l'icône "play")
CREATE TABLE LIVRES
(id INT, titre TEXT, id_auteur INT, ann_publi INT, note INT);
Comme indiqué dans la fenêtre, "Requête exécutée avec succès" !
Vous venez de créer votre première table.
On recommence l'opération avec la table auteurs...
CREATE TABLE AUTEURS
(id INT, nom TEXT, prenom TEXT, ann_naissance INT, langue_ecriture TEXT);
Puis nous allons remplir ces tables avec les requêtes suivantes
Pour les auteurs :
INSERT INTO AUTEURS
(id,nom,prenom,ann_naissance,langue_ecriture)
VALUES
(1,'Orwell','George',1903,'anglais'),
(2,'Herbert','Frank',1920,'anglais'),
(3,'Asimov','Isaac',1920,'anglais'),
(4,'Huxley','Aldous',1894,'anglais'),
(5,'Bradbury','Ray',1920,'anglais'),
(6,'K.Dick','Philip',1928,'anglais'),
(7,'Barjavel','René',1911,'français'),
(8,'Boulle','Pierre',1912,'français'),
(9,'Van Vogt','Alfred Elton',1912,'anglais'),
(10,'Verne','Jules',1828,'français');
Pour les livres :
INSERT INTO LIVRES
(id,titre,id_auteur,ann_publi,note)
VALUES
(1,'1984',1,1949,10),
(2,'Dune',2,1965,8),
(3,'Fondation',3,1951,9),
(4,'Le meilleur des mondes',4,1931,7),
(5,'Fahrenheit 451',5,1953,7),
(6,'Ubik',6,1969,9),
(7,'Chroniques martiennes',5,1950,8),
(8,'La nuit des temps',7,1968,7),
(9,'Blade Runner',6,1968,8),
(10,'Les Robots',3,1950,9),
(11,'La Planète des singes',8,1963,8),
(12,'Ravage',7,1943,8),
(13,'Le Maître du Haut Château',6,1962,8),
(14,'Le monde des Ā',9,1945,7),
(15,'La Fin de l'éternité',3,1955,8),
(16,'De la Terre à la Lune',10,1865,10);
Exécutons maintenant quelques requêtes :
SELECT titre FROM LIVRES
WHERE ann_publi> 1960
SELECT * FROM AUTEURS
where nom='Asimov'
SELECT * FROM LIVRES
JOIN AUTEURS on livres.id_auteur=auteurs.id
SELECT titre FROM LIVRES
JOIN AUTEURS on livres.id_auteur=auteurs.id
WHERE auteurs.nom='Asimov'
Insérer un nouvel enregistrement, supprimer un enregistrement et modifier un enregistrement
Comme nous avons créé cette base de données, nous en somme propriétaire et nous pouvons insérer un nouvel enregistrement et également en supprimer.
Pour insérer un nouvel auteur :
INSERT INTO AUTEURS
(id,nom,prenom,ann_naissance,langue_ecriture)
VALUES
(11,'Simmons','Dan',1948,'anglais')
Pour insérer un nouveau livre :
INSERT INTO LIVRES
(id,titre,id_auteur,ann_publi,note)
VALUES
(17,'Hypérion',11,1991,10)
Pour modifier un enregistrement :
UPDATE LIVRES
SET note=7
WHERE titre = 'Hypérion'
Pour supprimer un enregistrement :
DELETE FROM LIVRES
WHERE titre='Hypérion'
Exercice :
Écrire des requêtes pour :
attribuer la note de 10 à tous les livres écrits par Asimov publiés après 1950
supprimer les livres publiés avant 1945
Simulation : Exercice
Créer une base de données 'mon_entreprise.db' dont le schéma relationnel est :

Ajouter des enregistrements puis faire afficher la ou les commandes d'un client.