Programme de Formation Avancée : T-SQL (3 Jours)

Objectif de la formation :

• Maîtriser le langage T-SQL (Transact-SQL) pour créer, manipuler et optimiser les bases de données sur Microsoft SQL Server.

• Développer des compétences avancées en programmation SQL et en gestion des performances.

INTER ENTREPRISE

– Présentiel dans nos locaux ou les vôtres

– Distanciel Online

Retrouvez-nous sur :

Strasbourg, Lille, Lyon, Reims, Genève, Bruxelles, Luxembourg, Frankfort, Karlsruhe, Berlin, Metz

Prix : 2369 € H.T.
INTRA

(Appelez-nous pour obtenir une offre)

Jour 1 : Concepts Avancés de T-SQL

Matinée : Programmation T-SQL avancée (3h)

  • Sous-requêtes avancées :
  • Utilisation des sous-requêtes corrélées et non corrélées.
  • Combinaisons avec EXISTS et NOT EXISTS.
  • Cas pratiques pour résoudre des problèmes complexes.
  • Expressions Table-Valued :
  • Vue d’ensemble des Common Table Expressions (CTE).
  • Utilisation pour simplifier des requêtes complexes.
  • Application récursive avec CTE (par exemple, hiérarchies organisationnelles).
  • Fonctions scalaires et table-valued :
  • Création et usage de fonctions définies par l’utilisateur (UDF).
  • Comparaison entre fonctions scalaires et fonctions table-valued.

Exercice Pratique :
Créer une CTE récursive pour calculer la hiérarchie d’employés dans une organisation.

Après-midi : Gestion des Transactions et Erreurs (4h)

  • Transactions en T-SQL :
  • Comprendre les concepts de début (BEGIN), commit (COMMIT), et rollback (ROLLBACK).
  • Isolation et niveaux de transactions (READ UNCOMMITTED, REPEATABLE READ, etc.).
  • Verrouillage des ressources et prévention des deadlocks.
  • Gestion des erreurs :
  • TRY…CATCH pour gérer les erreurs en T-SQL.
  • Utilisation de THROW et RAISERROR pour signaler des exceptions.
  • Implémentation d’une gestion robuste des erreurs dans les procédures stockées.

Exercice Pratique :
Écrire un script T-SQL simulant une opération bancaire avec transactions et gestion des erreurs.

Jour 2 : Programmation et Optimisation T-SQL

Matinée : Programmation Avancée avec T-SQL (3h)

  • Procédures Stockées :
  • Création, modification et exécution.
  • Passage de paramètres en entrée et en sortie.
  • Procédures stockées dynamiques (sp_executesql).
  • Déclencheurs (Triggers) :
  • Comprendre les déclencheurs AFTER et INSTEAD OF.
  • Cas d’utilisation : audit des modifications, règles métiers complexes.
  • Gestion des performances des déclencheurs.

Exercice Pratique :
Créer un déclencheur pour enregistrer l’historique des modifications d’une table Produits.

Après-midi : Optimisation des Performances (4h)

  • Optimisation des requêtes :
  • Concepts de plan d’exécution.
  • Analyse des statistiques et des coûts des requêtes.
  • Réécriture de requêtes pour améliorer les performances (par exemple, éviter les scans de tables).
  • Indexation :
  • Création et gestion des index (clustered et non-clustered).
  • Optimisation des requêtes avec des index couvrants.
  • Comprendre les index filtrés et les colonnes inclues.
  • Gestion des vues matérialisées :
  • Création et mise à jour de vues indexées.
  • Utilisation pour accélérer les requêtes complexes.

Exercice Pratique :
Analyser une requête lente, identifier les problèmes et proposer des optimisations (ajout ou modification d’index).

Jour 3 : Analyse et Reporting Avancé avec T-SQL

Matinée : Fonctions analytiques et OLAP (3h)

  • Fonctions analytiques avancées :
  • Utilisation des fenêtres (OVER) pour des calculs avancés.
  • Fonctions comme ROW_NUMBER, RANK, DENSE_RANK, NTILE.
  • Calculs cumulatifs avec SUM, AVG, etc.
  • T-SQL et OLAP :
  • Exploration des cubes OLAP avec T-SQL.
  • Utilisation des requêtes pivot et unpivot pour transformer les données.

Exercice Pratique :
Créer un rapport avec des fonctions de fenêtre pour analyser les ventes d’une entreprise (classement par région, calculs cumulatifs).

Après-midi : Sécurité, Maintenance et Étude de Cas Final (4h)

  • Sécurité avancée avec T-SQL :
  • Gestion des permissions au niveau des objets.
  • Masquage des données (Dynamic Data Masking).
  • Sécurisation des données sensibles avec Always Encrypted.
  • Maintenance et automatisation :
  • Création de jobs SQL Server Agent avec T-SQL.
  • Monitoring et alertes avec sp_monitor et sp_who.
  • Étude de cas final :
  • Concevoir et implémenter un système complet pour gérer une base de données de réservation d’hôtels, incluant :
  • Création des tables, procédures et déclencheurs.
  • Optimisation des requêtes.
  • Génération d’un rapport analytique sur l’occupation des chambres par mois.

Matériel fourni

  • Supports de cours et exemples SQL téléchargeables.
  • Accès à une base de données de test pour les exercices.
  • Scripts d’analyse de performance et de gestion des erreurs.