INTRODUCTION
- Le modèle relationnel
- Le langage SQL
- PostgreSQL : Architecture et fonctionnalités clés
DEFINITION DES DONNEES (LDD)
- Type de données standard
- Données spécifiques à PostgreSQL
- Création/modification de tables
- Contraintes d’intégrité
- Clés primaires, étrangères et index
- Vues matérialisées vs classiques
- Partage de tables et partitions
MANIPULATION DES DONNEES (LMD)
- Insérer, Modifier et Supprimer des données
- Select simple et avancé
- Critères et fonctions de filtrage
- Fonctions de transformation de données
- Gestion des dates et des heures
- Trier les données, limiter les lignes analysées
REQUETES AVANCEES
- Gestion des transactions
- Common Table Expression (CTE)
- UPDATE utilisant des jointures
- INSERT + SELECT (ON CONFLICT)
- Relations complexes entre tables et jointures avancées
- Jointures (étude détaillée des différents types de jointure et des cas d’utilisations associés)
- Regroupement, agrégation de données
- Post-filtrage, HAVING, OVER
- Sous-requêtes (simples et corrélées)
- Opérations ensemblistes (UNION, EXCEPT, INTERSECT) et CTE récursifs
PROGRAMMATION EN PL/PGSQL
- Création de fonctions : syntaxe et meilleures pratiques
- Écriture de procédures stockées
- Déclencheurs (triggers)
- Gestion des exceptions et blocs transactionnels
- Fonctions personnalisées : création et optimisation
OPTIMISATION ET GESTION DES PERFORMANCES
- Comprendre le plan d’exécution des requêtes avec EXPLAIN et ANALYZE
- Indexation avancées
- Optimisation des jointures et des agrégations
- Gestion des verrous
- La mémoire et les caches dans PostgreSQL