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:35] – [2.4 Créer une table] 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 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 88: | 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 239: | 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** | ||
| + | {{ : | ||