Vous êtes sur la page 1sur 9

BASE DE DONNÉES AVANCÉES

Année universitaire : 2018-2019


1
TP
BASE DE DONNÉES RÉPARTIES

2
Création des tables
Tables pour user1 : Table Emp1
1) CREATE TABLE Emp1 (numero Number(9) PRIMARY KEY , nom
Varchar(20) , prenom Varchar(20), salaire Number(5)) ;

2) INSERT INTO Emp1 VALUES (1,'LeRiche','Jean',15000 ) ;


INSERT INTO Emp1 VALUES (2,'LeMoyen','Bernard',6000 );
INSERT INTO Emp1 VALUES (3,'LePauvre','Henri',2000 );
INSERT INTO Emp1 VALUES (4,'LeSDF','Perdu',0 ) ;

3
Création des tables
Tables pour user2 : Table Emp2
1) CREATE TABLE Emp2 (numero Number(9) PRIMARY KEY , nom
Varchar(20) , prenom Varchar(20), salaire Number(5)) ;

2) INSERT INTO Emp2 VALUES (1,'LeBernois','Hans',12000 );


INSERT INTO Emp2 VALUES (2,'LeBiennois','Fritz',9000);
INSERT INTO Emp2 VALUES (3,'LeJBernois','Fred',6500 );
INSERT INTO Emp2 VALUES (4,'DeThoune','Joanna',5750 );

4
Création des tables
Tables pour user2 : Table EmpL
1) CREATE TABLE EmpL (numero Number(9) PRIMARY KEY , nom
Varchar(20) , prenom Varchar(20), salaire Number(5), Localite Varchar(20))
;

2) INSERT INTO EmpL VALUES (1,'Dutronc','Alain',9000,'Porrentruy');


INSERT INTO EmpL VALUES (2,'Lachat','Pierre',15000,'Courgenay');
INSERT INTO EmpL VALUES (3,'Argentier','Dorée',8000,'Glovelier');
INSERT INTO EmpL VALUES (4,'Muller','Alfred',6000,'Les Bois');

5
Création des DB link
 Un database link est un pointeur qui définit un lien
unidirectionnel d’une base de données d’Oracle à une autre,

 Syntaxe :

6
Création des DB link
 La clause CONNECT TO active une session vers la base distante.
 La clause CURRENT_USER crée un lien BD pour l’utilisateur courant.
L’utilisateur doit disposer d’un compte valide dans la base distante.
 La clause USING connect_string spécifie le nom de service d’une base
distante (service_name). Les noms de service d’instances sont stockés dans le
fichier de configuration utilisé par Oracle intitulé tnsnames.ora.
C:\oraclexe1\app\oracle\product\11.2.0\server\network\ADMIN

7
Création des DB link
 CREATE DATABASE LINK lienemp1 CONNECT TO user1 IDENTIFIED
BY user1 USING ‘XE' ;

 CREATE DATABASE LINK lienemp2 CONNECT TO user2 IDENTIFIED


BY user2 USING ‘XE' ;

8
Fragmentation horizontale
 Création d'une vue qui regroupe les employés de la base 1 et de la base 2 :
CREATE OR REPLACE VIEW Emp1_et_2 AS SELECT nom, prenom, salaire
FROM Emp1@lienemp1 UNION SELECT nom, prenom, salaire FROM
Emp2@lienemp2 ;

 Vérification :
select * from emp1_et_2;