Formation ORACLE Langage SQL
Objectifs
Détailler les concepts fondamentaux des tables, colonnes, types, et contraintes.
Utiliser les clauses SELECT, FROM, WHERE, GROUP BY, et HAVING pour interroger les bases de données.
Apprendre à effectuer des jointures INNER JOIN, OUTER JOIN, et CARTESIAN JOIN entre plusieurs tables.
Savoir insérer, mettre à jour et supprimer des données avec les commandes INSERT, UPDATE, et DELETE.
Appliquer des fonctions d’agrégation, numériques, chaînes, et de date pour manipuler les données.
Analyser et améliorer les performances des requêtes en utilisant les index et les plans d’exécution.
Comprendre les concepts de transactions, verrouillage de lignes, et les commandes COMMIT, ROLLBACK, et SAVEPOINT.
Utiliser les opérateurs UNION, UNION ALL, INTERSECT, et MINUS pour combiner les résultats de plusieurs requêtes.
Pré-requis
Participants
Programme de formation
OUTIL SQL DÉVELOPPER ET CONNAISSANCE DE LA STRUCTURE D'UN SCHÉMA
Tables
Colonnes et Types
Index
Contraintes
- Null et NOT NULL, unicité, clé primaire, clés étrangères, vérification
Identifiants et valeurs
REQUÊTES D'INTERROGATION : CLAUSES SELECT ET FROM
Signification de FROM
Première utilisation de la clause WITH
Signification de SELECT
- ALL ou DISTINCT
Premières requêtes avec la fameuse table DUAL
Expressions numériques
Expressions chaînes
Traitement de l'absence de valeur
- Non renseigné : NULL
Premières requêtes sur une seule table applicative
Résultat d'une requête
- Une table (renommage des colonnes en sortie)
Première utilisation de requêtes imbriquées
Premières générations du plan d'exécution
Fonctions d'agrégations
- SUM, COUNT, AVG, MAX, MIN
REQUÊTES D'INTERROGATION : FROM ET WHERE
Retour sur la signification de la clause FROM
Clause WHERE
- Conditions sur les lignes (sous clause de FROM)
Expressions conditionnelles
- VRAI, PAS VRAI (FALSE ou UNKNOWN)
Opérateurs conditionnels
- Comparaisons de valeurs, LIKE, IN, BETWEEN, IS NULL, NOT, AND, OR...
Pièges à éviter
- Pas d'erreurs de syntaxe mais résultat faux
Requêtes applicatives sur une seule table
Utilisation des index
- Comment bien écrire une requête pour potentiellement utiliser les index existants
REQUÊTES D'INTERROGATION : JOINTURES CLAUSE FROM
Jointures entre tables
- Revoir le schéma relationnel avec clés primaires - clés étrangères
Jointure CARTESIAN
- Le problème classique
Jointure INNER JOIN
- Conditions d'associations sur les lignes
Jointure OUTER JOIN
- RIGHT, LEFT, et FULL
Conditions de jointures dans clause FROM ou dans clause WHERE
Requêtes applicatives sur deux, trois, quatre, cinq tables
Utilisation clause WITH, index
REQUÊTES D'INTERROGATION : CLAUSES GROUP BY ET HAVING
Signification de la clause GROUP BY
Contenu de la clause SELECT
Requêtes associées
Conditions sur les groupements
- Clause HAVING
GESTION DES DATES ET DES INTERVALLES DE DATES
Différents types de date
- DATE, TIMESTAMP...
Fonctions associées
- TO_DATE, TO_TIMESTAMP, TO_CHAR
Variables NLS
Utilisation des intervalles de date
FONCTIONS SIMPLES ESSENTIELLES
Fonctions numériques
- ROUND, TRUNC
Fonctions chaînes
- LENGTH, SUBSTR, INSTR...
Fonctions dates
- Retour sur les dates
Fonctions diverses
- NVL, CASE...
REQUÊTES D'INTERROGATION : SUITE
Clause ORDER BY
Fonctions analytiques
- Intérêts et utilisation
Clause WITH et requêtes récursives
Clause CONNECT BY
Clause WHERE
- EXISTS, NOT EXISTS, IN et NOT IN (le retour)
Opérateurs ensemblistes
- UNION, UNION ALL, INTERSECT, MINUS
LANGAGE DE MANIPULATION DES DONNÉES: LES FONDAMENTAUX
Insertion de lignes
- INSERT .. VALUES, INSERT .. SELECT
Mise à jour de données (UPDATE)
Suppression de données (DELETE)
Transactions
- Validation et annulations explicites ou implicites (COMMIT, ROLLBACK, SAVEPOINT)
Verrouillage de lignes
Ce qui se passe en interne
- Démonstration : visualisation des undos
Ce qu'il faut éviter