TD-01 : Gestion Compétences via SQLite/SQL (EDC-01-B)

DB Browser - Création de la table

Ouvrir le fichier 01-B-TD01_a.sql avec un éditeur de texte : observez le code SQL qui permet de créer la table :

1
2
CREATE TABLE IF NOT EXISTS competences (
3
  id INTEGER PRIMARY KEY NOT NULL,
4
  code TEXT NOT NULL UNIQUE,
5
  name TEXT NOT NULL UNIQUE,
6
  validation TEXT
7
)
8

Ouvrir DB Browser et créer une nouvelle base de données nommée 01-B-TD01_a.db (l'extension est automatique)

On peut ici créer une nouvelle table : nous utiliserons cette possibilité un peu plus loin, fermez cette fenêtre et ouvrez le fichier sql ci-dessus à l'étape 2.

Dans la procédure 38, vous aviez copié le code SQL dans l'onglet SQL 1.

Ici, on va importer un fichier (rep. 2) qui va présenter plus loin l'avantage de contenir si on le souhaite plusieurs requêtes en une seule fois. L'avantage est que ce fichier SQL peut être exécuté (ou ré-utilisé) dans d'autres logiciels/applications. Une fois ouvert votre fichier, vous accédez à un onglet (rep. 3) qui vous permet de consulter le contenu SQL du fichier.

Exécutez le fichier (rep.4).

Ce premier script SQL permet la création de la table afin d'obtenir une structure de données qui va permettre de saisir ensuite les 5 compétences en respectant certaines règles ou CLAUSES que l'on a spécifié pour les champs (id, code, name) et la table en général.

On pourrait maintenant ajouter des données manuellement, mais nous allons aussi utiliser le langage SQL pour importer directement les données.

Ajout de données

Ouvrir le fichier 01-B-TD01_b.sql avec DB Browser : observez le code SQL qui permet d'ajouter les données :

1
INSERT INTO competences (id, code, name, validation) VALUES
2
(1, 'MAI', 'Maintenir', ''),
3
(2, 'AME', 'Améliorer', ''),
4
(3, 'INS', 'Installer', ''),
5
(4, 'MAN', 'Manager', ''),
6
(5, 'SEC', 'Sécuriser', '');

INSERT INTO suivi du nom de la table permet de définir quels sont les attributs ou colonnes ou champs dont on va fournir les valeurs (Clause VALUES) des différents tuples ou lignes (1 tuple pour 1 compétence)

Enregistrez la base : 01-B-TD01_b.db (l

L'insertion dans la table sera réalisée seulement si les valeurs vérifient les contraintes fixées lors de la création de la table.

Exécutez,

Saisie de données

Pour modifier les données, il faut se positionner sur une ligne et sur une colonne. La modification ne se fait pas directement dans la table, il faudra utiliser la petite fenêtre située sur le côté droit, qui peut permettre de mettre en forme les données, notamment les données structurées de type JSON par exemple.

Afin de mettre en œuvre les règles que l'on a donné lors de la création de la table, il suffit de modifier les données, en essayant de saisir quelque chose qui va à l'encontre de la règle. Pour le code id, tenter de remplacer la valeur 3 par la valeur 2 qui existe déjà. La colonne id étant une clé primaire, il est impossible de saisir deux fois la même valeur dans la colonne. Vous pouvez faire la même chose avec la colonne code qui n'autorise pas non plus les doublons. Si vous souhaitez ajouter une 6e compétence il suffit de se positionner sur la ligne 5, et à l'aide d'un clic droit vous allez pouvoir ajouter un nouvel enregistrement.

Requête SQL 1

Tester une requête SQL qui permet d'afficher seulement les attributs code et name de la compétence

ComplémentCorrection

1
select code, name from competences

Requête SQL 2

Tester une requête SQL qui permet d'afficher le nom des compétences dont l'attribut name contient les caractères « al »

ComplémentCorrection

1
SELECT * FROM competences WHERE name LIKE '%al%'; 

Requête SQL 3

Tester une requête SQL qui permet d'afficher le nom des compétences dont l'attribut name se termine par les caractères « er »

ComplémentCorrection

1
SELECT * FROM competences WHERE name LIKE '%er';  

AttentionSauvegarde

Enregistrez bien votre base de données (.DB). On peut aussi enregistrer le projet de façon à conserver les onglets SQL avec les requêtes que l'on a testé.