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.