From 26dbcf44a50578988b47fe46878b1f8d011c2ad2 Mon Sep 17 00:00:00 2001 From: medina474 Date: Fri, 12 Sep 2025 11:14:07 +0200 Subject: [PATCH] Les contraintes --- bdd.md | 1 + contraintes.md | 41 +++++++++++++++++++++++++++++++++++++++++ sql.ddl.md | 15 +++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 contraintes.md diff --git a/bdd.md b/bdd.md index 7d6c331..11e3e22 100644 --- a/bdd.md +++ b/bdd.md @@ -86,6 +86,7 @@ RDBMS - [DATA MANIPULATION LANGAGE](dml) (DML) - [DATA CONTROL LANGAGE](dcl) (DCL) - [TRANSACTION CONTROL LANGAGE](tcl) (TCL) +- Les [contraintes](contraintes) - Les [jointures](jointure) - Les [déclencheurs](trigger) - Les [vues](vues) diff --git a/contraintes.md b/contraintes.md new file mode 100644 index 0000000..f0fd865 --- /dev/null +++ b/contraintes.md @@ -0,0 +1,41 @@ +# Contraintes + +> Une contrainte est une règle appliquée à une table de base de données afin de garantir l’intégrité et la cohérence des données. + +Les contraintes permettent : +- d’éviter les incohérences, +- de garantir la validité des informations, +- d’automatiser certaines règles métier. + +## Contrainte NOT NULL + +`NOT NULL`Empêche une colonne de contenir une valeur nulle. + +## Contrainte d'unicité + +`UNIQUE` Garantit que toutes les valeurs d’une colonne (ou d’un ensemble de colonnes) sont uniques. + +Une table peut contenir plusieurs contraintes UNIQUE, mais une seule clé primaire. + +En SQL standard, la valeur NULL est considérée comme « inconnue » et n’est jamais égale à une autre valeur même à un autre NULL. +Dans une colonne avec une contrainte UNIQUE, plusieurs lignes peuvent contenir NULL sans violer la contrainte. + +## Clé primaire + +`PRIMARY KEY` Identifie de manière unique chaque ligne d’une table. Implique automatiquement NOT NULL et UNIQUE. + +Une table ne peut avoir qu’une seule clé primaire (mais composée de plusieurs colonnes si besoin). + +## Clé étrangère + +`FOREIGN KEY` Définit une relation entre deux tables. Garantit que la valeur existe dans la table de référence (intégrité référentielle). + +## Contrôle + +`CHECK` Permet de définir une condition logique sur une colonne ou plusieurs colonnes. + +## Valeur par défaut + +`DEFAULT` Associe une valeur par défaut si aucune n’est fournie lors de l’insertion + + diff --git a/sql.ddl.md b/sql.ddl.md index 59c7949..f398a67 100644 --- a/sql.ddl.md +++ b/sql.ddl.md @@ -27,3 +27,18 @@ La commande ALTER TABLE en SQL permet de modifier une table existante. Idéal po ```sql ALTER TABLE chauffeur; ``` + + +### Ajouter une colonne + +```sql +ALTER TABLE chauffeur + ADD permis text; +``` + +### Supprimer une colonne + +```sql +ALTER TABLE chauffeur + DROP COLUMN permis; +``` \ No newline at end of file