Documente Academic
Documente Profesional
Documente Cultură
SQL et PL/SQL
Fac Simile
Ce fac simile prsente la table des matires, le
p^ramblue et le dbut du premier chapitre de
l'ouvrage.
Auteur
Razvan BIZO
GUIDE DE FORMATION
Avant-propos
PREAMBULE................................................................................................ P-1
MODULE 1: P RESENTATION
DE LENVIRONNEMENT .......................................1-1
MODULE 2: INTERROGATION
T-1
La valeur NULL..................................................................................................................2-13
La traitement de la valeur NULL ........................................................................................2-14
Atelier 2.2 ............................................................................................................................2-15
La slection ou restriction...................................................................................................2-16
Les oprateurs logiques .......................................................................................................2-17
Loprateur LIKE................................................................................................................2-20
Loprateur IS NULL ..........................................................................................................2-22
Atelier 2.3 ............................................................................................................................2-24
Les oprateurs logiques .......................................................................................................2-25
Les oprateurs AND et OR .................................................................................................2-27
Atelier 2.4 ............................................................................................................................2-29
Tri du rsultat d'une requte ................................................................................................2-30
La pseudocolonne ROWNUM ............................................................................................2-33
Table DUAL........................................................................................................................2-34
Atelier 2.5 ............................................................................................................................2-35
T-2
DES DONNEES.......................................................6-1
T-3
Structuration de la transaction.............................................................................................6-18
Gestion des accs concurrents .............................................................................................6-21
Atelier 6.1 ............................................................................................................................6-23
MODULE 7: L ES OBJETS
MODULE 8: C ONTROLE
Le contrle daccs................................................................................................................8-2
Cration d'un utilisateur ........................................................................................................8-3
Cration d'un rle ..................................................................................................................8-5
Gestion des privilges ...........................................................................................................8-8
Atelier 8.1 ............................................................................................................................8-11
T-5
SOUS-PROGRAMMES......................................................15-1
Les sous-programmes..........................................................................................................15-2
Les blocs nomms ...............................................................................................................15-3
Les procdures.....................................................................................................................15-4
Les fonctions .......................................................................................................................15-7
La suppression des blocs...................................................................................................15-10
Les arguments (1) ..............................................................................................................15-12
Les arguments (2) ..............................................................................................................15-15
Les arguments (3) ..............................................................................................................15-18
Les blocs locaux................................................................................................................15-19
La surcharge de blocs ........................................................................................................15-21
Le dboguage des blocs.....................................................................................................15-22
Atelier 15.1 ........................................................................................................................15-24
PACKAGES.....................................................................16-1
T-6
INDEX...........................................................................................................I-1
T-7
Prambule
Support de formation
Ce guide de formation est idal pour tre utilis comme support lve dans une
formation se droulant avec un animateur dans une salle de formation, car il permet
l'lve de suivre la progression pdagogique de l'animateur sans avoir prendre
beaucoup de notes. L'animateur, quant lui, appuie ses explications sur les
diapositives figurant sur chaque page de l'ouvrage.
Cet ouvrage peut aussi servir de manuel d'autoformation car il est rdig la faon
d'un livre, il est complet comme un livre, il va beaucoup plus loin qu'un simple
support de cours. De plus, il inclut une quantit d'ateliers conus pour vous faire
acqurir une bonne pratique de ces deux langages.
P-1
Prambule
Progression pdagogique
Ce cours comprend 17 chapitres, il est prvu pour durer quatre dix jours avec un
animateur pour des personnes n'ayant aucune connaissance pralable du sujet.
Suivant l'exprience des stagiaires et le but poursuivi, l'instructeur passera plus ou
moins de temps sur chaque module.
Attention : l'apprentissage par cur des chapitres n'est d'aucune utilit pour passer
les examens. Une bonne pratique et beaucoup de rflexion seront rellement utiles
ainsi que la lecture des aides en ligne.
Prsentation de lenvironnement
Ce chapitre vous propose une prise en main de linterface de base de donnes mise la
disposition des dveloppeurs dapplications SQL et PL/SQL ainsi que de faire
connaissance avec les composants constitutifs dune base de donnes relationnelle.
P-2
Prambule
Prsentation PL/SQL
Ce chapitre prsente lenvironnement de dveloppement et lintgration du PL/SQL,
dans Oracle .
Les curseurs
L'une des plus importantes caractristiques du PL/SQL est la possibilit de manipuler
les donnes ligne par ligne.
Les exceptions
Ce chapitre explique comment dfinir, dclencher et traiter les exceptions en PL/SQL.
Les sous-programmes
Le langage PL/SQL est un langage algorithmique complet ; il bnficie de la
possibilit de structuration du code, avec un procd de dcomposition de gros blocs
de code en plus petits modules qui peuvent tre appels par d'autres modules.
P-3
Prambule
Les packages
Un package est une structure PL/SQL qui permet de stocker ensemble des objets
logiquement associs et comprend deux parties distinctes : la spcification et le corps,
qui sont stocks sparment dans le dictionnaire de donnes.
Les dclencheurs
Les dclencheurs sont des blocs PL/SQL nomms comprenant des sections
dclaratives, excutable s et de gestion des exceptions et ils doivent tre stocks dans la
base de donnes sous forme d'objets autonomes.
P-4
Prambule
MAJUSCULES
Caractre courrier
[ ]
{ }
|
...
P-5
Base de donnes
relationnelle.
SQL et PL/SQL
SQL*Plus
Module 1: Prsentation
de lenvironnement
Objectifs
A la fin de ce module, vous serez mme deffectuer les tches suivantes :
Contenu
Qu'est-ce qu'une base de donnes ? 1-2
Le langage PL/SQL
1-10
Schma
1-12
Table
1-13
1-15
Le langage SQL
1-17
1-9 Atelier 1
1-25
1-1
1-2
Schma
Schma
Propritaire
du schma
Tables
Index
Procdures
Schma
Vues
Contraintes
Un schma est tout simplement un groupe d'objets d'une base de donnes qui sont
apparents et relis entre eux. La table constitue l'lment le plus fondamental d'un
schma de base de donnes.
D'autres types d'lments peuvent rsider dans un schma :
des index,
des contraintes,
des vues,
des procdures,
...
Le propritaire du schma dispose d'un accs permettant de manipuler la structure de
n'importe quel objet du schma.
NOTE
Un schma ne reprsente pas une personne, mme s'il est associ un compte
utilisateur hberg dans la base de donnes.
1-3
Table
Table
Table
Une table sert stocker les donnes auxquelles l'utilisateur doit accder. C'est l'unit
fondamentale de stockage physique des donnes dans une base. Gnralement, c'est
aux tables que font rfrence les utilisateurs pour accder aux donnes. Une base peut
tre constitue de plusieurs tables relies entre elles. Une table contient un ensemble
fixe de colonnes.
Colonnes
Une colonne, ou champ reprsente une partie d'une table et constitue la plus petite
structure logique de stockage d'une base de donnes. Chaque colonne possde un nom
ainsi quun type de donne, qui dterminent ses caractristiques spcifiques. Dans la
reprsentation d'une table, une colonne est une structure verticale qui contient des
valeurs sur chaque ligne de la table.
Lignes
Une ligne de donnes est une collection de valeurs inscrites dans les colonnes
successives d'une table, l'ensemble formant un enregistrement unique. Par exemple, la
table EMPLOYES compte 9 enregistrements ou lignes de donnes. Le nombre de
lignes augmente ou diminue en fonction des ajouts et suppressions des employs.
Types de donnes
Un type de donne dtermine lensemble des valeurs quil est possible de stocker dans
une colonne de la base de donnes. Une colonne se voit attribuer un type de donnes
et une longueur. Pour les colonnes de type number, il est possible de spcifier des
caractristiques additionnelles relatives la prcision et lchelle. La prcision
dtermine le nombre total de chiffres que peut prendre la valeur numrique, lchelle
le nombre de chiffre que peut prendre la partie dcimale. Par exemple, number
(10,2) spcifie une colonne dix chiffres, avec deux chiffres aprs la virgule. La
prcision par dfaut (maximale) est de trente-huit chiffres.
1-4
Cl Primaire = Cl trangre
L'intgrit des donnes garantit que les donnes de la base sont exactes, en d'autres
termes qu'elles vrifient des rgles d'intgrit exprimes sous la forme de contraintes
sur les colonnes. Ces contraintes valident les valeurs des donnes places dans la base,
garantissent l'absence de donnes dupliques ou le respect des rgles de gestion aprs
modification ou ajout de donnes. Elles peuvent tre mises en place aussi bien au
niveau de la colonne qu'au niveau de la table.
Durant la conception d'une base de donnes, les rgles d'intgrit sont d'abord
intgres travers l'utilisation de contraintes. Sur le plan technique, les contraintes
d'une base de donnes sont constitues :
1-5
Cls primaires
Une cl primaire rend une ligne de donnes unique dans une table. Elle sert
gnralement joindre des tables apparentes ou interdire la saisie d'enregistrements
dupliqus. Par exemple, le numro de Scurit sociale d'un employ est considr
comme la cl primaire idale car il est unique.
ATTENTION
Une table ne peut comporter qu'une seule cl primaire , mme lorsque celle -ci est
constitue d'une combinaison de plusieurs colonnes.
Contrainte unique
Il est possible de spcifier une contrainte unique pour une colonne de cl non primaire
afin de garantir que toutes les valeurs de cette colonne seront uniques. Par exemple,
une contrainte unique conviendra une colonne de type numro de Scurit sociale.
Une entreprise de tlphonie peut appliquer une contrainte unique la colonne
PHONE_NUMBER, car les clients ne doivent possder que des numros de tlphone
uniques.
Cls trangres
Une cl trangre d'une table rfrence une cl primaire d'une autre table. Elle est
dfinie dans des tables enfant et assure qu'un enregistrement parent a t cr avant un
enregistrement enfant et que l'enregistrement enfant sera supprim avant
l'enregistrement parent.
Limage montre comment s'appliquent les contraintes de cls trangre et primaire. La
colonne NO_FOURNISSEUR de la table PRODUITS rfrence la colonne
NO_FOURNISSEUR de la table FOURNISSEURS. FOURNISSEURS est la table
parent et PRODUITS la table enfant. Pour crer un enregistrement dans la table
PRODUITS il faut que le NO_FOURNISSEUR existe d'abord dans la table
FOURNISSEURS.
1-6
Atelier 1.1
Atelier 1.1
Lancement du SQL*Plus
Utilisation de SQL*Plus
Dure : 5 minutes
TSOFT - ORACLE 9i SQL et PL*SQL
TP
Le but du TP est lutilisation du SQL*Plus et la mise en pratique des ses commandes.
Exercice n 1
Dmarrez SQL*Plus dans les deux environnements, ligne de commande et Windows,
avec les paramtres fournis par ladministrateur Oracle lors de la configuration de
votre poste :
Nom dutilisateur
Mot de passe
Chane de connexion (le nom du service)
Exercice n 2
Redirigez les sorties vers en fichier et excutez les commandes suivantes :
1-7
Avis du lecteur
Critiques et suggestions
www.tsoft.fr
Tsoft Oracle 9i SQL et PL/SQL
Guide TSOFT
Oracle 9i SQL et PL/SQL
Rfrence : TS0048
Juin 2003