• Calendrier Interentreprises
    Découvrez nos prochaines sessions
  • Catalogue de formations 2022
    Téléchargez notre catalogue

Description

Le langage SQL (Structured Query Language) est un élément incontournable lorsque l'on aborde la manipulation des données d'une base ORACLE. Il permet à la fois de générer les données, de les modifier, et de les extraire de la base en utilisant un langage proche de l'anglais quotidien sans véritablement programmer. C'est une des raisons du succès du SQL. Il est également important de comprendre l'origine des données, les liens entre elles, et comment Oracle nous propose d'extraire les données tout en sécurisant et permettant leur accès à plusieurs utilisateurs en même temps.

Pour qui

  • Développeur,
  • Utilisateur d'une base Oracle

Prérequis

 Connaissance générale en Informatique

Conception et création d'une base ORACLE

Concevoir une base de données

  • En quoi consiste la démarche de conception d'une base de données ?
    Vocabulaire et concepts (modèles relationnel et conceptuel)
    A l'origine le MCD (Modèle Conceptuel de Données)
    Règles de passage du MCD au MLD (Modèle Logique de Données)
    Exemples de modèle de base mal conçue

La base de données pour le développeur SQL

  • Du MLD au MPD (Modèle Physique de Données)
    Que deviennent les relations entre les données (contraintes d'intégrité) ?
    Principes des clés primaires et étrangères (primary key, foreign key).
    Des données d'applications différentes dans une même base (schémas) ?
    Disposer d'informations sur la base (dictionnaire de données)

TRAVAUX PRATIQUES

L'environnement utilisateur

  • SQL*Plus et SQL DeveloperQue signifie le « Plus » dans SQL*Plus ?
    Se connecter à une base Oracle
    Quelques problèmes classiques (tnsnames.ora, base arrêtée, listener, ...)
    Utiliser efficacement le buffer des commandes
    Premières commandes SQL
    Mise en forme des résultats
    Stocker les résultats dans un fichier (spool)
    Faire des scripts interactifs (accept, define)
    Prise en main de SQL Developer
    Retrouver des informations du dictionnaire de données (tables, contraintes, etc.) 


TRAVAUX PRATIQUES

Le langage SQL pour gérer le contenu d'une base

Créer le schéma d'une base de données

  • Création des tables (create table)
    Modification du schéma des tables (alter, drop)
    Protéger la cohérence des données avec les contraintes d'intégrité (primary key, foreign key, uniq)
    Les contraintes de valeurs (not null, check)
    Règles de nommage des contraintes d'intégrité
    Retrouver les informations dans le dictionnaire de données

Mettre à jour les données

  • Insérer des données (insert)
    Modifier leurs valeurs (update)
    Supprimer des données (delete)
    Fusionner les données entre deux tables sans écrasement (merge)

TRAVAUX PRATIQUES

Le langage SQL pour extraire les données

Premières requêtes SQL pour interroger la base

  • Structure générale (select ... from .... where ...)
    Vocabulaire associé (sélections, projection, restrictions)
    La gestion de la valeur NULL
    Trier les données
    Utiliser des alias pour simplifier les requêtes
    Obtenir les données de plusieurs tables (jointure)
    Utiliser des fonctions de groupe (count, sum, avg, ...)
    Regrouper les données (group by) et les filtrer (having)

TRAVAUX PRATIQUES

Requêtes ensemblistes

Les opérateurs ensemblistes (union, intersection, différence).
Les requêtes imbriquées (opérateurs IN, EXISTS).

TRAVAUX PRATIQUES

Les fonctions

  • Manipulations de chaînes de caractères (upper, lower, substr, instr, replace, ...)
    Fonctions numériques (abs, round, trunc, ceil, ...)
    Gestion du temps (next_day, add_mont, months_between, ...)
    Fonctions de conversion (to_char, to_date, cast, ...)

TRAVAUX PRATIQUES

Sensibilisation aux performances des requêtes.

  • Plusieurs façons d'écrire une même requête
    Comment Oracle analyse une requête ?
    Présentation des possibilités pour modifier les performances (statistiques, règles, ...)
    Principes des index
    Cas des clusters.

Les objets de schéma

Elements du quotidien autres que les tables

  • Séquences et auto-incrementation (12c)
    Intérêt des vues (view)
    Exploiter les vues du dictionnaires de données
    Présentation du PL/SQL (procédures, fonctions, packages et triggers).

TRAVAUX PRATIQUES

La notion de schéma, et la gestion des droits.

  • Regrouper les données dans un schéma.
    Qu'est-ce qu'un utilisateur pour Oracle ?
    La gestion des autorisations (grant, revoke)

TRAVAUX PRATIQUES

La notion de transaction

  • Qu'est-ce qu'une transaction ?
    Les « garanties » d'ORACLE par rapport aux données
    Les instructions COMMIT, ROLLBACK et SAVEPOINT.
    La gestion des accès concurrents (verrou)
    Exemples de blocages en SQL
    Exemple de transaction trop volumineuse (rollback segment)

 

  • Comprendre l'origine des données et les liens entre elles (modèle relationnel)
  • Savoir créer des données avec le langage SQL (table) 
  • Comprendre l'impact des types de données
  •  Savoir mettre à jour les données d'une base Oracle (insert, update, delete) en SQL
  • Savoir extraire les données d'une base ORACLE avec le SQL (select, where, like, ...)
  • Savoir écrire des requêtes SQL complexes (jointure, union, tri, ...) 
  • Comprendre la sécurité des données (grant, revoke) 
  • Comprendre la problématique des accès concurrents (verrou) 
  • Comprendre le principe de transaction (commit, rollback)

Formations sur le même thème

Oracle 11g - Administration
Durée : 5 jour(s)
ORA001 Détails
Oracle 11g - Administration avancée
Durée : 5 jour(s)
ORA002 Détails
Oracle 11g - Sauvegardes et restaurations
Durée : 5 jour(s)
ORA003 Détails
Oracle 12c - Administration
Durée : 5 jour(s)
ORA004 Détails
Développer avec Oracle PL/SQL
Durée : 5 jour(s)
ORA005 Détails
Oracle 12c - Administration avancée
Durée : 5 jour(s)
ORA007 Détails
Oracle Data Integrator (ODI)
Durée : 4 jour(s)
ORA007 Détails