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.
Partager