Programme de Formation SQL Perfectionnement (2 jours)
Objectif de la formation :
• Approfondir la compréhension des fonctionnalités avancées de SQL.
• Optimiser les requêtes pour améliorer les performances.
• Manipuler des données complexes avec des fonctions avancées.
• Gérer les transactions et la sécurité des bases de données.
Prérequis :
- Connaissances de base en SQL (SELECT, INSERT, UPDATE, DELETE, JOINS).
- Notions fondamentales sur les bases de données relationnelles.
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 : 1579 € H.T.
INTRA
(Appelez-nous pour obtenir une offre)
Jour 1 : Techniques Avancées et Optimisation des Requêtes
Module 1 : Récapitulatif des Concepts Essentiels
Durée : 1 heure
- Revoir les concepts de base pour assurer une base solide.
- Joins complexes : INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN.
- Rappel sur les sous-requêtes simples.
Exercice Pratique :
Créer des requêtes combinant plusieurs types de JOINS pour résoudre des problèmes métier.
Module 2 : Sous-Requêtes et Expressions de Table Commune (CTE)
Durée : 2 heures
- Différences entre sous-requêtes corrélées et non corrélées.
- Utilisation des CTE (Common Table Expressions) pour structurer les requêtes.
- Optimisation avec les vues matérialisées.
Exercice Pratique :
Construire des CTE pour résoudre des cas de calculs cumulés (e.g., revenus cumulés par mois).
Module 3 : Fonctions Avancées et Expressions Régulières
Durée : 2 heures
- Fonctionnalités avancées des fonctions d’agrégation (GROUP_CONCAT, HAVING).
- Utilisation des fonctions analytiques :
- RANK(), DENSE_RANK(), ROW_NUMBER().
- Fenêtrage avec PARTITION BY et ORDER BY.
- Utilisation des expressions régulières pour manipuler les données textuelles.
Exercice Pratique :
- Trouver le deuxième meilleur vendeur par région.
- Filtrer et formater des données avec des expressions régulières.
Module 4 : Indexation et Optimisation des Performances
Durée : 2 heures
- Comprendre les index (types, limitations, et utilisation optimale).
- Analyser les performances des requêtes avec EXPLAIN et ANALYZE.
- Techniques de refactorisation des requêtes lentes.
Exercice Pratique :
- Utiliser EXPLAIN pour analyser une requête lente.
- Implémenter des index pour accélérer les performances.
Jour 2 : Gestion Avancée des Bases de Données et Sécurité
Module 5 : Transactions et Gestion des Concurrences
Durée : 2 heures
- Concepts fondamentaux des transactions : ACID (Atomicité, Cohérence, Isolation, Durabilité).
- Commandes : START TRANSACTION, COMMIT, ROLLBACK.
- Niveaux d’isolation : READ COMMITTED, REPEATABLE READ, SERIALIZABLE.
Exercice Pratique :
Simuler une gestion de transactions pour éviter des problèmes de concurrence (e.g., double réservation dans un système de billetterie).
Module 6 : Triggers, Procédures Stockées et Fonctions
Durée : 3 heures
- Création de triggers pour automatiser des actions sur les tables.
- Écriture et optimisation des procédures stockées.
- Création de fonctions personnalisées pour des calculs spécifiques.
Exercice Pratique :
- Créer un trigger pour mettre à jour automatiquement le stock après une commande.
- Écrire une procédure stockée pour générer des rapports de ventes.
Module 7 : Sécurité et Gestion des Droits
Durée : 1 heure
- Gestion des utilisateurs et des privilèges :
- GRANT, REVOKE.
- Gestion des rôles.
- Meilleures pratiques pour sécuriser les données.
Exercice Pratique :
- Créer des utilisateurs avec des droits spécifiques pour un système multi-accès.
Module 8 : Étude de Cas et Projets de Groupe
Durée : 2 heures
- Mise en situation : concevoir une base de données pour une application de gestion des commandes et mettre en œuvre les concepts appris.
- Optimisation des performances.
- Implémentation de triggers et procédures stockées.
- Gestion des transactions.
Livrable :
Un script SQL complet, documenté, avec un schéma relationnel optimisé.
Ressources Fournies
- Fichiers de base de données MySQL pour les exercices.
- Modèles de requêtes avancées.
- Documentation sur les fonctionnalités MySQL utilisées.