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 [2026/01/27 16:13] – mno | info:bdd:sqlitevscode [2026/01/27 17:12] (Version actuelle) – [1. Présentation] mno | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| ===== SQLite dans VSCode ===== | ===== SQLite dans VSCode ===== | ||
| [Mise à jour le 27/1/2026] | [Mise à jour le 27/1/2026] | ||
| - | < | + | |
| {{ : | {{ : | ||
| Ligne 35: | Ligne 35: | ||
| <callout type=" | <callout type=" | ||
| - | \\ | ||
| ====2. Programmation ==== | ====2. Programmation ==== | ||
| Ligne 48: | 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 246: | Ligne 244: | ||
| \\ | \\ | ||
| - | ==== 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** | ||
| + | {{ : | ||