support cours module1
TRANSCRIPT
-
D50079EN10 Edition 1.0
June 2012
D53581
Oracle Database 11g: Administration Support de cours - Module I
THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY.
-
Plan du cours
1 PRESENTATION GENERAL DORACLE_______________________________________________
2 ARCHITECTURE DUN SERVEUR ORACLE ___________________________________________
3 REVISION SUR LE LANGAGE SQL ___________________________________________________
4 INSTALLATION ET CREATION DUNE BASE DE DONNEES ORACLE____________________
5 ADMINISTRATION DUNE BASE DE DONNEES ORACLE________________________________
6 GESTION DES UTILISATEURS_________________________________________________________
7 GESTION DES OBJECTS ______________________________________________________________
8 GESTION DU STOCKAGE DUNE BASE DE DONNEES____________________________________
9 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 Processus utilisateur serveur
Cache de tampons de la base
de donnes
Tampon de journalisation
Cache du
dictionnaire de donnes
Processus
DBWn
CKPT LGWR
SMON PMON
ARCn
Autres
Structures de stockage
Fichiers de
donnes
Base 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 en- ttes 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 PGA
Processus
SMON SGA
Cache de tampons
de la base de donnes
PMON Tampon de
journalisation
Autres Zone de mmoire
partage
Cache "library" Cache
du dictionnaire de donnes
serveur Processus utilisateur
DBWn Fichiers
de donnes
CKPT Fichiers de
contrle Base de donnes
LGWR
Fichiers de journalisation
en ligne
ARCn 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 Processus utilisateur serveur
Cache de tampons de la base
de donnes
Tampon de journalisation
Cache du
dictionnaire de donnes
Processus
DBWn
CKPT LGWR
SMON PMON
ARCn
Autres
Structures de stockage
Fichier de Fichier de Fichier Paramtre Password darchives
Fichiers de
donnes
Base 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
Fichier de
paramtres
Fichiers de donnes
Fichiers de sauvegarde
Fichiers de journalisation en ligne
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
Schma
Logique
Base de donnes
Tablespace Segment
Extent
Bloc de donnes Oracle
Physique
Fichier de donnes
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
Ou par lexemple
ex. Par ordre alphabtique inverse de nom SELECT * FROM Client ORDER BY Nom DESC;
-
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% commence par sur-Sane
%sur% 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
Date Quantite
1 3 3
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 dalias (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
[nont 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
-
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-PRODUIT-FOURNISSEUR), formuler avec le langage SQL*Plus les requtes suivantes. 1) Dsignation et prix unitaire de tous les produits. 2) Dsignation des produits de prix infrieur 100 F. 3) Nom des clients qui ont command le produit n 1. 4) Nom des clients qui ont command au moins un produit de prix suprieur 500 F. 5) Nom des clients qui nont pas command le produit n 1. 6) Numro des clients qui ont command tous les produits. 7) 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.