SlideShare une entreprise Scribd logo
Copyright © Oracle Corporation, 1998. Tous droits réservés.
1515
Création de Vues
www.TelechargerCours.com
15-2 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Objectifs
A la fin de ce chapitre, vous saurez :A la fin de ce chapitre, vous saurez :
• Décrire une vue
• Créer une vue
• Extraire des données par le biais d'une
vue
• Modifier la définition d'une vue
• Insérer, mettre à jour et supprimer des
données par une vue
• Supprimer une vue
www.TelechargerCours.com
15-3 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Objets de la Base de Données
Description
Unité de base de stockage composée de
lignes et de colonnes
Représentation logique de sous-ensembles
de données d'une ou de plusieurs tables
Génère les valeurs de la clé primaire
Améliore les performances de certaines
requêtes
Autre nom attribué à un objet
Objet
Table
Vue
Séquence
Index
Synonyme
www.TelechargerCours.com
15-4 Copyright © Oracle Corporation, 1998. Tous droits réservés.
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- -------- --------- ---- --------- ------ ----- -------
7839 KING PRESIDENT 17-NOV-81 5000 10
7782 CLARK MANAGER 7839 09-JUN-81 1500 300 10
7934 MILLER CLERK 7782 23-JAN-82 1300 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7369 SMITH CLERK 7902 17-DEC-80 800 20
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- -------- --------- ---- --------- ------ ----- -------
7839 KING PRESIDENT 17-NOV-81 5000 10
7782 CLARK MANAGER 7839 09-JUN-81 1500 300 10
7934 MILLER CLERK 7782 23-JAN-82 1300 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7369 SMITH CLERK 7902 17-DEC-80 800 20
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- -------- --------- ---- --------- ------ ----- -------
7839 KING PRESIDENT 17-NOV-81 5000 10
7782 CLARK MANAGER 7839 09-JUN-81 1500 300 10
7934 MILLER CLERK 7782 23-JAN-82 1300 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
00 20
00 20
00 20
50 30
50 1400 30
00 300 30
00 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
Qu'est-ce qu'une Vue ?
Table EMPTable EMP
VueVue
EMPVU10EMPVU10
EMPNO ENAME JOB
------ -------- -----------
7839 KING PRESIDENT
7782 CLARK MANAGER
7934 MILLER CLERK
www.TelechargerCours.com
15-5 Copyright © Oracle Corporation, 1998. Tous droits réservés.
A Quoi Sert une Vue ?
• Limite l'accès à la base de données
• Facilite la création de requêtes
complexes
• Garantit l'indépendance des données
• Présente les mêmes données sous
différentes formes
www.TelechargerCours.com
15-6 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Vues Simples
et Vues Complexes
Caractéristiques Vue simple Vue complexe
Nombre de tables Une Une ou plusieurs
Fonctions Non Oui
Groupes de données Non Oui
Opérations LMD Oui Pas toujours
www.TelechargerCours.com
15-7 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Création d'une Vue
• Imbriquer une sous-interrogation dans
l'ordre CREATE VIEW.
• La sous-requête peut contenir une
syntaxe SELECT complexe.
• Elle ne peut pas contenir une clause
ORDER BY.
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view
[(alias[, alias]...)]
AS subquery
[WITH CHECK OPTION [CONSTRAINT constraint]]
[WITH READ ONLY]
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view
[(alias[, alias]...)]
AS subquery
[WITH CHECK OPTION [CONSTRAINT constraint]]
[WITH READ ONLY]
www.TelechargerCours.com
15-8 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Création d'une Vue
• Créez la vue EMPVU10 pour afficher en
détail les employés du département 10.
• Décrivez la structure de la vue à l'aide de
la commande SQL*Plus DESCRIBE.
SQL> DESCRIBE empvu10SQL> DESCRIBE empvu10
SQL> CREATE VIEW empvu10
2 AS SELECT empno, ename, job
3 FROM emp
4 WHERE deptno = 10;
View created.View created.
www.TelechargerCours.com
15-9 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Création d'une Vue
• Créez une vue à l'aide des alias de
colonnes de la sous-interrogation.
• Sélectionnez les colonnes de cette vue
par leur nom d'alias.
SQL> CREATE VIEW salvu30
2 AS SELECT empno EMPLOYEE_NUMBER, ename NAME,
3 sal SALARY
4 FROM emp
5 WHERE deptno = 30;
View created.View created.
www.TelechargerCours.com
15-10 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Extraction des Données
d'une Vue
EMPLOYEE_NUMBER NAME SALARY
--------------- ---------- ---------
7698 BLAKE 2850
7654 MARTIN 1250
7499 ALLEN 1600
7844 TURNER 1500
7900 JAMES 950
7521 WARD 1250
6 rows selected.
EMPLOYEE_NUMBER NAME SALARY
--------------- ---------- ---------
7698 BLAKE 2850
7654 MARTIN 1250
7499 ALLEN 1600
7844 TURNER 1500
7900 JAMES 950
7521 WARD 1250
6 rows selected.
SQL> SELECT *
2 FROM salvu30;
www.TelechargerCours.com
15-11 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Interrogation d’une Vue
USER_VIEWSUSER_VIEWS
EMPVU10EMPVU10
SELECT empno, ename, job
FROM emp
WHERE deptno = 10;
USER_VIEWSUSER_VIEWS
EMPVU10EMPVU10
SELECT empno, ename, job
FROM emp
WHERE deptno = 10;
SQL*PlusSQL*Plus
SELECT *
FROM empvu10;
EMP
7839 KING PRESIDENT
7782 CLARK MANAGER
7934 MILLER CLERK
www.TelechargerCours.com
15-12 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Modification d'une Vue
• Modifiez la vue EMPVU10 à l'aide de la clause
CREATE OR REPLACE VIEW. Ajoutez un
alias pour chaque nom de colonne.
• Les alias de colonnes de la clause CREATE
VIEW s'affichent dans le même ordre que les
colonnes de la sous-interrogation.
SQL> CREATE OR REPLACE VIEW empvu10
2 (employee_number, employee_name, job_title)
3 AS SELECT empno, ename, job
4 FROM emp
5 WHERE deptno = 10;
View created.View created.
www.TelechargerCours.com
15-13 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Création d'une Vue Complexe
Créez une vue complexe qui inclut desCréez une vue complexe qui inclut des
fonctions de groupe pour afficher desfonctions de groupe pour afficher des
valeurs venant de deux tables.valeurs venant de deux tables.
SQL> CREATE VIEW dept_sum_vu
2 (name, minsal, maxsal, avgsal)
3 AS SELECT d.dname, MIN(e.sal), MAX(e.sal),
4 AVG(e.sal)
5 FROM emp e, dept d
6 WHERE e.deptno = d.deptno
7 GROUP BY d.dname;
View created.View created.
www.TelechargerCours.com
15-14 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Règles d'Exécution des Ordres
du LMD dans une Vue
• Vous pouvez exécuter des opérations
du LMD dans des vues simples.
• Vous ne pouvez pas supprimer une
ligne si la vue contient :
– Des fonctions de groupe
– Une clause GROUP BY
– Le mot-clé DISTINCT
www.TelechargerCours.com
15-15 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Règles d'Exécution des Ordres
du LMD dans une Vue
• Vous ne pouvez pas modifier les données
d'une vue si elle contient :
– Une des conditions citées dans la page
précédente
– Des colonnes définies par des expressions
– La pseudocolonne ROWNUM
• Vous ne pouvez pas ajouter de données si :
– La vue contient une des conditions citées ci-
dessus ou dans la page précédente
– Les tables de base contiennent des
colonnes NOT NULL non sélectionnées par
la vue
15-16 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Utilisation de la Clause WITH
CHECK OPTION
• Vous pouvez garantir que le LMD reste
dans le domaine de la vue à l'aide de la
clause WITH CHECK OPTION.
• Toute tentative de modification du numéro
de département dans une ligne de la vue
échouera, car elle transgresse la contrainte
WITH CHECK OPTION.
SQL> CREATE OR REPLACE VIEW empvu20
2 AS SELECT *
3 FROM emp
4 WHERE deptno = 20
5 WITH CHECK OPTION CONSTRAINT empvu20_ck;
View created.View created.
www.TelechargerCours.com
15-17 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Refus des Ordres du LMD
• Aucune opération du LMD ne pourra
être exécutée si vous ajoutez l'option
WITH READ ONLY dans la définition de
votre vue.
SQL> CREATE OR REPLACE VIEW empvu10
2 (employee_number, employee_name, job_title)
3 AS SELECT empno, ename, job
4 FROM emp
5 WHERE deptno = 10
6 WITH READ ONLY;
View created.View created.
• Toute tentative d'exécution d'un ordre
du LMD sur une ligne de la vue génère
l'erreur Oracle8 Server ORA-01752.
www.TelechargerCours.com
15-18 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Suppression d'une Vue
• La suppression d'une vue n'entraîne
pas la perte des données, car toute vue
est basée sur des tables sous-jacentes
de la base de données.
SQL> DROP VIEW empvu10;
View dropped.View dropped.
DROP VIEW view;DROP VIEW view;
www.TelechargerCours.com
15-19 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Résumé
• Une vue est dérivée des données d'autres
tables ou d'autres vues.
• Une vue offre les avantages suivants :
– Restreint L'accès à la base de données
– Les requêtes sont simplifiées
– Indépendance de données
– Visualisation des mêmes données sous
différentes formes
– Peut être supprimée sans perdre les
données sous-jacentes
www.TelechargerCours.com
15-20 Copyright © Oracle Corporation, 1998. Tous droits réservés.
Présentation des Exercices
• Création d'une vue simple
• Création d'une vue complexe
• Création d'une vue avec une contrainte
d’intégrité
• Modification des données d'une vue
• Affichage des définitions de vues
• Suppression de vues
www.TelechargerCours.com

Contenu connexe

Tendances

Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Abdelouahed Abdou
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôle
Abdelouahed Abdou
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
Amal Abid
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
Lilia Sfaxi
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
Mouna Torjmen
 
Presentation d'un logiciel de GRH
Presentation d'un logiciel de GRHPresentation d'un logiciel de GRH
Presentation d'un logiciel de GRH
Riadh K.
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
Lilia Sfaxi
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
Yassine Badri
 
Alphorm.com formation Red Hat (RH134)
Alphorm.com formation Red Hat (RH134)Alphorm.com formation Red Hat (RH134)
Alphorm.com formation Red Hat (RH134)
Alphorm
 
Extraction Hiérarchique | Cours sql oracle
Extraction Hiérarchique | Cours sql oracleExtraction Hiérarchique | Cours sql oracle
Extraction Hiérarchique | Cours sql oracle
webreaker
 
Tp n 4 linux
Tp n 4 linuxTp n 4 linux
Tp n 4 linux
Amir Souissi
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
Abdoulaye Dieng
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
Houda TOUKABRI
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation Multidimensionnelle
Lilia Sfaxi
 
cours Plsql _ abdelkhalek benhoumine
cours Plsql _ abdelkhalek benhouminecours Plsql _ abdelkhalek benhoumine
cours Plsql _ abdelkhalek benhoumine
abdelkhalek benhoumine
 
Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intents
Lilia Sfaxi
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
Lilia Sfaxi
 
Tpdba1
Tpdba1Tpdba1
Tpdba1
infcom
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
Lilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
Lilia Sfaxi
 

Tendances (20)

Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôle
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
 
Presentation d'un logiciel de GRH
Presentation d'un logiciel de GRHPresentation d'un logiciel de GRH
Presentation d'un logiciel de GRH
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
 
Alphorm.com formation Red Hat (RH134)
Alphorm.com formation Red Hat (RH134)Alphorm.com formation Red Hat (RH134)
Alphorm.com formation Red Hat (RH134)
 
Extraction Hiérarchique | Cours sql oracle
Extraction Hiérarchique | Cours sql oracleExtraction Hiérarchique | Cours sql oracle
Extraction Hiérarchique | Cours sql oracle
 
Tp n 4 linux
Tp n 4 linuxTp n 4 linux
Tp n 4 linux
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation Multidimensionnelle
 
cours Plsql _ abdelkhalek benhoumine
cours Plsql _ abdelkhalek benhouminecours Plsql _ abdelkhalek benhoumine
cours Plsql _ abdelkhalek benhoumine
 
Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intents
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Tpdba1
Tpdba1Tpdba1
Tpdba1
 
BigData_TP4 : Cassandra
BigData_TP4 : CassandraBigData_TP4 : Cassandra
BigData_TP4 : Cassandra
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 

En vedette

Sous-Interrogations - sql oracle
Sous-Interrogations - sql oracleSous-Interrogations - sql oracle
Sous-Interrogations - sql oracle
webreaker
 
Afficher des Données Issues de Plusieurs Tables : SQL Oracle
Afficher des Données Issues de Plusieurs Tables : SQL OracleAfficher des Données Issues de Plusieurs Tables : SQL Oracle
Afficher des Données Issues de Plusieurs Tables : SQL Oracle
webreaker
 
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECTSQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
webreaker
 
Fonctions Mono-Ligne
Fonctions Mono-LigneFonctions Mono-Ligne
Fonctions Mono-Ligne
webreaker
 
Manipulation des Données , cours sql oracle
Manipulation des Données , cours sql oracleManipulation des Données , cours sql oracle
Manipulation des Données , cours sql oracle
webreaker
 
Mise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*PlusMise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*Plus
webreaker
 
Création et Gestion de Tables | SQL Oracle
Création et Gestion de Tables | SQL OracleCréation et Gestion de Tables | SQL Oracle
Création et Gestion de Tables | SQL Oracle
webreaker
 
L'Ordre SELECT Élémentaire | SQL Oracle
L'Ordre SELECT Élémentaire | SQL OracleL'Ordre SELECT Élémentaire | SQL Oracle
L'Ordre SELECT Élémentaire | SQL Oracle
webreaker
 
Les Contraintes | SQL Oracle
Les Contraintes | SQL OracleLes Contraintes | SQL Oracle
Les Contraintes | SQL Oracle
webreaker
 
Opérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL OracleOpérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL Oracle
webreaker
 
SQL Oracle | Regrouper les Données avec les Fonctions de Groupe
SQL Oracle | Regrouper les Données avec les Fonctions de GroupeSQL Oracle | Regrouper les Données avec les Fonctions de Groupe
SQL Oracle | Regrouper les Données avec les Fonctions de Groupe
webreaker
 
Gustave flaubert madame bovary
Gustave flaubert madame bovaryGustave flaubert madame bovary
Gustave flaubert madame bovary
RickBlaine
 
SunTseu, evenement SalesCloud chez Oracle, Automatisez vos Ventes grâce au CRM
SunTseu, evenement SalesCloud chez Oracle, Automatisez vos Ventes grâce au CRMSunTseu, evenement SalesCloud chez Oracle, Automatisez vos Ventes grâce au CRM
SunTseu, evenement SalesCloud chez Oracle, Automatisez vos Ventes grâce au CRM
SunTseu
 
La morale selon Kant (cours philosophie 2010 jourde)
La morale selon Kant (cours philosophie 2010 jourde)La morale selon Kant (cours philosophie 2010 jourde)
La morale selon Kant (cours philosophie 2010 jourde)
François Jourde
 
Coder propre !
Coder propre !Coder propre !
Coder propre !
cluelessjoe
 
Administration oracle7
Administration oracle7Administration oracle7
Administration oracle7
Lucian Carabet
 
Teams that finish early : Allez vers des équipes agiles plus performantes
Teams that finish  early : Allez vers des équipes agiles plus performantesTeams that finish  early : Allez vers des équipes agiles plus performantes
Teams that finish early : Allez vers des équipes agiles plus performantes
Anas MBASSO
 
Sous-Interrogations Multi-colonne | SQL Oracle
Sous-Interrogations Multi-colonne | SQL OracleSous-Interrogations Multi-colonne | SQL Oracle
Sous-Interrogations Multi-colonne | SQL Oracle
webreaker
 
Écriture de Sous-Interrogations Synchronisées | SQL Oracle
Écriture de Sous-Interrogations Synchronisées | SQL OracleÉcriture de Sous-Interrogations Synchronisées | SQL Oracle
Écriture de Sous-Interrogations Synchronisées | SQL Oracle
webreaker
 

En vedette (20)

Sous-Interrogations - sql oracle
Sous-Interrogations - sql oracleSous-Interrogations - sql oracle
Sous-Interrogations - sql oracle
 
Afficher des Données Issues de Plusieurs Tables : SQL Oracle
Afficher des Données Issues de Plusieurs Tables : SQL OracleAfficher des Données Issues de Plusieurs Tables : SQL Oracle
Afficher des Données Issues de Plusieurs Tables : SQL Oracle
 
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECTSQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
 
Fonctions Mono-Ligne
Fonctions Mono-LigneFonctions Mono-Ligne
Fonctions Mono-Ligne
 
Manipulation des Données , cours sql oracle
Manipulation des Données , cours sql oracleManipulation des Données , cours sql oracle
Manipulation des Données , cours sql oracle
 
Mise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*PlusMise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*Plus
 
Création et Gestion de Tables | SQL Oracle
Création et Gestion de Tables | SQL OracleCréation et Gestion de Tables | SQL Oracle
Création et Gestion de Tables | SQL Oracle
 
L'Ordre SELECT Élémentaire | SQL Oracle
L'Ordre SELECT Élémentaire | SQL OracleL'Ordre SELECT Élémentaire | SQL Oracle
L'Ordre SELECT Élémentaire | SQL Oracle
 
Les Contraintes | SQL Oracle
Les Contraintes | SQL OracleLes Contraintes | SQL Oracle
Les Contraintes | SQL Oracle
 
Opérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL OracleOpérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL Oracle
 
SQL Oracle | Regrouper les Données avec les Fonctions de Groupe
SQL Oracle | Regrouper les Données avec les Fonctions de GroupeSQL Oracle | Regrouper les Données avec les Fonctions de Groupe
SQL Oracle | Regrouper les Données avec les Fonctions de Groupe
 
Gustave flaubert madame bovary
Gustave flaubert madame bovaryGustave flaubert madame bovary
Gustave flaubert madame bovary
 
Test
TestTest
Test
 
SunTseu, evenement SalesCloud chez Oracle, Automatisez vos Ventes grâce au CRM
SunTseu, evenement SalesCloud chez Oracle, Automatisez vos Ventes grâce au CRMSunTseu, evenement SalesCloud chez Oracle, Automatisez vos Ventes grâce au CRM
SunTseu, evenement SalesCloud chez Oracle, Automatisez vos Ventes grâce au CRM
 
La morale selon Kant (cours philosophie 2010 jourde)
La morale selon Kant (cours philosophie 2010 jourde)La morale selon Kant (cours philosophie 2010 jourde)
La morale selon Kant (cours philosophie 2010 jourde)
 
Coder propre !
Coder propre !Coder propre !
Coder propre !
 
Administration oracle7
Administration oracle7Administration oracle7
Administration oracle7
 
Teams that finish early : Allez vers des équipes agiles plus performantes
Teams that finish  early : Allez vers des équipes agiles plus performantesTeams that finish  early : Allez vers des équipes agiles plus performantes
Teams that finish early : Allez vers des équipes agiles plus performantes
 
Sous-Interrogations Multi-colonne | SQL Oracle
Sous-Interrogations Multi-colonne | SQL OracleSous-Interrogations Multi-colonne | SQL Oracle
Sous-Interrogations Multi-colonne | SQL Oracle
 
Écriture de Sous-Interrogations Synchronisées | SQL Oracle
Écriture de Sous-Interrogations Synchronisées | SQL OracleÉcriture de Sous-Interrogations Synchronisées | SQL Oracle
Écriture de Sous-Interrogations Synchronisées | SQL Oracle
 

Similaire à Création de Vues | SQL Oracle

Les03.ppt
Les03.pptLes03.ppt
Les03.ppt
zidane39
 
Principes Relationnels et Concepts Oracle
Principes Relationnelset Concepts OraclePrincipes Relationnelset Concepts Oracle
Principes Relationnels et Concepts Oracle
webreaker
 
1425583156389.pptx
1425583156389.pptx1425583156389.pptx
1425583156389.pptx
tirike6016
 
Java Database Connectivity
Java Database ConnectivityJava Database Connectivity
Java Database Connectivity
Korteby Farouk
 
01 l'ordre select élémentaire
01 l'ordre select élémentaire 01 l'ordre select élémentaire
01 l'ordre select élémentaire
ENSAM Casablanca
 
1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdf1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdf
ImaneZoubir1
 
SQL-ORACLE.pdf
SQL-ORACLE.pdfSQL-ORACLE.pdf
SQL-ORACLE.pdf
SamirAwad14
 
SQL-ORACLE.pptx
SQL-ORACLE.pptxSQL-ORACLE.pptx
SQL-ORACLE.pptx
SamirAwad14
 
oracle : le PL-SQL
oracle : le PL-SQLoracle : le PL-SQL
oracle : le PL-SQL
Mohammed Jaafar
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
Abdelouahed Abdou
 
1 sp2g formation-implementer-ibm-smartcloud-entry-sur-power-systems
1 sp2g formation-implementer-ibm-smartcloud-entry-sur-power-systems1 sp2g formation-implementer-ibm-smartcloud-entry-sur-power-systems
1 sp2g formation-implementer-ibm-smartcloud-entry-sur-power-systems
CERTyou Formation
 
downloadfile-101.pptx réseau local installation
downloadfile-101.pptx réseau local installationdownloadfile-101.pptx réseau local installation
downloadfile-101.pptx réseau local installation
BensadiSamir
 
nstance.pptx
nstance.pptxnstance.pptx
nstance.pptx
Bahaty1
 
Projet base de donnée
Projet base de donnée Projet base de donnée
Projet base de donnée
MakremArfaoui2
 
Démystification de Spring une histoire de pattern
Démystification de Spring une histoire de patternDémystification de Spring une histoire de pattern
Démystification de Spring une histoire de pattern
letourneur2
 
Introduction à Angular JS
Introduction à Angular JSIntroduction à Angular JS
Introduction à Angular JS
Antoine Rey
 
Sql azure performance et montee en charge (1)
Sql azure   performance et montee en charge (1)Sql azure   performance et montee en charge (1)
Sql azure performance et montee en charge (1)
Aymeric Weinbach
 
chapitre6_Le_Langage_SQL-2.pdf
chapitre6_Le_Langage_SQL-2.pdfchapitre6_Le_Langage_SQL-2.pdf
chapitre6_Le_Langage_SQL-2.pdf
attamatta1234
 

Similaire à Création de Vues | SQL Oracle (20)

Les03.ppt
Les03.pptLes03.ppt
Les03.ppt
 
Principes Relationnels et Concepts Oracle
Principes Relationnelset Concepts OraclePrincipes Relationnelset Concepts Oracle
Principes Relationnels et Concepts Oracle
 
1425583156389.pptx
1425583156389.pptx1425583156389.pptx
1425583156389.pptx
 
12 fr
12 fr12 fr
12 fr
 
Java Database Connectivity
Java Database ConnectivityJava Database Connectivity
Java Database Connectivity
 
01 l'ordre select élémentaire
01 l'ordre select élémentaire 01 l'ordre select élémentaire
01 l'ordre select élémentaire
 
1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdf1-pl-sql 2021 2022.pdf
1-pl-sql 2021 2022.pdf
 
SQL-ORACLE.pdf
SQL-ORACLE.pdfSQL-ORACLE.pdf
SQL-ORACLE.pdf
 
SQL-ORACLE.pptx
SQL-ORACLE.pptxSQL-ORACLE.pptx
SQL-ORACLE.pptx
 
oracle : le PL-SQL
oracle : le PL-SQLoracle : le PL-SQL
oracle : le PL-SQL
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
 
1 sp2g formation-implementer-ibm-smartcloud-entry-sur-power-systems
1 sp2g formation-implementer-ibm-smartcloud-entry-sur-power-systems1 sp2g formation-implementer-ibm-smartcloud-entry-sur-power-systems
1 sp2g formation-implementer-ibm-smartcloud-entry-sur-power-systems
 
Plsql2
Plsql2Plsql2
Plsql2
 
downloadfile-101.pptx réseau local installation
downloadfile-101.pptx réseau local installationdownloadfile-101.pptx réseau local installation
downloadfile-101.pptx réseau local installation
 
nstance.pptx
nstance.pptxnstance.pptx
nstance.pptx
 
Projet base de donnée
Projet base de donnée Projet base de donnée
Projet base de donnée
 
Démystification de Spring une histoire de pattern
Démystification de Spring une histoire de patternDémystification de Spring une histoire de pattern
Démystification de Spring une histoire de pattern
 
Introduction à Angular JS
Introduction à Angular JSIntroduction à Angular JS
Introduction à Angular JS
 
Sql azure performance et montee en charge (1)
Sql azure   performance et montee en charge (1)Sql azure   performance et montee en charge (1)
Sql azure performance et montee en charge (1)
 
chapitre6_Le_Langage_SQL-2.pdf
chapitre6_Le_Langage_SQL-2.pdfchapitre6_Le_Langage_SQL-2.pdf
chapitre6_Le_Langage_SQL-2.pdf
 

Plus de webreaker

Telecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplusTelecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplus
webreaker
 
Examne sybase corrige
Examne sybase corrigeExamne sybase corrige
Examne sybase corrige
webreaker
 
Examen sybase - Administration base de donnees
Examen sybase - Administration base de donneesExamen sybase - Administration base de donnees
Examen sybase - Administration base de donnees
webreaker
 
Introduction aux techniques de déduplication
Introduction aux techniques de déduplicationIntroduction aux techniques de déduplication
Introduction aux techniques de déduplication
webreaker
 
Telecharger Cours java pour debutant pdf
Telecharger Cours java pour debutant pdfTelecharger Cours java pour debutant pdf
Telecharger Cours java pour debutant pdf
webreaker
 
Principes de fonctionnement unix
Principes de fonctionnement unixPrincipes de fonctionnement unix
Principes de fonctionnement unix
webreaker
 
Administration systeme UNIX
Administration systeme UNIXAdministration systeme UNIX
Administration systeme UNIX
webreaker
 
Telecharger Cours Systèmes d’exploitation windows: Administration Windows
Telecharger Cours Systèmes d’exploitation windows: Administration  WindowsTelecharger Cours Systèmes d’exploitation windows: Administration  Windows
Telecharger Cours Systèmes d’exploitation windows: Administration Windows
webreaker
 

Plus de webreaker (8)

Telecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplusTelecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplus
 
Examne sybase corrige
Examne sybase corrigeExamne sybase corrige
Examne sybase corrige
 
Examen sybase - Administration base de donnees
Examen sybase - Administration base de donneesExamen sybase - Administration base de donnees
Examen sybase - Administration base de donnees
 
Introduction aux techniques de déduplication
Introduction aux techniques de déduplicationIntroduction aux techniques de déduplication
Introduction aux techniques de déduplication
 
Telecharger Cours java pour debutant pdf
Telecharger Cours java pour debutant pdfTelecharger Cours java pour debutant pdf
Telecharger Cours java pour debutant pdf
 
Principes de fonctionnement unix
Principes de fonctionnement unixPrincipes de fonctionnement unix
Principes de fonctionnement unix
 
Administration systeme UNIX
Administration systeme UNIXAdministration systeme UNIX
Administration systeme UNIX
 
Telecharger Cours Systèmes d’exploitation windows: Administration Windows
Telecharger Cours Systèmes d’exploitation windows: Administration  WindowsTelecharger Cours Systèmes d’exploitation windows: Administration  Windows
Telecharger Cours Systèmes d’exploitation windows: Administration Windows
 

Dernier

Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
Txaruka
 
Droits et devoirs, éthique universitaire..
Droits et devoirs, éthique universitaire..Droits et devoirs, éthique universitaire..
Droits et devoirs, éthique universitaire..
TarikBouchala
 
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
Editions La Dondaine
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
Friends of African Village Libraries
 
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGESGUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
DjibrilToure5
 
1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif
NadineHG
 
A1- Compréhension orale - présentations.pdf
A1- Compréhension orale - présentations.pdfA1- Compréhension orale - présentations.pdf
A1- Compréhension orale - présentations.pdf
lebaobabbleu
 
Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
Txaruka
 
1e geo metropolisation metropolisation x
1e geo metropolisation metropolisation x1e geo metropolisation metropolisation x
1e geo metropolisation metropolisation x
NadineHG
 
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdfMÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
lebaobabbleu
 

Dernier (10)

Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
 
Droits et devoirs, éthique universitaire..
Droits et devoirs, éthique universitaire..Droits et devoirs, éthique universitaire..
Droits et devoirs, éthique universitaire..
 
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
 
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGESGUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
GUIDE POUR L’EVRAS BALISES ET APPRENTISSAGES
 
1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif
 
A1- Compréhension orale - présentations.pdf
A1- Compréhension orale - présentations.pdfA1- Compréhension orale - présentations.pdf
A1- Compréhension orale - présentations.pdf
 
Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
 
1e geo metropolisation metropolisation x
1e geo metropolisation metropolisation x1e geo metropolisation metropolisation x
1e geo metropolisation metropolisation x
 
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdfMÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
MÉDIATION ORALE - MON NOUVEL APPARTEMENT.pdf
 

Création de Vues | SQL Oracle

  • 1. Copyright © Oracle Corporation, 1998. Tous droits réservés. 1515 Création de Vues www.TelechargerCours.com
  • 2. 15-2 Copyright © Oracle Corporation, 1998. Tous droits réservés. Objectifs A la fin de ce chapitre, vous saurez :A la fin de ce chapitre, vous saurez : • Décrire une vue • Créer une vue • Extraire des données par le biais d'une vue • Modifier la définition d'une vue • Insérer, mettre à jour et supprimer des données par une vue • Supprimer une vue www.TelechargerCours.com
  • 3. 15-3 Copyright © Oracle Corporation, 1998. Tous droits réservés. Objets de la Base de Données Description Unité de base de stockage composée de lignes et de colonnes Représentation logique de sous-ensembles de données d'une ou de plusieurs tables Génère les valeurs de la clé primaire Améliore les performances de certaines requêtes Autre nom attribué à un objet Objet Table Vue Séquence Index Synonyme www.TelechargerCours.com
  • 4. 15-4 Copyright © Oracle Corporation, 1998. Tous droits réservés. EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- -------- --------- ---- --------- ------ ----- ------- 7839 KING PRESIDENT 17-NOV-81 5000 10 7782 CLARK MANAGER 7839 09-JUN-81 1500 300 10 7934 MILLER CLERK 7782 23-JAN-82 1300 10 7566 JONES MANAGER 7839 02-APR-81 2975 20 7788 SCOTT ANALYST 7566 09-DEC-82 3000 20 7876 ADAMS CLERK 7788 12-JAN-83 1100 20 7369 SMITH CLERK 7902 17-DEC-80 800 20 7902 FORD ANALYST 7566 03-DEC-81 3000 20 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 7900 JAMES CLERK 7698 03-DEC-81 950 30 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- -------- --------- ---- --------- ------ ----- ------- 7839 KING PRESIDENT 17-NOV-81 5000 10 7782 CLARK MANAGER 7839 09-JUN-81 1500 300 10 7934 MILLER CLERK 7782 23-JAN-82 1300 10 7566 JONES MANAGER 7839 02-APR-81 2975 20 7788 SCOTT ANALYST 7566 09-DEC-82 3000 20 7876 ADAMS CLERK 7788 12-JAN-83 1100 20 7369 SMITH CLERK 7902 17-DEC-80 800 20 7902 FORD ANALYST 7566 03-DEC-81 3000 20 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 7900 JAMES CLERK 7698 03-DEC-81 950 30 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- -------- --------- ---- --------- ------ ----- ------- 7839 KING PRESIDENT 17-NOV-81 5000 10 7782 CLARK MANAGER 7839 09-JUN-81 1500 300 10 7934 MILLER CLERK 7782 23-JAN-82 1300 10 7566 JONES MANAGER 7839 02-APR-81 2975 20 7788 SCOTT ANALYST 7566 09-DEC-82 3000 20 00 20 00 20 00 20 50 30 50 1400 30 00 300 30 00 0 30 7900 JAMES CLERK 7698 03-DEC-81 950 30 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 Qu'est-ce qu'une Vue ? Table EMPTable EMP VueVue EMPVU10EMPVU10 EMPNO ENAME JOB ------ -------- ----------- 7839 KING PRESIDENT 7782 CLARK MANAGER 7934 MILLER CLERK www.TelechargerCours.com
  • 5. 15-5 Copyright © Oracle Corporation, 1998. Tous droits réservés. A Quoi Sert une Vue ? • Limite l'accès à la base de données • Facilite la création de requêtes complexes • Garantit l'indépendance des données • Présente les mêmes données sous différentes formes www.TelechargerCours.com
  • 6. 15-6 Copyright © Oracle Corporation, 1998. Tous droits réservés. Vues Simples et Vues Complexes Caractéristiques Vue simple Vue complexe Nombre de tables Une Une ou plusieurs Fonctions Non Oui Groupes de données Non Oui Opérations LMD Oui Pas toujours www.TelechargerCours.com
  • 7. 15-7 Copyright © Oracle Corporation, 1998. Tous droits réservés. Création d'une Vue • Imbriquer une sous-interrogation dans l'ordre CREATE VIEW. • La sous-requête peut contenir une syntaxe SELECT complexe. • Elle ne peut pas contenir une clause ORDER BY. CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view [(alias[, alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY] CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view [(alias[, alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY] www.TelechargerCours.com
  • 8. 15-8 Copyright © Oracle Corporation, 1998. Tous droits réservés. Création d'une Vue • Créez la vue EMPVU10 pour afficher en détail les employés du département 10. • Décrivez la structure de la vue à l'aide de la commande SQL*Plus DESCRIBE. SQL> DESCRIBE empvu10SQL> DESCRIBE empvu10 SQL> CREATE VIEW empvu10 2 AS SELECT empno, ename, job 3 FROM emp 4 WHERE deptno = 10; View created.View created. www.TelechargerCours.com
  • 9. 15-9 Copyright © Oracle Corporation, 1998. Tous droits réservés. Création d'une Vue • Créez une vue à l'aide des alias de colonnes de la sous-interrogation. • Sélectionnez les colonnes de cette vue par leur nom d'alias. SQL> CREATE VIEW salvu30 2 AS SELECT empno EMPLOYEE_NUMBER, ename NAME, 3 sal SALARY 4 FROM emp 5 WHERE deptno = 30; View created.View created. www.TelechargerCours.com
  • 10. 15-10 Copyright © Oracle Corporation, 1998. Tous droits réservés. Extraction des Données d'une Vue EMPLOYEE_NUMBER NAME SALARY --------------- ---------- --------- 7698 BLAKE 2850 7654 MARTIN 1250 7499 ALLEN 1600 7844 TURNER 1500 7900 JAMES 950 7521 WARD 1250 6 rows selected. EMPLOYEE_NUMBER NAME SALARY --------------- ---------- --------- 7698 BLAKE 2850 7654 MARTIN 1250 7499 ALLEN 1600 7844 TURNER 1500 7900 JAMES 950 7521 WARD 1250 6 rows selected. SQL> SELECT * 2 FROM salvu30; www.TelechargerCours.com
  • 11. 15-11 Copyright © Oracle Corporation, 1998. Tous droits réservés. Interrogation d’une Vue USER_VIEWSUSER_VIEWS EMPVU10EMPVU10 SELECT empno, ename, job FROM emp WHERE deptno = 10; USER_VIEWSUSER_VIEWS EMPVU10EMPVU10 SELECT empno, ename, job FROM emp WHERE deptno = 10; SQL*PlusSQL*Plus SELECT * FROM empvu10; EMP 7839 KING PRESIDENT 7782 CLARK MANAGER 7934 MILLER CLERK www.TelechargerCours.com
  • 12. 15-12 Copyright © Oracle Corporation, 1998. Tous droits réservés. Modification d'une Vue • Modifiez la vue EMPVU10 à l'aide de la clause CREATE OR REPLACE VIEW. Ajoutez un alias pour chaque nom de colonne. • Les alias de colonnes de la clause CREATE VIEW s'affichent dans le même ordre que les colonnes de la sous-interrogation. SQL> CREATE OR REPLACE VIEW empvu10 2 (employee_number, employee_name, job_title) 3 AS SELECT empno, ename, job 4 FROM emp 5 WHERE deptno = 10; View created.View created. www.TelechargerCours.com
  • 13. 15-13 Copyright © Oracle Corporation, 1998. Tous droits réservés. Création d'une Vue Complexe Créez une vue complexe qui inclut desCréez une vue complexe qui inclut des fonctions de groupe pour afficher desfonctions de groupe pour afficher des valeurs venant de deux tables.valeurs venant de deux tables. SQL> CREATE VIEW dept_sum_vu 2 (name, minsal, maxsal, avgsal) 3 AS SELECT d.dname, MIN(e.sal), MAX(e.sal), 4 AVG(e.sal) 5 FROM emp e, dept d 6 WHERE e.deptno = d.deptno 7 GROUP BY d.dname; View created.View created. www.TelechargerCours.com
  • 14. 15-14 Copyright © Oracle Corporation, 1998. Tous droits réservés. Règles d'Exécution des Ordres du LMD dans une Vue • Vous pouvez exécuter des opérations du LMD dans des vues simples. • Vous ne pouvez pas supprimer une ligne si la vue contient : – Des fonctions de groupe – Une clause GROUP BY – Le mot-clé DISTINCT www.TelechargerCours.com
  • 15. 15-15 Copyright © Oracle Corporation, 1998. Tous droits réservés. Règles d'Exécution des Ordres du LMD dans une Vue • Vous ne pouvez pas modifier les données d'une vue si elle contient : – Une des conditions citées dans la page précédente – Des colonnes définies par des expressions – La pseudocolonne ROWNUM • Vous ne pouvez pas ajouter de données si : – La vue contient une des conditions citées ci- dessus ou dans la page précédente – Les tables de base contiennent des colonnes NOT NULL non sélectionnées par la vue
  • 16. 15-16 Copyright © Oracle Corporation, 1998. Tous droits réservés. Utilisation de la Clause WITH CHECK OPTION • Vous pouvez garantir que le LMD reste dans le domaine de la vue à l'aide de la clause WITH CHECK OPTION. • Toute tentative de modification du numéro de département dans une ligne de la vue échouera, car elle transgresse la contrainte WITH CHECK OPTION. SQL> CREATE OR REPLACE VIEW empvu20 2 AS SELECT * 3 FROM emp 4 WHERE deptno = 20 5 WITH CHECK OPTION CONSTRAINT empvu20_ck; View created.View created. www.TelechargerCours.com
  • 17. 15-17 Copyright © Oracle Corporation, 1998. Tous droits réservés. Refus des Ordres du LMD • Aucune opération du LMD ne pourra être exécutée si vous ajoutez l'option WITH READ ONLY dans la définition de votre vue. SQL> CREATE OR REPLACE VIEW empvu10 2 (employee_number, employee_name, job_title) 3 AS SELECT empno, ename, job 4 FROM emp 5 WHERE deptno = 10 6 WITH READ ONLY; View created.View created. • Toute tentative d'exécution d'un ordre du LMD sur une ligne de la vue génère l'erreur Oracle8 Server ORA-01752. www.TelechargerCours.com
  • 18. 15-18 Copyright © Oracle Corporation, 1998. Tous droits réservés. Suppression d'une Vue • La suppression d'une vue n'entraîne pas la perte des données, car toute vue est basée sur des tables sous-jacentes de la base de données. SQL> DROP VIEW empvu10; View dropped.View dropped. DROP VIEW view;DROP VIEW view; www.TelechargerCours.com
  • 19. 15-19 Copyright © Oracle Corporation, 1998. Tous droits réservés. Résumé • Une vue est dérivée des données d'autres tables ou d'autres vues. • Une vue offre les avantages suivants : – Restreint L'accès à la base de données – Les requêtes sont simplifiées – Indépendance de données – Visualisation des mêmes données sous différentes formes – Peut être supprimée sans perdre les données sous-jacentes www.TelechargerCours.com
  • 20. 15-20 Copyright © Oracle Corporation, 1998. Tous droits réservés. Présentation des Exercices • Création d'une vue simple • Création d'une vue complexe • Création d'une vue avec une contrainte d’intégrité • Modification des données d'une vue • Affichage des définitions de vues • Suppression de vues www.TelechargerCours.com

Notes de l'éditeur

  1. Objectifs Dans ce chapitre, vous allez apprendre à créer et à utiliser des vues. Vous apprendrez également à interroger l'objet approprié du dictionnaire de données pour extraire des informations relatives aux vues.
  2. Qu'est-ce qu'une Vue ? Vous pouvez présenter des sous-ensembles ou des combinaisons logiques de données en créant des vues sur des tables. Une vue est une table logique basée sur une table ou une autre vue. Elle affiche des données qui ne lui sont pas propres, mais c’est comme une fenêtre par laquelle il est possible de visualiser ou de modifier des données venant des tables. Les tables sur lesquelles une vue est basée sont appelées tables de base . Une vue est stockée dans le dictionnaire de données, comme un ordre SELECT.
  3. Avantages d'une Vue Limite l'accès à la base de données en affichant une sélection de celle-ci. Permet aux utilisateurs de créer des requêtes simples pour extraire les résultats de requêtes complexes. Par exemple, vous pouvez extraire des informations de plusieurs tables sans savoir écrire un ordre de jointure. Garantit l'indépendance des données pour des utilisateurs et des programmes d'application contextuels. Une vue peut être utilisée pour extraire les données de plusieurs tables. Permet à des groupes d'utilisateurs d'accéder aux données en fonction de leurs critères particuliers. Pour de plus amples informations, reportez-vous à Oracle8 Server SQL Reference, Release 8.0 , “CREATE VIEW.”
  4. Vues Simples et Vues Complexes On distingue les vues simples et les vues complexes. La différence principale entre ces deux types de vues est liée aux opérations LMD (insertion, mise à jour et suppression). Une vue simple : Est dérivée des données d'une seule table Ne contient ni fonctions ni groupes de données Permet d'exécuter des opérations du LMD Une vue complexe : Est dérivée des données de plusieurs tables Contient des fonctions ou des groupes de données Ne permet pas toujours d'exécuter des opérations du LMD
  5. Création d'une Vue Vous pouvez créer une vue en imbriquant une sous-interrogation dans l'ordre CREATE VIEW. Dans la syntaxe : OR REPLACE recrée la vue, si celle-ci existe déjà. FORCE crée la vue, que les tables de base existent ou non. NOFORCE ne crée la vue que s'il existe des tables de base (valeur par défaut). view nom de la vue. alias indique les noms des expressions sélectionnées par la requête de la vue. Le nombe d'alias doit être égal au nombre d'expressions sélectionnées par la vue. subquery ordre SELECT complet. Vous pouvez utiliser des alias de colonnes dans la liste SELECT. WITH CHECK OPTION n'autorise l'insertion et la mise à jour que pour les lignes auxquelles la vue peut accéder. constraint nom attribué à la contrainte CHECK OPTION. WITH READ ONLY garantit qu'aucune opération LMD ne peut être exécutée dans la vue.
  6. Création d'une Vue L'exemple ci-dessus illustre la création d'une vue contenant le numéro, le nom et le poste de tous les employés du département 10. Vous pouvez afficher la structure de la vue à l'aide de la commande SQL*Plus DESCRIBE. Name Null? Type ------------------------------- -------- ------------ EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) Règles de Création d'une Vue La sous-interrogation qui définit la vue peut contenir une syntaxe SELECT complexe avec des jointures, des groupes et des sous-interrogations. Cette sous-interrogation ne peut pas contenir la clause ORDER BY que vous définissez lors de l'extraction des données de la vue. Si vous ne précisez pas un nom de contrainte pour une vue créée avec la contrainte CHECK OPTION, le système attribue un nom de contrainte par défaut au format SYS_C n . L'option OR REPLACE permet de modifier la définition d'une vue sans la supprimer ni la recréer, ou de lui accorder de nouveau les privilèges objet qu'elle avait précédemment.
  7. Création d'une Vue Vous pouvez contrôler les noms de colonnes en insérant des alias de colonnes dans la sous-interrogation. L'exemple ci-dessus illustre la création d'une vue avec l'alias EMPLOYEE_NUMBER représentant le numéro des employés, l'alias NAME représentant le nom des employés et l'alias SALARY représentant le salaire, pour le département 30. Vous pouvez aussi contrôler les noms de colonnes en utilisant des alias de colonnes dans la clause CREATE VIEW.
  8. Extraction des Données d'une Vue Les données d'une vue s'extrayent de la même façon que les données d'une table. Vous pouvez afficher tout le contenu de la vue ou uniquement des lignes et des colonnes spécifiques.
  9. Vues du Dictionnaire de Données Une fois votre vue créée, vous pouvez interroger la table USER_VIEWS du dictionnaire de données pour afficher le nom et la définition de la vue. Le texte de l'ordre SELECT qui constitue votre vue est stocké dans une colonne de type LONG. Accès aux Données par une Vue Lorsque vous accédez à des données par le biais d'une vue, Oracle8 Server : 1. Extrait la définition de la vue à partir de la table USER_VIEWS du dictionnaire de données. 2. Vérifie les privilèges d'accès de la table de base de la vue. 3. Convertit la requête de la vue en une opération équivalente dans la ou les tables de base sous-jacentes. Autrement dit, les donnés sont extraites ou mises à jour dans la ou des tables de base. Vues du Dictionnaire de Données
  10. Modification d'une Vue L'option OR REPLACE permet de créer une vue, même s'il en existe déjà une du même nom. Dans ce cas, la nouvelle vue remplace l'ancienne version de la vue pour son propriétéaire. En d'autres termes, il est possible de modifier une vue sans avoir à la supprimer, la recréer ou lui accorder de nouveau les privilèges objet. Remarque : Lorsque vous attribuez des alias de colonnes dans la clause CREATE VIEW, souvenez-vous que les alias sont cités dans le même ordre que les colonnes de la sous-interrogation.
  11. Création d'une Vue Complexe L'exemple ci-dessus illustre la création d'une vue complexe contenant des noms de départements, ainsi que les salaires minimum, maximum et moyens par département. A noter que des alias ont été définis pour cette vue, ce qui est obligatoire si une colonne de la vue est issue d'une fonction ou d'une expression. Vous pouvez afficher la structure de la vue à l'aide de la commande SQL*Plus DESCRIBE. Pour afficher son contenu, utilisez un ordre SELECT. SQL> SELECT * 2 FROM dept_sum_vu; NAME MINSAL MAXSAL AVGSAL -------------- --------- --------- --------- ACCOUNTING 1300 5000 2916.6667 RESEARCH 800 3000 2175 SALES 950 2850 1566.6667
  12. Exécution des Ordres du LMD dans une Vue Vous pouvez exécuter des opérations LMD sur les données d'une vue, sous réserve de respecter certaines règles. Vous ne pouvez pas supprimer une ligne d'une vue si elle contient l'un des éléments suivants : Fonctions de groupe Clause GROUP BY Mot-clé DISTINCT
  13. Exécution des Ordres du LMD dans une Vue Vous ne pouvez pas modifier les données d'une vue qui contient une des conditions mentionnées dans la diapositive précédente et un des éléments suivants : Colonnes définies par des expressions. Exemple : SALARY * 12 Colonne ROWNUM Pour connaître la liste des colonnes modifiables d’une vue, vous pouvez consulter dans le dictionnaire de données : USER_UPDATABLE_COLUMNS. Vous ne pouvez pas ajouter de données dans une vue si elle contient un des éléments ci-dessus et s'il existe dans la table de base des colonnes NOT NULL sans valeur par défaut qui ne sont pas sélectionnées par la vue. Toutes les valeurs obligatoires doivent figurer dans la vue. N'oubliez pas que vous ajoutez des valeurs directement dans la table sous-jacente par le biais d'une vue. Pour de plus amples informations, reportez-vous à 0racle8 Server SQL Reference, Release 8.0, “CREATE VIEW.”
  14. Utilisation de la Clause WITH CHECK OPTION Il est possible d'exécuter des contrôles d'intégrité référentielle dans les vues. Vous pouvez ainsi renforcer les contraintes au niveau de la base de données. Une vue permet de protéger l'intégrité des données, mais dans un cadre très limité. La clause WITH CHECK OPTION précise que les opérations d'insertion et de mise à jour exécutées dans une vue n'autorisent pas la création de lignes que la vue ne peut pas sélectionner. Par conséquent, elle permet de renforcer les contraintes d'intégrité et les contrôles de validation sur les données à insérer ou à mettre à jour. Si vous tentez d'exécuter des opérations LMD sur des lignes que la vue n'a pas sélectionnées, un message d'erreur s'affiche avec le nom de la contrainte, si ce dernier a été précisé. SQL> UPDATE empvu20 2 SET deptno = 10 3 WHERE empno = 7788; update empvu20 * ERROR at line 1: ORA-01402: view WITH CHECK OPTION where-clause violation Remarque : Aucune ligne n'est mise à jour si le numéro du département est modifié (10), car la vue ne pourra plus afficher cet employé. Avec la clause WITH CHECK OPTION, la vue ne peut afficher que les employés du département 20 et n'autorise pas la modification du numéro de département de ces employés au travers de la vue.
  15. Refus des Ordres du LMD L'option WITH READ ONLY vous permet de garantir qu'aucune opération LMD ne sera exécutée dans votre vue. Dans l'exemple ci-dessus, la vue EMPVU10 est modifiée de telle sorte que toutes les opérations LMD sont interdites dans cette vue. Toute tentative de suppression d'une ligne dans la vue génère une erreur. SQL> DELETE FROM empvu10 2 WHERE employee_number = 7782; DELETE FROM empvu10 * ERROR at line 1: ORA-01752:Cannot delete from view without exactly one key-preserved table
  16. Suppression d'une Vue L'ordre DROP VIEW permet de supprimer une vue. La définition de la vue est ainsi supprimée de la base de données. La suppression d'une vue n'a aucun effet sur les tables sur lesquelles la vue est basée. En revanche, les vues ou autres applications basées sur des vues supprimées ne sont plus valides. Seul, le propriétaire ou un utilisateur ayant le privilège DROP ANY VIEW peut supprimer une vue. Dans la syntaxe : view représente le nom de la vue
  17. Qu'est-ce qu'une Vue ? Une vue est basée sur une table ou une autre vue. Elle est semblable à une fenêtre par laquelle vous pouvez afficher ou modifier les données d'une table, et elle ne contient pas de données qui lui sont propres. La définition d'une vue est stockée dans le dictionnaire de données. Vous pouvez consulter la définition des vues par la table USER_VIEWS du dictionnaire de données. Avantages d'une Vue Limite l'accès à la base de données Simplifie les requêtes Indépendance des données Visualisation des mêmes données sous différentes formes La suppression d'une vue n'a aucun effet sur les données sous-jacentes Options d'une Vue Vue simple basée sur une table Vue complexe basée sur une ou plusieurs tables, ou contenant des groupes ou des fonctions Peut être remplacée s'il en existe une de même nom Peut contenir une contrainte d’intégrité Peut s'afficher en mode lecture seule
  18. Présentation des Excercices Vous allez créer des vues simples et complexes, puis exécuter des ordres du LMD dans les différentes vues.
  19. Exercice 15 1. Créez la vue EMP_VU à partir de la table EMP contenant des numéros et des noms d'employés avec leur numéro de département. Modifiez l'en-tête de la colonne des noms d'employés en la nommant EMPLOYEE. 2. Affichez le contenu de la vue EMP_VU. EMPNO EMPLOYEE DEPTNO ----- -------- ------ 7839 KING 10 7698 BLAKE 30 7782 CLARK 10 7566 JONES 20 7654 MARTIN 30 7499 ALLEN 30 7844 TURNER 30 7900 JAMES 30 7521 WARD 30 7902 FORD 20 7369 SMITH 20 7788 SCOTT 20 7876 ADAMS 20 7934 MILLER 10 14 rows selected. 3. Sélectionnez le nom de la vue (view_name) et le texte correspondant dans la table USER_VIEWSdu dictionnaire de données. VIEW_NAME TEXT ----------- ---------------------------------------- EMP_VU SELECT empno, ename employee, deptno FROM emp 4. A partir de votre vue EMP_VU, faites une requête pour afficher tous les noms des employés et le numéro de leur département. EMPLOYEE DEPTNO ---------- --------- KING 10 BLAKE 30 CLARK 10 JONES 20 MARTIN 30 ... 14 rows selected.
  20. Exercice 15 5. Créez la vue DEPT20 avec les numéros et les noms de tous les employés du département 20. Nommez les colonnes de la vue respectivement EMPLOYEE_ID, EMPLOYEE et DEPARTMENT_ID. Cette vue ne doit pas autoriser l'affectation d'un employé à un autre département. 6. Affichez la structure et le contenu de la vue DEPT20. Name Null? Type --------------- -------- ------ EMPLOYEE_ID NOT NULL NUMBER(4) EMPLOYEE VARCHAR2(10) DEPARTMENT_ID NOT NULL NUMBER(2) EMPLOYEE_ID EMPLOYEE DEPARTMENT_ID ----------- -------- ------------- 7566 JONES 20 7902 FORD 20 7369 SMITH 20 7788 SCOTT 20 7876 ADAMS 20 7. Essayez d'affecter l'employé Smith au département 30. S'il vous reste du temps, effectuez l’exercice suivant. 8. Créez la vue SALARY_VU de façon à afficher le nom de tous les employés, le nom de leur département, leur salaire et leur barème de salaire. Nommez les colonnes respectivement Employee, Department, Salary et Grade.