Aller au contenu

Bases de données

Notions Commentaires
Vocabulaire des bases de données : tables ou relations, attributs ou colonnes, domaine, schéma de tables, enregistrements ou lignes, types de données. On présente ces concepts à travers de nombreux exemples. On s’en tient à une notion sommaire de domaine : entier, flottant, chaîne ; aucune considération quant aux types des moteurs SQL n’est au programme. Aucune notion relative à la représentation des dates n’est au programme ; en tant que de besoin on s’appuie sur des types numériques ou chaîne pour lesquels la relation d’ordre coïncide avec l’écoulement du temps. Toute notion relative aux collations est hors programme ; en tant que de besoin on se place dans l’hypothèse que la relation d’ordre correspond à l’ordre lexicographique usuel.
Clé primaire. Une clé primaire n’est pas forcément associée à un unique attribut même si c’est le cas le plus fréquent. La notion d’index est hors programme.
Entités et associations, clé étrangère. On s’intéresse au modèle entité–association au travers de cas concrets d’associations 1 − 1, 1 − ∗, ∗ − ∗. Séparation d’une association ∗ − ∗ en deux associations 1 − ∗. L’utilisation de clés primaires et de clés étrangères permet de traduire en SQL les associations 1 − 1 et 1 − ∗.
Requêtes SELECT avec simple clause WHERE (sélection), projection, renommage AS.
Utilisation des mots-clés DISTINCT, LIMIT, OFFSET, ORDER BY.
Opérateurs ensemblistes UNION, INTERSECT et EXCEPT, produit cartésien.
Les opérateurs au programme sont +, -, *, / (on passe outre les subtilités liées à la division entière ou flottante), =, <>, <, <=, >, >=, AND, OR, NOT, IS NULL, IS NOT NULL.
Jointures internes T1 JOIN T2 ... JOIN Tn ON φ, externes à gauche T1 LEFT JOIN T2 ON φ. On présente les jointures (internes) en lien avec la notion d’associations entre entités.
Agrégation avec les fonctions MIN, MAX, SUM, AVG et COUNT, y compris avec GROUP BY. Pour la mise en œuvre des agrégats, on s’en tient à la norme SQL99. On présente quelques exemples de requêtes imbriquées.
Filtrage des agrégats avec HAVING. On marque la différence entre WHERE et HAVING sur des exemples.

Compléments AGREG : bases de données

  • Création, suppression, modification de tables au travers du langage de requêtes SQL.
  • Opérateurs de l’algèbre relationnelle et leurs propriétés : application à l’optimisation de requêtes.