Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Referencijalni integritet jedno polje na vise polja u razlicitim tabelama. Modelovanje i implemen...

[es] :: Baze podataka :: Referencijalni integritet jedno polje na vise polja u razlicitim tabelama. Modelovanje i implemen...

[ Pregleda: 1746 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vlaiv
Vladimir Vlaisavljevic
Novi Sad

Član broj: 15993
Poruke: 352
*.dynamic.isp.telekom.rs.



+1 Profil

icon Referencijalni integritet jedno polje na vise polja u razlicitim tabelama. Modelovanje i implemen...11.02.2011. u 10:25 - pre 160 meseci
Radi se o sledecem :

Radim neki model baze gde zelim imati u samoj bazi implementiran change log u vidu tabele.
Change log je neophodan za sinhronizaciju date baze sa drugim bazam.

Ne mogu da upotrebim klasican replication zato sto se radi o kombinaciji razlicitih servera baze
(pgsql, mssql ce i slicno), osim toga ne replicira se kompletna baza nego samo podskup u zavisnosti
od tipa klijenta koji vrsi sinhronizaciju (neki mogu da menjaju podatke, neki samo treba da vide izmene,
i to na odredjenom nivou - neko moze da dodaje podatke i preuzima samo kompletno obradjene podatke,
neko vrsi obradu, a neko ima mogucnost revizije obrade ...)

Obzirom da su tabele dizajnirane da imaju UUID (GUID) kao Primarni kljuc razmisljao sam da u tabelu
change_log stavim kao foreign kljuc jedno polje tipa UUID i jos jedno int polje koje govori o tipu
promene koja je evidentirana.

primer:

tabele change_log, documents, clients

cli_id - primarni kljuc, clients - tip UUID
doc_id - primarni kljuc, documents - tip UUID

change_log:

chl_id - primarni kljuc
chl_reference - foreign key - vrednost primarni kljuc u tabeli clients ili tabeli documents
chl_type 1 - client change, 2 - document change

(ovo je banalan primer sa dve tabele, u realnosti bi bilo za n tabela)

Pored ovih polja change_log bi imao i dodatna polja: tip promene, insert, update, delete, kao i polje koje
ce da ima kodirano precizne promene (na kojim poljima unutar tabele je recimo uradjen update), kao
i sistemske informacije (vreme, user i sl)

Kako da odradim referencijalni integritet u ovom slucaju.
Modelujem u Power Designer-u, da li postoji nacin da se to modeluje?

Znam da bi se to moglo izvesti sa triggerima, ali da li postoji neko drugo resenje?
Da li neka baza podrzava tako nesto?

znaci

on insert - provera da li postoji u documents ili clients
on update (mada necu koristiti UUID ostaje sa rekordom zauvek, ali me interesuje) - promena u change_log odgovarajuce UUID vrednosti
on delete - kombinacija cascade ili restrict

Ima li neko ideju?
 
Odgovor na temu

[es] :: Baze podataka :: Referencijalni integritet jedno polje na vise polja u razlicitim tabelama. Modelovanje i implemen...

[ Pregleda: 1746 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.