1

Formation POSTGRESQL : Essentiels pour développeurs

Présentation de PostgreSQL

  • Serveur de base de données relationnelle objet
  • Historique
  • Licence
  • Mode de développement
  • La version de PostgreSQL 16
  • Les composants du serveur PostgreSQL

Installation et configuration

  • Installation de PostgreSQL
  • Installation avec un système de paquetage
  • Interagir avec le serveur

  • Le concept du client serveur
  • Le client psql
  • Outils en ligne de commande et graphique. psql (shell SQL). PgAdminIII, phpPgAdmin, Pgpool
  • Définition des données

  • Création de schémas, tables, index, domaines…
  • Types de données,
  • Opérateurs et fonctions
  • Comparaison PostgreSQL/Oracle (Type de données, type d’objets)
  • Programmation côté serveur

  • Importation et exportation de données
  • Intérêt de la programmation côté serveur et ses limites
  • Les « rules »
  • Mise en oeuvre de déclencheurs (triggers)
  • Programmation de Fonctions et procédures stockées
  • Déclaration et utilisation de variables
  • Gestion des curseurs
  • Gestion des exceptions
  • Gestion des tâches planifiées ( pg_cron)
  • Mise en oeuvre avec Pl/pgSQL et présentation des autres outils disponibles
  • PostGIS ( Présentation, représentation et stockage des géométries, indexation, métadonnées, etc.)
  • Partitionnement sous PostgreSQL

  • Mise en œuvre du Partitionnement
  • La gestion de la concurrence d’accès et des transactions sous PostgreSQL

  • Transactions
  • Verrous
  • Isolation
  • Optimisation SQL

  • Anatomie de l’exécution d’une requête
  • Les composants du moteur
  • Estimation des coûts
  • Méthodes d’accès aux données
  • Méthodes de jointures
  • L’outil Explain
  • Démarche d’optimisation



  • Formation Oracle SQL Tuning pour Développeurs

    Introduction à la formation Oracle SQL Tuning pour Développeurs

    • Objectifs, programme et annexes du cours
    • Public ciblé et prérequis pour la formation Oracle SQL Tuning pour Développeurs
    • Schémas utilisés dans le cours Oracle SQL Tuning pour Développeurs
    • Informations sur les comptes utilisés pour le cours Oracle SQL Tuning pour Développeurs
    • Environnements SQL disponibles pour le cours Oracle SQL Tuning pour Développeurs
    • Ateliers, scripts de démonstration et scripts des exemples de code Oracle SQL Tuning pour Développeurs
    • Annexes du cours Oracle SQL Tuning pour Développeurs

    Introduction au réglage d’instructions SQL

    • Session de réglage SQL
    • Stratégies de réglage SQL
    • Outil de diagnostic SQLTXPLAIN (SQLT)

    Utiliser les outils de trace d’application

    • Présentation de l’utilitaire SQL Trace
    • Opérations à effectuer avant une trace
    • Présentation des outils de trace
    • Utilitaire trcsess
    • Mise en forme des fichiers trace SQL

    Comprendre les techniques de réglage de base

    • Ecrire une instruction SQL efficace
    • Scripts utilisés pour le chapitre
    • Conception des tables
    • Utilisation des index
    • Index transformé
    • Non-concordance de types de données
    • Utilisation des valeurs NULL
    • Réglage d’une clause ORDER BY

    Concepts fondamentaux de l’optimiseur

    • Représentation des instructions SQL
    • Traitement des instructions SQL
    • Pourquoi utiliser un optimiseur ?
    • Composants de l’optimiseur
    • Outil de transformation de requêtes
    • Optimiseur basé sur le coût
    • Optimisation adaptative des requêtes
    • Fonctionnalités de l’optimiseur et versions d’Oracle Database

    Générer et afficher des plans d’exécution

    • Présentation des plans d’exécution
    • Commande EXPLAIN PLAN
    • Table de plan
    • AUTOTRACE
    • Vue V$SQL_PLAN
    • Référentiel AWR (Automatic Workload Repository)
    • Fonction de surveillance SQL

    Interpréter les plans d’exécution

    • Comprendre les plans d’exécution en série
    • Optimisations adaptatives

    Optimiseur : Chemins d’accès aux tables et aux index

    • Opérations sur les row sources
    • Structures principales et chemins d’accès
    • Balayage complet de table
    • Index
    • Observations courantes

    Opérations de jointure de l’optimiseur

    • Méthodes de jointure
    • Types de jointure

    Autres opérateurs de l’optimiseur

    • Opérateurs SQL
    • Autres opérations de degré N
    • Opérateurs liés au cache de résultats

    Présentation des statistiques de l’optimiseur

    • Statistiques de l’optimiseur
    • Types de statistiques
    • Collecte et gestion des statistiques de l’optimiseur

    Utiliser des variables attachées

    • Partage de curseurs et valeurs littérales différentes
    • Partage de curseurs et variables attachées

    SQL Plan Management

    • Garantir les performances du code SQL
    • SQL Plan Management



    Formation PostgreSQL – administration

    Introduction à la formation PostgreSQL – administration

    Module1 : Présentation de PostgreSQL

    • Présentation des projets et outils
    • Comparatif avec les autres moteurs SGBDR

    Module2 : Installation

    • Les étapes d’installation
    • Les distributions Linux : à partir de RPM ou des sources
    • Les binaires pour MS-Windows. Assistant d’installation. Préparation du système d’exploitation

    Atelier pratique: Installation de PostgreSQL

    Module3 : Initialisation et exécution d’une instance

    • Principe. Arrêt et démarrage du serveur
    • Architecture des processus du serveur
    • Création d’instances supplémentaires

    Atelier pratique: Initialisation et sécurisation d’une instance PostgreSQL

    Module4 : Connexions et outils d’administration

    • Sessions. Côté serveur (pg_hba.conf). Sécurité (SSL…)
    • Droits d’accès. Gestion des rôles (utilisateurs et groupes). Gratification et révocation des privilèges
    • Outils en ligne de commande et graphique. psql (shell SQL). PgAdminIII, phpPgAdmin, Pgpool

    Atelier pratique: Prise en main des outils d’administration. Sécurisation des objets dans PostgreSQL

    Module5 : Définition des données

    • Création de schémas, tables, index, domaines…
    • Types de données, opérateurs et fonctions

    Atelier pratique: Exécuter des instructions de manipulation des données de la base

    Module6 : Administration au quotidien

    • Définition des fichiers. Création d’espace de nom (tablespaces, fichiers)
    • Arborescence des répertoires et des fichiers du serveur
    • Administration du serveur. Configuration. Les logs binaires et la mémoire
    • Le collecteur de statistiques et les logs d’activités
    • Tâches de maintenance et d’exploitation. L’analyse des requêtes avec Explain
    • L’analyse et le nettoyage des espaces de tables et d’index avec Vacuum
    • La reconstruction d’index avec Reindex

    Atelier pratique: Création des espaces de tables. Configuration des traces d’activités. Configuration des fichiers WAL. Configuration du cache de données PostgreSQL. Utilisation des commandes de maintenance

    Module7 : Sauvegardes et restauration

    • Les sauvegardes avec pg_dump et pg_dumpall
    • Les restaurations avec pg_restore et psql
    • Les logs binaires : Write Ahead Logging (WAL)

    Atelier pratique: Réalisation de sauvegardes/restaurations sous PostgreSQL

    Module8 : Haute disponibilité – Réplication physique

    • Création d’un serveur de secours physique.
    • Configuration de la réplication.
    • Réplication synchrone/asynchrone.
    • Les slots de réplication.
    • Surveillance de la réplication.
    • Bascule contrôlée.
    • Bascule sur incident et promotion du serveur de secours.
    • Travaux pratiques: Mise en œuvre d’une réplication. Manipulations des paramètres de configuration.

    Module8 : Haute disponibilité – Réplication logique

    • Différences par rapport à la réplication physique.
    • Modèle PUBLISH/SUBSCRIBE.
    • Slots de réplication logique.
    • Réplication logique intégrée.
    • Travaux pratiques: Mise en place de la réplication logique.



    Formation MySQL, administration

    Introduction à la formation MySQL

    Module 1 : Introduction et installation

      • Versions et types de licences
      • Outils mysql, mysqlshow, myphpadmin
      • Paramétrage du serveur (my.cnf, sql_mode, mode strict…)
      • Démarrage/arrêt
      • Installations (binaire, à partir des sources…)
    • Mysqladmin
    • Installation de MySQL Workbench
    • Changements de versions, migration

    Atelier pratique: Installation sous Linux/Windows.

    Module 2 : Objets d’une base MySQL

    • Types de tables (MyISAM, MEMORY, MERGE…)
    • Modification de la définition d’une table.
    • Index
    • Gestion des vues.
    • Base information_schema.

    Atelier pratique: Création et utilisation de vues. Modification de la définition d’une table

    Module 3 : Connexions, droits d’accès, sécurité

    • Authentification des utilisateurs
    • Structure des tables de la base MySQL
    • Gestion des utilisateurs et de leurs privilèges.
    • Droits sur les vues et les traitements stockés
    • Utilisation de SSL

    Atelier pratique: Sécurisation complète de la post-installation. Création de comptes MySQL. Gestion des privilèges et mots de passe

    *

    Module 4 : Moteurs de stockage et plug-ins

    • Moteurs de stockage MyISAM, InnoDB
    • Architecture et paramétrage InnoDB
    • Fonctionnement transactionnel du moteur InnoDB
    • Verrouillage des tables
    • Plug-ins : configuration et démarrage

    Atelier pratique: Changement du paramétrage InnoDB. Mise en oeuvre de transactions.

    Module 5 : Maintenance d’un serveur MySQL

    • Etat de session (variables, commande « show status »), arrêt forcé d’une session
    • Chargement : LOAD DATA, myimport, SELECT INTO OUTFILE, mysqldump
    • Journaux (général, erreurs, requêtes lentes…)
    • Stratégies de sauvegarde
    • InnoDB Hot Backup, mysqlbinlog
    • Sauvegarde et récupération incrémentale
    • Planification

    Atelier pratique: Activation des journaux. Utilisation des outils de chargement/déchargement. Sauvegarde et restauration avec « mysqldump ». Utilisation du journal binaire. Sauvegarde et récupération incrémentale.




    Formation PostgreSQL : bases de données à référence spatiale

    Introduction à la formation PostgreSQL : bases de données à référence spatiale

    Concepts fondamentaux

    • Informatique
    • Bases de données
    • Systèmes d’information

    La description des données

    • La modélisation (base)
      • Modèle entité-relation
      • Atelier
    • Les types
    • La normalisation
    • La modélisation (suite)
      • Modèle entité-relation
      • Atelier

    Le langage SQL

      • Les requêtes d’exploitation : Introduction au langage SQL
        • Introduction aux notions de base
        • Étude de la syntaxe
        • Construction de requêtes
        • Atelier
      • Fonctions de recherche et opérateurs prédéfinis
        • Opérateur, fonctions et agrégation
        • Atelier
      • Requêtes multiples
        • Liaison des entités
        • Atelier

    Les Systèmes de gestion de bases de données

        • La création d’une base de données
        • L’administration d’une base de données

    Introduction à PostgreSQL

        • Présentation de la technologie
        • Installation : PostgreSQL et PostGIS
        • Prise en main avec PgAdmin

    Les objets spatiaux

        • Fondements
        • Modélisation des objets spatiaux

    Intégration avec les SIG

      • Présentation de QGIS
      • Connectivité
      • Interaction
      • Atelier



    Formation SQL pour Oracle

    Introduction à la formation SQL pour Oracle

    Formation SQL dans un environnement Oracle

    Les systèmes de gestion de bases de données utilisant SQL
    Les normes SQL
    L’architecture d’Oracle Database
    Installer Oracle
    Définir des connexions
    Rappel sur le modèle relationnel
    Formes normales
    Les caractéristiques de SQL
    Maîtriser les requêtes SQL
    Interroger des données (LMD)
    L’intégrité des données
    Faire une jointure
    Les procédures stockées
    Utilisation des fonctions
    Utilisation des opérateurs ensemblistes
    Utilisation des sous-interrogations?
    Manipuler des données
    Définition des structures de données (LDD)
    Les séquences
    Les déclencheurs
    Les vues
    Les index
    La sécurité des données
    La sécurité des données (DCL)
    Le contrôle de transactions (TCL)




    Formation SQL pour SQL Server

    Introduction à formation SQL Server

    Présentation de la formation SQL Server

    Définition d’une base de données et des différents types d’objets

    Le langage de manipulation de données (LMD)

    Insertion de lignes (INSERT)

    Insertion de plusieurs lignes

    Insertion à partir d’un SELECT

    Mise à jour avec UPDATE

    UPDATE avec des sous-requêtes

    La suppression d’enregistrement (DELETE)

    Atelier pratique: Modification du contenu de notre base de données

    Le langage d’interrogation des données (LID)

    Type de données (date, float, …)

    Sélection de données : SELECT

    Les critère TOP, WHERE, HAVING, etc.

    Jointure : INNER / LEFT / RIGHT / OUTER

    Création et modification de données : INSERT / UPDATE / DELETE




    Formation Administration SQL Server

    Introduction à la formation Administration SQL Server

    Découvrir SQL Server

    Découvrir SQL Server
    Installer SQL Server,
    Choisir les options d’installation
    Comprendre le modèle relationnel
    Installer Management Studio
    Comprendre le modèle relationnel
    Outil – Gestionnaire de configuration
    Outil – Transact-SQL
    Outil – sqlcmd
    Outil – PowerShell
    Étude des structures de stockage
    Explorer les vues de catalogue
    Comprendre la relation entre serveur et bases de données
    Comprendre le fonctionnement d’un serveur SQL
    Aborder la gestion des fichiers de données
    Définir les connexions
    Création de structures de bases de données
    Autoriser la création d’objets
    Attribuer des autorisations globales
    Effectuer des sauvegardes complètes
    Restaurer une base de données
    Définir des plans de maintenance
    Configurer la messagerie de base de données
    Découvrir les outils de supervision
    Explorer les fonctionnalités de Business Intelligence
    Comprendre l’outil Reporting Services
    Explorer la réplication
    Groupe de disponibilité avec always On




    Formation SQL : Maîtriser les requêtes SQL

    Introduction à la formation SQL

    Définition d’une base de données

    Définition d’un Système de Gestion de base de données

    Définir un modèle relationnel

    Présentation des différents langages SQL : LID, DML, LDD

    Module 1 : Cours sur le LID

    Requête SELECT FROM
    Requête SELECT WHERE
    Requête SELECT ORDER
    Requête SELECT LIMIT
    Requête SELECT EXPR …
    Requête SELECT FROM JOIN
    Requête Requête SELECT AGGR GROUP
    Requête SELECT AGGR GROUP HAVING

    Module 2: Cours sur la manipulation de données (LMD)

    Début du DML
    Requête INSERT
    Requête INSERT SELECT
    Requête INSERT MULTI TABLE
    Requête UPDATE
    Requête UPDATE MULTI TABLE
    Requête DELETE
    DELETE MULTI TABLE

    Module 2: Cours SQL sur la définition des données (DDL)

    Requête CREATE TABLE
    Requête DROP TABLE
    Requête ALTER TABLE

    Module 3 : Théorie sur les notions avancées en SQL

    Indexes et types d’indexes
    FK constraints
    Modélisation de base, explication des formes normales 1, 2 et 3
    Clé naturelles versus clé complexes

    SQL Triggers et Procédures Stockées




    Formation MySQL : Les procédures stockées et les triggers

    Introduction

    Présentation de MySQL.
    Objectifs du cours : optimiser les procédures stockées, explorer les alternatives et maîtriser
    les fonctions avancées de traitement des données.

    Module 1 : Rappel sur l’Écriture de Requêtes SQL

    • Écrire des requêtes SQL simples et complexes.
    • Utilisation des clauses WHERE, GROUP BY, HAVING, et ORDER BY.
    • Joins (INNER, LEFT, RIGHT, FULL) pour combiner des tables.
    • Utilisation de sous-requêtes et de requêtes imbriquées.

    Module 2 : Optimisation et Alternatives aux Procédures Stockées

    • Qu’est-ce qu’une procédure stockée et ses cas d’utilisation ?
    • Avantages et limites des procédures stockées.
    • Techniques d’optimisation des procédures stockées : indexation, réduction des requêtes imbriquées, gestion des transactions.
    • Alternatives : vues matérialisées, requêtes préparées, solutions côté application.

    Module 3 : Meilleures Pratiques et Gestion des Données dans MySQL

    • Structuration des tables, indexation efficace, et diagnostic des performances.
    • Optimisation des requêtes : SELECT spécifique, pagination, et techniques de join.
    • Gestion des textes : CONCAT(), SUBSTRING(), REPLACE(), nettoyage et formatage.
    • Traitement des nombres : SUM(), AVG(), ROUND(), MOD(), calculs statistiques et financiers.

    Module 4 : Fonctions Avancées de Comparaison et de Manipulation de Données

    • Fonctions de comparaison de dates : NOW(), CURDATE(), DATEDIFF(), TIMESTAMPDIFF().
    • Traitement combiné des textes et des nombres dans MySQL.
    • Utilisation d’expressions régulières pour le nettoyage avancé de données.

    Module 5 : Utilisation des Curseurs et Techniques de Bouclage

    • Définition, syntaxe, et contexte d’utilisation des curseurs dans MySQL.
    • Exemples pratiques : parcourir des enregistrements et appliquer des opérations répétitives.

    Conclusion et Étude de Cas Finale

    • Résumé des concepts clés.
    • Étude de cas intégrée : mise en œuvre de l’optimisation, des fonctions avancées et des curseurs.