🇫🇷 FranceInformatique NSITerminaleBases de données SQL
🗄️D03🔥 Top Bac🎓 NSI Terminale · Coef. 16

🗄️ Bases de données SQL

Modèle relationnel (table, clé primaire, clé étrangère), SELECT complet, INNER JOIN / LEFT JOIN, GROUP BY / HAVING, sous-requêtes, normalisation 3NF.

🗄️ SQL — Sélection et filtrage
Modèle relationnel
Définition
TABLE (relation) : lignes (tuples) × colonnes (attributs)
Clé primaire (PK) : identifie uniquement chaque ligne
Clé étrangère (FK) : référence vers PK d'une autre table

EXEMPLE :
ELEVES(id PK, nom, classe_id FK→CLASSES.id)
CLASSES(id PK, nom, niveau)
NOTES(id PK, eleve_id FK, matiere, note)

Intégrité référentielle :
FK doit pointer vers PK existante (sinon erreur)

CRÉATION :
CREATE TABLE eleves (
  id INTEGER PRIMARY KEY,
  nom TEXT NOT NULL,
  classe_id INTEGER REFERENCES classes(id)
);
SQL — SELECT complet
Notion clé
SYNTAXE COMPLÈTE :
SELECT col1, col2, COUNT(*) AS nb
FROM table
WHERE condition
GROUP BY col
HAVING condition_agregat
ORDER BY col ASC/DESC
LIMIT n;

OPÉRATEURS WHERE :
=, !=, <, >, <=, >=
LIKE '%motif%'   → contient 'motif'
LIKE 'A%'       → commence par A
IN (v1, v2)      → dans la liste
BETWEEN 10 AND 20 → entre 10 et 20
IS NULL / IS NOT NULL
AND / OR / NOT

AGRÉGATION :
COUNT(*) SUM(col) AVG(col) MAX(col) MIN(col)

NOTE : WHERE filtre avant agrégation
        HAVING filtre après agrégation
Exercices
EX-BD1FacileRequêtes SELECT

Table FILMS(id, titre, annee, genre, note). Écrire les requêtes SQL pour : 1. Tous les films de genre 'Action' 2. Films de 2020+, triés par note décroissante 3. Nombre de films par genre

🤖 Résoudre avec IA
← Précédent
Algorithmes avancés
Suivant →
Programmation avancée Python