Attribut ou ensemble d'attributs qui identifie de façon unique chaque ligne (tuple) d'une table (relation). Contraintes : unicité (pas deux lignes avec la même valeur) et non-nullité (ne peut pas être NULL). En pratique, souvent un identifiant entier auto-incrémenté (id INTEGER AUTO_INCREMENT).
Clé étrangère (FOREIGN KEY)
Attribut d'une table qui référence la clé primaire d'une autre table. Garantit l'intégrité référentielle : impossible d'insérer une valeur qui ne correspond à aucune clé primaire dans la table référencée. Matérialise les associations entre entités (un élève appartient à une classe).
Normalisation (1NF, 2NF, 3NF)
Processus d'organisation des tables pour éliminer la redondance et les anomalies. 1NF : valeurs atomiques (pas de listes dans une cellule). 2NF : dépendance fonctionnelle complète à la clé primaire. 3NF : pas de dépendance transitive entre attributs non-clés. Chaque table modélise un seul concept.
SQL — les requêtes essentielles
SELECT … FROM … WHERE
Syntaxe de base : SELECT col1, col2 FROM table WHERE condition ORDER BY col LIMIT n. Clauses avancées : GROUP BY (regrouper les lignes) + HAVING (filtrer sur les groupes). Fonctions d'agrégation : COUNT(), SUM(), AVG(), MAX(), MIN(). L'ordre d'exécution : FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY.
JOIN — les jointures
INNER JOIN : retourne les lignes ayant une correspondance dans les deux tables. LEFT JOIN : toutes les lignes de la table gauche + correspondances droite (NULL si pas de correspondance). RIGHT JOIN : inverse. Syntaxe : SELECT * FROM A INNER JOIN B ON A.id = B.a_id. Les jointures sont fondamentales pour interroger plusieurs tables liées.
INSERT, UPDATE, DELETE
INSERT INTO table (col1, col2) VALUES (val1, val2) : ajouter une ligne. UPDATE table SET col1=val1 WHERE condition : modifier. DELETE FROM table WHERE condition : supprimer. ATTENTION CRITIQUE : oublier WHERE dans UPDATE/DELETE affecte TOUTES les lignes de la table — erreur fréquente et destructrice.
SGBDR et propriétés ACID
Propriétés ACID
Atomicité : une transaction réussit entièrement ou échoue entièrement (pas d'état intermédiaire). Cohérence : la base reste dans un état valide après chaque transaction. Isolation : les transactions concurrentes ne s'interfèrent pas. Durabilité : une transaction validée (COMMIT) est permanente même en cas de panne.