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

Plan

Introduction

Chap1 : Utilisation des opérateurs d’ensemble

Chap2 : Architecture d’un serveur Oracle

Chap3 : Gestion des profils

Chap4 : Gestion des privilèges

Conclusion

Partie pratique (SQL Developer, Oracle 11g)


INTRODUCTION

Un SGBD est un système complexe permettant de gérer de manière efficace un volume important de
données structurées accessibles par des utilisateurs simultanés.

Oracle Database est un système de gestion de BD relationnelles édité par la société Oracle,
développé par Larry Ellison accompagné entre autres de Bob Miner et Ed Oates
(www.fr.wikipedia.org/wiki/Oracle).

La solution Oracle est un véritable environnement de travail constitué de nombreux logiciels


permettant une administration graphique et de s’interfacer (protocole d’échange) avec des produits
divers et des assistants de création.

Oracle permet d’assurer :

 La définition et la manipulation des données (mise à jour).


 La cohérence des données.
 La confidentialité des données.
 L’intégrité des données (ne subit aucune destruction volontaire ou accidentelle lors de leur
traitement, conservation ou transmission).
 La sauvegarde et la restauration des données.
 La gestion des accès concurrents.

Langage de Manipulation de Données (INSERT, UPDATE, DELETE)

Langage de Définition de Données (GRANT, REVOKE, CREATE, ALTER, DROP)

Langage de Contrôle de Transactions (COMMIT, ROLLBACK)


Chapitre 1

UTILISATION DES OPERATEURS D’ENSEMBLE

I. Les opérateurs d’ensemble


Un opérateur d’ensemble combine le résultat de deux requêtes ou plus. Les requêtes qui utilisent ces
opérateurs sont appelées requêtes composées.

Syntaxe :

SELECT col1, col2… FROM Table 1


Opérateur d’ensemble
SELECT col1, col2… FROM Table 2;

I.1. L’opérateur UNION


L’opérateur UNION combine le résultat de plusieurs requêtes. Le nombre de colonnes et le type de
données doivent être identiques.

Exemple : Donner la liste d’employés dont le nom commence par S ou ceux commençant par J,
finissant par S et composés de 5 lettres.

SELECT ename, job, sal FROM Emp


WHERE ename LIKE ‘S%’
UNION
SELECT ename, job, sal FROM Emp
WHERE ename LIKE ‘J...S’;

Solution: Smith, Silver, James, Jones....

I.2. L’opérateur INTERSECT


Il retourne le résultat commun de deux requêtes. Le nombre de colonnes et le type de données
doivent être identiques.

Exemple : Afficher la liste des employés dont le nom contient les lettres A et R

SELECT ename FROM Emp


WHERE ename LIKE ‘%A%’
INTERSECT ename FROM Emp
WHERE ename LIKE ‘%R%’;
I.3. L’opérateur MINUS

MINUS retourne les lignes résultant de la première requête qui ne se trouvent pas dans le résultat de
la seconde.

SELECT x FROM A MINUS SELECT y FROM B;

I.4. Utilisation des opérateurs ROLLUP et CUBE avec GROUP BY

NumProduit NomProduit Couleur Poids PA_art PV_art


01 P1 Rouge 100 10 12
02 P2 Jaune 120 15 18
03 P3 Rouge 150 15 20
04 P4 Jaune 160 18 22
05 P5 Noir 110 13 18
06 P6 Rouge 140 14 17
07 P7 Noir 130 13 14
08 P8 Rouge 190 14 15
09 P9 Jaune 200 19 25

AVG : moyenne ; SUM : somme ; MIN : minimum ; MAX : maximum ; COUNT : effectif

Trouver le poids moyen de chaque couleur :

SELECT Couleur, AVG(Poids) FROM Produit


GROUP BY Couleur;

GROUP BY ROLLUP : vous pouvez utiliser l’extension ROLLUP pour produire des valeurs sous-totales
en l’utilisant avec la fonction SUM.

Lorsqu’elle est utilisée avec SUM, ROLLUP génère des sous-totaux par rapport au niveau le plus
détaillé. Les fonctions d’agrégation telles que SUM, COUNT, AVG, MIN, MAX peuvent être utilisées.
Le ROLLUP s’exécute indépendamment de toute hiérarchie.
SELECT… GROUP BY

DEPno Job SUM(Sal)


10 Clerk 1300
10 Manager 2450
10 President 5000
20 Analyst 6000
20 Clerk 1900
20 Manager 2975
30 Clerk 950
30 Manager 2850
30 Salesman 5600

SELECT DEPno, Job, Sum(Sal) FROM Emp


GROUP BY (DEPno, Job) ORDER BY DEPno;

SELECT… GROUP BY ROLLUP

DEPno Job SUM(Sal)


10 Clerk 1300
10 Manager 2450
10 President 5000
10 - 8750
20 Analyst 6000
20 Clerk 1900
20 Manager 2975
20 - 10875
30 Clerk 950
30 Manager 2850
30 Salesman 5600
30 - 9400

SELECT DEPno, Job, Sum(Sal) FROM Emp


GROUP BY ROLLUP (DEPno, Job) ORDER BY DEPno;

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