Cette formation décrit les principes fondamentaux des langages SQL et PL/SQL ainsi que leur utilisation avec les bases de données Oracle.
Objectifs pédagogiques
Créer des états à partir de données agrégées
Créer des états comprenant des données triées et restreintes
Décrire les procédures et fonctions stockées
Décrire les fonctionnalités et la syntaxe de PL/SQL
Concevoir des blocs anonymes PL/SQL qui s’exécutent efficacement
Afficher des données provenant de plusieurs tables à l’aide de la syntaxe ANSI SQL 99 JOIN
Utiliser des fonctions SQL pour générer et extraire des données personnalisées
Gérer les erreurs d’exécution
Extraire des données de ligne et de colonne à partir de tables à l’aide de l’instruction SELECT
Exécuter des instructions de définition de données (DDL) pour créer et gérer des objets de schéma
Exécuter des instructions de manipulation de données (DML) pour mettre à jour les données d’Oracle Database
Utiliser des structures de programmation PL/SQL et contrôler le flux du code de façon conditionnelle (boucles, structures de contrôle et curseurs explicites)
Utiliser des curseurs pour gérer les lignes
Niveau requis
Connaissances des techniques et concepts relatifs au traitement des donnée et connaissance des concepts de programmation. Compréhension de l’anglais et du vocabulaire anglais spécifique IT.
Public concerné
Administrateurs de base de données, Développeurs d’applications, Développeurs PL/SQL, Développeurs Forms, Consultant Technique.
Moyens pédagogiques
Formation présentielle ou distancielle
Exposés, cas pratique et synthèse
Assistance post-formation pendant trois mois
Support de cours fourni à chaque stagiaire
Modalités de suivi et d’évaluation
Feuille de présence émargée par demi-journée par les stagiaires et le formateur
Questionnaire d’évaluation de la satisfaction en fin de stage
Attestation de fin de formation
Programme de formation
1. INTRODUCTION
Présentation d’Oracle Database et des produits associés
Présentation des concepts et de la terminologie relatifs à la gestion des bases de données relationnelles
Présentation du langage SQL et des environnements de développement associés
Présentation du schéma et tables utilisés dans ce cours
2. EXTRAIRE DES DONNÉES À L’AIDE DE L’INSTRUCTION SQL SELECT
Énumérer les fonctionnalités des instructions SQL SELECT
Générer un état des données à partir du résultat d’une instruction SELECT de base
Utiliser des expressions arithmétiques et des valeurs NULL dans une instruction SELECT
Appeler des alias de colonne
Opérateur de concaténation, chaînes de caractères littérales, opérateur de délimitation alternatif et mot-clé DISTINCT
Afficher la structure d’une table à l’aide de la commande DESCRIBE
3. RESTREINDRE ET TRIER LES DONNÉES
Écrire des requêtes contenant une clause WHERE pour limiter le résultat obtenu
Décrire les opérateurs de comparaison et les opérateurs logiques
Décrire les règles de priorité pour les opérateurs de comparaison et les opérateurs logiques
Utiliser des chaînes littérales dans une clause WHERE
Ecrire des requêtes avec une clause ORDER BY
Trier les résultats par ordre croissant ou décroissant
Variables de substitution
4. UTILISER DES FONCTIONS MONOLIGNES POUR PERSONNALISER LES RÉSULTATS
Décrire les différences entre les fonctions monolignes et multilignes
Manipuler des chaînes à l’aide de fonctions de type caractère
Manipuler des nombres à l’aide des fonctions ROUND, TRUNC, et MOD
Effectuer des opérations arithmétiques avec des données de type date
Manipuler des dates à l’aide des fonctions DATE
5. FONCTIONS DE CONVERSION ET EXPRESSIONS CONDITIONNELLES
Décrire les conversions implicites et explicites de types de données
Décrire les fonctions de conversion TO_CHAR, TO_NUMBER et TO_DATE
Imbriquer plusieurs fonctions
Appliquer les fonctions NVL, NULLIF et COALESCE à des données
Utiliser la logique conditionnelle IF THEN ELSE dans une instruction SELECT
6. DONNÉES AGRÉGÉES À L’AIDE DES FONCTIONS DE GROUPE
Utiliser les fonctions d’agrégation dans des instructions SELECT pour générer des états significatifs
Décrire les fonctions AVG, SUM, MIN et MAX
Gérer les valeurs NULL dans une fonction de groupe
Répartir les données dans des groupes à l’aide de la clause GROUP BY
Exclure des groupes de données à l’aide de la clause HAVING
7. AFFICHER DES DONNÉES PROVENANT DE PLUSIEURS TABLES
Ecrire des instructions SELECT permettant d’accéder aux données de plusieurs tables
Joindre des tables en utilisant la syntaxe SQL:1999
Afficher des données qui ne remplissent pas une condition de jointure à l’aide de jointures externes
Joindre une table à elle-même à l’aide d’une auto-jointure
Créer des jointures croisées
8. UTILISER DES SOUS-REQUÊTES POUR RÉSOUDRE DES REQUÊTES
Utiliser une sous-requête pour résoudre un problème
Sous-requêtes monolignes
Fonctions de groupe dans une sous-requête
Sous-requêtes multilignes
Utiliser les opérateurs ANY et ALL dans des sous-requêtes multilignes
Utiliser l’opérateur EXISTS
9. OPÉRATEURS ENSEMBLISTES (SET)
Décrire les opérateurs SET
Utiliser un opérateur SET pour combiner plusieurs requêtes en une seule
Décrire les opérateurs UNION, UNION ALL, INTERSECT et MINUS
Utiliser la clause ORDER BY dans des opérations ensemblistes
10. MANIPULATION DE DONNÉES
Ajouter de nouvelles lignes à une table
Modifier les données d’une table
Utiliser les instructions DELETE et TRUNCATE
Enregistrer et annuler des modifications à l’aide des instructions COMMIT et ROLLBACK
Implémenter la cohérence en lecture
Décrire la clause FOR UPDATE
11. UTILISER DES INSTRUCTIONS DDL POUR CRÉER ET GÉRER DES TABLES
Décrire les catégories d’objets de base de données
Créer des tables
Décrire les types de données
Comprendre les contraintes
Créer une table à l’aide d’une sous-requête
Modifier une table
Supprimer une table
12. AUTRES OBJETS DE SCHÉMA
Créer, modifier et extraire des données à partir d’une vue
Effectuer des opérations de manipulation de données (DML) sur une vue
Supprimer une vue
Créer, utiliser et modifier une séquence
Créer et supprimer des index
Créer et supprimer des synonymes
13. INTRODUCTION À PL/SQL
Présentation de PL/SQL
Avantages des sous-programmes PL/SQL
Présentation des types de bloc PL/SQL
Créer un bloc anonyme simple
Générer un résultat à partir d’un bloc PL/SQL
14. IDENTIFICATEURS PL/SQL
Types d’identificateur possibles dans un sous-programme PL/SQL
Utiliser la section déclarative pour définir des identificateurs
Utiliser des variables pour stocker des données
Types de données scalaires
Attribut %TYPE
Variables de liaison
Utiliser des séquences dans des expressions PL/SQL
15. ÉCRIRE DES BLOCS PL/SQL ANONYMES
Règles de base relatives à la syntaxe des blocs PL/SQL
Inclure des commentaires dans le code
Fonctions SQL dans PL/SQL
Conversion du type de données
Blocs imbriqués
Opérateurs du langage PL/SQL
16. INSTRUCTIONS SQL DANS UN BLOC PL/SQL
Instructions SELECT dans PL/SQL pour extraire des données
Manipuler les données du serveur à l’aide de PL/SQL
Concept de curseur SQL
Apprendre à utiliser les attributs des curseurs SQL pour obtenir un retour sur DML
Enregistrer et annuler des transactions
17. STRUCTURES DE CONTRÔLE
Traitement conditionnel à l’aide d’instructions IF
Traitement conditionnel à l’aide d’instructions CASE
Instruction Loop simple
Instruction While Loop
Instruction For Loop
Instruction Continue
18. TYPES DE DONNÉES COMPOSITES
Enregistrements PL/SQL
Attribut %ROWTYPE
Insérer et mettre à jour des données avec des enregistrements PL/SQL
Tableaux associatifs (tables INDEX BY)
Méthodes de table INDEX BY
Table d’enregistrements INDEX BY
19. CURSEURS EXPLICITES
Comprendre les curseurs explicites
Déclarer le curseur
Ouvrir le curseur
Extraire des données à partir du curseur
Fermer le curseur
Boucle FOR de curseur
Attributs de curseur explicite
Clauses FOR UPDATE et WHERE CURRENT
20. GESTION DES EXCEPTIONS
Présentation des exceptions
Gérer les exceptions avec PL/SQL
Intercepter les erreurs prédéfinies liées au serveur Oracle
Intercepter les erreurs non prédéfinies liées au serveur Oracle
Intercepter des exceptions définies par l’utilisateur
Propager les exceptions
Procédure RAISE_APPLICATION_ERROR
21. PROCÉDURES ET FONCTIONS STOCKÉES
Présentation des procédures et fonctions stockées
Différences entre blocs anonymes et sous-programmes