Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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] philinfo: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
-<html><p style="color:red">En cours de modification</p</html>+
 {{ :info:bdd:sqlite.jpg?nolink&250|}} {{ :info:bdd:sqlite.jpg?nolink&250|}}
  
Ligne 34: Ligne 34:
  
 <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> \\ <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 ====
Ligne 46: Ligne 47:
  
 === 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|}}
Ligne 88: Ligne 88:
  
 === 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 IF EXISTS** //nomtable//;</callout>   
 + 
 +<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|}} {{ :web:insertinto.png?nolink|}}
Ligne 239: Ligne 242:
 </code> </code>
  
-==== 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>   * **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>+ 
 + 
 +<callout type="info" icon="true">Les contraintes d’intégrité dans un SGBD sont des règles imposées aux données pour garantir leur cohérence, leur validité et leur fiabilité. Elles forment la “garde‑fou” logique d’une base relationnelle.</callout> 
 + 
 +===🧱 3.1 Intégrité de domaine === 
 +  * **Objectif** : empêcher des valeurs absurdes ou incohérentes. 
 + 
 +<callout type="warning" color="orange" icon="true">Chaque attribut doit respecter un type, un format et éventuellement un ensemble de valeurs autorisées.</callout> 
 + 
 +<code *.sql> 
 +age INTEGER CHECK(age >= 0) 
 +email TEXT NOT NULL 
 +statut CHECK(statut IN ('actif','inactif')) 
 +</code> 
 + 
 +\\ 
 + 
 +===🔑 3.2 Intégrité de clé=== 
 +  * **Objectif** Garantir l’unicité et l’identification des tuples. 
 + 
 +  * **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="warning" color="orange" icon="true">Elle impose que la valeur existe dans la table référencée.</callout> 
 + 
 +<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) 
 +</code> 
 + 
 +\\ 
 + 
 +===📦 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="info" color="blue" icon="true">Assurée par les propriétés ACID</callout> 
 +^ Propriété   ^ Rôle                                 ^ 
 +| Atomicité   | Tout ou rien                         | 
 +| Cohérence   | Respect des contraintes avant/après 
 +| Isolation   | Transactions indépendantes           | 
 +| Durabilité  | Les données validées persistent      | 
 + 
 +  * **Exemple** 
 +{{ :info:bdd:exemple_integrite.png?nolink |}}
  • info/bdd/sqlitevscode.1709973344.txt.gz
  • Dernière modification : 2025/06/19 19:24
  • (modification externe)