[ vokus @ 16.08.2004. 17:41 ] @
Imam sledeće tipove objekata (u Javi): class BaseType { param_1; param_2; param_3; } class TypeA extends BaseType { param_A1; param_A2; param_A3; ... } class TypeB extends BaseType { param_B1; param_B2; param_B3; ... } Atributi param_Ai i param_Bi su različitog broja i tipa. Do sad sam ih smeštao u tabele: TABLE_BASE, TABLE_TYPE_A, TABLE_TYPE_B. Tabele TABLE_TYPE_A, TABLE_TYPE_B imaju foreign key do primary key-a iz tabele TABLE_BASE, i na taj način kreiram select ili view preko koji mogu da vidim sve atribute za određeni TypeA (param_1; param_2; param_3; param_A1; param_A2; param_A3; ...) ili TypeB (param_1; param_2; param_3; param_B1; param_B2; param_B3; ...). Kako je verovatnost velika da se u budućnosti pojave i TypeC, TypeD itd. došla mi je ideja da za sve tipove imam samo jednu tabelu: TABLE_ALL ( param_1; param_2; param_3; param_type : XMLType; ) Atribut param_type sadrži sve ostale atribute koji su specifični za određeni tip (TypeA, TypeB itd). Koristeći tabelu TABLE_ALL, nadgradnja sistema bi bila mnogo jednostavnija, ne bi bilo potrebno da se kreiraju nove tabele TABLE_TYPE_C, TABLE_TYPE_D itd. Znači prilikom nadgradnje ne bi se vršile nikakve promene u bazi (ili možda samo minimalno, dodavanje nekog novog view-a), već samo u klientskoj aplikaciju koja čita bazu. Do sad sam našao sve za to kako se radi insert, select i update na XMLType. Interesuje me kakva je razlika u performanse između ova dva načina i možda vaš komentar na sve ovo. -- Vojčo |