You are on page 1of 51

SQL pour Oracle 10g

k. OUARAB Enseignante / Certifie Oracle 10G

Objectif de la formation


Comprendre lorigine des donnes et les liens entre elles (modle relationnel) Savoir crer des donnes avec le langage SQL (table) Comprendre limpact des types de donnes Savoir extraire les donnes travers des requtes simples ou complexes Comprendre les aspect de scurit des donnes Comprendre les aspects de transactions

  

 

Module du cours
MODULE 1 : PRSENTATION DE LENVIRONNEMENT MODULE 2 : LES OUTILS D ADMINISTRATION MODULE 3 : INTERROGATION DES DONNES MODULE 4 : LES OPRATEURS LOGIQUES MODULE 5 : LES CHANES DE CARACTRES MODULE 6 : LES FONCTIONS NUMRIQUES

MODULE 7 : LE TRAITEMENT DES DATES MODULE 8 : LES CONVERSIONS SQL MODULE 9 : GROUPEMENT DES DONNES MODULE 10 : AGRGATION ET ANALYSE MODULE 11 : LES REQUTES MULTI-TABLES MODULE 12 : LES JOINTURES COMPLEXES MODULE 13 : MISE JOUR DES DONNES MODULE 14 : LES TRANSACTIONS

MODULE 15 : LA CRATION DES TABLES MODULE 16 : LA GESTION DES TABLES MODULE 17 : LES INDEX MODULE 18 : LES VUES ET AUTRES OBJETS MODULE 19 : LES PROFILS MODULE 20 : LES UTILISATEURS MODULE 21 : LES PRIVILGES MODULE 22 : LE DICTIONNAIRE DE DONNES

1 Prsentation de lenvironnement
  

Base de donnes relationnelle SQL et PL/SQL Oracle XE

Quest ce quune base de donnes relationnelle

Objets de base de donnes


Tables Index Vues Materializes

Table Partitionne

Tables organisees en indexes Sequences

Clusters Schma Synonymes

Vues

Packages

Procedures

Structure de stockage des donnes


Structure logique Structure physique

1,1

Base de donnes
1,n 1,1 1,1 1,1 1,n

1,n

Tablespace
1,1 0,n

Fichier

Schma
1,1 1,n

Table, Index, cluster


1,1 1,n 1,n 1,1 1,n

Bloc Oracle

Bloc OS

Tables

Intgrit dune base de donnes

Interroger une base de donnes relationnelle: Le langage SQL

Programmer: Le langage PL/SQL

Architecture Client-Serveur Client-

Rle oracle net




Permet des produits oracle situ sur des machine diffrents de communiquer tablir des sessions de communication rseau entre deux machines Transfrer les donnes entre les deux machines Rendre le rseau transparent pour les applications Doit tre install cot client et serveur(ralis par dfaut par Oracle Universal Installer)

Principe de fonctionnement
 

Le client cherche se connecter un nom de service (orcl ici) (orcl Le nom de service est rsolu par une certaine mthode en un descripteur de connexion comportant ladresse du service,son nom et le protocole utiliser.Exemple: utiliser.Exemple: description=(address=(protocol=tcp)(host=x)(por description=(address=(protocol=tcp)(host=x)(por t=1521))(connect_data=(service_name=orcl)) t=1521))(connect_data=(service_name=orcl)) La demande de connexion est ensuite envoye ladresse mentionnes ladresse mentionne, un listener doit etre prsent pour recevoir la demande et la transmettre au service

Mthode de rsolution de nom




Easy connect naming

La connexion s effectue sans nom de service Utiliser directement une adresse tcp/ip du tcp/ type:

[//hote:port/service] [//hote:port/service]
SQL> connect stagiaire/pwd@//serv.monentreprise.com: stagiaire/pwd@//serv.monentreprise.com: 1521/dba 1521/dba

Mthode de rsolution de nom




Local naming

En utilisant le fichier de configuration tnsnames.ora situ sur le poste de lutilisateur


Dba = (description = (address_list = (address = (protocol = tcp) (protocol tcp) (host = serv.monentreprise.com) (port = 1521)) (connect_data = (server = dedicated) dedicated) (service_name = dba.monentreprise.com))

Mthode de rsolution de nom




Host naming:un mcanisme de

traduction d@ ip de type dns, hosts se dns, charge de la rsolution

Directory naming: un annuaire LDAP se naming:


charge de la rsolution

Fichiers de configuration


$Oracle_home$\app\oracle\product\1 Oracle_home$ app\oracle\product\ 0.2.0\server\NETWORK\ 0.2.0\server\NETWORK\ADMIN


Tnsnames.ora


Configuration des chanes de connexion Configuration du listener quelle base il coute comment et pour

Listener.ora


Sqlnet.ora
 Stocke la mthode de rsolution de nom utilisable par le client

Oracle xe
 

Oracle propose gratuitement une version de sa base de donnes Oracle 10g, avec les caractristiques suivantes : - Produit complet tlchargeable et facile installer. - Versions pour Windows et Linux. - Jusqu' 4 giga-octets de donnes, un processeur. giga- Utilisable dans un contexte de dveloppement professionnel - Facilits de dveloppement PL/SQL HTML, PHP, VB et .NET - Permet de dvelopper ou d'utiliser des applications dans diffrentes langues, y compris des jeux de caractres varis - Administration, cration de requtes et Dveloppement rapide WEB, avec Oracle Application Express et SQL Developper

Atelier 1
1-1 Une table peut-elle avoir plusieurs cls peutprimaries? 1-2 Une table peut-elle avoir une contrainte unique Une peutsi elle possde dj une cl primaire ? 1-3 une table qui possde une cl trangre est-elle estune table enfant ou une table parent ? 1-4 Que signifie LMD? LMD? 1-5 Que signifie LDD? LDD? 1-6 Quels sont les avantages du langage PL/SQL par rapport au SQL?

1-8 pour configurer le client lequel de ces fichiers utilisez-vous ? utilisezA. init.ora B. sqlnet.ora C. listener.ora D. tnsnames.ora 1-9 Quel est le rpertoire ou se trouvent les fichiers de configuration? A. %oracle-home%/Admin/network %oracleB. %oracle-home%network/Admin. %oracleC. %oracle-home%/net90/Admin. %oracle-

Exercice n01: lexercice concerne les tables utilises pour les ateliers Sachant que le symbole (pk) signifie cl primaire et (fk) la cl trangre. Quelles sont les tables en relation parent enfant?

2. Les outils SQL*Plus


 

Outils dadministration Forme SQL*PLUS

Outils dadministration
 

Sql*plus Sql*plus Oracle enterprise manager database control Oracle enterprise manager grid control Oracle enterprise manager java console

Forme SQL*PLUS
    

ligne de commande (sqlplus) (sqlplus) sql*plus sql*plus windows (sqlplusw) sqlplusw) SQL*PLUS Worksheet iSQL*PLUS iSQL*PLUS SQL Developer

Quest ce que SQL*PLUS? Un Environnement

Comparaison entre les instructions SQL et les commandes SQL*PLUS

Forme SQL*PLUS SQL*PLUS en mode ligne de commande

Forme SQL*PLUS
SQL*PLUS en mode Windows
Lancer par le menu: dmarrer-programmes-oracle-application development-sqlplus Par une ligne de commande: Sqlplusw user/ pwd

Forme SQL*PLUS SQL*PLUS en mode worksheet


Peut tre lancer a partir une ligne de commande: oemapp worksheet oracle 9i

Quest ce que iSQL*PLUS

Connexion iSQL*PLUS iSQL*PLUS

Forme SQL*PLUS Sql developper

Commandes SQL*PLUS


SQLPLUS:

se connecter SQL*Plus

Diffrentes variantes de connexion

C:\>sqlplus C:\ C:\>sqlplus _ C:\ C:\>sqlplus /nolog C:\ C:\>sqlplus /as sysdba C:\ C:\>sqlplus [logon][@chaine] C:\ [logon][@chaine] @fichier[.ext] [arg] fichier[.ext] [arg]

Commandes SQL*PLUS


CONNECT: CONNECT:

se connecter un compte utilisateur

Non ncessaire si sqlplus se connecte au dmarrage Ncessaire en mode nolog ou pour changer lutilisateur CONN[ECT] nom utilisateur/mot de passe @chaine de connexion Si le mot de passe nest pas spcifi, il est demand

Commandes SQL*PLUS
DISC[ONNECT]: DISC[ONNECT]: se dconnecter

dun compte utilisateur

quitter SQL*Plus et revenir lenvironnement appelant

EXIT / QUIT: QUIT:

Commandes SQL*PLUS


RUN (/):affiche et excute le


contenu du tampon
dans un fichier

SAVE: stocker le contenu du tampon


Sav[e] fichier[.ext] [Create|Replace|Append] Sav[e] fichier[.ext] [Create|Replace|Append]

Commandes SQL*PLUS


ED[IT]:
lditeur

ouvrir un fichier dans

excuter instructions stockes dans un fichier sql

START (@):

Commandes SQL*PLUS


charger le contenu dun fichier dans le tampon Envoyer des commandes au systme dexploitation hte. hte.

GET:

HOST:

Commandes SQL*PLUS SPOOL:


charger le rsultat dune requte dans un fichier (avec sa syntaxe et prompts)

Spool fichier.sql SPOOL OFF: arrter le chargement

Commandes SQL*PLUS


DESC[RIBE]:afficher la structure dune table.

Peut tre utilise dans linterface en ligne de commande ou en mode Web

Commandes SQL*PLUS


DESCRIBE en ligne de commande

Commandes SQL*PLUS


DESCRIBE en mode Web

Commandes SHOW: SQL*PLUS




courant

SHOW USER: USER:

affiche lutilisateur

largeur daffichage dune colonne courante

SHOW LINESIZE: affiche la LINESIZE: SHOW PAGESIZE: PAGESIZE:

affiche le nombre de lignes affiches par page

Commandes SQL*PLUS


FEEDBACK: activer ou dsactiver laffichage du nombre de lignes retournes ECHO: activer ou dsactiver laffichage de linstruction lorsquelle est lance partir dun fichier

Commandes SQL*PLUS


largeur daffichage dune colonne

SET LINESIZE n: dfinit la

Ex: set linesize 10 dfinit le nombre de lignes affiches par page Ex: set pagesize 20


SET PAGESIZE n:

Commandes SQL*PLUS


Formatter une colonne

COLUMN nom [HEADING alias] [FORMAT f] alias] Voir le formattage courant COLUMN nom


Supprimer le formattage COLUMN nom CLEAR




You might also like