Ce cours s’adresse à toute personne désirant écrire des instructions SQL sous Oracle en exploitant les fonctionnalités les plus avancées. Le cours nécessite des connaissances générales en informatique.
Plan détaillé
Introduction générale
- Serveur Oracle.
- Modèle relationnel.
- Introduction au langage SQL.
- Outils : sqlplus, SQL Developer.
- Globalisation (National Language Support).
- Création des tables.
- Instructions de mise à jour : INSERT, UPDATE, DELETE.
- Utilisation des séquences.
- Intoduction au langage d’interrogation (SELECT).
- Introduction aux transactions.
- Types de données et constantes dans Oracle.
Travaux pratiques : création de tables, mise à jour de tables, utilisations des séquences, premières utilisations de SELECT, table DUAL.
Interrogation d’une seule table
- Tri et suppression de doublons.
- Alias, préfixes et opérateurs.
- Utilisation des fonctions.
- Conversion implicite et explicite des types.
- Utilisation de NULL.
- Agrégats.
- Groupement et utilisation de HAVING.
Travaux pratiques : les travaux pratiques concernent tous les sujets énumérés.
Objets d’une base Oracle
- Création et modification des tables.
- Tables et contraintes d’intégrité.
- Utilisation des vues.
- Utilisation des synonymes.
- Dictionnaire de données.
Travaux pratiques : utilisation des vues, contraintes d’intégrité.
Interrogation multi tables
- Jointure et produit cartésien.
- Jointures externes (LEFT, RIGHT, FULL OUTER JOIN).
- Opérations ensemblistes.
- Union, Intersection et différence.
- Requêtes imbriquées.
- Opérateurs EXISTS et IN.
- Requêtes imbriquées dans FROM
- Division dans l’algèbre relationnel, expression de la division en SQL.
- Factorisation de sous-requêtes et clause WITH.
- Utilisation des opérateurs ANY (SOME) et ALL.
Travaux pratiques : les travaux pratiques concernent tous les sujets énumérés.
Fonctionnalités avancées
- Requêtes imbriquées dans les mises à jour et instruction MERGE.
- Requêtes récursives avec la clause WITH.
- Utilisation des fonctions FIRST et LAST.
- Utilisation des expressions régulières.
- Les classes de caractères.
- Opérateur regexp_like.
- Extensions venant de PERL.
- Utilisation des requêtes hiérarchiques.
- Clauses START WITH et CONNECT BY.
- Traitement des cycles.
- Opérateurs et fonctions : connect_by_root, sys_connect_by_path, connect_by_isleaf.
- Tri en observant la hiérarchie (ORDER BY SIBLINGS).
- Introduction aux fonctions analytiques (fonctions à fenêtres de calcul) : row_number(), rank(), dense_rank(), agrégats comme fonctions analytiques.
Travaux pratiques : utilisation de MERGE, Utilisation de WITH en récursivité, fonctions LAST()/FIRST(), expressions régulières, requêtes hiérarchiques, fonction analytiques.