ProgrammeL2 · S4Données et logique
L2S4Données et logique

Bases de données et SQL

Concevoir un modèle relationnel, normaliser les tables et interroger des données avec SQL.

#SQL#modèle relationnel#normalisation#transactions
5chapitres
5exercices corrigés
8questions de quiz
0/5chapitres maîtrisés
À LA FIN DE CE COURS

Objectifs d’apprentissage

  • Modéliser un besoin de données en relations, clés, dépendances et contraintes cohérentes.
  • Écrire et justifier des requêtes SQL combinant filtres, jointures, agrégations et sous-requêtes.
  • Normaliser un schéma relationnel et expliquer les anomalies qu’une décomposition évite.
  • Mettre en œuvre une transaction sûre en mobilisant les propriétés ACID et la concurrence.
  • Diagnostiquer une requête et proposer un index ou une amélioration mesurée sans sacrifier la qualité des données.
AVANT DE COMMENCER

Prérequis utiles

  • Manipuler variables, tables et ensembles; savoir lire un schéma simple.
  • Connaître les comparaisons, les fonctions d’agrégation et le raisonnement logique élémentaire.
  • Savoir exécuter des commandes dans un terminal ou un environnement SQL et interpréter un résultat tabulaire.
CHAPITRE 01 L2 · S4

Modèle relationnel

42 min de lectureLeçon originale de révision

Modèle relationnel, clés et contraintes

Une relation est un ensemble de tuples décrits par des attributs; une table SQL en est une représentation pratique, mais l’ordre des lignes n’a pas de sens. Le schéma ETUDIANT(id, nom, filiere) fixe les colonnes et leurs domaines. Une clé candidate identifie chaque tuple; la clé primaire en choisit une, tandis qu’une clé étrangère référence une clé d’une autre table. Les contraintes NOT NULL, UNIQUE et CHECK expriment des invariants contrôlables par le SGBD. Éviter de confondre identifiant technique et information métier: un numéro étudiant peut changer de format, alors qu’un identifiant interne reste stable.

Exemple guidé: pour INSCRIPTION(etudiant_id, ue_id, annee), l’inscription est unique par (etudiant_id, ue_id, annee). On choisit donc cette clé composée; etudiant_id référence ETUDIANT(id) et ue_id référence UE(id). Deux inscriptions identiques sont refusées, et une inscription orpheline aussi.

Point de contrôle. Pour chaque table, nommer la clé primaire, les clés étrangères et une valeur qui violerait une contrainte.

Points à retenir
  • Une relation est définie par ses attributs et ses tuples, indépendamment de l’ordre d’affichage.
  • La clé primaire identifie; la clé étrangère référence une clé d’une autre table.
  • Les contraintes déclaratives préviennent doublons, valeurs absentes et références orphelines.
Synthèse du chapitre

Une relation est un ensemble de tuples décrits par des attributs; une table SQL en est une représentation pratique, mais l’ordre des lignes n’a pas de sens.