Introduction
- Le serveur Oracle. Les différentes versions. Les différentes éditions.
- Le modèle relationnel. Les notions de table et de relation.
- Les contraintes d'intégrité.
- Les outils. SQL Developer. L'outil ISQL*Plus.
- Introduction SQL. Types de données Oracle.
- Création des tables.
- Introduction aux instructions de mise à jour.
- Utilisation des séquences.
- Introduction à l'interrogation (SELECT).
- Manipulation des données. Introduction aux transactions.
Langage d'interrogation SQL
- Différentes fonctionnalités SQL.
- Tris et suppression de doublons.
- Fonctions et agrégats.
- Conversion des types et valeur NULL.
- Requêtes sur plusieurs tables.
- Les jointures. Les requêtes imbriquées.
- Opérateurs ensemblistes.
Exercice
L'écriture de requêtes SQL simples. Utilisation de fonctions, tri et préfixes. Utilisation de la date. Utilisation des agrégats. Jointures et requêtes imbriquées. Utilisation de GROUP BY et HAVING.
Introduction à PL/SQL
- Les instructions du langage PL/SQL.
- Les types de variables.
- Les instructions de contrôle : conditions, itérations.
- Gestion des erreurs par le mécanisme d'exceptions.
- Structuration des programmes PL/SQL.
- Procédures et fonctions.
- Définition et utilisation des procédures stockées.
- Spécification des packages.
- Interaction avec la base de données.
- Curseurs implicites et explicites.
Exercice
Types et variables. Curseurs et accès à la base. Traitements stockés (procédure, fonctions et packages). Traitement des erreurs.
Triggers LMD dans Oracle
- Présentation des triggers d'Oracle.
- Structure d'un trigger (Evénement/Action).
- Types de triggers LMD (statement et row triggers).
- Actions d'un trigger (mise à jour automatique des données, annulation d'une action illicite, audit).
- Utilisation des triggers.
- Création et utilisation des triggers d'instruction.
- Utilisation des triggers de ligne : NEW et : OLD dans ces triggers. Gestion des triggers.
Exercice
Création et utilisation de triggers d'instruction. Création et utilisation de triggers de ligne.
Architecture et objets d'une base de données
- Manipulation des tables. Création des tables.
- Définition des contraintes d'intégrité.
- Contraintes d'intégrité différées.
- Suppression des tables et la corbeille.
- Utilisation des tables globales temporaires.
- Utilisation des vues et des synonymes : création et utilisation des vues et des synonymes.
- Organisation des données : modèles de stockage d'Oracle. Définition et utilisation des index.
- Dictionnaire de données : intérêt du dictionnaire de données. Tables et vues du dictionnaire.
Exercice
Création et utilisation des tables et des vues. Interrogation du dictionnaire. Utilisation des tables temporaires.
Gestion des transactions
- Accès à la base par transactions : annulation partielle des transactions. PL/SQL et les transactions.
- Gestion de la concurrence et verrouillage des données. Caractéristiques de la gestion standard.
- Transactions en lecture seule, niveaux d'isolation, verrouillage explicite.
Exercice
COMMIT, ROLLBACK ET SAVEPOINT. Contraintes d'intégrité différées. Transactions autonomes. Concurrence des transactions. Niveaux d'isolation et verrouillage explicite.
Sécurité et utilisateurs
- Droits d'accès.
- Privilèges sur objets, privilèges système et rôles.
- Attribution et révocation des droits d'accès.
- Droits sur les vues et les traitements stockés.
- Gestion des utilisateurs.
- Authentification des utilisateurs.
- Profils d'utilisateurs et limites d'utilisation des ressources.
Exercice
Définition des droits. Utilisation des rôles.
Compléments
- Fichiers d'une base de données Oracle.
- Notion d'instance.
- Oracle Net Services (SQL*Net).
Travaux pratiques
Configuration du client afin d'accéder à la base de données.