0% ont trouvé ce document utile (0 vote)
26 vues3 pages

Administration Oracle : Clusters et Vues SQL

Le document décrit la création d'un cluster contenant deux tables EMP et DEPT liées par une clé étrangère. Il montre ensuite la création de synonymes, de vues et l'insertion de données dans ces objets relationnels.

Transféré par

brain hub
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
26 vues3 pages

Administration Oracle : Clusters et Vues SQL

Le document décrit la création d'un cluster contenant deux tables EMP et DEPT liées par une clé étrangère. Il montre ensuite la création de synonymes, de vues et l'insertion de données dans ces objets relationnels.

Transféré par

brain hub
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

DBA 1

Université Chouaïb Doukkali AU : 2020/2021


Faculté des Sciences
Département d’Informatique
El Jadida
Administration Oracle : DBA1
Atelier 2 : Structure Logique : Schéma Objet (1)

Application

Soient les deux tables ci-dessous :

EMP DEPT
empno name sal deptno deptno dname
3415 Harry 3000 10 10 Finance
2241 Sally 2000 20 20 Sales
3401 George 3100 10
2202 Harriet 1905 20

1. Créez le cluster Cl_Emp_Dept pour stocker les tables EMP et DEPT. La clé du
cluster étant deptno.
SQL> create cluster Cl_Emp_Dept (deptno int);
2. créez et alimentez les deux tables dans le cluster Cl_Emp_Dept
SQL> create table dept(
2 deptno int primary key,
3 dname varchar(40)
4 )
5 cluster CL_Emp_Dept (deptno);
SQL> create table emp(
2 empno int,
3 ename varchar(40),
4 sal float,
5 deptno int,
6 constraint PK_emp primary key(empno),
7 constraint FK_emp foreign key(deptno) references dept(deptno)
8 )
9 cluster CL_Emp_Dept (deptno);
Après avoir créé les tables, pour pouvoir insérer il faut créer un index de cluster :
SQL> create index indx on cluster Cl_Emp_Dept ;

[email protected] Page 1
DBA 1

SQL> insert into dept values (10, ‘Finance’)


SQL> insert into dept values (20, ‘Sales)
SQL> insert into emp values(1, ‘emp1’, 9000, 10);
SQL> insert into emp values(2, ‘emp1’, 9000, 10);
SQL> insert into emp values(3, ‘emp1’, 9000, 20);
SQL> insert into emp values(4, ‘emp1’, 9000, 20);
3. créez les synonymes Employes et Departements pour les tables Emp et Dept,
respectivement.
SQL> create synonym Employes for Emp ;
SQL> create synonym Departements for dept ;
4. Insérer le département 30 et deux employés dans ce département en utilisant les
synonymes Employes et Departements. Vérifiez l’insertion dans les tables Emp et
Dept.
5. SQL> insert into Departements values (30, ‘RH)
6. SQL> insert into Employes values(5, ‘emp5’, 9000, 30);
7. Créez la vue VEmp10 contenant les employes du département numéro 10 avec ‘with
check option’
SQL> create view VEmp10 as
select * from emp where deptno=10
with check option;
8. Créez la vue VEmp10prime contenant les employes du département numéro 10 sans
‘with check option’
SQL> create view VEmp10prime as
select * from emp where deptno=10

9. Essayez d’insérer des employés dans la vue VEmp10 et VEmp10prime.


10. Créez la vue VEmp_Dept contenant le numéro, le nom et le salaire des employés,
ainsi que le leurs noms de départements.
SQL> create view vemp_dept as
2 select empno, ename, sal, dname
3 from emp, dept
4 where emp.deptno=dept.deptno;
11. Pour mettre une table déjà créée dans un cluster

[email protected] Page 2
DBA 1

//Création d’une table

SQL> create table etudiant (code int primary key, nom varchar(40));
SQL> insert into etudiant values( 1, ‘et1’);
SQL> insert into etudiant values( 2, ‘et2’);

//Création d’un cluster

SQL> create cluster cl_etudiant (code int) ;


SQL> create index indx1 on cluster cl_etudiant ;

//Pour mettre la table etudiant dans le cluster

//Créer une table vide dans le cluster

SQL> create table etudiant1 (code int primary key, nom varchar(40)) cluster
cl_etudiant;

//Remplir cette table à partir de etudiant

SQL> insert into etudiant1 select * from etudiant ;

//Supprimer la table etudiant

SQL> drop table etudiant

//Renommer la table etudiant1

SQL> rename etudiant1 to etudiant

[email protected] Page 3

Vous aimerez peut-être aussi