loader image

Gate Training

logo-png
Bases de données

Formation Oracle prise en main

5 Jours

Description de la formation Oracle

Une formation Oracle complète pour découvrir tous les concepts du système et les différentes façons de les utiliser concrètement tout en disposant d’une vue claire sur l’architecture globale d’ORACLE.

Objectifs

Objectif opérationnel : 

Etre capable de concevoir efficacement une base de données Oracle.

Objectifs pédagogiques : 

  • Concevoir efficacement une base de données Oracle (modèle relationnel, MCD)
  • Savoir mettre en oeuvre une base Oracle (tables, contraintes d’intégrités)
  • Comprendre le fonctionnement global d’Oracle (tablespaces, SGA, …)
  • Savoir dialoguer avec la base en utilisant le langage SQL
  • Optimiser vos requêtes SQL
  • Maîtriser votre environnement de travail sous Oracle
  • Sécuriser l’accès aux données
  • Comprendre le concept de transaction et des verrous.

À qui s’adresse cette formation ?

Public :

Cette formation Oracle s’adresse à toute personne participant à un projet autour d’Oracle (concepteur, développeur, chef de projet, futur administrateur).

 

Prérequis :

Il est nécessaire de connaître au moins un système d’exploitation de type Windows, Mac ou Linux.

 

Contenu du cours Oracle

La conception d’une base Oracle

Concevoir une base de données

– Comment concevoir l’organisation des données ?
– Besoin d’un formalisme pour les représenter (Modèle Conceptuel des Données)
– Vocabulaire (entité, association, cardinalités…)
– L’impact des choix du concepteur
– Exemples de modèles faux ou mal conçus
– Exemples de modèles rencontrés dans des projets professionnels

Le modèle relationnel

– Pourquoi parle-t-on de base de données « relationnelle » (dépendances) ?
– Se rapprocher du schéma de la base (MLD : modèle logique des données)

Le modèle physique

– Traduire un modèle logique en base Oracle (création de tables)
– Qu’entend-on par contraintes d’intégrités (primary key, foreign key, not null…)?
– Pourquoi doit-on typer les données (integer, varchar, date…) ?

Remplir une base

– Insérer des données dans les tables (insert)
– L’intérêt des séquences
– Attention aux violations de contraintes

L’environnement de travail

Les produits Oracle

– Rôle d’ORACLE par rapport au système d’exploitation
– Les différents produits Oracle (Server, Spatial, Application Server…)
– Comparaison avec d’autres SGBDR (SQL*Server, MySQL, Access…)
– Différences entre les versions Oracle 12C (Cloud) et 11G (Grid)

Les applications utilisées

– Comment se connecter à une base Oracle ?
– L’outil Oracle
– SQL Developer
– Travailler avec des scripts SQL
– Stockage des résultats (spool)

Obtenir des informations sur la base

– Philosophie du « rangement » des informations dans Oracle (dictionnaire)
– Quelques questions classiques (clés, contraintes, schéma d’une table…)
– Changer d’utilisateur ou de base

Le langage SQL

Extraction simple des données

– Forme générale d’une requête (select … from … where)
– Filtrage de base (where, like, between…)
– Spécificités du SQL pour Oracle

Mettre à jour les données

– Les instructions insert, update, et delete
– L’impact des contraintes d’intégrité (cascade)

Les vues

– Pourquoi associer une requête SQL à une vue ?
– Différences vue/table ?
– Et les contraintes d’intégrité ?

Requêtes plus complexes

– Extraire les données de plusieurs tables (jointure)
– Trier les résultats (order by)
– Opérations ensemblistes (union, minus, intersect)
– Regroupement des donnés (group by)
– Les fonctions d’agrégats (somme, moyenne, nombre…)
– Jointures multiples
– Dans quel cas utiliser l’auto-jointure ?
– Les tests en SQL (where exists …)

Le PL/SQL

– Les apports du PL/SQL par rapport au SQL
– Rôle des triggers (déclencheurs)

L’architecture globale d’Oracle

Comment Oracle stocke les données ?

– La séparation logique/physique (tablespace)
– Les fichiers de données (datafile)
– La finesse du stockage dans Oracle (extension, bloc, segment)
– Comprendre la saturation d’un tablespace

Rôle des fichiers journaux

– Que contient un fichier de log ?
– Comment Oracle les utilise ?

Le fonctionnement d’Oracle en mémoire

– Pourquoi Oracle doit structurer la mémoire ?
– En quoi consiste la construction de la SGA (System Global Area) ?
– Notion d’instance Oracle
– Comprendre le rôle de chaque processus Oracle

Les transactions

Principes

– Qu’est qu’une transaction ?
– Comportement standard d’Oracle
– Le rôle de l’utilisateur (commit, rollback)
– La problématique des accès concurrents

Verrous et accès concurrents

– Exemples de blocages
– Comment ne pas bloquer les autres (commit, type de transaction…) ?

La sécurité des données

Utilisateurs

– Qu’est-ce qu’un compte utilisateur Oracle ?
– Exemple de création de compte
– Paramétrage de base d’un compte utilisateur (profil, droits)

Protéger les données

– Les droits proposés par Oracle sur les tables
– Mise en oeuvre (grant, revoke)
– L’utilisation des vues pour masquer certaines données

L’optimisation des requêtes SQL

Comment Oracle exécute une requête SQL ?

– Les différents choix possibles pour Oracle
– Obtenir des informations sur une requête (plan d’exécution)
– Interpréter le temps d’exécution
– Quelques statistiques normales selon le volume des tables, le type de requête…

Optimiser

– Les règles de l’optimiseur
– Créer des index
– Générer des statistiques
– Pourquoi les index peuvent nuire aux performances ?
– Changer le plan d’exécution d’une requête

Travaux Pratiques

Chaque participant va construire de façon progressive son environnement de développement. A partir d’un modèle conceptuel de données réalisé en TP les participants prennent conscience de l’origine des données dans une base Oracle et des liens qui les unissent. Ensuite on passe à la création des tables qui seront utilisées tout au long du stage pour les manipulations SQL ainsi que pour la sécurisation des données. Les manipulations sont réalisées par défaut dans un environnement Oracle 12C.

Réf:

02454

Tarif:

600 Dt

Niveau:

Fondamental

Classe à distance:

Possible