Programme

NSI (Spé) — Bases de données

Bases de données relationnelles et SQL avancé

Modèle relationnel, schéma, clés primaires et étrangères, requêtes SQL avancées (jointures, agrégation)

Résumé synthétiqueFiche en 5 sectionsQuiz de 10 questionsGratuit, sans pub

Résumé

Comment stocker des millions de données sans les dupliquer ni se contredire ? Le modèle relationnel range tout en tables : des colonnes (attributs) et des lignes (enregistrements). Chaque table a une clé primaire qui identifie chaque ligne sans ambiguïté, et des clés étrangères qui tissent des liens entre tables. Le langage SQL interroge ces données : on sélectionne (SELECT), on croise plusieurs tables (JOIN), on agrège (COUNT, AVG, SUM) et on regroupe (GROUP BY). Bien conçue — c'est-à-dire normalisée — une base évite la redondance et les incohérences. Mal conçue, elle multiplie les erreurs de mise à jour. Tout l'enjeu : structurer pour ne stocker chaque information qu'une seule fois.

S'entraîner

Questions fréquentes

Les points clés à retenir sur Bases de données relationnelles et SQL avancé, extraits du quiz de révision.

Qu'est-ce qu'une clé primaire ?
Réponse :
Un attribut qui identifie de manière unique chaque enregistrement
La clé primaire identifie de manière unique chaque n-uplet (ligne) d'une table. Elle ne peut pas contenir de doublons ni de valeurs NULL.
Que fait la requête SELECT DISTINCT ville FROM Clients ?
Réponse :
Sélectionne les villes sans doublons
DISTINCT élimine les doublons dans les résultats. La requête retourne la liste des villes uniques présentes dans la table Clients.
Quel type de jointure garde toutes les lignes de la table de gauche ?
Réponse :
LEFT JOIN
LEFT JOIN conserve toutes les lignes de la table de gauche, même celles sans correspondance dans la table de droite (les colonnes de droite seront NULL).
Quelle clause filtre les groupes après un GROUP BY ?
Réponse :
HAVING
HAVING filtre les groupes après l'agrégation. WHERE filtre les lignes individuelles avant le regroupement.