Bases de données relationnelles — SQL
1. Introduction aux bases de données relationnelles
Une base de données relationnelle stocke des données dans des tables (ou relations) composées de lignes (enregistrements) et de colonnes (attributs). Chaque table a une clé primaire (identifiant unique) et peut avoir des clés étrangères pour lier les tables entre elles.
2. Le langage SQL
SQL (Structured Query Language) permet de manipuler les données. Les commandes principales sont :
- SELECT : extraire des données
- INSERT : ajouter des données
- UPDATE : modifier des données
- DELETE : supprimer des données
Exemple de requête SELECT
SELECT nom, prenom FROM eleves WHERE classe = 'Terminale NSI';
Cette requête récupère les noms et prénoms des élèves en Terminale NSI.
3. Jointures et contraintes
Les jointures permettent de combiner des données de plusieurs tables. Par exemple, pour afficher les notes des élèves avec leurs noms :
SELECT e.nom, n.valeur
FROM eleves e
JOIN notes n ON e.id = n.eleve_id;
Contraintes importantes
- NOT NULL : colonne obligatoire
- UNIQUE : valeur unique dans la colonne
- PRIMARY KEY : clé primaire (unique + NOT NULL)
- FOREIGN KEY : clé étrangère (lien vers une autre table)
4. Agrégations et groupements
SQL permet de calculer des statistiques avec GROUP BY et des fonctions d'agrégation :
SELECT classe, AVG(note) as moyenne
FROM notes
GROUP BY classe;
5. Index et optimisation
Un index accélère les recherches sur une colonne. Par exemple :
CREATE INDEX idx_nom ON eleves(nom);
Cela améliore les performances des requêtes sur le nom des élèves.
6. Sécurité et droits
SQL permet de gérer les droits d'accès avec GRANT et REVOKE :
GRANT SELECT ON eleves TO professeur;