AW: [JavaTech] Relacios DB - Primary Key kerdese

Szitas Krisztian k.szitas at gisma.de
2001. Okt. 5., P, 12:02:55 CEST


>Az "idotallosag" es a "korrektseg" ebben az esetben totalis
>felreertes a mesterseges kulccsal kapcsolatban. Az elsodleges 
>kulcs, avagy azonosito az entitas sajat jellemzoje. A mesterseges 
>azonosito egy krealt valami, ami peldaul ket rendszer kozott mar 
>akarmi is lehet, de jellemzoen ket azonos adat kozvetlen
>osszekapcsolasara mar nem alkalmas, hiszen kulonbozo mesterseges 
>azonositot adtal nekik.

Igen, ez az, eppen azert erdemes elvalasztani az entitas mint a valos
elet egy modelezett alapegyseg elsodleges azonositojat a perzisztalo 
technologia szabta elsodleges azonositojatol. Az entitas azonositojat 
a rendszerek (entitasok) kozott hasznalhatjuk, a mesterseges azonositot
viszont az entitason belul.
Ami bennem kerdeskent felmerul, hogyan kell akkor optimalisan megvalositani 
az entitasok egymashoz rendeleset. Arra gondolok, hogy vannak Orszagaim,
mondjuk a 3 betus ISO kodokkal azonositom, de adatbazis szintjen egy mas
kulcsot
valasztok, pl egy sequncbol generalt mesterseges kulcsot RDB eseteben,
es az OID-t OODB eseteben. Vannak tovabba Regioim, ami nem mas, mint
egy kontener az Orszagokhoz (Pl Europa all Magyarorszagbol, meg Nemeto-bol.)
Hogyan lehet ezt optimalisan lekezelni? Ha azt mondom, hogy nem engedem ki
a kulvilag fele a mesterseges azonositomat, es a kliens ugy kezelheti a 
regiokat, hogy csak az entitas kulcsat, azaz a 3 betus roviditest hasznalva
allitja ossze az Europa regiot HU es DE Orszag entitasokbol, akkor a Regio
entitas perzisztalasakor minden egyes esetben vissza kell keresnem az
Orszag kulcsahoz (HU) tartozo mesterseges kulcsot (12354353246346),
es azt elmenteni. Ez elegge idoigenyes feladat. Ha kiengedem a kezembol
az OID-t, akkor nincs semmi gond, megy minden mint a karikacsapas,
semmi overhead nincsen, csak valahogy olyan ellenszenvesnek tunik nekem.
Ti hogyan oldjatok meg ezt?

>Elofordulhat, hogy valamilyen korulmeny miatt az entitas nem
>azonosithato, nincs rendes elsodleges kulcsa. Ekkor ez a
>bizonyos "korulmeny" nagyon-nagyon figyelemremelto, mert valami
>sumaksag lapul a rendszerben. Lehetoleg addig kell kutatni,
>amig az ember megtalalja az entitas valodi elsodleges kulcsat.
>Mivel az elsodleges kulcs az entitas jellemzoje, megvaltoztatasa
>szinten gyanus esemeny.
>Az esetleg alkalmazott mesterseges kulcs az esetek tulnyomo reszeben
>valamilyen technologiai sajatossag kovetkezmenye, es alternate
>key a valodi elsodleges kulcs mellett.

Igen igazad lehet, de mondok megint egy peldat arre, ertekpapirok elsodleges
kulcsa.
Melyik az elsodelges kulcs a SEDOL szam, amit nemetorszagban hasznalnak,
a ValorenNr amit a svajciak hasznalnak, vagy az ISIN szam ami vegre egy
szabvany lesz. Mindegyik elsodelegesen azonosit. En azt akarom,
hogy a programomat mindenhol tudjak hasznalni. Mit tehetek ilyenkor?



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