05 Création d'une base de données
InGen
La société InGen; spécialisée dans la création de créatures préhistoriques génétiquement modifiées; souhaite créer une base de données pour son SI.
La majeure partie de son activité consiste à faire naı̂tre des dinosaures et à les présenter au sein de Jurassic Park. Les dinosaures sont définis par un nom, une date de naissance et une espèce. Une espèce est définie par un nom.
Créer la base de données d'InGen
- Quelle est la commande permettant de lancer l'utilitaire CLI de sqlite ?
- Créer la la base de données d'InGen sous le nom
ingen.sqlite3
.
Création de notre première table
- Dans un fichier
sql
(schema.sql par exemple), écrivez la requête de création de la tablespecies
. - Éxécutez le fichier via le pragma
read
sqlite> .read schema.sql
Support des clé étrangéres
Pensez à activer le support des clé étrangéres via la PRAGMA foreign keys
- Vérification de l'activation des clé étrangéres (ce n'est pas le cas)
sqlite> PRAGMA foreign_keys;
foreign_keys
------------
0
- Activation et vérification de l'activation des clé étrangéres
sqlite> PRAGMA foreign_keys = ON;
sqlite> PRAGMA foreign_keys;
foreign_keys
------------
1
⚠ Le support des clé étrangéres doit être réactivé à chaque connexion, pensez pour cela à indiquer
PRAGMA foreign_keys = ON;
en haut de tout vos fichiers.sql
.
Finalisation de notre schéma
-
Ajoutez maintenant la création de la table
dinosaurs
dans votre fichier et éxécutez le. -
Vérifiez que les tables ont bien étés créées.
sqlite> .tables
- Ajoutez une colonne location de type
TEXT
à la tabledinosaurs
.
Insertion de données
- Insérez les données suivante dans la table
species
name name_meaning
----------- -----------------
Triceratops Three-horned face
Stegosaurus Roofed lizard
Tyrannosaur Tyrant Lizard Kin
Diplodocus Double beat
-
Mettez à jour l'espèce diplodocus avec comme signification de nom "Double beam" au lieu de double beat.
-
Insérez les données suivante dans la table
dinosaurs
name birthday specie_id
---------- ---------- ----------
Marie 1991/12/15 1
Louis 1993/05/05 2
Freddy 1994/04/03 3
Nessie 1991/11/20 4
Requêtes
Pour chaque question pensez à écrire la version de la requête en algèbre relationnel puis en SQL que vous sauvegarderez dans un fichier avec le résultat de chaque appel.
- Lister les noms des dinosaures,
- Lister les noms d'espèce et leur signification,
- Lister les différents dinosaures avec leurs espèce.