Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révisionLes deux révisions suivantes |
info:bdd:sqlitevscode [2024/03/09 07:32] – [2.7 Interroger la base] phil | info:bdd:sqlitevscode [2024/03/09 09:36] – [2.5 Supprimer une table] phil |
---|
| |
===== SQLite dans VSCode ===== | ===== SQLite dans VSCode ===== |
[Mise à jour le 8/3/2024] | [Mise à jour le 9/3/2024] |
<html><p style="color:red">En cours de modification</p</html> | <html><p style="color:red">En cours de modification</p</html> |
{{ :info:bdd:sqlite.jpg?nolink&250|}} | {{ :info:bdd:sqlite.jpg?nolink&250|}} |
| |
==== 1. Présentation ==== | ==== 1. Présentation ==== |
<callout type="primary" icon="true">Le paragraphe "Programmation" fait référence au projet VSCode contenant la base //sejour.db//. A <html><a href = "https://webge.fr/doc/tnsi/tp/BDD/TNSI_TP1_BDD_SQLite_VSCode_corr.zip" target="_blank" title="webge.fr">télécharger.</a></html> pour tester les exemples</callout> | <callout type="primary" icon="true">Le paragraphe "Programmation" fait référence au projet VSCode contenant la base //sejour.db//.Téléchargeable <html><a href = "https://webge.fr/doc/tnsi/tp/BDD/TNSI_TP1_BDD_SQLite_VSCode_corr.zip" target="_blank" title="webge.fr"><b>ici</b></a></html> pour tester les exemples</callout> |
| |
* **MCD** | * **MCD** |
| |
Remarque \\ | Remarque \\ |
- Chaque client séjourne dans une à plusieurs station \\ | - Chaque client séjourne dans une à plusieurs stations \\ |
- Chaque station accueille zéro ou plusieurs clients | - Chaque station accueille zéro ou plusieurs clients |
| |
Remarque : les flèches pointent vers les parents. | Remarque : les flèches pointent vers les parents. |
| |
<callout type="warning" title="PREALABLE" color="red" icon="true">**SQLITE3** doit être installé sur le PC. Voir <html><a href= "https://www.sqlitetutorial.net/download-install-sqlite/" target="_blank">How To Download & Install SQLite Tools</a></html></callout> | <callout type="warning" title="AVANT de COMMENCER" color="red" icon="true">**SQLITE3** doit être installé sur le PC (voir <html><a href= "https://www.sqlitetutorial.net/download-install-sqlite/" target="_blank">How To Download & Install SQLite Tools</a></html>). L'<html><a href="https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&ssr=false#overview" target="_blank">extension SQLite</a></html> doit être installée dans VSCode.</callout> \\ |
| |
====2. Programmation ==== | ====2. Programmation ==== |
| |
=== 2.1 Créer une base === | === 2.1 Créer une base === |
{{ :info:bdd:sejour1.png?nolink&180|}} | {{ :info:bdd:sejour1.png?nolink&150|}} |
- Créer un **répertoire** et l'ouvrir dans VSCode (Exemple ci-contre : **Sejours**) | - Créer un **répertoire** et l'ouvrir dans VSCode (Exemple ci-contre : **Sejours**) |
- Créer un **fichier** avec l'extension **.db** (Exemple : //sejour.db//) | - Créer un **fichier** avec l'extension **.db** (Exemple : //sejour.db//) |
| |
<callout type="warning" icon="true">L’extension de fichier **.db** contient la base de données créée avec le système de gestion de base de données **SQLite**.</callout> | <callout type="warning" icon="true">L’extension de fichier **.db** contient la base de données créée avec le système de gestion de base de données **SQLite**.</callout> \\ |
| |
=== 2.2 Ouvrir la base dans l'explorateur Sqlite === | === 2.2 Ouvrir la base dans l'explorateur Sqlite === |
//Exemple// : sélection de sejours.db | //Exemple// : sélection de sejours.db |
{{ :informatique:bdd:sqlitevs2.png?nolink|}} | {{ :informatique:bdd:sqlitevs2.png?nolink|}} |
<callout type="tip" icon="true">Faire un **clic droit** sur le fichier **.db** et **Open database** ou **F1 -> SQLite: Open database** et choisir la base de données.L'**explorateur** Sqlite (**SQLITE EXPLORER**) s'ouvre et affiche la base sélectionnée en bas et à gauche de la fenêtre. </callout> | <callout type="tip" icon="true">Faire un **clic droit** sur le fichier **.db** et sélectionner **Open database** ou **F1 -> SQLite: Open database** et choisir la base de données.L'**explorateur** Sqlite (**SQLITE EXPLORER**) s'ouvre et affiche la base sélectionnée en bas et à gauche de la fenêtre. </callout> \\ |
| |
=== 2.3 Se connecter à la base === | === 2.3 Se connecter à la base === |
Cliquer sur SQLite dans la barre d'état : {{:informatique:bdd:sqlitechoix.png?nolink|}} puis sélectionner la base de données {{:informatique:bdd:sqlitechoix2.png?nolink|}}. | - Dans un **nouveau projet**, cliquer sur {{:info:bdd:sqlitechoix.png?nolink|}} dans la barre d'état et sélectionner **SQLite**. Dans un **projet existant**, cliquer sur un fichier **.sql** pour faire apparaître les données dans la barre d'état.\\ |
\\ | - Cliquer sur {{:info:bdd:sqlitechoix2.png?nolink|}} et sélectionner la base à utiliser (Ex : //sejour.db//). \\ \\ |
{{ :web:createtable.png?nolink|}} | {{ :web:createtable.png?nolink|}} |
=== 2.4 Créer une table === | === 2.4 Créer une table === |
* **Ressource** : <html><a href="https://www.sqlitetutorial.net/sqlite-create-table/" target="_blank">SQLITE tutorial - CREATE TABLE</a></html> | * **Ressource** : <html><a href="https://www.sqlitetutorial.net/sqlite-create-table/" target="_blank">SQLITE tutorial - CREATE TABLE</a></html> |
| |
<callout type="warning" icon="true">Contrairement à la norme SQL et aux autres systèmes de base de données, | <callout type="warning" icon="true">Contrairement à la norme SQL et aux autres systèmes de base de données, |
seulement trois modifications sont possibles:\\ | seulement trois modifications sont possibles:\\ |
- **Ajouter une nouvelle colonne** à une table.\\ | - **Ajouter une nouvelle colonne** à une table.\\ |
En dehors de ces deux possibilités, **la table devra être reconstruite**. **Le | En dehors de ces deux possibilités, **la table devra être reconstruite**. **Le |
nom des attributs doit donc être choisi avec soin**.</callout> | nom des attributs doit donc être choisi avec soin**. |
| </callout> |
| |
{{ :info:bdd:sejour2.png?nolink|}} | {{ :info:bdd:sejour2.png?nolink|}} |
- Faire un clic droit sur le nom de la base dans **SQLITE EXPLORER** et sélectionner **New Query**. | - Faire un clic droit sur le nom de la base dans **SQLITE EXPLORER** et sélectionner **New Query**. \\ |
* Une nouvelle page avec l'extension .sql s'ouvre dans l'éditeur. | * Une nouvelle page avec l'extension .sql s'ouvre dans l'éditeur. \\ |
* L'enregistrer avec le nom //creationtables.sql//. | * L'enregistrer avec le nom //creation.sql//. Les requêtes SQL de création des tables seront sauvegardées dans ce fichier. \\ |
- Nous allons placer les requêtes SQL de création des tables dans ce fichier. \\ Entrer la requête ci-dessous dans le fichier //creationtables.sql//.{{ :web:infosql.png?nolink|}}<code sql *.sql> | * Entrer la requête ci-dessous dans le fichier //creation.sql//. {{ :web:infosql.png?nolink|}}<code sql *.sql> |
CREATE TABLE clients | CREATE TABLE clients |
( | ( |
id INTEGER PRIMARY KEY, | id INTEGER PRIMARY KEY, -- alias de rowid |
nom VARCHAR(50), | nom VARCHAR(50), |
prenom VARCHAR(50), | prenom VARCHAR(50), |
solde INT | solde INT |
); | ); |
</code>{{ :info:bdd:sejour5.png?nolink|}} | </code> |
- Sélectionner la requête, faire un clic droit dessus et sélectionner **Run Selected Query**. Si la requête est correcte, la page ci-dessous s'ouvre pour indiquer que la table a été créé. {{ :info:bdd:sejour3.png?nolink&600 |}} | - Sélectionner la requête, faire un clic droit dessus et sélectionner **Run Selected Query**. Si la requête est correcte, la page ci-dessous s'ouvre pour indiquer que la table a été créé. {{ :info:bdd:sejour5.png?nolink|}} {{ :info:bdd:sejour3.png?nolink&600 |}} |
- Rafraîchir la base en cliquant sur l'icône {{:info:bdd:sejour4.png?nolink|}} dans **SQLITE EXPLORER** pour voir apparaître la table //clients//. | - Rafraîchir la base en cliquant sur l'icône {{:info:bdd:sejour4.png?nolink|}} dans **SQLITE EXPLORER** pour voir apparaître la table //clients//. |
| |
<callout type="warning" title="A voir" color="red" icon="true">Le **paramétrage de VSCode** pour la prise en compte des **contraintes de clé étrangère** est traité au paragraphe 3 "**Contraintes d'intégrité**".</callout> | <callout type="warning" title="CONTRAINTES DE CLÉ ÉTRANGÈRE" color="red" icon="true">Le **paramétrage de VSCode** pour la prise en charge des **contraintes de clé étrangère** est traité au paragraphe 3 "**Contraintes d'intégrité**".</callout> \\ |
| |
=== 2.5 Supprimer une table === | === 2.5 Supprimer une table === |
<callout type="warning" icon="true">**DROP TABLE** //nomtable//;</callout> | <callout type="warning" icon="true">**DROP TABLE** //nomtable//;</callout> |
{{ :web:insertinto.png?nolink|}} | |
| |
| <html><p style="color:red">Poursuivre les modifications ici</p</html> |
| \\ |
=== 2.6 Ajouter et modifier des données dans une table === | === 2.6 Ajouter et modifier des données dans une table === |
| {{ :web:insertinto.png?nolink|}} |
== 2.6.1 Ajouter des données == | == 2.6.1 Ajouter des données == |
* **Ressource** : <html><a href="https://www.sqlitetutorial.net/sqlite-insert/" target="_blank">SQLITE tutorial - INSERT INTO</a></html> | * **Ressource** : <html><a href="https://www.sqlitetutorial.net/sqlite-insert/" target="_blank">SQLITE tutorial - INSERT INTO</a></html> |
('Jonhson','Britney','New York','Amérique',6721); | ('Jonhson','Britney','New York','Amérique',6721); |
</code> | </code> |
- Entrer cette requête dans le même fichier, la sélectionner et l'exécuter. La table doit maintenant correspondre à la figure ci-dessous. | - Entrer cette requête dans le même fichier, la sélectionner et l'exécuter. La table doit maintenant correspondre à la figure ci-dessous. \\ |
| |
{{ :web:update.png?nolink|}} | {{ :web:update.png?nolink|}} |
DELETE FROM Clients | DELETE FROM Clients |
WHERE Id>2 -- Supprime la troisième ligne dans la table | WHERE Id>2 -- Supprime la troisième ligne dans la table |
</code> | </code> \\ |
| |
=== 2.7 Interroger la base === | === 2.7 Interroger la base === |
| |
==== 3. Contraintes d'intégrité ==== | ==== 3. Contraintes d'intégrité ==== |
| * **Ressources** : <html><a href="https://www.sqlitetutorial.net/sqlite-foreign-key/" target="_blank">SQLITE tutorial - FOREIGN KEY</a> et <a href="https://marketplace.visualstudio.com/items?itemName=alexcvzz.vscode-sqlite&ssr=false#overview" target="_blank">Extension VSCode SQLite</a></html> |
| <html><p style="color:red">A faire</p</html> |