Вы находитесь на странице: 1из 36

Oracle Database 11g: Administration

Support de cours - Module I

D50079EN10 Edition 1.0 June 2012 D53581

THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY.

Plan du cours
1 PRESENTATION GENERAL DORACLE_______________________________________________

ARCHITECTURE DUN SERVEUR ORACLE ___________________________________________

REVISION SUR LE LANGAGE SQL ___________________________________________________

INSTALLATION ET CREATION DUNE BASE DE DONNEES ORACLE____________________

ADMINISTRATION DUNE BASE DE DONNEES ORACLE________________________________

GESTION DES UTILISATEURS_________________________________________________________

GESTION DES OBJECTS ______________________________________________________________

GESTION DU STOCKAGE DUNE BASE DE DONNEES____________________________________

UTILISATION DU RECOVERY MANAGER (RMAN) ______________________________________

10 SECURITE ET SURVEILLANCE DE LA BASE DE DONNEES_______________________________

11 MINI PROJET_________________________________________________________________________

THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY.

Prsentation General doracle

Copyright 2007, Oracle. Tous droits rservs.

Prsentation General doracle


Oracle est un System de Gestion de Base de donnes relationnelle (SGBDR) cre par la socit Oracle Corporation en 1977 par Lawrence Ellison, Bob Minner et Ed OATS. Relation Software Incorporation (RSI) est devenue Oracle Corporation en 1983. Les diffrentes Version dOracle sont : RDBMS-RSI1 RDBMS-RSI2 RDBMS-RSI3 Oracle4, 5, 6, 7, 8,8i, 9i, 10g, 11g Les diffrentes Editions sont : - Edition Standard - Edition Personnel - Edition Entreprise

La base de donnes Oracle

Le systme de gestion de base de donnes relationnelle (SGBDR) fourni par Oracle est un systme de gestion de Base de donnes qui fournit une approche intgre, Complte et ouverte de la gestion des informations.

1-3

Copyright 2007, Oracle. Tous droits rservs.

La base de donnes Oracle Une base de donnes est un ensemble de donnes traites comme une seule et mme unit. La fonction principale d'une base de donnes consiste stocker et extraire des informations associes. Oracle Database gre de manire fiable une grande quantit de donnes dans un environnement multiutilisateur, permettant ainsi de nombreux utilisateurs d'accder simultanment aux mmes donnes. Les oprations effectues par les utilisateurs ne nuisent pas ses performances. En outre, son mode de fonctionnement empche tout accs non autoris et fournit des solutions efficaces pour la rcupration des donnes aprs incident. Differents outils doracle Outils dadministration (Entreprise Manager) Outils de dveloppement (Developper 2000, JDevelopper) Outils de Communication (SQLNET) Outils daide la dcision

Architecture du Serveur Oracle

Copyright 2007, Oracle. Tous droits rservs.

Structures de serveur de base de donnes Oracle


Instance

Structures mmoire
SGA Zone de mmoire partage Cache "library"
Processus
utilisateur

Processus serveur

Cache de tampons de la base de donnes

Tampon de journalisation

Cache du dictionnaire de donnes


PMON ARCn Autres

Processus

DBWn

CKPT

LGWR

SMON

Base de donnes

Structures de stockage

Fichiers de donnes

Fichiers de contrle

Fichiers de journalisation en ligne

1-6

Copyright 2007, Oracle. Tous droits rservs.

Architecture de base de donnes Oracle Un serveur Oracle est constitu d'une instance Oracle et d'une base de donnes Oracle. 1- Oracle Instance L'instance Oracle comprend une rgion de la mmoire appele La SGA (System Global Area). La SGA contient des donnes et des informations de contrle sur le serveur Oracle. La mmoire est alloue la SGA lors du dmarrage d'une instance et d-alloue lors de son arrt. Cette zone mmoire est partage et rside dans la mmoire vive qui n'est pas swappe ni pagine pour des raisons de performances. La SGA se compose de plusieurs structures de groupe de mmoire, les trois principales tant : Le pool partag (Shared Pool) : Contient les requtes SQL le plus rcemment excut et Linformation du dictionnaire de donnes la plus rcemment utilise. Le buffer de cache de la base de donnes (Database Buffer Cache) : Cette structure stocke les donnes utilisatrices les plus rcentes tires des tables. Le buffer de redo Log (Redo Log Buffer) : Ce buffer est utilis pour enregistrer les modifications effectues sur la base de donnes. Process d'arrire plan Une instance Oracle comprend, en plus de la SGA, un ensemble de process d'arrire plan qui sont au niveau du systme d'exploitation. Oracle 11g comprend cinq process d'arrire plan obligatoire pour une instance : Database Writer (DBWn) :Il crit les donnes charges du buffer de cache de base de donnes vers les fichiers de donnes. Log Writer (LGWR) : Il enregistre les changements qui sont instancis dans le buffer de redo log vers les fichiers de redo log. (Ces changements sont rfrencs comme les donnes du redo log) System Monitor (SMON) : Il excute une rcupration de l'instance lors de son dmarrage, il nettoie les segments temporaires qui ne sont plus utiliss et annule les transaction qui n'avaient pas te valides lors d'un plantage du systme. Il permet de vrifier la cohrence des donnes.

Process Monitor (PMON) : Il rcupre les process lorsque qu'un process utilisateur choue. Il est responsable du nettoyage des process et des ressources inutiliss et de dverrouiller les ressources systme bloques par un process utilisateur.

Check point (CKPT) : il met jour les statuts d'information sur la base de donnes tels que les enttes des fichiers de base de donnes. Ceci est fait lors d'un vnement de check point tel qu'une rotation des logs. Les changements dans le buffer de cache de la base de donnes sont alors crits de manire permanente dans les fichiers de donnes. En plus de ces process obligatoires, on trouve un ensemble de process optionnels : Recoverer (RECO) Archiver (ARCn) Lock (LCKn) Dispatcher (Dnnn)

Architecture de base de donnes Oracle : Prsentation


Instance SMON PMON Autres

SGA

Zone de mmoire partage Cache "library"

Cache de tampons de la base de donnes PGA Processus serveur


DBWn

Tampon de journalisation

Cache du dictionnaire de donnes

CKPT

LGWR

ARCn

Processus utilisateur Fichiers de donnes

Fichiers de contrle Base de donnes

Fichiers de journalisation en ligne

Fichiers de journalisation archivs

1-4

Copyright 2007, Oracle. Tous droits rservs.

2- Fichiers de la Base de donnes

Une base de donnes Oracle est une collection de donnes qui stocke et fournit un ensemble d'informations communes. Ces donnes sont stockes dans des fichiers physiques, le DBA est la charge de ces fichiers de base de donnes. Il existe trois types de fichiers dans une base de donnes Oracle : Les fichiers de donnes (Data File) : Il peut y avoir un ou plusieurs fichiers de donnes. Ces fichiers ont les rles suivants : Stocke le dictionnaire de donnes. Stocke les objets utilisateurs. Stocke les image avants des blocs de donnes qui sont modifis par les transactions courantes. Les fichiers de redo log (Redo Log File) : Une base de donnes Oracle comporte au moins deux groupes de redo log, chaque groupe ayant au moins un fichier de redo log. Ces fichiers servent enregistrer tous les changements effectus sur les donnes pour assurer leur restauration en cas de disfonctionnement du systme. Pour renforcer leur tolrance une panne de disque dur, Oracle supporte les fichiers de redo log multiplexs. On peut ainsi maintenir une ou plusieurs copie de fichiers de redo log sur diffrents disques (On parle de fichiers mirrors). Les fichiers de contrle (Control File) Ces fichiers contiennent les informations requises pour maintenir et vrifier l'intgrit de la base de donnes. Ils renferment la structure des donnes (Nom de la base, date de cration, chemins vers les fichiers de donnes et de redo log). Une base de donnes Oracle ncessite au moins un fichier de contrle, il est toutefois possible dgalement les mirrorer sur plusieurs disques dur.

3- Fichiers relatant la Base de donnes Ce sont les fichiers qui ne font pas partie de la base de donnes mais qui sont utiliss par le serveur Oracle pour des oprations telles que le dmarrage d'une instance ou l'authentification des utilisateurs. Il existe trois types de fichiers : Le fichiers de paramtre (Parameter File) : Il va dfinir les caractristiques de l'instance. Lors du dmarrage d'une instance, le serveur Oracle va lire les paramtres d'initialisation du fichier de paramtres. On retrouve des informations telles que le nom de la base de donnes, la taille de la mmoire allouer, le nom des fichiers de contrle ainsi que les autres paramtres systme. Le fichier de mots de passe (Password File) : Il est utilis pour authentifier les utilisateurs privilgis. Il permet sysdba/sysoper/system de se connecter distance la base de donnes et d'effectuer des tches d'administration Les fichiers de redo log archivs (Archived Redo Log Files) : Ils contiennent des copies off line des fichiers de redo log. Ils sont utiliss lors d'une rcupration suite une dfaillance d'un mdia. Les fichiers de redo log sont sauvs lorsqu'ils sont pleins, cette fonctionnalit n'est utilise que lorsque la base de donnes est en mode "ARCHIVELOG".

Structures de serveur de base de donnes Oracle


Instance

Structures mmoire
SGA Zone de mmoire partage Cache "library"
Processus
utilisateur

Processus serveur

Cache de tampons de la base de donnes

Tampon de journalisation

Cache du dictionnaire de donnes


PMON ARCn Autres

Processus

DBWn

CKPT

LGWR

SMON

Structures de stockage

Base de donnes

Fichier de Paramtre

Fichier de Password

Fichier d archives Fichiers de donnes Fichiers de contrle Fichiers de journalisation en ligne

1-6

Copyright 2007, Oracle. Tous droits rservs.

Architecture de stockage de la base de donnes

Fichiers de contrle

Fichiers de donnes

Fichiers de journalisation en ligne

Fichier de paramtres

Fichiers de sauvegarde

Fichiers de journalisation archivs

Fichier de mots de passe


1 - 12

Fichiers d'alertes et fichiers trace


Copyright 2007, Oracle. Tous droits rservs.

Architecture de stockage de la base de donnes Les fichiers constituant une base de donnes Oracle sont organiss de la faon suivante : Fichiers de contrle : Ils contiennent des donnes sur la base elle-mme (informations sur la structure physique de la base de donnes). Ces fichiers sont d'une importance capitale pour la base. Sans eux, vous ne pouvez pas ouvrir de fichiers de donnes pour accder aux donnes de la base. Fichiers de donnes : Ils contiennent les donnes utilisateur ou donnes des applications de la base de donnes, ainsi que des mtadonnes et le dictionnaire de donnes. Fichiers de journalisation en ligne (online redo logs) : Ils permettent la rcupration d'une instance de base de donnes. Si le serveur de base de donnes connat une dfaillance et qu'aucun fichier de donnes n'est perdu, l'instance peut rcuprer la base de donnes partir des informations contenues dans ces fichiers.

Les autres fichiers indiqus ci-dessous sont essentiels au bon fonctionnement de la base de donnes : Fichier de paramtres : Il permet de dfinir la faon dont l'instance est configure au dmarrage. Fichier de mots de passe : Il permet sysdba/sysoper de se connecter distance la base de donnes et d'effectuer des tches d'administration. Fichiers de sauvegarde : Ils sont utiliss pour la rcupration de la base de donnes. En rgle gnrale, vous restaurez un fichier de sauvegarde lorsqu'une dfaillance Physique ou une erreur utilisateur a endommag ou supprim le fichier d'origine . Fichiers de journalisation archivs (archived redo logs) : Ils contiennent l'historique complet des modifications de donnes (informations de journalisation) gnres par l'instance. A l'aide de ces fichiers et d'une sauvegarde de la base de donnes, vous pouvez rcuprer un fichier de donnes perdu. Autrement dit, les fichiers de journalisation archivs permettent la rcupration des fichiers de donnes restaurs. Fichiers trace : Chaque processus serveur et processus en arrire-plan peut crire dans un fichier trace associ. Lorsqu'un processus dtecte une erreur interne, il ralise dans son fichier trace un dump des informations relatives cette erreur. Certaines informations crites dans un fichier trace sont destines l'administrateur de base de donnes, et d'autres au Support technique Oracle. Fichier d'alertes : Il contient des entres de trace spciales. Le fichier d'alertes d'une base de donnes est un journal chronologique des messages et des erreurs. Il existe un fichier d'alertes pour chaque instance. Oracle recommande de le consulter rgulirement.

Structures logiques et structures physiques d'une base de donnes


Logique Base de donnes Physique

Schma

Tablespace

Fichier de donnes

Segment

Extent

Bloc de donnes Oracle

Bloc du systme d'exploitation

1 - 14

Copyright 2007, Oracle. Tous droits rservs.

Structures logiques et structures physiques d'une base de donnes Une base de donnes comporte des structures logiques et des structures physiques. Structures physiques Ce sont des structures qui existent physiquement sur le disque :

- Les Fichiers de donnes (Data files) - Les Fichiers de Contrles (Contrle files) - Les Fichiers de Journalisations (Redo Log files)

Structures Logiques

Ce sont des structures qui ne sont pas matrialiss physiquement mais qui constituent des blocs de regroupement de donnes :

- Les Datablocks - Les Extents - Les Segments - Les Tablespaces - Les objets du Schema
1- Blocs de donnes Au niveau de dtail le plus fin, les donnes d'une base Oracle sont stockes dans des blocs de donnes. Un bloc de donnes correspond un nombre prcis d'octets d'espace physique sur le disque. Chaque base utilise et alloue de l'espace libre de base de donnes dans les blocs de donnes Oracle.

2- Extents Le terme extent (ensemble de blocs contigus) dsigne le niveau suivant d'espace de base de donnes logique. Un extent consiste en un nombre dfini de blocs de donnes contigus (obtenus par une allocation unique) qui permettent de stocker un type spcifique d'informations. 3- Segments Le niveau logique de stockage situ au-dessus d'un extent s'appelle un segment. Un segment est un ensemble d'extents allous une structure logique donne. On rencontre notamment les types de segment suivants : Segments de donnes : Toutes les tables de donnes sont stockes dans ce segment. Segments d'index : Chaque index comporte un segment d'index dans lequel sont stockes toutes ses donnes relatives lindex. Segments d'annulation (undo) : Un tablespace UNDO est cr pour chaque instance de base de donnes ; il contient de nombreux segments d'annulation permettant de stocker temporairement des informations d'annulation. Les informations contenues dans un segment d'annulation permettent de gnrer des informations de base de donnes cohrentes en lecture et, lors de la rcupration de la base, d'annuler les transactions non valides pour les utilisateurs.

Segments temporaires : Ces segments sont crs par la base de donnes Oracle lorsque l'excution d'une instruction SQL requiert une zone de travail temporaire. Une fois l'instruction excute, les extents du segment temporaire sont renvoys l'instance en vue d'une utilisation ultrieure. Vous pouvez indiquer un tablespace temporaire par dfaut pour chaque utilisateur ou l'chelle de la base de donnes.

4- Tablespaces Une base de donnes est divise en units de stockage logiques appeles tablespaces, qui regroupent des structures logiques associes. Par exemple, les tablespaces regroupent habituellement tous les objets d'une application afin de simplifier certaines oprations d'administration. Vous pouvez disposer d'un premier tablespace pour les donnes d'application et d'un second pour les index d'application. 5- Schmas Un schma est un ensemble d'objets de base de donnes appartenant un utilisateur de la base. Les objets de schma sont les structures logiques qui font directement rfrence aux donnes de la base. Ils incluent des structures telles que des tables, des vues, des squences, des procdures stockes, des synonymes, des index, des clusters et des liens de base de donnes. Table : cest une entit dont les informations sont stockes dans des colonnes et des lignes. Ces colonnes ont des noms, type de donnes et des tailles Vue : cest le rsultat stock dune requte et elle na pas dexistence propre. Squence : cest un objet qui permet de gnrer une srie numrique. Procdure stocke : cest un ensemble dordre SQL et PL/SQL (programme) qui ralise une tache. Index : cest une cl pour avoir accs rapidement des donnes dune table Database link : cest un lien qui permet de connaitre le chemin dune Base de Donnes.

REVISION SUR LE LANGAGE SQL

1-Dfinition des acronymes

SQL :Structured Query Langage


LDD (Langage de Dfinition de Donnes) :
cration, modification et suppression des dfinitions des tables

LMD (Langage de Manipulation de Donnes) :


ajout, suppression, modification et interrogation des donnes

LCD (Langage de Contrle de Donnes) : gestion


des protections daccs Fin dinstruction : ; Commentaires : /* */ ou commentaire

Base de donnes exemple CLIENT (NumCli, Nom, Prnom, DateNaiss, Rue,CP, Ville) PRODUIT (NumProd, Dsi, PrixUni, NumFour) FOURNISSEUR (NumFour, RaisonSoc) COMMANDE (NumCli, NumProd, Date, Quantit) Cls primaires Cls trangres

2. Dfinition des donnes Dfinitions des tables CREATE TABLE (Attribut1 TYPE, Attribut2 TYPE, , contrainte_integrit1, contrainte_integrit2, ); Type des donnes : NUMBER(n) : Entier n chiffres NUMBER(n, m) : Rel n chiffres au total (virgule comprise), m aprs la virgule VARCHAR(n) : Chane de n caractres (entre ) DATE : Date au format JJ-MM-AAAA

Dfinitions des contraintes dintgrit Cl primaire : CONSTRAINT nom_contrainte PRIMARY KEY (attribut_cl [, attribut_cl2, ]) Cl trangre : CONSTRAINT nom_contrainte FOREIGN KEY (attribut_cl_t) REFERENCES table(attribut) Contrainte de domaine : CONSTRAINT nom_contrainte CHECK (condition)

Dfinition des donnes

ex. CREATE TABLE Client (

NumCli NUMBER(3), Nom CHAR(30), DateNaiss DATE, Salaire NUMBER(8,2), NumEmp NUMBER(3),

CONSTRAINT cle_pri PRIMARY KEY (NumCli), CONSTRAINT cle_etr FOREIGN KEY (NumEmp) REFERENCES EMPLOYEUR(NumEmp), CONSTRAINT date_ok CHECK (DateNaiss < SYSDATE));

Cration dindex (acclration des accs) CREATE [UNIQUE] INDEX nom_index ON nom_table (attribut [ASC|DESC], ); UNIQUE pas de double ASC/DESC ordre croissant ou dcroissant ex. CREATE UNIQUE INDEX Icli ON Client (NumCli);

Destructions :

DROP TABLE nom_table; DROP INDEX nom_index

Ajout dattributs ALTER TABLE nom_table ADD (attribut TYPE, ); ex. ALTER TABLE Client ADD (tel NUMBER(8));

Modifications dattributs ALTER TABLE nom_table MODIFY (attribut TYPE, ); ex. ALTER TABLE Client MODIFY (tel NUMBER(10));

Suppression de contraintes ALTER TABLE nom_table DROP CONSTRAINT nom_contrainte;

3. Mise jour des donnes Ajout dun tuple INSERT INTO nom_table VALUES (val_att1, val_att2, ); ex. INSERT INTO Produit VALUES (400, Nouveau produit, 78.90); Mise jour dun attribut UPDATE nom_table SET attribut=valeur [WHERE condition]; ex. UPDATE Client SET Nom=Dudule WHERE NumCli = 3;

3. Mise jour des donnes

Suppression de tuples DELETE FROM nom_table [WHERE condition]; ex. DELETE FROM Produit; DELETE FROM Client WHERE Ville = Lyon;

4. Interrogation des donnes SELECT [ALL|DISTINCT] attribut(s) FROM table(s) [WHERE condition] [GROUP BY attribut(s) [HAVING condition]] [ORDER BY attribut(s) [ASC|DESC]]; Tous les tuples dune table ex. SELECT * FROM Client; Tri du rsultat ex. Par ordre alphabtique inverse de nom SELECT * FROM Client ORDER BY Nom DESC; Ou par lexemple

4. Interrogation des donnes Calculs ex. Calcul de prix TTC

SELECT PrixUni+PrixUni*0.18 FROM Produit; Projection ex. Noms et Prnoms des clients, uniquement SELECT Nom, Prenom FROM Client; Restriction ex. Clients qui habitent Lyon SELECT * FROM Client WHERE Ville = Lyon;

II.4. Interrogation des donnes ex. Commandes en quantit au moins gale 3 SELECT * FROM Commande WHERE Quantite >= 3; ex. Produits dont le prix est compris entre 50 et 100 F SELECT * FROM Produit WHERE PrixUni BETWEEN 50 AND 100; ex. Commandes en quantit indtermine SELECT * FROM Commande WHERE Quantite IS NULL;

4. Interrogation des donnes

ex. Clients habitant une ville dont le nom se termine par sur-Sane SELECT * FROM Client WHERE Ville LIKE %sur-Sane; sur-Sane% %sur% commence par sur-Sane contient le mot sur

4. Interrogation des donnes

ex. Prnoms des clients dont le nom est Dupont, Durand ou Martin SELECT Prenom FROM Client WHERE Nom IN (Dupont, Durand, Martin);

NB : Possibilit dutiliser la ngation pour tous ces prdicats : NOT BETWEEN, NOT NULL, NOT LIKE, NOT IN.

4. Interrogation des donnes Fonctions dagrgat Elles oprent sur un ensemble de valeurs. AVG(), VARIANCE(), STDDEV() : moyenne, variance et cart-type des valeurs SUM() : somme des valeurs MIN(), MAX() : valeur minimum, valeur maximum COUNT() : nombre de valeurs ex. Moyenne des prix des produits SELECT AVG(PrixUni) FROM Produit;

4. Interrogation des donnes

Oprateur DISTINCT

ex. Nombre total de commandes SELECT COUNT(*) FROM Commande; SELECT COUNT(NumCli) FROM Commande; ex. Nombre de clients ayant pass commande SELECT COUNT( DISTINCT NumCli) FROM Commande;

4. Interrogation des donnes

Table COMMANDE (simplifie) NumCli 1 3 3 Date Quantite 22/09/99 22/09/99 22/09/99

1 5 2

COUNT(NumCli) Rsultat = 3 COUNT(DISTINCT NumCli) Rsultat = 2

4. Interrogation des donnes

Jointure ex. Liste des commandes avec le nom des clients

SELECT Nom, Date, Quantite FROM Client, Commande WHERE Client.NumCli =Commande.NumCli;

4. Interrogation des donnes

ex. Idem avec le numro de client en plus SELECT C1.NumCli, Nom, Date, Quantite FROM Client C1, Commande C2 WHERE C1.NumCli = C2.NumCli ORDER BY Nom; NB : Utilisation d alias (C1 et C2) pour allger lcriture + tri par nom.

II.4. Interrogation des donnes

Jointure exprime avec le prdicat IN ex. Nom des clients qui ont command le 23/09 SELECT Nom FROM Client WHERE NumCli IN ( SELECT NumCli FROM Commande WHERE Date = 23-09-1999 NB : Il est possible dimbriquer des requtes. );

II.4. Interrogation des donnes

Prdicats EXISTS / NOT EXISTS ex. Clients qui ont pass au moins une commande [n ont pass aucune commande] SELECT * FROM Client C1 WHERE [NOT] EXISTS ( SELECT * FROM Commande C2 WHERE C1.NumCli = C2.NumCli) ;

4. Interrogation des donnes Prdicats ALL / ANY ex. Numros des clients qui ont command au moins un produit en quantit suprieure chacune [ au moins une] des quantits commandes par le client n 1. SELECT DISTINCT NumCli FROM Commande WHERE Quantite > ALL [ANY] ( SELECT Quantite FROM Commande WHERE NumCli = 1);

4. Interrogation des donnes Groupement ex. Quantit totale commande par chaque client SELECT NumCli, SUM(Quantite) FROM Commande GROUP BY NumCli; ex. Nombre de produits diffrents commands... SELECT NumCli, COUNT(DISTINCT NumProd) FROM Commande GROUP BY NumCli;

II.4. Interrogation des donnes ex. Quantit moyenne commande pour les produits faisant lobjet de plus de 3 commandes SELECT NumProd, AVG(Quantite) FROM Commande GROUP BY NumProd HAVING COUNT(*)>3; Attention : La clause HAVING ne sutilise quavec GROUP BY.

II.4. Interrogation des donnes

Oprations ensemblistes INTERSECT, MINUS, UNION ex. Numro des produits qui soit ont un prix infrieur 100 F, soit ont t commands par le client n 2 SELECT NumProd FROM Produit WHERE PrixUni<100 UNION SELECT NumProd FROM Commande WHERE NumCLi=2;

4. Interrogation des donnes Fonctions SQL*Plus LOWER(ch) : c en minuscules UPPER(ch) : c en majuscules LTRIM(ch, n) : Troncature gauche RTRIM(ch, n) : Troncature droite REPLACE(ch, car) : Remplacement de caractre SUBSTR(ch, pos, lg) : Extraction de chane SOUNDEX(ch) : Cp. Phontique LPAD(ch, lg, car) : Complter gauche RPAD(ch, lg, car) : Complter droite

ABS(n) : Valeur absolue de n CEIL(n) : Plus petit entier e n FLOOR(n) : Plus grand entier d n MOD(m, n) : Reste de m/n POWER(m, n) : mn SIGN(n) : Signe de n SQRT(n) : Racine carre de n ROUND(n, m) : Arrondi 10-m TRUNC(n, m) : Troncature 10-m CHR(n) : Caractre ASCII n n INITCAP(ch) : 1re lettre en maj.

4. Interrogation des donnes ASCII(ch) : Valeur ASCII de ch INSTR(ch, ssch) : Recherche de ssch dans ch LENGTH(ch) : Longueur de ch ADD_MONTHS(dte, n) : Ajout de n mois dte LAST_DAY(dte) : Dernier jour du mois MONTHS_BETWEEN(dt1, dt2) : Nombre de mois entre dt1 et dt2 NEXT_DAY(dte) : Date du lendemain SYSDATE : Date/heure systme TO_NUMBER(ch) : Conversion de ch en nombre TO_CHAR(x) : Conversion de x en chane TO_DATE(ch) : Conversion de ch en date NVL(x, val) : Remplace par val si x a la valeur NULL GREATEST(n1, n2) : + grand LEAST (n1, n2) : + petit UID : Identifiant numrique de lutilisateur USER : Nom de lutilisateur

EXERCICES

Exercice 1
Sur la base de donnes exemple du cours (CLIENT-COMMANDE-PRODUITFOURNISSEUR), formuler avec le langage SQL*Plus les requtes suivantes. 1) 2) 3) 4) 5) 6) 7) Dsignation et prix unitaire de tous les produits. Dsignation des produits de prix infrieur 100 F. Nom des clients qui ont command le produit n 1. Nom des clients qui ont command au moins un produit de prix suprieur 500 F. Nom des clients qui nont pas command le produit n 1. Numro des clients qui ont command tous les produits. Numro des clients qui ont command tous les produits commands par le client n 2.

Exercice 2
Soit le schma relationnel de la base FABRICATION. CLIENT(NOC, NOM, ADRESSE) SERVICE(NOS, INTITULE, LOCALISATION) PIECE(NOP, DESIGNATION, COULEUR, POIDS) COMMANDE (NOS, NOC, QUANTITE) Formuler en SQL*Plus les commandes de cration de la structure de cette base, puis exprimer les requtes suivantes. 1) Donner pour chaque service le poids de la pice commande de couleur bleue la plus pesante. 2) Donner le poids moyen des pices commandes pour chacun des services Promotion.
3) Donner les pices de couleur bleue qui sont commandes par plus de trois services diffrents.

4) Donner le maximum parmi les totaux des quantits des pices commandes par les diffrents services.

Exercice 3 Soit le schma relationnel de la base de donnes pilotes-avions-vols . PILOTE (PLNUM, PLNOM, PLPRENOM, VILLE, SALAIRE) AVION (AVNUM, AVNOM, CAPACITE, LOCALISATION) VOL (VOLNUM, PLNUM, AVNUM, VILLEDEP, VILLEARR, HEUREDEP, HEUREARR) Exprimer les requtes suivantes en SQL*Plus. 1) Liste de tous les vols. 2) Nom, prnom et ville de tous les pilotes, par ordre alphabtique. 3) Nom, prnom et salaire des pilotes dont le salaire est suprieur 20 000 F. 4) Numro et nom des avions localiss Paris. 5) Caractristiques (AVNUM, AVNOM, CAPACITE, LOCALISATION) des avions localiss dans la mme ville que le pilote Tanguy. 6) Caractristiques (VOLNUM, VILLEDEP, VILLEARR, HEUREDEP, HEUREARR, AVNOM, PLNOM) du vol numro 714. 7) Nom, prnom et numro de vol des pilotes affects un vol. 8) Numro et nom des avions affects des vols. 9) Nombre total de vols. 10) Somme des capacits par type (nom) davion. 11) Moyenne des dures des voyages.

Вам также может понравиться