salut,
je suis entrain de concevoir une bdd repartie avec postgresql.
j'ai utilisé deux sites
site1 : (IP=192.168.200.1 user=mohamed )
CREATE TABLE Client (NCL char(3), Nom char(10), Ville char(8));
CREATE TABLE Cmd (NP char(3), NCL char(3), Date date, Qte integer);
CREATE TABLE Produit (NP char(3), Desig char(8), PrixUnit integer);
insert into Client values('C1', 'Dupont', 'Paris');
insert into Client values('C4', 'Olivier', 'Paris');
insert into Cmd values('P1', 'C1', '1-1-99', 10);
insert into Cmd values('P3', 'C4', '4-1-99', 30);
insert into Produit values('P1', 'Ciment', 100);
insert into Produit values('P2', 'Bois', 200);
insert into Produit values('P3', 'Vis', 50);
insert into Produit values('P4', 'Clou', 10);
Site2: (IP=192.168.200.2 user=mourad)
CREATE TABLE Client (NCL char(3), Nom char(10), Ville char(8));
CREATE TABLE Cmd (NP char(3), NCL char(3), Date date, Qte integer);
CREATE TABLE Produit (NP char(3), NF char(3));
insert into Client values('C2', 'Durant', 'Lille');
insert into Client values('C3', 'Martin', 'Nice');
insert into Cmd values('P2', 'C2', '1-1-99', 20);
insert into Cmd values('P2', 'C2', '2-1-99', 30);
insert into Produit values('P1', 'F1');
insert into Produit values('P2', 'F1');
insert into Produit values('P3', 'F2');
insert into Produit values('P4', 'F2');
j'ai utiliser le dblink pour connecter les différents fragment de chaque table en utilisant les vues
le dblink pour se connecter au site2 :
select * from dblink_connect ('c1','hostaddr=192.168.200.2 port=5432 dbname=test user=mourad password=');
Voici la vue qui rassemble les deux fragments de la table client a partir du site 1
create view v1 as select * from dblink('c1','select ncl,nom,ville from client',true) as foo (ncl char(3), nom char(10), ville char(8)) union select ncl, nom, ville from client;
le dblink pour se connecter au site1 :
select * from dblink_connect ('c1','hostaddr=192.168.200.1 port=5432 dbname=test user=mohamed password=');
Voici la vue qui rassemble les deux fragments de la table client a partir du site 2
create view v1 as select * from dblink('c1','select ncl,nom,ville from client',true) as foo (ncl char(3), nom char(10), ville char(8)) union select ncl, nom, ville from client;
mon problème est de comment lorsque un fragment est modifier dans un des deux sites, la vue doit être ainsi modifiée
En attendant votre réponse accepter mes meilleurs salutations.









Répondre avec citation





Partager