Professional Documents
Culture Documents
Buza Antal - Az Adatbáziskezelés Alapjai 14. Fejezettől Végig
Buza Antal - Az Adatbáziskezelés Alapjai 14. Fejezettől Végig
Pékla:
CREATE TYPE FelvettKurzusTípus As (k d CHAR(10), félévCHAR(7)' eredm lNT);
Kurzusok tábla név lrir,atkozási oszlo1lára' Ezt a viszonyt az SQL bcrr a krjvctkczo m <ltrtt rl''
Íirriáljrrk:
A kiivetkez bcn egy pélclán keresztiil berrrutat'juk az Oracle 10g verzi barr a beágyazott reláci k
kr'zcl sének néhárry alaprnííveletét.
CREATE TYPE FelvettKurzusTípus AS (
k d REF(név) SCOPE(Kurzusok)' li,gyiik fc1. hogy cgy szálloda vcud gcit a l2.3' ábrrín láthrlt bcágvazott rc1áci t is tartalmaz
félév CHAR(7), eredm lNT);
I lil)la Segítségévelkívánjrrk nyilvántartarri.
A szobák tábla egy Sora eBy szállodai szobárrak egy t l-ig idoszakb;rn a ventlégei nevét és
l'rltt:ítnét tarta]rrrazza' N'Iivel az egy szobában lakrí verrdégek szríma változlrat. ezért alkrlrrra"s
L2.4. Met dusok rrrrlgol<lás lehet a vendégek attrib turrrhoz táb1át (vendégtábla) rendelrri' A vendégtábla
trjbb att_
r ilrritunros, ezért rneg kell aclnurrk a vendégtábla sortípusát is (vendégadat)'
A tartozilt. tle az ob.jekturnreláci s rentlszerben a ntett'xIttlr
ntetr1clus végeredménybert r'eláciíÍmz
a reiáci egv oszlopához (anli persze lelrct ijsszetett típus) tartozik. Ezér't a rnet t1rrsra a tí1rttsl A l2'3- ábrán láthatri beágvazot,t reldci t M.trehoz rrtasítások a kijvetkezrik:
<lefirríál CREATE TYPE uta'sításl;an 1tivatkozlraturrk, és kiilon tlefirri/rlantlcl a lict tlus rnaga'
A
rrletrírlttst cREATE METHoD rttasít':iss:rl rlefilriátirrk, arrri kiiliirlben telitlseri }rasonl a CREATl CREATE TYPE vendégadat AS oBJECT
FUNCTloNJrriz azzal a két megk téssel. hogy a met dusnak mirrdig valamilyen tí1lrrsri étttiltltl'l (név VARCHAR(50), Iakcím VARCHAR(100));
kell visszat rnie és FoR záradékában hiratkoznia ke1l az t használ típus ncvére.
CREATE TYPE vendégtábla AS TABLE oF vendégadau
== UPDATE szobák
SET vendégek_(vendégtábla(vendégadat('név3','C3000 Valahol-3' )'
vendégadat(' név4','c4000 Valahol 4'),
vendégadat('név5','c5000 Valahol-5')))
wHERE emelet-2 AND ait -15 AND t l-'2012-02-04' AND ie-',2012-02
A tábla tartalrrra ígv a kcivetkezij lesz:
2 15
nv3 2012-02-04 2012-Í)2-76
Az ut bbi utasítiísball ,r ''SToRE AS v'' csak az adatbázisrcndszcr szánriír'a sztiks gcs tr:clirrik,rt 1Év1
rrév megadása, htusonl . rnint a lekérdezésselel ál]ított tr1blált ha^sználatalror sziikséges tcclLrrilr'ri
(lástl péklául az 5'1.8' Í'ejezetberr). nev lák(iÍn1
'161, 2t)72-02-13 201,2-02-20
3 5
név6 C6000 Valahol-6
Ad,atok beaitele az cl állított szobák táblrí])l):
Hasorllciari trldjrrk nleg azt' lrtr ir betígyazott tábldb l ke]] sorÚ tijriíIniink. Ekklll i,' , r
l
alkérdéssel elrj:íllítiuk:r trirlí-'sberr érirrtctt altáillát és abbalr végrdta.jtjrrk az SQLJlíil 1Il?íl
iliIll{ ll
tcirl st. Tchát p lt1ríul. lra kitlcriil. hogy a iJ. cInclct |l ' szohiíba 2()12-()2 02 ts iolz t'lz I 2 ki l rl l l
':r
itiijre korribbau helyct foglalt rtgYan a rrév2 rrovíi vcnciég (és czért rnár bcjeg;,cztiik). tlrl ttt,'l.l,, l,,
veszi igénybe a helyét, akkor a Í'elesklges bejegyztis a k<ivetkczií ut.rsítáSsal tii;i'lhct1i:
149
*
I
Í
ri
r52 T-E.]EZET 13. AZ ADAT ]SAZISO K T' ELI IASZ N.\ 1,,\,, i \
t t .t )LAP 153
5) A teljes Forgalom
4) Adott napon
sszértékés ssz a csoporttlsítti lrriir'elettel e1 állított ''sorokat'' (ngy-esy- elenri kocka,
acl;rtkocka rrcncsak
a lorgalom osszértéke és '\z lranerrr azokat a sorokat (szirrtéu egy-egy Í'eliileti-. él. r'agv
darabszáma r rrtlrlnLak nt) fogja tartalnrazrii.
ossz darabszáma Dátum / , lllsl)i)ll talílhat clctni kockak ut) arncl1'ck a GRoUP BY z:ír':rcl kban fclsorolt rlilncnzi k szc
2i Adottboltban, adotl r rrrt i ijsszesítésekkcl keletkeznck. Ilyenek a 1l].1. ábrán láthat clemí kockák' lehetséges tartalmttk
napon a foígalom
sszértéke és ssz 1" LIriu1:
darabszáma
\ \
\
Há.omdimenzios \ 1) (kifli,2O1 1 02'03,X-bo1t,3000,100)
\ Íészkockák \
2) (N U 11,2011'02-03,X,boIt,503000,2100)
3) (kifli,2011-02-03,NU11,13000, 1100)
4) (NU 11,2011-02-03, NU 11,388000,5100)
s) (NULL,NULL,NULL,9993000,10000)
:\lr,rl rrz 1) egy,,elenri'', ,,belsií" ccllában táro1t sor' a ttibbiek a 13.1. ábrán Í'eltiintetett celLákban
i ll()1l teh;ts;ges sorok' A sorban a NULL azon altribítturnon jelenik rneg' arnelyre ijsszesítctt
, rlrilickct ttutalrttirz trz adott sor'.
\ :t'5.4. fejezetberr lrrár rrrcgadtrrnk uéhánv oiyari lrelyzetct, arrrikor az adatbázisban rllrl1érték
, lr'trilt neg. itt egv irjrrbb. nlrll rtéket eloállít helyzettel t:ilálkoztunk'
.t.
l:l.2.2. Az adatkocka megval Sítása (oracle 1og ben)
3) Adott árubÓl' \z ;rrlatkockák kczelése a kiiltjnboz a<latbázisrendszerekben részberL cltér egvmá.st l. A krivet-
l,,'ziilxln egy pé|tlán keresztiil berrrutirtjuk az oriicle 10g verzi barr aZ adatkocka létrehozísát
adott napon a forgalom és
*Ti["Ji"','il"*
l','r,'lrlstinck n háuy alaprnrivclct t'
13.1' ábra' Egy lriírondirnenzicis tlcltrtkocka. l,'ilviik fel, hogy egv. t bb boltot urtikcir-ltet '
kercskeclés ftrrgalnri at1atait az alábbi rrta.sítással
l,'1 r r,llizott Íbrgalonr tállla tartalrnazzti.
Az adatkockát rterncsak tároIt rrézetként lrozhatjuk Iétr'e. de nrir.el létrehozása tnunlcrigtitty,,', lllr lovábbi ebmzés céljáb l a forgalom tábla aciataira tárnaszkodr'a adatkockát kívánunk píteni.
sazclctuz sstltánvtírhatríansoksztx'fogjukhaszrltílni'Ígv1avasolhrit .hogvf,íroltn ztlllir'ttl lrr,'lylrtr a boltonk nt s ríruf lcs gcnk nt irz claclások rt k t. rrrcunyis gi iisszcg t s az cladmok
hozzulr létre. Ez azza\ iár. hogv az alaptábla/alaptáblák v1rltozásait az trdatbázisrctttlllz,'r 'l'ittliit szeretnérrk vizsgálni' akkor crre az alábbi utasítással adatkockát
píthetiink:
atttornatikusan kijveti a nézettáblá]larr is' Egv hosszabb elerrrzési tevékenységsoráti zitt'itt,,
lchct.lra a vizsgált adatok az cleruz s kozbcn változlrak. Ha az ilyen Zavart ki á]cllillh cREATE MATERlALlZED VlEW forgalomkocka(áru,bolt'osszár'ijsszdarab,eladások_száma) AS
kiiszcibrilní. akkor az cltíállított at1atkocka'táblárrjl k szítsiiuk mrísolatot s irz clcrtrz s sllt,rtr SELEcT áru,bo|t,SUM(ár*darab),SUM(darab)'CoUNT(*)
haszrr'iljuk azt, az irnmár állanrl trrrtalrnri adatkrlcla_táblát' FRoM forgalom GRoUP BY CUBE(áru,bolt);
154 FE.IEZET 13. AZ ADATBAZISOK FELHASZNAL,\SI\ 13.2. OLAP 155
rrttrsítás válasza a boltonkérrt és az iisszes bolt}lan egyiitt protlrrkált sszár és tétel értékeketadja
A kocka r]irrrcnzi szárnát az atlja nteg. hogy hánr' attribírtrrnr szerirrt képezziik a csopol't()l(ill rtreg:
Fenti pélclánk tdrát kétdirneriziris kot:kát állít elti. A két tlirnerrzi : áru s bolt. A liltrrliiii t
L4. fejezet
A félig-strukturált adatmodell
Az eddig tanulutányozott r'elácitjs adatbázis-koncepci (és a korábbi nrás aclatbázis-koncepci k)
r'gvik alapgondolata az adatbázis sémájának az adattartalomt I elkiil<iniilten ral
rrreghatár'ozása'
Az SQL CREATE TABLE utasítása 1 l p ]i<|ázza czt. El rc, nr g az acIatokkal val fcltcilt st rnc
gr:l zrierr létre kell }roznrnk az íires táblákat' meghatározla az oszklpaikat, azok tí1llnát. és az
ilzokra vonatkoz nrás el í'ásokat, p ldául a nregszorításokat. Az ilyen adatnroclell. szerkezetére.
strrrktriráiára ttézve j l stntktu,r'rilt.
A fí.lig stnlkturdlÍ rnodcllbcn a s rna az adatokb l krk vctkcztcthct . ncttt cl rc. clkiilrinítcttcrr
lrcriil neghatározásra' Enrrek lcgfontosahb negval sításakérrtaz XML-t fog.jrrk tijrnijren á.ttekinteni
Az atiatok struktírrájára vonatkoz gonclolatsor természeteserr folytathat . Ha egy adathal-
Irraz struktrirája nincs el re rogzítve és az adatokbríl nem kikijvetkeztetlretij. akkor azt struk'
htrálatlannak (lcgalábbis ismcrct1cn struktrirájrinak) ncvczhctj'í'ik' Ez viszont azza| jár' hogy ncnr
lucijuk. hogy ebben az aclathalrnazban mi rnit jelent. minek az értékét.k dját képviseli. Ez-
zcl tehát sem progr'amokkal, sern személyesen nem tuclrutk érclenrben mit kezrleni, ezét't az ilyen
rxlatokkal a továbbiakban sem foglalkozunk'
r57
il
I
158 F'I').IqZET 1,1' .\ F-EI'IG'STR.I]K'.II]RALT ÁDÁT^i ()l )/"l l tI3. AZ x_\'íL,.\íINT A FELIC|iTRULTURÁLT ÁDÁToJ(ÁT LElRo NYI'LV 159
()sszetett XML-elenr:
14.1' ti]lr'a' Ha1lgat kat és tantárgyalrirt leírt1 Í lig-strukturált adat
<szerz >
<vezetéknév>Petofi </vezetéknév>
<keresztnév> Sándor < /keresztnév>
L4.2. A félig-strukturált adatok ábrázolása < f szerzo >
A rlcklar.áci barr a standalone:''ye5'' lnutat'ja. hogv j lfornált X\ÍL-r l vau sz . amely ijurrragábarr
cinmagábirn tcljcs, rrcrn szuks gcs hozzá rntís. kicg szít irrforrnáci . rnittdcnt a dokumcntunr
L4.3. Az XML, mint a félig-strukturáIt adatokat leír nyelv 'íllil.
l artalrnaz. azaz rjnleír ' Az utf_8 k tlolás helyett rnÍrs kcjdolást is alkalrnazhatrrlrk. de
igen gyakrzu
r'zt használ.ják' nrert kompatibilis az ASCII karakterelkkel. arnclveket egv bájton k dol és rrlkalrnas
Az XNÍL (Extensible Markttp L:rngrr:rgc l(iteljesztett Leír Nyelv) círnke a}ap .jclrilésrelrdszr'r speciális nentzeti karakterek k dolására is. A version klauzu]ában adjuk nrcg. hogv a dokunNln-
'r
Eredetileg dokrtrllcrrtlrrrtok leírtí.stíratervezték. de a félig-strukturált adatok leírására is alka1ttras turn mclyik XIVIL sz,rbványrrak fclcl nrcg.
A tovriblliakbarr vázlatosarr áttekilrtiiik az XNIL. iélig-strrrktur1rlt adatrrk leíliisártrl valrí. allcrl
lrr:rziísát' Pt1kla. A i4.1. ábrán látlrat ilrforrriáciti cgv részérrek(a felr'ette és a teljcsítette krpcsolatok
rr lkiili. fa-szerií részének)XML tlokurrrerrturnban l'al rricgat1á.sát l:itjuk a 14.2, ábrárr. Ez a p ltla
1Az XN'IL és a HTNÍL is rávilígíta f lig'str.ukturált aclatok XNIL rrrcgadástírrak tcr'jcrrg s voltára. A ..t nylcgcs'' trrlatok
''rán z sre'' hasonlrjak' A lénveges kiiliirrbség kiizilttiik, hogy a HTNIL a drrkuul:rr
tmrészek meoJele.nítésé.ruek leírására alkalmas, az XNIL pedig a rlokrrmentrlmészek jelentésének Ieírását tr'szi itt 71 betíível.az arlt1t]eír arlatok 321 betíivel leírtarr szerr:pelnek (az UTF-8 krjdolás rniatt ]évén.
lehetljvé' lulgy az ASCII kuakterckl l kíilijnb<izijck 2 bájtorr tárol dnak a tárol igény ennél is nagvobb).
160 T'EJDZET 1,1. A FELIC-STRUkTURALT AD,\TLIOI)1.:I'I I,l.3. AZ XNIL. MINT A FELIG-;TRUKTURÁLT ÁDATOI{ÁT LEIR) NYELV 161
r62 FE.] EZET 1,1' A FÉLI(:- ST]IU KTU R ÁLT AD AT D ttlt, l I'3. AZy_VÍI, 'VÍI^rT A I'ELIG-1TRUI1TURÁLT ADAT7KAT LEÍR1 NYELV 163
^Ío
14.3.3. ÉrvényesXML
A DTD-beu alkalrnazlrat speciális jelentésíi karakterek:
Az XNIL beu is le}retíívéteszik a sélrr1rk defini/rl/lsát és használatát. Ilyerr alkalrnazásban it tlrt
kutrrcttttlrn k szítíijrrck ir szabadságiit korliítozza a s rtra, iriszcn csak az abban dcfiniríItal<rrlrh o Az elelrt után írt x azt jderrti. lti-rgv az eletn tetsziileges sokszu'elciÍbrdulhtrt (elllle bcleérterrtli!
rrlegfele1íí rloktrrrrelrttrrnot tiozhirt l trr:. viszorrt :r felrlolgoztis sziirtrára nagy segítségil Séma lsl|llt a 0-szor val eliifordrrlírst. vagYis az is' }rogY riern fbrdrrl elri)'
rete.
o Az elerrr után írt t azt je]enti. lrogy az elern lcgalállll egvszer elo1brclu1 (ezen Í'eliil
rrrí:g
l> <? xml version:" 1.0" encoding:" utf-8" standalone=" no" ?>
<!DOCTYPE Hallgat k SYSTEM "hallgatokdtd">
A nyit gyrikérjeltil és zár párja tbgja krizre a DTD szabályainak nrcgÍ'eleliídoktrmcntutrtttl
Az !ELEMENT kulcssz val bevezetett elenlleírá'*ok adj:ik nreg a dokrtmentuntbtrri szerepl r:ltlttttr <oktatásiAdatok>
ket. <Hallgat >
<Név>Kicsi Dani</Név>
Speciiilis komyronerrsek:
"tut5rlrortropron < 1
V j ros -
o fPCDATA (,.par'sed charac'tt r r1at;r'' ) azt jelcnti. hogv az elolu ért krl sziivegcs és nirrr'slltlrrk <Utca>HegY utca</Utca>
további beágvazott eletllei. Péklául az: </Lakcím>
< ! ELEMENT Cím(lPCDATA)>
ie]trrtilse az. lrogy ir {Cím> és </Cím> ieltjlrjk lrijzott csirk lora,ldersorozat fordulhat elii' ''"n'Sr?ro.' récst /Vá ros >
<Utca>Kis utca</Utca>
o EMPTY kulcssz azt jelenti, hogv a leírt e1etu nenr rerrdelkezik zárrí jelrilíil-el. rrirrcstlttttk < /Lakcím>
bcágyazott clcrrrci. scrn szcivcgcs tartalrna. P ldául az: </Hallgat >
<!ELEMENT Valami EMPTY>
azt jelenti, hogy a Valami jeliil egyetlen lehetségcs alakja: <VaIami/>. <Hallgat >
Pékla. A hallgat kat leírti egv lehetséges DTD: '-*'.U::J.32l1li;;.,
<Utca>F utca</Utca>
<!DOCTYPE Hallgat k I
</Hallgat >
<!ELEMENT Hallgat k(Hallgat *)>
<!ELEMENT Hal|gat (Név, Cím+, Tantárgyak)>
<Tantárgy>
<|ELEMENT Név (f PCDATA)> < lCím>
<Cím>Adatbázis
<|ELEMENT Cím (város, utca)>
<Oktat >DEHOM4</Oktat >
< ELEMENT város (f PCDATA)>
</Tantárgy>
|
(lokuulclltullr Deln ondeíiniál , hariern sziikstiges hozzá a nregfclr:lij DTD is' A rnísri<lik stlt
1lrl|1, <xs:element name: ''év'' type: "xs:integer'' />
éppeti a DTD ncvét és a SYSTEM kulcssz utzin a lielvét a(lja illeg. |Itt ttzzal a fcltr:r'ril'l,r
< /xs:sequence>
I
XML-séma
<Xs:element name - '' Tantárgyak'' >
<xs:com PlexTYPe>
Az XN'Il-dokunrctrturlrok s rnájrínirk tncgarlásiírir a DTD n l cr scllb cszkijz az XNII_s rnrik lr,rlr',
<xs:sequence>
rrálata' A sénra li1:szítiíjeszámtira a DTD rrél tribb lelretriséget ]liztrrsít. Lc}retiivé tcszí 1l1lrllirrl
(xs:element name - ''Tantárgy''
ltegszorítások. kulcstilr. típrrsok definiálását is. Az XML-sérrrir leír'ása maga is XNÍL-clokuullrtt rtrrr
type - '' tantárgyTípus''
amely a
minOccurs - "0" maxOccurs: "unbounded"/>
http://www.w3.org/2001/XM LSchema < /xs:seq uence>
</xs:com PlexTYPe>
cínren elérlret n vteret haszrlália' </xs:element>
<? xml version-" 1.0" encoding:" utf,8" ?> A pélcltiban clefiniáltrrrik sszctett típrrst (tantárgyTípus), és lncgailtrrk. htlgy legalább (minoccurs)
<xs:schema xmlns:xs-" http://www.w3.org/2001/XMLSchema" > jegfeljellb (maxoccurs) hánYszor fordulhat eltí' A DTD-lrez képest tribblet például. hogy itt az
,ls
év-riílirzt is ureg tudtuk atlni, lrogv egész száttl típusrirLak kell lelrrrie'
< /xs:schema >
<lDocTYPE Tantárgyak I N lránv XNIL-re alkalrnazhat nvelv: XPath. enl}ek kiteriesztések nt tekinthet<í az XQuery' Az
<|ELEMENT Tantárgyak (Tantárgyx)> SQL kiterjesztése XNÍL arlatbázisok kezelésére az SQL/XN'IL. arnelyben péklául az alábbihoz ha-
<|ELEMENT Tantárgy (tcím, oktat , év)> sorr1 lck rtlcz sckkcl nycrhctiink irrfornáci t az XIVÍL adatbázisb l:
<lELEMENT tcím (f PCDATA)>
<!ELEIVENT oktat (f PCDATA)> sELEcT XMLELEMENT(NAME''számla'',
<lELEMENT év (f PCDATA)> XM LATTRlBUTES(számlaszám),
l> XMLELEMENT(NAME " tulajdonos" ),
XMLELEMENT(NAME " egYenleg" ))
DTD-nck megfelclii (bár anrrál t bb t nlegad ) cgv lehetséges XML_sénla: FRoM számlák;
<? xml version:"1.0" encoding:"utf-8" ?> Az XN{L rc allr.rlrr-razhat nyclvclirol b<ivcbbcn ilt9' ban s [47]-llcn találunk lcír'ásokat-
<xs:schema xmlns:xs-" http://www.w3.org/2001/XMLSchema" >
E fejezetben csak ízelítijjelleggel pillantottunkaZ XNIL lelret ségeire. Az XN'IL biívebb leírását
<xs:complexType name : ''tantárgyTípus'' > szárlros he1ven' péklául |17]'bcn' és a http://www'w3.org/XML/ helvcn találhatják rneg.
<xs:sequence>
<xs:e|ement name : ''tcím'' type : ''xs:string'' />
<xs:element name : "oktat " type : "xs:string" />
16ti b,E.]EZET 1,1. A FELIG-STRUKTURALT ADATNTODI')I,I
15. fejezet
Az ariatbázisokban igerr gvakori nlíivelet a keres s' Keresiink egv konkrét elemet. vagy keresiink
valarnilyen szemporrtoknak nregfelel elerncket' r'agv kcressiik a rn dosítarrd , a torlenrl elerneket.
A keresési Í'eladat gyakorisága rrriatt az adatbázisrentlszerekllerr kultintis lrangsrilyt }relyeznek a
kct'esés min l iigyesebb, miué1 gvorsabb végrelra jtására'
A reláci kban (mint halrnazokbarr) a sorok (elenrek) sot'rencljére senrmilyert kikiités nincs. Igy
ha keressiik egy reláci ban a szempontiainknak rnegfelel sorokat, akkor a l'elácirjt végig kell
vizsgálni. selro1 rretn lragylratjuk abba. lriszen ldret. hogy a kiivetkez sorokbarr (is) éppen az
riltalrrrrk keresett tulajdonságri elenreket talá]nánk. Ezen az sent segítene. ha a reláci sor'ait ren-
rlcznénk. rner't lrtr egy ktinyvtári r'elríci példárrl cím szet'int rcndezett. de a ntostani kérdésben
il szerz(:re ker'esiink. akkol isnr t végig kell cllvasni a teljes reláci t' (Nagv reláci k gyakori
ritrurdezése pec1ig r'erlclkíl'rili terhet rrjrra az aclatbázisrentlszele' ezze\ léttyegescn r'orrrlarrárrak az
rrlér'hetii válaszid k.)
A keresés gyorsítrísára szolgál ntegoldásként ma általábtr.n az indexek használatát tekirrtik'
Tcjbbféle indexelési rn<idszett. és ezekhez illeszked irrdexstrrrktrirákat }ra"szná1rrak.
167
168 I]E,I EZET I 5. INDEXEK. IADEXSTRUIaTLI/i. \ lr 15.2. RIIKA INDHX 1ti9
20+l
1.048.576 t.048.576
tlcxben korábban alkalmazott felezéses lr dszererr. tovríbbá a utagasabb szirrtíi irrdextáblák egvrc
30+1
kiscbbck' cgyrc jobban kczclhct k. clf rnck p ldául a mcm riában. A t bbszilltLí ilrdcxcl srrck
t.073.74r.82,1 1.073.7.11.824
Scbcss gi szurrpontb 1 a logszcrcttrls scbb. h;r.rz irrclcxtábla clf r a ntcni riállarr. N{cgállapítlrrrlr' klgirrkríbb kiilcinrjsen nagv (és/vagv tiibb gépre. akár ftilcirajzilag is e1osztott) táblák kezel sekot
hog1. irxlexel ssel a kercs s (,uni lek rrlezésekkor'' de tr mtitlosítilnd /ttjrlendíí sor kereséscltrlt' t,l lohct jelent s ge.
sziiks ges) r'errdkíviil gyolsíthat . Ez a nyereség általáball IneSsZo feliilmlília azt. hogv cgy }rkr1rrt
az intlex ferrrrtartása t2lrolási redundarrciát. trírolási helyet igényel. és az alaptábla turjclosulásail 'r u
táblára pítcit osszcs inrlcxtáblákban is kijvctni kcll. alni nr dosításkor. tiir'l skor lllusz tcv kcrrysrl1''' tlo 2U
végerecltrrényben plrrsz itl . Ezért bár az indcx ha.szrrálirtti rendkíviil hatékony mérlegelt:rrrlii,
25
\
610 til
lrogy hány irrt1exet pítiink. Jellegében nregállapíthat . hogy az inc]exhasználattal a keresési irlij
exponenciálisan javul. a rn dosítrísok id sziikséglete lirreárisan rorrilik. Ket'esésckl)ell Iitkáil hi\'lll \ 7
kozott :rttribírtulnokra ttctn biztos. lrogY rrlcrncs ilrdcxct pítcni' Szirrt u rrrcggondoland<í. lrlr1iy
1't2
14t alaptábla
ha egy táblában gvakori a rn tlosít,ís,és Viszon)'lag rrem tri] gyakori a keres s. akklr mely rrl,l
ribritunrokra éri rrrcg az inclex építése(ha egváItalrilr rncg rí). trgy krinyvtárban. ahol a tn dosítrisrllr \ z4b
\
zst)
szánta ritka a keresések szátllá|toz képest, biztosari tltegéri irxlexeket építeni(legaláJlbis a gvlik
rabb:rn lrivatkozott irttribritulnokrtr, rtlint p lclául a cítu. a szcrzÍj). Egy áruhrízi rctldszcrbcn, alt,'l
álland a rn closítá's (ha péklátrl mirrden pénztári tevékcnység adatbázis rrr <Iosít1lssal.jár' és slrl'
pérrztárat miík<itltetnck), cle ritka a keresés. ott lelret' hogy egyáltalán nen éri nteg az inrltlxr:lr
h.lsZIlálata'
15'2. ábra' Tijbbszirrtííinclexelés.
A lnrlst benrlrtatott iurlexe]ést síiriíindexrrek trevezik, trrert az alaptáblrr rrrinrlen sorá}roz tartrlzili
egy sor aZ irrt]extábl.iban is. Az inc]exelés rendkíl'iili hatékottyság-niivelií vrllta ntirrtt az ittdextllrllli
170 h-lJJEZET ]5. I]YD'É1'X'UK, I^DExsTRt/ÁTU/t- l lr 15.,1. B-FAk 171
L5.4. B-fák elég. ha i} szintií fát liasználuttk. Ekkcrr. hir. n - 255 (egy-egy bklkkbtrn rnaxitttuttt 255 hatrirérték'
s így nlaxinium 256 pointer keriil). akkor a 3 sziritii fával 256|r' vagyis t<ibb rnirrt 16.6 nrilli elcrrríí
Az inrlexbejegvz sek gvors lnegtalálása c li1lb l azoli rretrrcsa]i tábla szerliezetberi helyezlN:tíjli l'l aclirthirlmtrz inclexelhettí.
lianerrt rrrá.s Stfuktrilák is hatékrrnyak lchetnek' Ih'elr. a kcr'cs st .j l szolgálíl strukttit'a tr lJ lll Az inrlexelt táblriban tiirt nri nxirlosrrl;is terrn szetesen milga tttátr vonirr a B-fa lu rlosítását is.
is. A B-fa szerkezet telkirrthctrí a tij}ÍlsziIrtíi itrtlcxelés egv speili1rlis r.áltozatiíttak is. A B Ílili A nirjdrlsítások a fa szcrkezetét is érirlthetik. a tábláb l \.a1 t l'lések a fában ijsszevonásokat okoz-
lcgforrtosab}l tu'lajrlonságtri: hatnak. a tábl/llla val beszrírások a fában ríj csont pontok ( s esetleg rlj szintek) ntegje1on séhez
is vezcthetnek. Ennek szcm1éltetésére tekintsiik a k<ivetkezrj két péklát.
o A B_fák autolrratikusan annyi iltclcx-szitttet tartan:rk ftlutr. attretttryi ltz ilrtltlxtllt 1ra1tttltz
m rcté]rez sziikségos.
Pék1a. .{ B-Ía (n-]) pillana.tnl'i állapota lcgyen a 15..1. ábrán láthatíl. Ha nrost trjriilik a
. A R fák írgv kczclik a fa bclsti csoln polltjait, ltogy r'trlatrrctutYi lcga),,rbll f lig kihaszrr'ilt
Iegyen.
A B_fák szerkezete. A BJa kicgyensírlyozott. arrri azt jelcnti, hogy l'alaurcnnyi. a gviikrirliil
lr:v lig vezetíi t egYtornia lrossz . A B-1áklroz taltozo tl parauL ter nrotrtlja ttrcg. lrogy tlgv-l'til'
elágazasi porrt'jríban rrraxitnutlt n darrrb. ;rz attribritulntiltékre vonatkoz lratál'érték és így n * |
---
fc-f-n
rlrruck rnegÍ'elel en a levelck láncol pointerét is átállítjrrk. Igy el áll a 15'5. ábrán láthatrj lielyzet'
-_ffi\
t::T4sT--l
lt]:rE -==---------=---
\
A ts-fa minrlig rigv szervr:zrirlik. illetve iitszervez rlik. hogy Virlirllelll)yi csr'rcs legrrlább liili1i
kihaszrrált legven'
N,,Íiutárl a B-fa cs csai vlszonylag..kicsik''. így egv-egv r;sítcs biztostrrt (r1e gvakran az <:g(s'l,
fa is) clf r rr nrcrn riábarr. Ha cgy clcmct kcrcsiirrk. altkor a gyok t l inclulva :rnrLyi csrlcsot kr'll
beolvasnttnk és megvizsg1rlnltnk. arnekkora a fir szirrtszártra (a gv k r. de iehet. lrogy a fa tiilrllr 15'5. ábra. A kvélcslicsok titszt:rvtlz stl utátri állapot'
r sze is ir niem riában tarthat . és ekkor a hel1'zet nlég iobb)' A gvakorlatbtrn rragytlrr sokszrrt
I
172 b, E J EZ ET 5.
1 IN D DXE K, I^?Dxs"lt {/Á TL/.ll l \ lt 15.11. B-I'AK 173
rír_r20*r30__l
-ltl:rirt
A t és -10-es lratároknak rnár ttirrcs t'ttlltrtr',
lijlt 1cvélcsrics t'eletti elágaz cs cspotltban a 30-as
illelt k Zé.jiik esíi csoport nilrcs' Így 6:gyikiiket. most a 30-irt torrjlhetjiik, ezzel azonbiur t'pi]'
határ rt l< rrrararlt c csl.icsban. dc z - 4 rniatt tLil iircss vált. tchát czt az clágaz r:stit:srll ,/ | \
rnegsziirrtetjiik. egYctletl határát a ve1e egyszintetl 1év egvik szomszélciiiíbavissziik át- Ezzrrl lr
15.6. ábrának rrlegfelel állapotba keriilt a la.
_--'r'i\ ---t
1TtT-ff+ f oT'rf:--> Edf rsT-f- > F.
f TltTaT_l
l'l,l'l'l'llrlrlltlrltl
Y VV VV VV YV Y
L5.8. ábra. A kiirululti B-fa. anxllybe a 45-tjs elern poirrterét kell elhelyezniink
\
rTr2-rá_E-+ 11 oTuTl-+ r20T25T_+> l 3oT'T-]--} l 40T45Tl
15.6- 1ibra' Az elágaz csÍlcsok átszervezése rrtáni állapot' I'l'l'll'lrllrlrltltlltltl VV
V V V V V YV YV
A 15.6. ábrlrrr láthatír állapot nt'ilván nenl rnegfelel . nrert a gytikérbtil irrclrrlti 25+lé1 kisr'lrlr
15.9' ábra. A levelek átszervezése utáni állapot
ágou lenne találhatti a 40 is. továbbrí a gvilk r nelrr is ágazik el, anri keresési szemponllxil irr
éitclnretlerr vizsgílatot okoztra. Ezek míatt ir gv kér cgyetleu h:rtrír rtékétbevissziik irz trl;tllrr
l vií cgvcticn csolrr porrtba. s az válik gy lr r'r . v giil tchát cl {uk tr 15.7' ábrán láthat hclyz'' rm-f2o-f3o I f+-4il -l
--ryq- tr=.
tct.
ffi*ffi*ffiffi*ffi
VV
----tr/\l\
V VV VV VV VV
15'10- ábra. A belso csticsok átszervezése kcizbeni állapot.
nnnnnn
174 IT t 5.6. TOBBDINIENZIOS It\rDEX 175
!T.l
,/----\\
Tlr-fzo-l
T*\
f-70-'']
15-12. ábra. .Irj tijrrlelés kosarai teiítetts ge
-'/ / ,/ \
|
---- lloTrzT_]_+
I
fí-r'-r5_T-]+ l zoTxT_4> mTszT_-l+ l 4oT45Tl
l'l'l I l'l,l l'lrl lrlrl lrltl
liv iv it tl ll
15'11. ribra' Az lij gvi;kér kialakítása rrtárri 1rllrrprlÍ '
n Innnn
ll
n nInnn
: ;::
15' 1-l. ábra' Tijbbdlnlenzkis tijrdekjs lrosat'ai s telítettségiilt
Az cgvrlirrienzi s (egvattribrítrrrrros) kcrcsést rerLclkíviil lratékonyarr tárnogatíl irlt1exel stlIt trrttr 15.15. ríbra. Es]" k(l Ía'
tájlira a trjllbatlrillriturrros kcrcsésekei elrísegítcíilx]exel oljár:isokrt ís krdolgoztak' Ezekrlt lirl,|'
clirncnziris inclcxckrrck ncvczik.
A tijbl)dilil(llzi s ilrrlexeket két Ítít:so1lortl;,r szokták soroltti. ezek a tijrrleliitrib1a ttla1lti í's lr l'r
struktrirríjr1 trjbbdirncnzi s irrtlcxcl si m tlszcrck. lxrgy a sztivegekben cl for<lukj sza'"akhoz renclcljiik a sziivegdohttmentumra mutat pointelt. az
A tijlr-ld táblák alkllrnazásakor nlirttlt:lt tlitu:trzirilroz (irxlexelt attr1b tunr1roz) egy-egv t(;l(ll'lii azonos szavaklroz tartoz pclintereket peclrg kosarakba gyííjtjiik Az irrver'tá]t index e kosarakhoz
fiiggvényt haszuálurrk, s a kosartrkat trz adott dirnenzÍcíjrítér l'tícspontjaiban ellrelyezettu'lr l,' rr,rrtlelt szavak és az e sz !rcz rent]elt kosárra rlrutat poirrttlrt:klxjl á1l' A 15.16. ábrárt tlokurtrerr-
t rrnlok invertrílt irrtlexolését á}:lrázoltuk' A clokurrrcrrtrrrrrok inrlexelésekor az
rináll jelettt ssel netrt
kintjiik. I(ét attribritrrrrrra építettkéttlinrerrzi s tordeléscs irldexeléskor a kosarakat cgy ttilrlliz,rl
rácspontjaibari lér' knek tekirrtjiik. Ígv, ha a keresésktrr a két attribírtrrrnta nregaclott ért kr'krr',r
tcirrleliitiiggvéuyt lirrszuáljuk' rneglcrpjrrk az arlott attribrituurérték-párlroz tartozti kosár irttlrlxril ' ''',
abban megta1áljuk a kcresési szetlrpontjaitrkrrak rncgfclcl clctnekre ttrutat poirtterekct' A 1rirll,'l,'l'
hatékcrnysrlri{ára az egydirnenzi s esetn l tett megfigvelések rrrost is érvérry'esck. A 15'14' Írllra ,'11t
j1l1 nregválasztott kétclirrlenzi s trirtle1rífiiggr'énnl-el keletkezett kosarak tc1ítetts gét éIZékcLt(]1i'
Tribbtlilnerrzi s irtdexek fa struktliriíban tijrt rtij kezelésérrek számos rrr dszer t alakítotttíIt kr
Ilyenek tl tobbktrlcsrls indexek, tr kdl}ík. QLrad_fák. R'frík stb' A Íákban a kiilrjrtbrizij eliigirz'il't
porrtokorl rrrás-rrriís attrrbriturrtok szeriut tijrténik az dáglzlis. Ugyatraz aZ attIib tun tijllll szilrlr'rr
isrrrétlíjcllret is' Á 15'15' ábr'a egy pékla krl-fára (k<lirnerrzi s ker'csiíÍ'a).
A 15.15. ábrán lr:rtlrat példií]rau is Íelvetcidik a kérrlés.hogy nlelyik elágazási porrtLatr rrr,'
lyik attriblilrrm. mely értékeiszerirrt kell elrig;rztatni' Azt. liogy nilyeu kerr-.séslrez. az arl;rt]lliztl,
tartaitnánirk isnteretében rnelyik fcl pít síífa a hatékr-rnl'abb. számos clcnrzési sZeml)ont figYtllrlrrr
bevételével tudjtrk megáIlapítani. A kerescífák építésrc szárlros m dszert tlolgoztak ki, ezrlkr,iI
kosarak
bijvebben [a7]-ban olvashatrurk. dokumentumok
Az invertált intlex az eddig bcrtrutatott irrdexekt l er'íjserr eltér iudexclés, de abllan az értelt:tttlrr'tr llírti (a mirgvar' rryelvben pé1clául az: aZ' a. egy. és. s. . . ' ) és rrrás ér'dektclerrnek ít lt szar'ak-
:rz ittdcxok kcjz sorol1rat . lra rrz irrdcxckct a korcs s hat konytrbbá t tclc cszk zck rlt tcltirlljiilr lLoz ncm hoznak l trc kosarat, ígv bcjcgyz st scrn az ínvct'tált intlcxck tábláj:ibarr' A ragozott
Az r:rldig vizsgált inrlexek attrillritrrrrllk ért kr:i szerinti keleséskor haszrrálhatrik. Az inverttíIt irr r1s képzett szavak rltrkrrrlrerttrtnrpoirrtcreit tehetik egv kosárba (krrtya, krrtvrrs. krrtyák. krttyrrska).
rlex sztiveges tlolrttutetltuntok kert-.s s nck cszkrize. Sz veges dokurnenturntlk inclexelése azt itllt:ttI r' ilsetleg ir szinonimák szániára is krjzos kosat'at ha'szn:ílhatnak (kutya. eb). Elképzelhet . hogy
178 FE.IEZET 15. TTVDEXEK, INDEXSTRUKTUII,IIr
trelncsak a szak'. lrarrern az ijsszctett kifejez sek irrtlcxelését is elvégzik. A sz r''eges dokutrttlttltt
rlok in<lexelésérlt:kszárrros kifinornult viíltozata van. ilyenekkel talá]kozhatunk arrrikor péltlrirrl lrz
intcrrlctcn rlo1tumcntunlkcrcsií progr atrrot használunk.
i\Iagjurak az invertált itidexneli a liezelés re rentlclkezésiilrkre áll a rnár benrutatott inrloxtllí'rit
ur dszetek biirrnelyike.
16. fejezet
15.8. Index definiálása SQL-ben
AiJ.3'3. ÍetczetbenmárntegjelentazirrdexekSQL'benszokásos2definÍáki
czek:
snegszíilltet utasí1lisll'
A lekérdezésekvégrehajtása
CREATE lNDEX indexnév oN táb|anév(attribrítumnevek listája);
A1rhoz. hogv nlelyik típrrst vála^sszuk. pontosall át kell látnunk az adatok eloszlását' a ti1likrtl' Vizsgáljuk nreg péklául a kor'etkezrj lekérdezést:
alkalrnaz i igént,eket és a kiil rrbozrj intlexelési m clszcrek rntíkijdését.Ha nerrr választrrnk irrrll'
xelési tn<jdszert. akkot' az adatbázisrerrtlszer alapértelrnezései szerirrti ttLtjrlszert Íbgja lra.szlrriltrt SELECT név FRoM do|goztík
..Helvtelcn'' váltrsztással neru kiivctiilrk eI hibát. az adatbázisreur1szcr kort'ekten Íog tlrííkiirIrrr WHERE ad ja(dolgoz k d)>1'000.000 AND munkak r-''iníormatikus''
legfeljebb rienr ilz clérhetiílegjobb hat konysággal' ORDER BY 1;
'
Egyes aclatbázisrenrlszer.ek a konkrét míík<id si tapasztalataikrrak rnegfelel err az alkaltttlr
zott iirdexelési lrxi<lszet't reot'garrizáIáskor (esetleg rrrás alkrrluakklr) autotrtatikusarl is képr'sr'k lr 'I'egviik tcl. lrogy a <lolgozil at) ját az adríja eljárással tudjuk kiszárrrítarli'
várhat an hatékonyabb m r]szerrc váltani.
Erre a kérdésrea váltr.sz ttibbféleképpen állíthatrj el ' például írgy. hogy:
A: Rendezziik a clolgoz k táblát rL vsor szeriIrt' trrajd sororikéut kiszárrrítjuk az aclrlját, és lra
az a vizsgálanclrí feltételnek nregfelel. és tr mrtnktkiirre is igaz. lroj{y infornatiktts. akkor az
ereclnrénytábla végére hozzáa<ljuk a dolgoz nevét.
ffinde1kezikazirr<lexekkelkrpcsoIatban,lriszcnazSQLiisszrls|r, C: A dolgoz k tábláb l kiválogatjuk az infornratikus nunkaktjr'bcrr dolgoz kat, czckrc c'Iv gczziik
hetcíségei használtr.rt ak az inrlexek nélkiil is. Ugyanakkor a keresési sebesség foklzása érrlektiben
a kereskrrlr'lttrl
létrehozá$ára (is tijrl s(1ll az arliíszámítást. és ha az a vizsgálarxlri feltételnek nregfelel. akkor a rlolgozri rrevét hozziiadirrk
arlatbá]zisrentlszerek kivétel nélkÍil lelretíiségetadnrrk az intlex alkalmazására' A2 index
az SQL szokásaihoz ígazod utruításfornrát használják' az eredurétrylrez. r'égiil az eredménvtáblát rerrdezziik névsor szerint.
779
180 pEJaZLT 16. A LI:KERDEZÉ1EIi vncnrln,+.l't''\:l t
16.1 LoGtKAl LI'IiÉRD DZÉ|TERv EI\ atÓ ÁuÍr Ás'l lttl
Ha végiggonr1olittk, arra jrrtrLnk. hogv egvrészt nrirxlh/rroru nt rlsz<rr'el helvcs v:ilaszt <lttlgllztttrl,
(-_ etemzes )
ki. nrásrészt tr B ln dszer jobJl tiz A nál. rnert kiscbb táblát kell rcnrlezni. ir C ttl dszcl 1lruli1i ''
R n 1 isjobb, hiszcn zrz ad szárnítís bonyolrrlt, cz rt lliztostln tribb idobc tclik. rrrirrt a tltltttli'tl,,'r
_-/
attribritrrrnérték vizsgálata. í-'s a B rrr dszer'llen mitrderr dolgoz ra kiszárrrítan.inlr az irtltijlil, rr
/íí*"ábsrog'k\
t
ttt dszcr ezt csak a dolgoz k egY részére (az ilrforniatikrrstlkl'a) hajtja r,égl'e. \-tere,o*e1e*9/
tv'[1rsik pílldrr lcgycn az. :rmikor a p csi sziilct sii hallgat k koziil kcrcssiik azokat. akik ttl,tl,'lrr ,
--'6*"rm;=t:
tilrá]lril ijtiist kaptak (rrtert nxrtrrljttk Pécs városa nreg aliar'iir jrttalnrazlti íiketl). Tegyiik fi,l' Il,'tlr ( t"re,o"te"t"t"r )
a hallgat k szerrré]Yes arlatait a hallgat tábla. a tanulrrrányi eredrrtérryeiket a vizsga tálrlrl Ilrtllrl \ \<- eloállilása '/
ulazzil. és nlindkett ben a hallgat ktíd az azonosít és nincs más azonos ricvti attribritrrIrt-1llit,,lt,,
két t'iblábatl' Ekkor' kér'désiinkre ;r viílirsz cl tillíttisához a /-íí";gb";;i\
( a testobb )
lekéldezés alkalrnas' Csak cgvctlen téIér'revorratlrozrjan is htr 5'000 hallgat . átlagostilt 5 vizli1i,rl
tett (kiilrinbiizti tárgyakb l). akkor a vizsga tábla 25.000 sol'os' így a hallgat NATURAL _J()lN
vizsga tállla 2ir.0Í]() sor'os' Hir uiost tlbbtrr a taíbltíbatr keressiik a lVHER!]-llelr ttregirtlott sZ('ll)l)l}tl
tolinirk rrregfelelrí srlroktrt. rigv. htlgv nrirxlerr sorra nregvizsgáljrrk nrirrrlhtirorn feltétel tclj(]siillilÍ'I
akkor 75.000 vizsgálatot kell clvégezniinlt. De a lekért1ezéseretlrtrényét uregkaphatjuk rígv is. llr4it
cliíbll az 5.000 hallgal kriziil kiválogatiuk ti rnorrdjuk 100 pécsi sziiletésíit (lriszen a tovr]lllllitrklrlrtr
t:sirk tlztlk vÍzsgálatára lesz sziikségtirrk). ez 5.0{J0 vizsgrílatta1 elr]tirrtlretii. Hasott]riatr ,l \'ll|]li]l
1líblri}r l 25.000 vizsgálattal perlig kiváklgatjtrk az 1.001 matematikr vizsgát. rrrairl ezrlk lrrrzltl
1'001 vizsgálatttrl rneglclp.jrtk az 1'000 t st. tehát 5.000+2j.000+1.001:31'001 vizsgiilrrtllrl
16. -,ibra' A lekérrlezésvégre1rajt ásrinak el készítésc'
el áIlítottuk ug)'allazt a vála.szt. arni az el zlí rrr dszerrel 75.000 vizsg:ilattal keletkezeit.
1
l'errrr szctcsctr példakéntsok további változatot. és lelrets gcs válasz;rdri lntjclszet't lill]rlrr
lratni'rrrk. E néhánv pékla is érzékcltcti.hogv arllikor'az aclatbázisrendszer rnegkilp egv SQL lrrilrillt
akkor altnak sokféle nr <1szerrel elt:gct tchet. és a lehet ségek kozcitt rendkívíjl ntrgv kiililrrllsti1'','h nvolultnak látszik.
kihasználják azt is' lra
tapasztallrattik a rrregjeleuii tr]rl;lík rrrér'etéllen. a végrelraitarrtltj niiiveletek nrcnuyisi:gébtrL. kiil,'l A lekérdez sek optirualizálásríbatt az at_latbázisrctrdszerek terrnéSzeteseil
ttiillk.
kcz slr ppcrr a fclatl:it clv gz s hcz sziiks gcs irliíbcn. Áz SQL k r s l. grchajlásának tncglrllzrll1lr, afelha.sználttáblrik ppcnéIilltettattribr.]itirnlairakorábbarrilxlexekctépít
el tt tehát t'rlentes nregvizsgálrri.rZ uÍll'arlolyan crcdm nr-t ad kiilrjnbrjzci végrehajtási ltllrrllíllr,'
p
A rellci a1gebra számos nííve1eti azonosságot ismet. ezek k ziil lclaként
rlrhetiinli el. fe1sor'olunk néhánv
Ha ir lekérdezésllen csak cgv kis táblár'tr fogalrnaztrrnk rrreg nlííveletet, akk<lt'tlz a lrosszitlll' is ltaszttálrrak:
,rl*t, ur"t*t a rcIátlirjs atlatllázisokbalt a lek rtlezéstt:rvek ellílí]lításakor
ror'itlellL elijk szít(:s ttetrt éri tueg. Egy kis iskola di1rkjai, vagy egy kis cég dolgtlztíi adattlit is l('lli'l "t
lrogv arlatbtizisban kezeljiik, de néltárlysztlr tíz. vagy néhányszor sziíz soros táblábrrrr tigyszrilv'irr Kommut.rtív és assztlciirtív szabály'ok:
bárrrrill'cn iigvetlerr str'atégrával is gyors választ kapurrk' Így az ar]atbázisrenclszer'ek csak trlt]t,,t
fognak a lekérclezés optiuralizálrisálla, ha att l tényleges eretlmény várhat , ha az érirrtett ttilll;ili R xS- S x R (,t x S) xT: Rr (S xT)
trréreteitlek szol'z'^ta' l'alarnelv alsri korlátot rrreglralad, vagy tl kérrlésvégrelriljtása nrrís oltlxll li,' Bx S:.9x R (Rx S) xT: Rx (S x")
RU S: SU R (NUS) UT: NU (SUT)
lE" pcrsze egyáLtalán nem biztrls. }rogv ígv van' prilrlánalr j . és még akár igaz is lehet Án S:,5n R (Rn s) n7: Rn (sn7)
182 FE.IEZET 1 6' A I'EKÉRDl:zÉsBt; vÉc;nau,l' t'.l's,.t 16.2. FIZIKA| LEKDRDEZÉSTERVU^ ntŐÁnÍrÁs.q Lii3
A további szabályok alkalmazásánál mindig feltételezzuk azt, hogy az adott szelekci vagy projckr'ir'r r';,,(?r.,;,(o.zlrr.Lv "p1cs" i\ND tiirgv "'rat" AND oszt ',(lutltla't xx'i'z'sga)))
m velet re l á ci n ké n ti végreh aj tá sa értel mezett, lehetségesI
crrnck m:rgj:ira, a
I(iv;ílasztrisi sztrll,'tlvtl]r:
dszlt:LJ, "I'c1cs ,{ND trirgv "mal AND 671-i,(httllqut x I'zi;sgo)
TribbIníiveletes szaliá1vok: Á bcr'czct bcn haszrrtílt szÍrnokkirl (16.l])at 75.t]00. (1ti' 1) ct il1.001 vizsgálattal tudjuk clrjtíllítatli.
ttlvábbá (16.4) ben kisebb táblák sszekapr:solá.s/rval kell Íbglalkozrtunk' tnint (1ti.3) ban így (16.4)
o6(/?u S) : ac(R) U oa;(S) kiértékeléseerniatt niég gYorsabban v gezheto.
kiiltség'llecsléséhezhasznrílt arlatok: A
. Ha a rntír,elet a te'rmészete's r)sszekapcsoltís' a kapcsol attribriturn Á. s s('4) az att-
?(Hallgat k) : 6 ribriturn nIéIete báitokban, akkor:
,S(Hallgat k) : 5Z
T(Rl) xT(Rz)
: 6 T(ll1 x R2) -
V'(Hallgat k, k d) rnar(V (Rr, A) ,V (R.r, A))
k' név) : 6
V(Hallgat S(RrxRz) -s(n') +s(Rr) _s(Á)
V(Hallgat k, szak) : 3
o Ha tr ntrívelet például az Rr és Áz táblák Úclles i)sszek:rlpr:sol ,sa' akkor kiirrrryen belátltlrlli 16.4. Az SQL lehet ségei a hatékonyság niivelésére
hogY: A 16.1. ábrán rzékeltetett folyarnat végrehaittísa is id t vesz igénybe. ezért kisrnér'etíi táblákra
trerrr érderrresa lekérdezésoptimalizálását végrehajtani, rrrert tcibb id t veszítiink a kiizel legjobb
T(j?r x Rz) :7'(Ár) x 7'(Rz)
lekérdezésmegkercsésér'el. mirrtha e néIkiil ,,egv-az-egvben'' hozzáfogrránk a lekérdezésténylegcs
,S(Rl x R2) - S(R') + S(Rr)
v grchaitásríhoz. N hány száz, l hány czcr sol'os táblákb l cg szcn szcrcncs tlcn k rd s fcltcv
sekre is gyorsabban kiclolgozhat a vála-sz. mint amennyi id a]att a lekérdezésoptirnalizálással
ugyanis az sszckapcsoláskol' a sor-ok nt rctc sszcatl clik (lriszcrr az cls tábla sorait frllyl lrI
rnegtalálnánk a ktizel legiobb lekérdezési str'atégiát, amit aztán szintén végre kell hajtani. Emi-
(mivel az els tábla srlt'rrtl
rnás<lclik tábla soraival). a sorok száma pcdig, sszcszorz dilr
jrik a
rnásodik tábla sor'aival)'
ltt a 16.1. ábr.a els (',Elenrzés'') felatlatába nenrcsak a lckérdezés szintaktikai és szemantikai
míntlen lehetséges m clorr folytatjrrk a
clcmz s t rtjiik (ami pcrszc clkcrulhctctlcn), hancIn azt is. hogy a lck rdcz sbcrr rirrtctt táblák
o Htr mííveletszelekci' , tlkl<>t: rnéretének vizsgálatával eldcirrtiiik. lrogy érrlemes-e az optirrralizálásba ténylegesen belefogrri, vagy
a,
további elernzés nélkiit a lekérdezésv grehajtásába célszerííbelekezdcni.
s(o3:.(n)) : s(R)
T(o.4-.(R)) - r@) l\" (R, A) Nlivcl rrcm miIrrlcn adatbáziskczcl rctldszcr foglalkcrzik lck rdcz s optinralizá lással, s lra igcn.
lkkor sem biztos. hogv a lekérrlezésneka végre}rajtási id<í szempontjáb l legjobb változatát á]lítja
rrertt változik. ir kivrílitszlllll clo. ezért a lekérdezésekosszeáIIítrísakor maguttk is gorrdol}ratunk a végrehajtási id jelent ségére.
ugyartis tr sorok kiválasztásávtrl a kiválaszttltt sorok ltossza
*,xnk s"áma periig (rlurva becsléssel) az ererleti tábla srlt'számáuak alnl'iad része lesz' a]tlitt\ tis bár kétségtelerrii1 szátttunkra egy alkalornrrral tobbletrnunkával elérhetjiik. hogy sokkal gyor-
szerepltí attt'ibritrtrrrnak' sabbarr rnííkijdrcrlrlszcrt li szítsiink arrrrál. mintha clrc a szcl[porltra tlcm lcnn nk figyclcrnmcl'
kiiltjubtiz értékevan a válogatásbarr
A fenti Hallgat k táblát használva például:
- ha a k d rrttribtitrtrnra válogatrtnk:
,A Ztpf l"J.í.ít-'"ct"[fu .l<1ául [38]-ban, az itt hivatkozott tapasztalati ere<lméryt pettig |36]_
: at k : "l*lá"
.f
(o wa:'a s ll t (H aI I g at k)) 1. ( H atl s at k) l V (H at t g k. d) 6 l6 -- 1' lrau.
1t3f; I'EJEZET 16. A LEKÉRDEZE;EI: vÉcnaulrÁs,l
ORDER BY 1; tart s t:írolás' Ezerr igénybe beleértiiik azt is' hogv lra egy, az adatbázissal rlo1gozrí progranr
hibát|anul lefutott. akkor ezen prograln álta1 az aclatbázisban r,ég}rezvitt r'á]tozások serrrrrrilyerr
s ez rrt bbi változat (anrellett. lrogY terrnészetesen ugyanazt az ererlnrénl't szolgáltatja' nrirr1 lrz késijbbi lriba, problérna okárr ncrrt veszhetnek el. Az arlatbázisrenclszer mííkijdések zbcn természe-
eredeti lekérdezés)ielentosen r'iividebb végrehajtási idíjt igérrye1' N'Íegiegvzés: aZ itt benlutat()l l tescrr szárrtos lriba lép}rct tél, eltjtbrclulhatnak nritrclelrtélc harclver és szottver tiibák. Az aclatbáz'is-
átalakítás éppen a t'errte1lb (16.4) azorrossgllatl rtrutatott reltici algellrai íta1akítísSQl-beli rrrr,1i renrlszer mirrden kijriilrnények k<izritti teliesen hibátlan rníikrjrlésétnem lehet garantrílrii- A tartrís.
val sítása' megbízhat táro1ás alkalrnaz i igénvétaz adatbázisrendszerek napl zási- és mentési-helyreállítási
alrenrlszerei biztosítják. Ezekkel clérhet . 1rogy hiba fellépéseesetén az adatbázist az rrtolsrí hi-
barnerrtes állapotba lucljuk visszaállítalri és tlnrlatt tblytathatja rrr kijdését az trdatbázisren<lszet''
A s.;t'3. és a 15' t'ejezetekllerr foglalkoztuuk az indext:kke|,láttuk. lrogy ezek alkahrraz/tsl il Ez a visszaállítás rragymértékben arttrrrnatizálhat is. Az álland hibarrrentes mííkridéstehát
rerrrlkíviil ntivellreti a rendszeriink hatékonyságát' A netlr ki}rasznáIt ixlexek alkrlmaz,sa viszrrttl nern garantálhat , de a nregbízhat . tart s tárolrís (esetlcges részleges, virgy tcljes iizerrrsziine-
rontia tr renclszef által el rhetij váliuszitl kct' Így meggondolísokat tettiirrk arra lrézve. hogy nrikrrr', tekkel) elérhetcí. Ebberr a fejezctben az adatbázisrendszerekben alkalnazott napl zási, nrentési-
rrrely attr.ibritrrnrrlkra rclerrres irrdexet építerri. Az irit1e.xek haszná1atára feltétlerr gondoljurrk. rrrr'rl lrelyreállítási és archiváIási rlrrjtlszereket tekirrtjiik át.
trritrlerr cgyebet vtiltozatlarrul lragyva, csuptitt az irxlexek létrtllrozásával rli\gyoll koIlloly r'álaszirlii Az olyal a]kalrnaz i hibák kezclésél.el. urint a }ribás adatbevitel' vagv ha.sonl esetek, nerrl
iavrrlásl érhetiik ol' Íbg1alkozurrk. bár az adatbázisretrtlszerek ezeu alka1urazrii lribák e]leui vét1ekezésreis bizttlsítarrak
cszkijzoket. ezekkel a rnegszorítások tárgyalásánál találkoztunk.
Arnennviben beágyazott SQL-t használr,a, a programoz készítiel a tranzakci t, akkor egg tranz-
trkci ban a használt progratnoz:ísi ny'clv rrtasításaik nt t bb sQL lck rdcz s s rn dosítás is
szerepelhet.
Áltulá''o' elvárás. hogv a tranzakci t atornosan kell végrehajtani. auli azt jelenti. hogv mirrrlent-
vagY-scrnrnit rrr don, cgv cgys gk nt kcll mríkcidnic. A tranzakci k korrckt v grclrajtásának biz-
t()sít:íSa a tran,zakci.ítkezelií felarlrrta. A tranzakcirjkezelÍí részrenrlszet' egv sor feladatot lát el.
koz<ittiik:
187
188 |-E.IEZET 17. RENDSZERHItsAK IIEZAI,L:;l' l7'2 A TR.ANZAKCIÓ ADATBÁZI;SAL KAPCsoLATos TEVDKENY;ÉGEI NIECuALosÍTÁsÁl8g
o ,Jelz sr:ket és a napl ban tárrrlant] infor'rnáci kat ad át a rrapl kezel nelk (alább részkltrlzziilr )
A napkikezelíi a rra1llrit taltja kal'ban. trgyiitt kell nííkijtlrlie a prtffet'kezel(ivel. }riszen ir lral)l(')Z']ll(ltl
infornláciti cls dlegesen a trreul ria prrffcrekben jelenik mog. és bizonyos idtjnként. vagY bizlttt\,'l,
helvzctekben .i puíÍi.]rek tartalrrrát háttért1l,r'ol l'a (például lentezre) kell nrásolni.
A hel1'reál1ít'ís_kezel<i alt'enrlszer altktlr aktivizál rlilt. ha b:r'j van' I\legvizsgrilja.l naplril' ris lr'r
sziikséges. a napl t haszrttílva. hell'rerillítia az adtltokat' N'Íirrt nrindig. ir lemcz elérése tr prrlli'r'lir'
zelíjn át tiirténik.
a ttibbi adatbtízis állapotot inkonzísztcnsnek miiliisítjiik. A krrnzisztcns állirpotok kicl gítilt rrr
adat}lázisra \'onatkoz iisszes rnegszorít1rsokat. e1várzisokat'
A trrrltztrkci kra vrlrratkoz alapvetií fcltételezésiiukA korrekt''ség nlapcl'ue. I{a a tr'irtrzalrr'irrl
nrinc|etr tllás tranzalrcitjt l Íiiggetleniil (..egvediil") és rendszerhiba nélkiil végrehajtjuk, s lrrl irr 17.1' ábra' Adirtlnozgat alaprniívclctck.
rlulísakor az adatbázis konziszteris állapotllarr volt' akkof a tranzakci befejezése után ism(lt krltr
zisztetrs lrllirpotban lesz.
A kor'rektség alapelv hcz kapcsol <Iik a napl zás technikája atttclyet e fejezetberr tár'gyalrrrrk
tl'anzakci álta1 kért. és az ezek lratására az adalbáz|skezeltí áItal elvégzett aclatrnozgatási alap-
s a konkttrertcia vczérlésirnec1rarrizrnrrs. amelyet a 8'5. Íeiezctben tárgyaltrrnk' EbbÍil k t rlrrl,r11
tevékenységeka k<ivetkez k:
kiivetliezih:
o INPUT(X) : Az X adatbázisclerrtet tartalrrraz lernez blokk rrrásolása az aclatbáziskczel
rA trartzakci atorni; azzlz teljes egészéberr vagv végr'ehajtarrd . vagv egyáltalán rleilI. prograln rncm ria puffcr bc.
tranzakci kezelij terrrrészetesen rriitrdetr tranzakci végrehajtásához rigy kezd. hogy azt 1lll'ir'l,^
egészélleuvégr'e fbgla lrajtarri. Az. 1logy cz esetleg rxrn sikeriil, csak a végrelrajtás ki)zl,,'rr . READ(X.Í) : Az X aclatbáziselern átnrásolása a trattzakci f lokális változ jába. Ha az
deríil ki. Ha a 1rattzakci nak csak egv lés7éL sikeriili végrchaitarri. :r,kkor nagy esélyiÍrrlt vrltr X adatbáziselerrret tar'talrlrazrj b1okk nirrcs a trlerrtrjria puftér'bcn. akkot'el bb végrehajttltlik
arra. }togy aZ általa el állított adatbázis állapot nerrr lesz korrzisztens állapot. INPUT(X). ezt kovetijen X arl:itbáziselem m:ir átrnásolhatri a tranzakcirí Í lokális változríiába
o A piirhuzantosan l. grclrajtott tranzakci k nagv cs llycI inkonzisztcns állapothoz vcztllItr'l o WRITE(X,Ú) : Atriikcrr a tranzakcitj kialakította a Í lokális változrjbarr azt az értéket.
nek. hacsak lneg ne1[ tessziik a 8'5. fcjr:zethen tárgvalt nregelílzo lépéselret. arnit az adatbázisban tárolrri kíván, akkor a t loktilis változ tartalrna az X aclatb:ízisc1cm
rrrerrr ria pufferbeli tartalniába másol dik' Haaz X adatbázis-elemet tartalniaz blokk nincs
a meln l'ia pufferben. akkrlr el bb v grehajt dik INPUT(X). Ezrrtán nrásol clik át a Í lokális
17.2. A tranzakci adatbázissal kapcsolatos tevékenységtli változ rtéke a puffetbeli X -be.
A trarrzakci rnLíktidése kijzben arlatbázis rníiveleteket is htr"szlál. ezek eIvégZéSéIeaz adatllrízil Fenti adatrrrozgatási míiveleteket szemlélteti a 17.1. ábra.
Ien(lszert kél'i meg, anrclv ha nrirxlent rendben l v rrek 1át a rnríveleteket az adatbázislllrrr
t nylcgcscrr v grchrrjtja' Az ppcn fut' progranrok. így a trirtrzakci k is a nrcnrríriában l v arl,r
tolikal trrrlrrak rlolgozrri. A memrjria gvor's elérésíi,r'le illékouy tárol ' így tartrjs tárolásra trr'rrl A továbbiakbarr a példa kedvéért feltessziik. lrogy egv banki arlatbázisban rnííkor1ríátlrtalási
illkalrnas. A tar't s tárolásra a háttértárol kat, tipikusan ntágneslcnrezeket alkalrnaznak. Ígv ,r tt'anzakci ra vonatkoz :rn a nyilván'a]ri konzisztencia elííírásaz' hogy ri szánrlák egyelrlegei osszeg '
190 FEJEZET 17. RENDsZERntrÁx NnzBtusr; 17,3. NAPLOZAS 191
INPUT(AegYenleg);
17.3. Napl zás
INPUT(BegYenleg): Elvár'juk tclrát, hogv az adatbázisrcrrclszcr a bc ncttr fcjczctt tranzakci k hatásait scrnmiv tudja
READ(Aeglenleg,t); t::t - X; WRlTE(Acgvenleg't); terrni. a befejezett tranzalrci k hatásait pedig akkor is érvényesítenitrrdja, }ra a tranzakcí befe_
READ(Begyenleg,t): t::t + X; IVRITE(Begyeuleg't) ;
iezése után. de az ijsszes érintetti adatok tart s tároltíra mentése elcítt triba lép fel. Errnek meg-
OUTPUT(AegYenleg): r.al sításához az adatbázisrendszel'nek tudtria kell' hogy rrrelyik tr'anzakci melyik adatbáziselemek
OUTPUT(BegYenleg); rt k t rn rlosította' s rtcsulnic kcll arr l. hogy tra'nzakcirí kczd<jdtitt s bcfcjczodritt' Ezckct
az inforrnáci kat az adatbázist l fiiggetleniil. de a tnern riatartalorn illékonysága rniatt. tart s
A továbbiakbarr a jobll :íttekirrthettiség kedr'éértAegvenleg lrelyett riir'iden Á, Begvcrrll'[ tárol n kell elhelyeznie' Az az aclatá]lomány. ahol a helvreállításhoz sziikséges inforrnáci kat az
hehetee r<lvitlen B je1ijlést lraszrrálirrk' adatbázisrerrdszer tárolja a napl ' A rrapl batr a helyreállítá.si feladat cé1jáb l rcigzítésr_e keriil'
Az INPUT míivelletekre tet'mészetesen r:sak akkor van sziikség. ha az érintett
arlatbázis r:Irlrrrr'lt
z tranzakci igt1rrvr't hogy rnclyik tranzakci<í nrclyik adatbrízisclcrnct rntirlosítottá, lni volt anrlak r gi rt kc s rrrÍ lctt
,r' gr'ir,".en"kuten riapuílerben' (Odakorílbbanbekel'iilhcttekvtrlamelvel az rii értéke.
nriatt. és lehet. }rogy nrég rrrindig rendelkezésre állnak')
Ha a pélcla keclvéért feltesszÍilt. lrogy a tranzakci elríttaz '4 s B szánr]ák
egyenlegei értékc1()1l(l Val jában általában a rrapl ban ennél sokka1 ttjbb irrfornráci t tárolnak. tárolhatnak. Az
fenti trauzakci nk lépései,és hrrtásrrk a mern r'iiiIllrtr eserrrérryek pontos idejét, az eserrrérryt kezclernényeziiÍ'elhasznál azonosítá.sát. a kezdernénye-
vo]t. az átutalattd sszeg peclig 200."akkor a
megfelel en alakrrlhirl zés helyét és további olyarr irrÍbrulácirikat, arrrelyek haszrrosak lehetnck tretncsak a lre1yreállí-
és a lelnezeri idtíberr egvrnís ut"án pélr1:iul a 17'2. ábr'án benlutatottnak
l
a lncghibásocl.ís lehet sége nliirtt és sellcss gi neggorxlolások}r l is általános szernprlrit. Itrlp'y ,r 1l) Magukntrk a nr dosított iitlatbáziseleneknek il kiírása.
riapl t az adatbrízist l Íizikailag kiilrirrbijzri háttét'tárol ll helyezziik eI. ezze\ is clsijkkentve lrtlIr'rli
cs ly t, lrogv az aclir.tbázis s l napl cgyszcl'}'c lribásor1janirk nrcg. tl) A C()NIMIT nrlpl beiegyzés kiírása.
Az (a) és (b) lép sek niirrden ni dosított adatbázis-elettre r'oriatkoz an iittrnagukban. kiilrin_kiilrjrr
Vissziltérve a napltizásra. az áltrrlánosan hiiszrt,ílt rrapl beiegyz sck:
végrehaitarrd k (nerrr szabad ir tranzakcití tribb nr dosítására (|Soportosan nregtcnni)!
<START T> : Ez a beiegvzés ielzi a 7 trattzalrci végre}rajtístírrakelkezrl t] s t'
Pélclaként haszrrá]t tranzakci nkra vorratkoz alr hiba rrélkiili nííkdés sorárr az alábbi naplrí'
<COMMIT T> : Azt jelzi, hogy ? tranzakci rerrtl}rert befe.jezlirliitt. irz irrlatbázis r:lr:Ilrr'ttr
bejegyzésck gerreráI <lrrak:
már senmi további nr dosítást ncrn kíván végrehajtani. Minthogy azt rrcnr ttrdjuk felíigyr'lrrr
hogv a prrf1'erkezel rrrikor clijnt a nrenr ria-blokkok lenrezrc másolásár' l. ígv általiillalt tlr'rrr <START T>
lehetiink biztosirk abban. hogv ha nreglátjuk a <COI\INÍIT 7 > napl beiegyzést. rrkkrlr lr <T,4,1000,800>
váItoztatások a ]etnezetr nár ruegtiirténtclt. Ha ragaszkodlrrlli ahlroz' lrogy a rrr tlosílris,'h <T,B,1000,1200>
már a lernezerr is rrlegtorténierrek. altkor ezt az igénvt a rrapltilrezel rrck kcll kikénvszcr'ílr'rrr,' <CO\,{NIIT T>
(urint pé1dául a scnmiss gi napl zás esetéllen).
<ABORT T> : .lelent se az, hogl'a 7 tranzakci nern tudott sikercsel bcfejezridni. llrr rr
'Icgviik fcl. hogy rcrr<lszcrhiba tbrctult cl ' Elrífordulhat, llogy valamcly adott tranztlkci ríltal
végzett arlatbázis nxjclosítások k ziil bizonyosak rnár Icmezre ír dtak. míg nás m dosítások
T tl'anzakci abortált. az általrr tett változtatások:rt nenr kell a lemezre lllá.sollli' A t'IllllZ
akci kczcl fclarlat'a annak biztosítása. }rogy az ilycrr változtirt:ísok nc jclcrrjcnck ln01] i) ll' arnelyeket rrgYanezen tranzakci haitott végre nenr jrrtottak el a lenrezre. Ha ígv trirtént, a tranz-
mezen' vaBy ha volt valami hatísult a lemezen. trkkor az keriiljiirr vissztrállítiisrtl a trattzitlir'irr akci netu atonrosan hajt dott végl'e. ennek kovetkezt ben aZ adatbázis inkonzisztens állapotba
irrdulasát ktjzvetlenrii rnegel z<i iillapotra. keriilhetett. A helyre ltít s-kezel fc1irdirta rr rrapl haszuálatával az iidatbrizist konzisztcns
állapotba visszaá]lítani'
<T,x,v,w> : Az adatbázisban ir 7' tranzakci által végrclrajtott ln closításra vonlrllltttztt Mirr<lcn olyan tranzakcitira. arrrelvre vorratkozrian a napl ban taláIunk <START T> bejegyzést.
bejegyzés. Azt írja le. lrogv a 7 tranzakci az r adatbázisclcur credeti u értékétro (lrtrilrtr' tle nern találurrk <CQNI\{IT T> be.;egyzést. a tranzakcirj hatását sernmissé kell terllli lrzaz a
ur tlosította. (Felrtebb tett nregjegvzésiirrkntlk nregÍ'eleliíerr egyes napl zá.si rerrdszcrtlk llsltli ? által rn rlosított irdatbázisclcmck rt k t vissza kcll állítani lrorríbbi r't kcikrc. A napl zási
tt, < T.,r'tl ) illetve .7T,r,u > bejegyzésckc1l htrsználnrrk') szabály betartása biztosítja' hogy ha 7 a hibajelentkezése el tt az r értékétrn rlosította, akkor'a
hibajelentkezése el tt, rnár a lemezen lév nap1 ba kellett kiír clrri egY <T,X,v,W> bcjegvzésrtek.
A napltiztís lelrettivé teszi rrrilrrl a serrrtrtisségi' nrinrl a hclyrctÍIlít<j tevékenységeket'A sr'trr Ígv a helvreállítás sot'án mti<lrrnkban ri]l a u értéket az r irclatbáziselembe visszaírni' NIirrthogy
nrisségi típrrsri helyreállítás :rzt ie]errti. hogv a hiba bckijvetkezésekor végr'ehaitás alatt líllrj 1 rrltrz a lrap1 ban szántos, r'clrclcscln s tcljcscrr bc ncrrr fcjczctt tranzakci nyoilrát találhatjuk. s czck
akcik ezekrc vorratkoz an virrl a napl ban START beiegvzés. cle nittcs a befejezésiikrl: vlr ktiziil ttibb tranzakcitj nr closíthatta z adatbázis-elernet is. ígv iigyelnliink kell arra. hogy rnilyen
natkoz bejegyzés hatásait semmivé trrdjuk terrrri (visszarillítani a régi értékekct). A hrlllrr' sorrendben á1lítjuk vissza r korábbi tartalrnát' Ezért a }relyreállítás-kezel a napkit a végérl kezdi
adatllázis koráillli nrerrtésélliilkellett a rtreritítsl<rrtl
lroz1l tevékenys g pcdig azt jelerrti, lrogy lrtr az átvizsgálrri (tehát az utoljára felírt bejegyzést l. a kor'ábban felít'ottak irán1'ába). Anlirtt ha]arl a
állapotot visszaállíta:rri. akkor a lnentés rita végrelrajtott. befeiezett trarrzakci k arlatb:ízisra v,' rrap] átvizsgálásál.rr1. mcgjcgyzi mindazon 7 tratrzakci kat' anrclyckrc vorratkoz an a napl balr
natkoz hatásait a napl segítségével át tudjuk vezetrri trz arlatbázison. így a legutols konziszll'ttrr <CoxltMIT T>' vagy <ABORT T> bejegvzést tiilált' Amint halad visszafelé, anikor <T,x,v,w>
állapotot trtrljrtk rekorrst t rtálrri' bejegyzést lát. akkor
1' ha ugyarrerrc a T trartzakci ra vonatkoz COMNÍIT bejegyzésse1 rnár találkozott, akkor rrirrcs
Áh}roz. hogy a rcutlszcrlribák utáni hclyrcállításra ir napl zást lraszrrálha^ssrrk. a tranzakci kczrlllitl,'lr
teerrd je,7 rerttltlscrt és teljtlsctr betqezijdtitt. lratásait trelrl kell teltát serrlrnissé tettlri
k t el írást ltell betartania.
2. Minden más esetben T nerrr teljes, vagy aboltált tranzakci .A helyreállítás-kezeIo I étt két
o Ha a 7 tl';rnzirkci rrr rlosítja az r arlatbázisclemt-.t, akkot'ir < 7,J,t,,u] )
traplríheit'gyz,'l't
o-re kell. Irogy tlseréIje'
azt ntegel zcien kell lenrezre kiírni. mielritt r írj értékéta leIrtezre írntí a rertdszer.
]V1iutána hclyrcríllítás'kczc1 v grchaitotta a fcnti változtatásokat, rnilrdcn. korábban abortáli.
o Ha a trarrztrkci hibamentcscn tcljesen befejez dott' aklior a CONÍ\{IT rrapl trejegvz st t'slrl'
nern tcljesT tranzakci ra vonatkoz an <ABoRT T> napl -bejegyzést ír a napl ba, és kivált.ja
azt kijvetijerr szabad lemezt'e írni. hogv a trtlnzakci 1rltal nr tlosított iisszcs trrla,tb/lzíst:llltrr
annak nap1cifájlba val kiírását is' Ekkor' irz adatbázis rrorrnál ha'sználata folvtat dhat, írj tranz-
tn1lr leniezre ír clott, ezután viszorrt a le}retíí leggyorsall)lan.
akci k végrehajtása kezd dhet'
Az egy tranzakci hoz tartoz lenezre írásokat a ktjvetkcz sorrcndbcn kell megtenrri:
Ha perlig az rr<latbázis korábbi rnentése rrttínr lrelyreállításrir van sziilr'ség. akkor a he uern fe-
a) Az adatbáziselernek rn dosítására vonatkozri naplribejegyzések kíírása. jezett (rrem teljes) tranzakci k a helvreállítás során rigv tekilrthet k' mintha meg sem ttjrt ntek
L
194
h'E.I EZET 17' REN D1ZERHL]3Á]í I\HZEI' I')s l 17.3. NAPLOZAS r95
1. N{cglrrrtározrrt a llcfciczctt (CO\tNlrl) trirnzirkt:i ktrt' 1. <START CI(PT ("l. .7i) > napl bejegvzés k szítése. és tl napl bejegyzés lcmezre írása.
T\' . . .T* az sszcs ép1lerr aktív trauzak<li azonosít ja.
2. Elenrezni a napltit aZ eleiétiil kezdve. \4intlerr <T,x.v.w> napl
lrejegr'zés negt'll1iláSákor:
2. Iv1eg kell várni Tr, '. ' ' ft tranzakci k rnindegyikéltck norlnális vagy :rl]nofrnális bcfejez tlését.
(a) ha 7'netll beÍeiezott tranztrkci ' aklror rrern liel1 tenni scmrnit' ncnr tiltvit k zbcn jabb tranzakci k irtdítís.ít.
(b)ha7.beÍe.jczetttrattzirltciri.akkoru,ért ketkellazradatbázis-elelrrbeír'rri. 3. Ha a Tl,...,Tt tranzak:i k urinrlegyike beÍ'e1ezodott. akklr <trND (]KPT> napl/rbe.jegyzés
3. t\linclen 7 bc nr:m fejezett lranzakcirlra volratkozritu <ABOR]T
T> napki-beiergyztisl l<r'll r
e1kí:szítése,és a napl bejegvz s lentezre írá.sa.
rrilpl ba írni. és a napl t ki liell írni leurczrc' Az ilyen típusLi rrapl fclhaszrrtilásával a kcivetkeztík ppen tudunk rcndszerhiba után helyreál]ítani:
(PlllllIi']Ll'
Az ellenrírz pont-képzés. I\lint láttrrk. a bc rlent lcjezctt tranzak'i k hatásairrak a ttapltit a végtltiil visszatel eletttezve nregtaláIjuk az ijsszes treur beÍdtlzett tranzakcitít. régi
ttelhez el'ben a teljes rraplti átvizsgálására lehet sziikség. A napl ttibb heti. tribb lrrrvi értékérevisszaállítiuk az czctt trtrnzakci k riltal megváltozti}tott aclatbázis-clernek tartalmát. Két
tcljes vizsgálata lassítarlá a lreh'rcallítást' |']zt cset fordrtlhat elrj. aszerint. hogy visszaÍ'elé olva.sván a napl t, az <END CKPT> vagy a <START
rendkíviil sok beicgyzést tartaluazlrat' Errnek
auaplilt,iiol,L.,iguu"'""ettelltrrtirzíiporitllejtlgyzéssel t:gészítjiikki'Ez.alktlttlas'ttt'r CKPT (n' .
'Tr)
> napl bejegl'zést találjrrk el bb.
"lkrii1"r,,1 *n*r' csaliaz cllcnorz potllig eís esct1eg:rz ekkor pperr míikijdíj tt'rurzitltl'irrlr
ir,rgv tr"1vrnállítá* o Ha el bb az <END CKPT> napl bejegyzéssel találkozunk. akkor tudjuk. hogy az sszes
t")iii; L".i.g1''re.éig kénvszer'iiliiirrk a napl t visszamenri1egesen vizsgálni' m g bc ncrn fcjczctt tranzakci ra vonntkoz napl bcjcgyz st a lcgkozclcbbi korribbi <START
gyakorisággal (1léltltirrl rir ritr
a t"gág}o"".iitil, ellentirzopont-képzé^si m clszer. aurikor va1anl1yen isrrrtil l'i CKPT(n....,Tt)> napl bejegyz sigrnegtaláljuk. Ennéla<STARTCKPT(n' ..'7k) >
ritlrLrrsbrrrt)'
k nt. iíll(lrálrkérrt, az alkalrrrazíli .,,,,,ls"". ltlretoségeilrtlz/igénycilLez il1eszkedi! napl bcjegvzésnél nregállhatrrnk. a rrrég kor'ábbiakat már nern kell ha-sználnrrnk.
rlíjerr elleuíjrzii porrtot képr:ziirrk' Az cgyszcrii ellenorzo
pont képz se:
o Anerrnyiberr a <START CKPT (71' '7t) > napl be.;egyzésscl találkozunk e1 bb. az azt
1' Új tranzakci irrdítási kél stlk kiszolg;íIiisárrak leállítása' jeletrti. lrogv a katasztr Ía az ellelriírz pont képzésktizbur tbrdult elti. Ennck kcivetkezt lrcn
hcl1'-es és telics befejczésénekvagv abortálá"sának és a C()I\ÍNII']' vrrtlt Tt, . . . ir1nzakcirik rrern fejezíÍltekhe (legaltibbis rrcrn tttrlttrk a befejezor1ést regisztrálrri)
2. A rrlég aktív tranzakcitik 'Tt
az AB()Rl' be'jegyztis rraplrilla írásáuak kivárása' a hiba fellépéséig.
Ekkor a bc rrcnr fcjczÍiclott trauztrkci k kiiziil a lcgkorábban kczclrjclijtt trarrz:rkci irrrlulásáig
i]' <CKPT1> uapkibejegyzés képzése és kiírása a napkiba'
kell a napl bau vissz:rlreresniink, annál lrortibbra rrem. Az ezt rrregelciz START CKPT
.l'Tranzalrciriirxlítrísikér.selrkiszolgálása.lrrrormálnriikijrlésfo1ytatása, bejegvzés biztosan rrregelcizi a keresett iisszcs tt'anzakci itldítását leír bejegvzéseket2. Ezen
l'eliil. ha ugvalrilzon tranzakcitj napl bejegyzéseire nézve láucokat is lraszriálunk. akkor llerlt
bcfciczodlck' s a kcll a uapl lrrinrlcrr bcjcgyz s t átn zniink ahlroz. hogy rncgtaláljuk a m g bc ncn fcjczctt
Az cllcuor.ztipont kiírásjrt rncgc1iiz clr v grchajtott 1rarrzakci k nirrd
trit1llriz'r'1
*"orratuunt nrcgfeldiien nr clilsíttisaik nr1rr lernezre kcriiltek' Enrrek nlegfebltierr ezell 1tltltr tranzakcirjkra vonatkozíl bejegyzéseket. elegend csak az tidott tt'anzakcitj bejegyzései láncárt
elhárításakor rrtár rretri igérrYel a rt:lttlliz'
akcitik tevékcnységérelrézve egv esetlcges késríhbihiba visszafelé haladnurrk.
t
2' Ha nriik dij fendsZeIben kényszeriiliink lre1yrcáLlítrísra. akkor a legutols tiíl kezdve tegyuk scrrr_ ami :rz archivá]ás kezdetének nregÍ'elelrí adatbázisrillapotot rogzíti, ugyanakkor a rnentés alatti
nissé nintlen be rien fejezett tranzakci cseleketleteit. pet'cekbert vagy rákban aZ a(latbázis niLíkrjdése sok aclatlláziselelrret cs<lrélhet' Ha az arlatbázis
rncnt sb l valvisszaállíttísa sziiks gcs. aklior a nrcnt s alatt kclctkczctt napJ bcjcgyz sck fcl-
Niegjegr-ezziik' lrogv rrrirrr1két eliártisrrr sziikségiirrk van. A r'ltgalnrrrss:íg lelrctÍívétcszi' hogy l) használásával az aclatbázis korrzisztcrrs állapota áIlíthatri elrj'
CSN'IMIT beiegr.zés s ,l lerrrezen végrehaitott adatbtizis nr dosítások cgvntáshoz viszonyít()tl
sorrerxlje ktitetlerr legvcrr. í3Y el forclulhtrt az is' hogv egy beÍejezett tranzakcitj nélr:íny vagv iissz''s
változtatása trrég rltru keriilt lerrrezre, és az is, hogv egy lle rrerrr Íejezett tt'auzakt:icj ni:hány vagy L7.5. Archiválás
sszcs változtatása már lclrrczcrt is nicgtiirt nt'
Az adatbázisokkal kapcsolatban tipikus igény az. hogy a(latt.iltalmuk a pillanatnyi helyzctnek
megfclel (..naprakész'') legyerl. Ugvarrakkor' a fel}rasznál is igénvelheti, de tijrvényi, ríllami
L7.4. Mentés eI írások teljesítése miatt is sziikséges lehet. hogy bárrnikori korábbi állapotrrak rrregfe1el helvze-
tct is cltí tudjuk állítani. sijt bc tudjuk mutatni .lZ adatok változását is. Egy b:rnkkárty:íl'al vtrl
Az eszkiizrik rneghibásrlrlásrr ellerri vétlekezés egyík rrrcg,oldrisa a rrrerrtés, az adtrtbázis lrrásolrrtánrrk vásárlríshoz példárrt elég trrdni lr szárnla pillanatnyi értékét.de az iigyfél és a bank szánára is fontos.
elkészítse egy (tobb)' az adatbázisét l kiilijnb<jz a<lathol'tloz n' Ha lehetséges. lcz1r.rjuk az hogy a számla változásait visszarnenrílegeserr is le tutlja vezetni. tehát péltlául azt. hogv nrikor' mi-
adatbázist uááig. o'nig e|k szítjiik a lliztorlsági násolatot valanely tárol eszk zon, (péIdárrl lrlásilt lyen forrásb l nri keriilt a számlára. vagv nii cscikkentette azt' A bcruutatand helyzotek lehetnek
lerttezert. optikai ltrlLezen. vagy rnágrlesszalagorr) rrLa'jd a biztolrsági rIiásoIatot az adatllázistril
távrll-
cl rc isrncrtck. p lc1ául az ad zás miatt a clcccnbcr l]1 cdikci zár állapot forrtos, czt clrir'c tudjuk.
biztonságo.s lrelyen tároljlrk. A biztonsrígi lrrásolat nr:grírzi az arlatbázis nrentéskori állapotát.
ris
ekkor tehát k szíthetiink egy tnentést, uuib l kés bb is dolgozhatrtnk. De sok renclszet'bcn sziiks g
ha eszktizhiba Iép fcl' akkor a rrrentésbijl aZ .rdatbáZis czen (rnentéskori) állapotát vissza ttrdjrLk lehet arra. hogy el re rrenr isrrert pillanatokban volt á1lapotokat késtíbb akkor is cI tudjuk állítani.
állítani' Ezt kijr.ct en ahog1.már 1áttuk a napl haszrrálatár'al az rrtols krlriziszterrs állapotol: ha az a lattartalonr a vizsgáland idopont ta rnár sokszol'osarr Inegváltozot Í. Ezért, az adatbázisok
is tutljuk rekoustruálui. NtlgYon ÍbtLtos tehít a naplci lliztonsága is' A rrap1 t az atlatllázistíll tcrvcz sckor gondolnunk kcll az ilycn ig rryck kicl gít s rc is' Az ilyclr ig rryck kicl gít s r'c ttibb
kiilr'nbozlj. lehctíileg hibtrtíírrí(pélrlárrl tiikrrizijtt vagy RAID) rrregolrlásokkal kr:ll tárolrri és t'ctxl_ m dszer k ziil vála"szthtrtunk, példárrl miItden szárnla-változtatást náll sorként riigzíthetiink'
szerese]} menterri. A nrentések tár'olr{sakor arrir is legviinlr fig1'elenimel. hogv a helyí tárolás
az egy-
mirrtegv e c lra trapl t állítrrnk elrí; eljárhatunk írgy is. hogY a tajrlések, m dosítások helyett rninderr
szeríi lribák esetére kiclégítii. cle kata.sztr fák cseté}len (milrt példáu1 elenri csaprís. árvíz. lijldreng s. adatsorhoz aunak érvénvességétmutat kezdeti és vége dátunlokát tárolunk. A konkrét r'endszer'-
tíiz) neur biztosít lrelyreállítlratcíságot. Ezért elviirlrtrtti a rnerrtésekr l biztouságos ttívolságbarr lrcz s a konkr t iB nlrkhcz igazorl an tov:ibbi alkrlrnas rtcídszcrck ktiztil haszlráljrrk valarnclyikct.
nláso],ltok clhelyez se' Ezt a nagykapacitásri és olcs hálrizatok rnirrderrki számártr lehetljví: is Mindegyik azza| jár' hogy az adatbázis adtrttartalma szinte állantl an nrjvckedik. ráaclísul a napi
tcszik. operatív mLikiidéshez az ebb l a szerrrporrtb l már elavrrlt adatokra nincs sziikség. Az adatbázis
nrjvekedése viszorrt hatatlanul a rerrdszer lassulásálroz vezet, hiszerr nagYobb adatlralmazokbarr
HaaZa(-1ltl)iizisnagy,tlkkoralliztotrságirrrerrtéselkészítése(kiírtísa)lrosszastblyaurat. Általánosarr kcl1 a rnrivclctckct v gczni, ami nagyobb idoig nvri tcv kcnys g.
llcvált- hogy trcrrr rncntik a tcljcs rrdatbázist ninrlcn alkalrrrrrmal' Ez rt a nrcnt snck tribb szilrti l
kiilonbozteijiik meg: Ahhoz, hogy a régi adatok tárolását is nregolcliuk. ugyallakkor a napi használatot ne lassítsuk.
az adatbázisunk rre nilvekedjen álland an. elrhez haszrrálhatjuk az archiválást. Ez azt jelenti'
C teljes menté.s (full durrtp), anrikor az eg sz adatbázisr l nr:i'solat késziil'
hogy a rnár ncm aktuális aclatokat valzrmil;'cn :rlkalmas Íbrrnában f lrctcsszrik. s az opcratív
o n,ijtle'knlé-n,,tte,s mr:nlés (incrernental drrrrrp). amikor áZ ar]atbázisn,rk r:sak azon elerneirlíl készí' adatbázisb l trirriliÍik. Arra, lrogv hová tessziik félre a régi adatokat tribb lehetÍiségiink is van. Az
trink nrásolatot. anre]yek aZ utols telies lagy n vckmén1.es rnentés ta nregváItoztak. online hozzáférésri aclatbázisban tárolhatjrrk ket kiilcin tríblákban. így az operatív nríikijclést rrern
lassítjuk' de ha eseterrként nrégis sziikség van a régebtli adatokra, akkol' azok is rendelkezésiinkre
Egyes ac1atbázisr.etl<lszel.ek (péklául az IBNI DB2 rent1szcre) ezcken fcliil is arlrrak rrrerrtési vÍ]tozit- álnak. Az archív adatokat kirnenthetiitk iráttér zrdathordoz kra (CD' DVD. szalag). akkor czck
tokat. eléréselényegesen hosszabb idlit igérrycl. de sziikség esetén azért felrlolgozlratirrk ezeket is' Tipiklrs
e két rn rlszer konrbÍrrílása. vagyis az elal.ul adat<lk eltíbb onliue arclrívuntba keríilrrek (példárrl az
Mííkdés k<izbeni mentés. A ntost benutatott. egyszeríínek 1átsz nterrtéssel az a prolllénta. aktrrális. esetleg az e1rnril év adatai). kés bb mert várhatílan nrég ritkábban lesz sziikség rájuk
lrogv sok adatbázist rrern lehet lezárni art'a az id re (1ehet, hogv rákrrr.) anríg a biztonsági mentését hÁttértárolt1kra korulrlek' Az ar]at1ltizisretrdszel'ek .iZ trrclriváIást és arclrívunrokb l l'alrj visszake-
clk szít;iik' Így. a nríikiicl s k, zbcrri cllcrr rziiporrt k pz shcz hasonl an. nrcg kcll o'Idanunk a resést részben, lagv arra alkalrrras lrardr'er (pélrlárrl atrtrlrrrata-kezel sííszrrlrrgtárol<í. vagv DVD
rniikijdés k zbeni rncrttést is. Visszagondolrtnk arra, ahogyan a miikijdés k zbeni ellen<irz
pottt
tárol ) esetén nagyillértékbeuautornatizálhatják is.
képzés rrregkísérli az itrdulísakor'i atlatbázis-állapot (nregkcizelít ) rrrásolatát létre1tozni a lentc-
zen. Az eílen rziipont 1étrehozásárrak kcirnvék n ke1ctkezett kis napl részletre tánaszkodvá az A ttretttés és az arclriv/tlás ktiziitt lériyeges kiiltinbség. hogy a rrrerltés az aclatbázisbarr tartalttri
aclatbázis állapotállan tijrt nt rninrlcn o1yatt clt r st rcndbc turlutrk hozni' arnclyot az okozott. hogv változást neur okoz (1egfeliebb arrnak riigzítését.hogy tnelY a.dat ulikor mentt'd tt), az arclrivá]ás
az ellenlirzliporrt képzésealatt r1i trarrzakci,jk irrrlrrllrattalr és lernezrc írások tijrtérrhettek. Eh}rcz pedig az archivált aclatokat aZ operatív adatbáZisb l tijrijlheti is.
hasonl all a nr(ikiid s kijzbeni nrentés rnegbízhat an trrd az adatbázisr l oly;rn rnásolatot készítcni,
198 FEJEZET 17. RENDSZERHIBAI( KEZELI'SI,
18. fejezet
Informáci k egyesítése
Az adatbázisok haszrrálatállan kétléleolyarr terltlerrcia is uregfigyelhet . arrrikor a téllra.sználás
szirrtjérr egy adatbázisként szeretrrénk 1rasználrri oly:rrr :rrlattijmeget, attrelvrrek részei télylegescn
más rnás adatbázisokban vannak tárolva. .A.z egyik ok. ami ilyen nlegoldáshoz vezet,:rz. hogy
a logikai szempontbtíl egyetlen a<latbázist r'alami1yerr gvakorlati megfontrllások rniatt r szekre
boutjuk. és részeit kiiliju_k'iiliiri rlLíiktldtetjíik. Ezek az osztott atlatbázisok. A rrrásik. biztl-
nyos rtclcrnbcn a,z clozo cllcntcttjc. aniikor crcclctilcg náll rtak tcrvczctt. k szítct,t, s náll an
mriktid<i adatbázisokat bizonyos alkalrnazások szempontjáb l egyetlerr a<1atbázisként kívánunk ke_
zelni. Ezek az ,.adatbázisok egyiittnrííkodése" círrrsz alatt tárgvalt csetek.
egvetlerr lekérdezésselmegkapjrrk az ABC azonosít jír ternrék osszes tárolt adatát. Az a m dszer.
ahogy ezt aZ egyes adatbázisrerr<lszerek nregolclják, az adirtbázisrendszerekben eltér lehet. Gva-
kori, hogv a,,tcrm k'' táblrít u zcttáblak nt lchct l tr'clrozni, s kornponcnsci szártrrazhatnirk más-
más adatbázisrendszerekbÍíl'
199
200 h'EJ HZLJT ]8.'t.\rt'oR'\íA CIo^ EGYE9ITES|,) 18.2. Il FoR^ÍÁaoli EGYESITESE 201
Az irr{ormáci egvesítés lehetséges rn dszereit csoprrttosítva péklálrl az alábbi 4 csoporthoz .jut- nrirrden részletéríí1.Ha a résztvevtik szálna sok, s írj je1entkez kíván belépni. akkor egyre
hatrrnk: bonyol dik a páros korrrrnunikáci k rrregszervezése. NÍirrdenesetre így elérhet . hogv rnindegvik
adatbázisrcrrdszcr fclhasznál i kcirc a t<ibbickt l is kapjon r'alamilycn (a rncgállapoclás szcrinti)
o aclatbázis sziivets g
szolgáltatást' A m ilszer egyrittal azt is mutatja, hogv a szolgáJtatások er sen fiiggnek ;r forr'ás-
r arlIittárlráz létl'ehozií.s;r adatbázisok rencle]kez sle állását l.
o adatkcizvetítii lra^sználata
o Az adatpiac
18.2.2. Adattárház
Az infot'rrr,iciriegyesítés során eg)rlná'st 1 kiilijnben teljesen fiiggctlen. más-más trrlajdonri, eredeti-
leg akrír rrtás-tttás célokrrr kifejlesztett, rttiis nyelvet. trrás krjtlr'errdszereket' nrás trtértékrendszereket
}rasznál arltitbázisok vagv tágabban adatlr:rlmazolr o]yau r,'alrjságos. i1letve ltitszrilagos egyesítés t.
adatlárház i
vagy csak a szolgáltatásokban rnegjelenrí olyan egyiittrnííkcidéséttanulrnányozzuk. alnelyek azt
teszik lehet vé. hogy bizonyos (esetleg az sszes). az eredeti rendszelhez képest kír'iiláll fe1-
lraszrrálrjk (szeruélyek, vttgy progratrrok) egységesel térlressetlek az egyiittnrríkiiclésLetl résztvtlv
ariatbázisrlk/adatltalmazok áItaI liezelt adatokhoz. rle legalábbis az aclataiknak:r lt zrisség számiira
hozzáférhet r észébez.
N
m tm
t<
folhEsznál co m leahagznál
cgyik tipikus clcík szít l p sc az adattárlráz pít sc. Ilycrrkor'a horrrogcr-rizálásorr tril adattisztítási NO
od
(híbás. hiányos arlatok kezelése) és rnás. a késÍibbielemzést elrík szít lépéseketis végre}rajtanak.
99
l
YI
Vanrrak olyan adattárházak. amell'ek rrerncsak a re]áci s (táblaszeríí) adatelhclyez sre adnak 9'í
lehet<íséget. lrarlernaz adzrtelernzés, adatbárryászat c ljára iollllan rnegfelel aclatszerkezeteket
(pék1ául a 1l3.2. fejezetben berrrutatott adatkocka) is biztosítanak. Az trrlatbiínyiiszat tinállri, o
d)
uagv térna. részletezése rnessze tti]nri e kiinyv keretein. rrjl:r, b/ivr:bben [3O]-berr. i1]'han és |48]-ben
olvashatunk.
Az aclattárlráz rurikijr1ése Íiiggetlerr a tbrriis a<latllázisok relttle]kezésre állás:itrjl, aztlkra csilk a 18.5 ábra' Az adatkozvetítrj mííkridése
felépítéskor.illetve rijr'a pít skor varr sziikség. Az adatt:írhríz a rnííkiidésesol'rin cgyáltalán ilem
kapcsol dik rr folrás adatbázisokhoz. ígv a forrás aclatbázisok intirnitása és bíztonsága ezerr egyíitt-
rrríiktjdésl l fakacl an biztosarr neur sériilhet' Csak általrrk feliig1'elten annyi infol'rnáci t adnak' L8.2.4. Az adatpiac
anrernryit jtirrak látrrak. ezt rreln ktl1 p:irbcsz(xlestrr bizttlsítarriuk. késijbb akár tnittr1etr kapcsolatot
nregsziintetlietnek a ,.ltiilvilággal". csak saját fellrasznákíi kol'iiket kell kiszolgálnirrlr' A leglazább egyÍittmííkridési.egviittes szolgáltatási Íbrma az adatpiac. Az adatpiac iinkérrtes, az
adatpiacon kiil<jnijsebb kor1átozás és a tcibbiekkel val el zetes megiillapodás nélkiil bárki rnegjelen-
het az ,,árujával''. azt a tcrbbiek rerrtlelkezésére btlcsátlIatja (iIlgyerres vagy fizetiis szolgáltatásként).
és bármikor távozhat tr piacrríl. Az adatpiar:r'a j pélrl,r az intenlet. Az ariatpiac nem megbíZhat .
sem aZ adatok mirr ségéresenr a szolgáltat k tart ssÍlgára semrnilyen garancia nirrcs. Nagyon
18.2.3. Adatkiizvetít vatosan kel1 eljárnunk akkor. ha az adatpiacra támaszkod."'a ter'veziinkl,'alarnilyen szolgáltatást,
Meglehet, Irogy ura kiválri atlatÍbr_rásokra leliiuk' tlc senrttti garartcia rrirrcs arra. ltogy azt egy lr uap
Az aclatliozvetít egy olyau szoÍtver. anrely lelret vé teszi. hogv t le kért1ezzerr a kíviiláll fel- mlílva. egv év mrilva még ugyanott rnegtalálirrk.
hasznáI . Akíviilá1l felha^szná1 szárrlárarlézettábla-szeriíszo1gá1tatástnyrijt' Ezazije1enti,hogv Ha az adatpiacon egyiittnrí-íko<lés nincs is, egytittes (legalábbis sokszerepl s) szolgáltatások
az a<latkcizvetít nek SELECT utasításokat adhatunk. A táblái alapaclatai a forrásadatbázisokb l 1 teznek. Ilyenek p 1dául a keres ren<lszerek' Ezek igyekezrrek azt az tgétryt kielégíteni,hogv a
szár'rnazrrak, c1c az ariatt'árház- pít s}rcz hasonlrjan homogcnizáltak. Anríg az arlattárház tar- keres kér<]ést egyszer. egy r'etttlszerrel. kell kijztilrriínk és ii goncloskodik arr l. lrogy a kértlésiirrkre
talrrra nern naprakész' hanem régebbi ,,konzerv" a<lat. amely nagy átÍbgri elemzésekre. vagy már sok forrásbríl válruszt kapirrrrk. Ezek a keres rerrdszerek nagyott }ra^sznosak, rle szolgáItatásaik az
fixnek teklntlret ténvek lekért]ezéséreval , addig az adatktjzvetíttí naprakész. aktuális adato- igények1rez képest még igen szolidak, keresési alanyaik kril'e nem teljes (nem találnak meg minden.
kat szolgáltat. Miiktjdése er serr fiigg a forrás adatbázisok rendelkezésre áIlását l' Ha a forrás kiil<irrben bozzáÍérhet(j választ), E kért1éskorrel részben már a 2.3. fejezetbeIr is foglalkoztunk.
adatbázisok kcizíil valarrrclyik id lcgcscn kicsik. akkor'tcrtn szctcscn onrran arlat ncnr nycrlrct . Tág értelerrrberr az ilrterIleterr reude1kezésiirlkre álltl at1atlralrnazt is tekirrtlretjiik egyÍajta adat-
MiveI a forrás arlatbázisokkal gvaltorlatilag álland él kapcsolatban van' ezért az illetéktelen adat_ bázisnak is. Miuthogv az adatbázis-lekérdezés (adatbázisokban val keresés) igen bevált eszk ze az
lra^sználat meggátolására, az adatvé<lelrrri feladatok gondos, alapos kezelésére hangsírlyozottan oda SQL, így fe]meriilt az az tlet, trogy az SQL lehet ségeit j lerrne az irrterneten val lekérdezésekre
kcll Íigvelni. (keresésekre) is kiterjeszteni. Etre r'onatkoz kísérleteka W3SQL. a \Á'ebSQL és ha.sonl SQL
Az adatkijzlrctít haszrrálatával egyiittjár bál zaLi forgalorn rerrt1szeres, lriszen ruinden fel- lxjvítések.
hasznáIi k r'd st (mcgfclcl<ícn átalaltítva) továbbít a ,,bcdolgoz '' arlatbázisok}roz. Az okozott Az adatpiaci probl mák nrcgolcl:ísa s a lchct s gck kihasználása további fcjlcszt sck b s gcs
hál zati terhelés ertjsen fiigg a konkrét alkalmazá.st l. A hál zati forgalom gyakori, cle lehet' hogy
t,tírháza.
kis adatrnennyiségeket niozgat neg' Ha a felhasznál k sokszor teszík fel ugyanazokat a kér<l seket
(erre szárníthaturrk például a menetrcndek esetén), akkor ez a háI zatotl ugyanazon adatok sok-
szoros átvitcl vcl jár' Ilycnkor rdctncs nrcggondolrri cgy valamilycn t'cndszcr'cs icltíktiz<ink nt
riiraépített arlattár'ház haszlrálatát. arrri 1rersze csak akkor uregfelelíi. lra a szolgáltatáshoz meg-
felel<iek olyarr adatolt' a:rnelyek az adattárÍtáz rrtols felépítésekoriá]lapotot tiikrrizik'