Pré-requis
Une connaissance des concepts SQL est recommandée
Objectifs
Savoir installer et configurer PostgreSQL – Créer une base de données optimale – Analyser et comprendre les logs – Profiter des fonctionnalités avancées de PostgreSQL – Aborder la programmation côté serveur
Public concerné
Gestionnaires de données, administrateurs et analystes-exploitants.
Profil du formateur
Formateur consultant, expert, pédagogue et certifié dans son domaine
Méthode pédagogique
La formation est constituée d’apports théoriques et d’exercices pratiques. Chaque stagiaire dispose d’un poste de travail et la gestion en petit groupe (jusqu’à 8 stagiaires) permet un suivi individualisé et adapté. Durant les sessions de formation, un support pédagogique est remis aux stagiaires.
Suivi, évaluation, sanction
Des tours de table permettent de suivre la progression du stagiaire au fur et à mesure de la formation. Un suivi de la formation est réalisé par une feuille de présence émargée par demi-journée par les stagiaires et le formateur. Un questionnaire de satisfaction et une validation des acquis sont complétés par chaque stagiaire en fin de formation.
Formation sans certification.
Plan du cours
Présentation de PostgreSQL
- PostgreSQL : serveur de base de données relationnelle objet
- Historique, licence, mode de développement
- Les composants du serveur PostgreSQL: serveur, client, connecteurs jdbc, tcl, pl, python
Installation et configuration de PostgreSQL
- Installation de PostgreSQL
- Installation avec un système de paquetage
Interagir avec le serveur
- Le concept du client serveur
- Configuration du serveur et des accès.
- Le client ligne de commande et graphique.
- Programmation coté serveur
- Importation et exportation de données
- L'intérêt de la programmation côté serveur et ses limites
- Mise en œuvre de déclencheurs (triggers) et programmation de procédures stockées
- Déclaration et utilisation de variables
- Gestion des curseurs
- Mise en œuvre avec PL/pgsql et présentation des autres outils disponibles
Création de base de données, de schémas et de types de données
- Choix du template et du charset. Le search_path.
- Types prédéfinis (monétaires, ...) et types tableaux.
- Domaines et types utilisateurs.
- Définition de nouveaux types de base en langage C.
- Exercice
- Création d'une base de données avec schémas et search_path.
Création de tables et de vues
- Contraintes de clés étrangères.
- Tables héritées (EXTENDS). Tables partitionnées.
- Vues matérialisées.
- Travaux pratiques
- Création de tables avec clés étrangères. Création de vues matérialisées.
Mise en œuvre de requêtes complexes
- Agrégats. Jointures. Sous-requêtes.
- Clauses WINDOW et PARTITION BY.
- Recherche en mode FULL TEXT.
- Analyse des requêtes avec EXPLAIN.
- Exercice
- Exploration des tables. Recherche plein texte. Analyse de requêtes.
Gestion des transactions
- Points de rebroussement. Niveaux d'isolation.
- Verrous explicites de lignes et de tables.
- Verrous informatifs pour les applications.
- Exercice
- Test des divers modes d'isolation et de verrous ligne/table.
Gestion des utilisateurs, des rôles et des droits
- Utilisateurs et rôles.
- Héritage de rôles, organisation en groupes.
- Rôle PUBLIC. Droits.
- Exercice
- Déclaration d'utilisateurs et activation de l'authentification.
Mise en œuvre de procédures stockées
- Procédures écrites en PL/pgSQL en Perl et en C.
- Définition d'opérateurs.
- Mise en place de déclencheurs (triggers).
- Exercice
- Définition d'un type de base avec opérateur et fonctions de conversion associés. Définition d'une fonction d'agrégation.
Interfaces de programmation client
- Programmation en C, en Perl et en PHP.
- Récupération d'éléments graphiques dans la base de données.
- Traitement des transactions SQL par les exceptions.