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