Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| info:bdd:sqlitevscode [2024/03/09 09:15] – [1. Présentation] phil | info:bdd:sqlitevscode [2026/01/27 17:12] (Version actuelle) – [1. Présentation] mno | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| ===== SQLite dans VSCode ===== | ===== SQLite dans VSCode ===== | ||
| - | [Mise à jour le 9/3/2024] | + | [Mise à jour le 27/1/2026] |
| - | < | + | |
| {{ : | {{ : | ||
| Ligne 25: | Ligne 25: | ||
| Remarque \\ | Remarque \\ | ||
| - | - Chaque client séjourne dans une à plusieurs | + | - Chaque client séjourne dans une à plusieurs |
| - Chaque station accueille zéro ou plusieurs clients | - Chaque station accueille zéro ou plusieurs clients | ||
| Ligne 34: | Ligne 34: | ||
| <callout type=" | <callout type=" | ||
| + | |||
| ====2. Programmation ==== | ====2. Programmation ==== | ||
| Ligne 46: | Ligne 47: | ||
| === 2.2 Ouvrir la base dans l' | === 2.2 Ouvrir la base dans l' | ||
| - | |||
| //Exemple// : sélection de sejours.db | //Exemple// : sélection de sejours.db | ||
| {{ : | {{ : | ||
| Ligne 52: | Ligne 52: | ||
| === 2.3 Se connecter à la base === | === 2.3 Se connecter à la base === | ||
| - | - Cliquer | + | - Dans un **nouveau projet**, cliquer |
| - Cliquer sur {{: | - Cliquer sur {{: | ||
| {{ : | {{ : | ||
| === 2.4 Créer une table === | === 2.4 Créer une table === | ||
| * **Ressource** : < | * **Ressource** : < | ||
| + | |||
| <callout type=" | <callout type=" | ||
| seulement trois modifications sont possibles: | seulement trois modifications sont possibles: | ||
| Ligne 63: | Ligne 64: | ||
| - **Ajouter une nouvelle colonne** à une table.\\ | - **Ajouter une nouvelle colonne** à une table.\\ | ||
| En dehors de ces deux possibilités, | En dehors de ces deux possibilités, | ||
| - | nom des attributs doit donc être choisi avec soin**.</ | + | nom des attributs doit donc être choisi avec soin**. |
| + | </ | ||
| {{ : | {{ : | ||
| - | - 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' | + | * Une nouvelle page avec l' |
| - | * L' | + | * L' |
| - | - 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//.{{ : | + | * Entrer la requête ci-dessous dans le fichier //creation.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), | ||
| Ligne 79: | Ligne 81: | ||
| solde INT | solde INT | ||
| ); | ); | ||
| - | </ | + | </ |
| - | - 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' | + | - 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' |
| - Rafraîchir la base en cliquant sur l' | - Rafraîchir la base en cliquant sur l' | ||
| Ligne 86: | Ligne 88: | ||
| === 2.5 Supprimer une table === | === 2.5 Supprimer une table === | ||
| - | <callout type=" | + | <callout type=" |
| + | |||
| + | < | ||
| + | \\ | ||
| === 2.6 Ajouter et modifier des données dans une table === | === 2.6 Ajouter et modifier des données dans une table === | ||
| {{ : | {{ : | ||
| Ligne 237: | Ligne 242: | ||
| </ | </ | ||
| - | ==== 3. Contraintes d' | + | \\ |
| + | |||
| + | ==== 3. Contraintes d' | ||
| * **Ressources** : < | * **Ressources** : < | ||
| - | <html><p style=" | + | |
| + | |||
| + | <callout type=" | ||
| + | |||
| + | ===🧱 3.1 Intégrité de domaine === | ||
| + | * **Objectif** : empêcher des valeurs absurdes ou incohérentes. | ||
| + | |||
| + | <callout type=" | ||
| + | |||
| + | <code *.sql> | ||
| + | age INTEGER CHECK(age >= 0) | ||
| + | email TEXT NOT NULL | ||
| + | statut CHECK(statut IN (' | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ===🔑 3.2 Intégrité de clé=== | ||
| + | * **Objectif** | ||
| + | |||
| + | * **Clé primaire (PRIMARY KEY)** \\ | ||
| + | * Identifie chaque ligne de manière unique | ||
| + | * Ne peut pas être NULL | ||
| + | |||
| + | * **Clé candidate** \\ | ||
| + | * Attribut(s) pouvant servir de clé primaire | ||
| + | |||
| + | * **Clé unique (UNIQUE)** \\ | ||
| + | * Valeurs distinctes mais peut accepter NULL | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ===🔗 3.3 Intégrité référentielle === | ||
| + | * **Objectif** : : éviter les “orphelins” et maintenir la cohérence des relations. | ||
| + | |||
| + | <callout type=" | ||
| + | |||
| + | <code *.sql> | ||
| + | ON DELETE RESTRICT → interdit la suppression si des enfants existent | ||
| + | ON DELETE CASCADE → supprime aussi les enfants | ||
| + | ON UPDATE CASCADE → met à jour les clés étrangères | ||
| + | SET NULL / SET DEFAULT | ||
| + | </code> | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ===✔️ 3.4 Contraintes CHECK === | ||
| + | * **Objectif** : permettent d’exprimer des règles métier plus complexes. | ||
| + | <code *.sql> | ||
| + | CHECK(salaire > 0) | ||
| + | CHECK(date_fin >= date_debut) | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ===📦 3.5 Contraintes d’unicité et de non nullité === | ||
| + | * **UNIQUE** \\ Empêche les doublons (ex : numéro de sécurité sociale) | ||
| + | |||
| + | * **NOT NULL** \\ Oblige la présence d’une valeur (ex : nom d’un client) | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ===🧮 3.6 Intégrité transactionnelle === | ||
| + | <callout type=" | ||
| + | ^ Propriété | ||
| + | | Atomicité | ||
| + | | Cohérence | ||
| + | | Isolation | ||
| + | | Durabilité | ||
| + | |||
| + | * **Exemple** | ||
| + | {{ : | ||