[JavaTech] Relacios DB - Primary Key kerdese

Szitas Krisztian k.szitas at gisma.de
2001. Okt. 2., K, 13:42:50 CEST


Na akkor megnyitom a a listat az elso levellel.
Folytassuk ott ahol a masik listan abbahagytuk, csak eppen felejtsuk el azt
a szamomra baromira
ellenszenves hozzaallast, hogy a problemahoz ugy allunk hozza, hogy hogyan
NEM LEHET megcsinalni,
hanem ugy hogy, hogyan LEHET.

Ott hagytuk abba hogy egy entitasnak ( j2ee alatt EntityBeannel ) nem kell
feltetlenul az entitas PrimaryKey-enek
es az alsobb retegben levo perzisztencialo PrimaryKeyenek egybeesnie. OODB
eseteben ha jol tudom egyertelmu
a dolog, mert ott minden objektumot egy OID azonosit. De mi van Relacios DB
eseteben?
Viktor azt mondta, hogy o minden sorhoz kulon szintetikus keyt general. 
Pl az Embert a szemelyi szamaval lehet egyedileg azonositani (ez alapjan
Unique), de egy generalt PK-ja van.

Kerdes, hogy miert jo ez? Mikor jo ez?

Elony:

Ha megvaltozik a egyedi azonosito (tipus, hossz, de leginkabb erteke), mert
pl betelipiti egy miniszterelnok
az erdelyieket Mo-ra, es mar nem elegendo az utolso 4 szamjegy a szemelyi
szambol (ami csak 3 vegul is)
az egyediseghez, akkor nem kell vegignyalazni az osszes tablankat, es
updateelni mind az relacios-adatmodellt
(mittomen CHAR 12-rol CHAR 16-ra) + meg az ertekeket is atirni,
hanem ezt egyetlen tablaban el tudom vegezni.

Hatrany:

Mindig ott van az a rohadt join. OODB-nel ez nem szamit, akar tizezerszer is
gyorsabb a relacios db-nel,
de hat meg mindig sajnos a relacios db-k uraljak a piacot. 
Pl: egy egyszeru webaruhaznal, ahol tobb penznemet hasznalhatok, egy
egyszeru viewnal is ahol az
arat ki akarom listazni, es a penznem PK-ja szintetikus, es nem mondjuk az
ISO szerinti 3 betu (HUF, DEM),
ott egybol bejon a join.

Tud valaki meg elonyt es hatranyt?




További információk a(z) JavaTech levelezőlistáról