Introduction aux bases de données
- Qu'est-ce qu'une base et un serveur de base de données ?
- Lire un modèle relationnel.
- Composition d'une table. Notion de colonne et de types.
- Clé primaire et unicité.
- Notion d'intégrité référentielle.
- Outil pour interroger une base.
Exercice
Investigation dans la base à la recherche de tables, colonnes et clés.
Extraire les données d'une table
- Qu'est-ce qu'une requête d'extraction ?
- Lister les valeurs à retourner.
- La clause WHERE pour filtrer les données.
- L'absence de valeur (marqueur NULL).
- Retourner des lignes sans doublon (DISTINCT).
- Opérateurs de restriction (BETWEEN, IN, LIKE...).
Exercice
Interrogations de plusieurs tables sur des critères différents.
Interroger les données de plusieurs tables
- Principe des jointures : restituer les informations à partir de plusieurs tables.
- Jointure interne et jointure externe.
- La jointure "naturelle" et ses difficultés.
- Opérateurs ensemblistes (UNION, INTERSECT...).
- Introduction aux vues : principe et intérêt.
Exercice
Réaliser des requêtes avec des jointures et des opérateurs ensemblistes.
Ordonnancement et statistiques
- Trouver des valeurs agrégées (MIN, MAX, AVG, SUM...).
- Calculer des agrégats relatifs avec GROUP BY.
- Filtrer les valeurs agrégées avec HAVING.
- Mélanger agrégats et détails avec OVER.
- Ordonnancement des résultats avec RANK, ROW_NUMBER.
Exercice
Réaliser des requêtes utilisant des calculs simples et agrégats. Sous-totaux et numération.
Présenter et trier les données
- Présenter les données des colonnes avec des alias.
- Conversion d'un type à un autre.
- Effectuer des choix à l'aide de l'opérateur CASE.
- Trier les données avec ORDER BY.
- Opérations sur les chaînes de caractères, sur les dates.
Exercice
Utilisation de fonctions permettant d'améliorer la présentation du résultat des requêtes.
Utiliser des sous-requêtes
- Qu'est-ce qu'une sous-requête ?
- Les différentes typologies de résultats.
- Sous-requêtes liste et opérateurs IN, ANY/SOME et ALL.
- Sous-requêtes corrélées.
Exercice
Ecriture de requêtes incluant des sous-requêtes de différentes formes.