You are on page 1of 14

Bevezets Az informci feldolgozs trtnete korbban kezddtt, mint az elektronikus adatfeldolgozs.

A mlt szzad vgn az amerikai npszmlls rszre dolgozta ki Hollerith lyukkrtys rendszert. Az ekkor megllaptott krtya szabvny mg az 1980-as vekben is hasznlatban volt, az 1970-es vekben pedig mg mechanikus Hollerith gpekkel (rendez, stb.) is lehetett tallkozni Magyarorszgon. Ugyanakkor az els genercis szmtgpekre nem csak az elektroncsvek, hanem a kis trolkapacits mellett az is jellemz volt, hogy azokat csak erre specializldott szakemberek tudtk hasznlni. Nem csoda, hogy ezeket a gpeket elssorban kalkultorknt alkalmaztk. (Erre a clra is fejlesztettk ket ki.) A msodik genercis gpek a fordtprogramok rvn mr szlesebb felhasznli kr szmra voltak elrhetek, s mr valamivel nagyobb kapacits httrtrolik is lehetv tettk az els informci-feldolgoz rendszerek megjelenst. Mindez fokozottan igaz a harmadik szmtgpes genercira (opercis rendszerek megjelense). Nem vletlen, hogy azt a mestersget, melyet eleinte szmtstechniknak neveztek, ma informatiknak hvjk: napjainkban a szmtgpek f felhasznlsi terlete az informci-feldolgozs. Mra az informci feldolgozsa igazi iparr vlt, az informciban szegny orszgok ms ipargakban sem lehetnek sikeresek. Az informci feldolgozs alapvet mdszerei Napjainkig az informci feldolgozsnak hrom alapvet formja ismeretes: a folyamatszemllet informci feldolgozs, az adatbzis-szemllet informci feldolgozs, s a szakrti rendszerek. A folyamatszemllet informci feldolgozs E rendszerek legfbb jellemzje hogy azok clorientltak, azaz ksztskkor elszr az elrend clt kell meghatroznunk, majd a cl ismeretben tervezzk meg az ahhoz vezet folyamatot, s a folyamat ltal hasznland adatllomnyokat (file). Az llomnyok csak adatokat tartalmaznak: kapcsolatokat a folyamat rja le. A tervezs sorrendje teht: cl folyamat llomnyok Az ilyen mdon megtervezett adatllomnyok nem ignyelnek tl nagy trolkapacitst, hiszen csak a valban felhasznland adatokat kell trolnunk. Msrszt az adatllomnyok feldolgozsa igen gyors lehet, hiszen azok szerkezete optimlisan illeszkedhet az adott feladathoz. (Tisztzand persze, hogy tekinthetnk optimlis illeszkedsnek.) A lert tulajdonsgok indokoljk, hogy mirt hasznltk az els informci feldolgoz rendszerek ezt a formt, s hogy mirt hasznljk mg napjainkban is kisebb volumen, alkalmi feladatok esetn. Ugyanakkor a folyamat szemllet informci feldolgozs minden clhoz j folyamatot s llomnyokat kvn, fggetlenl az esetleges kzs adatok elfordulstl. Az gy keletkez redundancia rossz trolkihasznlst eredmnyez - s ami mg nagyobb baj felidzi az inkonzisztencia veszlyt, vagyis azt, hogy egy-egy tbb helyen elfordul adat egyes pldnyainak klnbzik a tartalma. Htrnya az effajta feldolgozsnak az is, hogy csak az eredeti krdsre ad vlaszt, a rendszernek ad hoc jelleg krdsek nem tehetk fel. Optimlis szerkezet llomnyok A programozssal foglalkozk jl tudjk, hogy arra a krdsre: mi a j program ismrve, nem lehet egyszeren vlaszolni. El kell dntennk, milyen szempontbl akarjuk a programokat sszehasonltani. Ha az informci feldolgoz rendszereket vizsgljuk, a helyzet ugyanilyen bonyolult. trolhely ltrehozs Optimalizlsi szempontok feldolgozsi id keress vltoztats felhasznli szempontok Knnyen belthat, hogy a felsorolt szempontok egyidejleg nem elgthetek ki maradktalanul, brmelyiket vlasztjuk is ki az optimalizls alapjul, az gy add megolds a tbbi szempont szerint messze lesz az optimlistl. gy pl. a trkihasznls szempontjbl idelis tmrtett llomnyok feldolgozsa nyilvnval tbbletidt ignyel, a knnyen kezelhet felhasznli felletek mind tr, mind id tekintetben igen sokat kvetelnek. (Gondoljunk csak pl. a DOS-os s a WINDOWSos programok hely- s idignybeli klnbsgeire!) De ellent mondanak egymsnak az idre optimalizls "al" szempontjai is: nyilvnvalan pl. a keresst jelentsen

meggyorstja, ha egy llomny strukturlt (mondjuk a keressi kulcs szerint rendezett), ugyanekkor a rendezettsg megteremtse a ltrehozskor, megtartsa j rekordok beszrsakor komoly idignnyel jrhat. Az elmondottak ellenre ltalban kijelenthetjk, hogy a modern informcis rendszerekben kiemelt szerepe van a keressnek. Egyfell a nagy hlzatok korban az idfaktor tbbnyire szortbb mint az elosztott informcik helyignye, msfell az idre val optimalizlson bell elmondhatjuk, hogy egy-egy vltoztatst (adatbeszrs, trls) megelz az illet rekord keresse (van-e ilyen, s ha igemn, hol). Ha mindehhez hozzvesszk, hogy egy-egy llomnyban (melyet egyszer hozunk ltre) igen sokszor kell keresnnk, nem meglep a keress kiemelt szerepe. A keress idignyt kt tnyez szabja meg, az egyik az tlagosan szksge lpsszm (hny keressi lpst kell vgrehajtanunk tlagosan egy-egy keress alkalmval), a msik az egyes lpsek idignye. Ha feltesszk, hogy rekordjainkat azonos gyakorisggal keressk, egy-egy keress idignyre albbi kpletet adhatjuk:SN ( TA + TB + TC ) A kpletben TA az u.n. algoritmusidt jelenti, azaz annak az algoritmusnak az tlagos vgrehajtsi idejt, mely kijelli a legkzelebb megvizsgland rekordot, TB az u.n. behozsi id, azaz a trolrl val beolvass tlagos idignye, vgl TC az sszehasonltsi (komparlsi id, mely a beolvasott rekord kulcsnak megvizsglshoz szksges. Vgl SN az tlagosan szksge lpsszm. Belthat, hogy kzponti tr esetn elesik a TB tag, mg az ltalnosan hasznlt mozgfejes lemezeknl TA s TC elhanyagolhat TB-hez kpest. Msrszt mg TC idejt nem tudjuk befolysolni, TA, TB s SN rtke a vlasztott algoritmustl fgg. Azt pedig, hogy milyen keressi algoritmusok kztt vlaszthatunk az llomny szervezsi mdja, szerkezete hatrozza meg. Pldul ha egy adott nev szemly ltez rekordjt akarjuk egy rendezetlen llomnybl kikeresni, az u.u. lineris keresst alkalmazhatjuk, azaz sorban meg kell vizsglnunk a rekordokat, hogy azonosak-e az ltalunk keresettel. Ez esetben tlagosan a rekordok felt kell megvizsglnunk (azaz SN k N/2). Ha az illet rekordja nem tallhat meg az llomnyban, ennek megllaptshoz mr az egsz llomnyt vgig kell keresnnk (vagyis S'N k N). Ha az llomny a nvre rendezett, az utbbi esetben is elg a rekordok felt megvizsglni (S'N k N/2). gy a struktra megvltoztatsa nmagban gyorstott az eljrson. Ms krds, hogy az ilyen mdon strukturlt llomnyokban mr sokkal hatkonyabb keressi algoritmusok hasznlatra is van remny. A legfontosabb llomny struktrk1.) Szekvencilis llomny struktrk ahol logikailag a rekordok mindegyiknek egy megelzje s egy rkvetkezje van (az els s az utols elem kivtelvel).2.) Hierarchikus llomny struktrk; ahol logikailag a rekordok mindegyiknek egy megelzje, de esetleg tbb rkvetkezje van (az els elem kivtelvel). 3.) Hls llomny struktrk; ahol logikailag a rekordok mindegyiknek tbb megelzje s tbb rkvetkezje lehet. 4.) Asszociatv llomny struktrk; ahol nem a rkvetkezs ill. megelzs adja a llomny struktrjt, ms logikai szempont szerint lehet a rekordokat ill. rekordok egy csoportjt kivlasztani. Szekvencilis llomny struktrk: Fizikai szekvencilis llomny struktrk Fizikai szekvencilis struktrrl akkor beszlhetnk, ha a rekordok logikai s fizikai sorrendje megegyezik. E zervezsi forma legfontosabb elnye, hogy a termszetesen itt is alkalmazhat a lineris keress mellett annl jval hatkonyabb keressi eljrsok alkalmazst is lehetv teszi. A.) Binris, logaritmikus keress E kzismert keressi eljrs lnyege, hogy a megvizsgland llomny ill. llomnyrsz kzps rekordjnak kulcst hasonltjuk ssze a keresett rekordval, s gy eldnthetjk, hogy a.) megtalltuk a keresett rekordot, b.) a keresett rekord a vizsglt llomny bal felben van, c.) a

keresett rekord a vizsglt llomny jobb felben van. A keresst ezutn mr csak az elzlpsben vizsglt llomny felben kell folytatnunk (ha egyltaln). Belthat hogy binris keress esetn e az tlagosan szksges lpsszmra mind sikeres, mind sikertelen esetben SN = log2 N. B.) Peterson-fle keress Az elz mdszer tovbbgondolsbl addik ez a mdszer. A gondolatmenet lnyege az, hogy az llomnyt az egyes lpsekben ne kt hosszra egyenl rszre osszuk, hanem kt olyan rszre, melyekben a keresett rekord elfordulsa egyenlen valszn. (Pl. egy nevekre rendezett nyilvntartsban cs Aba rekordjt nyilvn az llomny elejn, Zld Zoltnt a vgn clszer keresni.) Az ilyen felezshez nyilvn ismerni kell a kulcsok eloszlst. Feltehetjk pl., hogy azok eloszlsa egyenletes. Ekkor S N =1/2 log2 N. Mindebbl nem kvetkezik azonban, hogy a Peterson-fle keress mindig hatkonyabb a binrisnl. Ennek egyik oka az, hogy kulcsaink eloszlsa messze eshet az egyenletestl, s ilyenkor e mdszer hatkonysga jelentsen romlik. A msik ok, hogy a Peterson mdszer minden lpse arnyostst, azaz "igazi" osztst ignyel. A binris keressnl erre nincs szksg, az itt hasznlt felezs a rendkvl gyors lptetssel megvalsthat. Mivel kzponti trbeli hasznlatnl, az egyes lpsek idignyt az algoritmusid hatrozza meg, hiba ignyel a Peterson fle keress kevesebb lpst, ha azok jval lassabban hajthatk vgre. Brmilyen gyorsak a fizikai szekvencilis llomnystruktrnl hasznlhat keressi eljrsok, elhamarkodott kijelents lenne azt lltani, hogy az ilyen llomnyok feldolgozsa N < 4 esetn gyorsabb, mint a struktrval nem rendelkezk. Az llomny kezelsekor ugyanis a keressre fordtott idn kvl figyelembe kell venni azt is, melyet a karbantartsra, azaz a rendezettsg megtartsra kell fordtanunk. Mindezt sszevetve azt mondhatjuk, hogy fizikai szekvencilis struktra hasznlata elssorban a statikus llomnyoknl javasolt, azaz ott ahol egy-egy struktrt rint vltoztatsra (pl. beszrs) sok keress esik. Logikai szekvencilis llomny struktrk Logikai szekvencilis struktrrl akkor beszlnk, ha a rekordok logikai s fizikai sorrendje nem egyezik meg. A logikai sorrendet ez esetben legtbbszr a rekordokban elhelyezett mutatk (pointerek adjk) meg. (Meg lehetne adni a logikai sorrendet valami kls tblzat segtsgvel is, ezt azonban a szakirodalom ltalban az indexelt szervezs rszeknt trgyalja: v.. pont.) A mutatrendszerek lehetnek egy s ktirnyak, ill. gyrsek. Az llomny, s a sokszor ugyancsak specilis listaknt kezelt res helyek kezdett egy u.n. indt tbla tartalmazhatja. E szervezsi md legfbb elnye, hogy alkalmazsakor az llomny logikai struktrjnak megvltoztatsa igen knny, nem ignyli a rekordok mozgatst, csupn a mutatk mdostsa szksges. Tovbbi jelents elny, hogy fizikailag ugyanaz az llomny tbb mutatrendszer alkalmazsval tbbfle logikai szekvencilis rendbe is szervezhet. (E logikai szekvenciknak nem kell minden esetben valamennyi rekordot tartalmazniok.) A felsorolt elnyk mellett a logikai szekvencilis szervezsnek komoly htrnyos tulajdonsgai is vannak. Elssorban azt kell megemltennk, hogy e szervezsi forma mellet nem llnak rendelkezsnkre olyan hatkony keressi algoritmusok mint a binris, vagy a Peterson fle. Nem kisebb problma, hogy mozgfejes lemez hasznlata esetn - ha a rekordok vletlenszeren helyezkednek el az llomnyban - a keress sorn szksges pozcionlsok szma a feldolgozst nagyon lelasstja. (Egy C cilindert elfoglal llomny esetn kt rekord elrse kztt tlagosan C/3 cilindernyi pozcionlsra van szksg.) A fenti htrnyok kikszblsre, vagy legalbb cskkentsre hasznlhatak az u.n. "csaknem fizikai szekvencilis" struktrk. E struktrk lnyege, hogy az llomnyt - mely logikai szekvencilis, gy mutatkkal rendelkezik - ltrehozsakor a mgneslemezen fizikailag is szekvencilisan helyezzk el. Beszrskor nem szksges a fizikai szekvencialitst megtartani, az j rekordot a - miden cilinderen kln-kln fenntartott - u.n. cilinder tlcsordulsi terletre helyezzk, s a logikai rendbe a mutatk segtsgvel illesztjk be. Lthat, hogy gy elkerlhejk a sok pozcionlsbl add idvesztesget. Ezen tlmenen azonban e szervezsi formnak az is elnye, hogy

mellette alkalmazhatjuk az u.n. "kupacos" keressi mdszert. A keressi mdszer lnyege, hogy a rekordokat (N db.) G kupacra osztjuk, majd elszr e kupacok els elemeit hasonltjuk ssze a keresett rekorddal. gy vagy megtalljuk a keresett rekordot, vagy legalbb meghatrozhatjuk, hogy melyik kupacban van. Ezutn ezt a kupacot kell vgigkeresnnk. Ha az egyes kupacok kezdelemei az elsdleges (nem a tlcsordulsi) terleten vannak, a keress elg gyors lehet. Termszetesen kulcskrds a kupacok mretnek megvlasztsa. Bizonythat, hogy ha az egyes kupacok mrett kN-re vlasztjuk, a szksges lpsszmra SN =kN addik. Az eddigiekben mindig feltteleztk, hogy az egyes rekordokat azonos gyakorisggal keressk vissza (ezt a soronkvetkez bekezds kivtelvel a tovbbiakban is feltesszk majd). A logikai szekvencilis szervezs azonban lehtsget ad ersen klnbz keressi gyakorisg rekordok olyan szekvenciba szervezsre, melynl a sorrendet a keressi gyakorisg cskken sorrendje szabja meg. Ilyen szervezs fizikai szekvencilis struktrban is lehetsges, a logikai szekvencilis struktra esetn azonban alkalmazhatak az u.n. nrendez algoritmusok is, melyek a gyakorisg ismerete nlkl, ill. vltoz gyakorisg mellett is lehetv teszi a gyakorisg szerinti szervezst. (A legegyszerbb ilyen algoritmus minden rekordot annak keresse utn az els helyre csatol. Ha nem is rhet gy el pontos gyakorisg szerinti rendezs, azt ez az egyszer eljrs is biztostja, hogy a gyakran hasznlt rekordok mindig az llomny elejn legyenek tallhatk.) A hierarchikus llomny struktrk A hierarchikus (faszer) struktrk szmtgpes brzolsra egyarnt elterjedtek mind a bels mutats (pointeres), mind a kls mutats (tblzatos) eljrsok. A.) Bels mutats eljrsok a.) Visszavezets szekvencilis struktrkra. E mdszereknl a fa egy megadott mdon val bejrst rgztjk. A legjellegzetesebb ilyen mdszer az u.n. a left-list mdszer. Sajnos az eljrs informcivesztssel jr: az eredeti fastruktra nem llthat vissza belle egyrtelmen. b.) Tbb mutat hasznlata. A rekordokban lehet annyi mutatt elhelyezni, ahny rkvetkezje (gyermeke) van az illet rekordnak. Az brzols teljesen egyrtelm, htrnyos tulajdonsga viszont, hogy - mivel a rkvetkezk szma tg hatrok kztt vltozhat - vagy igen rossz trolkihasznlssal, vagy vltoz hossz rekordok hasznlatval kell szmolnunk. c.) Kln kapcsolrekordok hasznlata. Ltszlag bonyoltja a helyzetet, ha az informcit hordoz rekordokon kvl egy jabb rekordtpust vezetnk be, mely csak a kapcsolatok lersra szolgl. Ugyanakkor ezzel a megoldssal elrhet, hogy egy-egy rekordban (a kapcsolrekordokat is belertve) legfeljebb kt mutat legyen, st az is, hogy ezek egyike "oldalra", msika "lefel" mutasson, ami a struktrt igen ttekinthetv teszi. d.) Gyrk alkalmazsa. Szoksos megolds a fban "fggleges" s "vzszintes" gyrket szervezni, melyekkel ugyancsak megoldhat, hogy egy-egy rekord ne tartalmazzon kettnl tbb pointert. B.) Kls mutats eljrsok a.) Tblzatok hasznlata. E tblzatokban az egyes rekordokhoz tartoz bejegyzsek adjk meg a rkvetkezket (esetleg a megelzt is). Mivel a rkvetkezk szma itt is ersen vltozhat, a tblzatok brzolsnl ugyanazokkal a problmkkal kell szembenznnk, mint a tbb mutats rendszer alkalmazsnl. b.) Binris mtrixok hasznlata. Binris mtrixokban brzolhatjuk, hogy egyes rekordok kztt van-e kapcsolat. A binris jellegen kvl az teszi - az egybknt nagymret mtrixokkal operl - mdszert hasznlhatv, hogy hierarchikus llomnyoknl elg a mtrix felt trolni (a msik flmtrix csak 0 elemeket tartalmaz). A hls llomny struktrk: A.) Bels mutats eljrsok a.) Visszavezets a hierarchikus struktrkra. Megkisrelhetjk a hls struktrkat hierarchikusra visszavezetni. Ez esetben gy kerlhetjk el az egyes elemek tbbszrs trolst, hogy azok helyett - egy kivtelvel - u.n. virtulis elemeket alkalmazunk (azaz olyan elemeket, melyek adatokat nem, csak azok helyre val utalst tartalmaznak. b.) Tbb mutats eljrsok. Ezek az eljrsok ugyangy hasznlhatk, mint a hierarchikus esetben, az elnyk s a htrnyok is ugyanazok lesznek. Itt azonban nem alkalmazhatak azok az eljrsok (kln kapcsolrekordok, gyrk), melyek kihasznljk a szintek

ltezst: a "vzszintes", a "fggleges" fogalmt. B.) Kls mutats eljrsok a.) Tblzatok hasznlata. A tblzatok alkalmazst illeten semmi lnyeges klnbsg sincs a hls s a hierarchikus eset kztt. b.) Binris mtrixok hasznlata. A binris mtrixok is ugyangy hasznlhatk, mint a hierarchikus llomnyoknl, itt azonban ltalban nem lesz elegend a fl mtrix trolsa. Asszociatv llomny struktrk Indexelt llomny struktrk A.) A sr indexels E szervezsi formnl az adatllomny minden ttelhez tartozik az index llomnyban egy index bejegyzs: egy kulcs cm pr. Ilyen mdon tbb szempont alapjn tbb index is szervezhet, az adatllomnyhoz j rekordok knnyen fzhetk (a vgre), az index bejegyzs ismeretben a keress gyors. Ugyanakkor nagymret index llomnyokban kell keresni, s azokat karban is kell tartani. Kulcskrds teht az index llomny szerkezetnek helyes megvlasztsa. Sok szempontbl az u.n. binris fk (olyan fk, melyek miden elemnek legfeljebb kt gyermeke van) hasznlata tnik elnysnek. Ha egy binris fa kiegyenslyozott (azaz az utols ill. s az utols eltti szint kivtelvel minden elemnek valban kt leszrmazottja van), a keress igen gyors benne: kzeltleg log2 N lpsre van szksg tlagosan. Ugyanakkor a kiegyenslyozottsg megtartsa j elemek beszrsnl igen idignyes. A gyakorlatban indexllomnyok ksztsre elssorban az u.n. B-fkat (Bayer fkat) hasznljk. (Ilyen struktrt alkalmaz a kzismert Turbo Access, a dBASE, a Clipper, a FoxPro, stb.) A B-fa lnyege, hogy az indexllomny lapokra van osztva, egy-egy lapon (a gykrelemet kivve) n s 2n kz es szm bejegyzs, s a bejegyzseknl eggyel tbb pointer van. (Ez az n szm jellemz a szervezsre.) Az ilyen llomnyok knnyen karbantarthatak, s a bennk val keress elg gyors: kzeltleg log n N lpsre van szksg tlagosan. B.) A ritka indexels E szervezsi formnl nem minden rekordhoz, csak bizonyos jelzpontokhoz tartozik bejegyzs. Termszetesen az eligazodshoz ez esetben valamilyen rendezettsg szksges. Az indexek ltalban tbb szintek, az als szint indexekben (sok bejegyzs) val eligazodst jabb ritka index segtheti. Jl pldzza a ritka indexelst a szoksos telefonknyv. Ilyen szervezs mellett igen gyors a keress, s az llomnyba arnylag knnyen lehet j rekordokat beszrni.Ugyanakkor ilyen index rendszer csak egy szempont alapjn szervezhet. C.) Az index-szekvencilis szervezs A ritka indexels egyik legnpszerbb megvalstsa az index-szekvencilis szervezs. Kifejezetten mgneslemezre terveztk: gy a legals (legritkbb) index a svindex. (A svokat technikailag amgy sem lehetsges mskppen, mint szekvencilisan feldolgozni.) F index Az index szintek:Cilinder index Sv index Minden egyes cilindert hrom rszre osztanak, hogy az azon lev terleteket fejmozgs nlkl lehessen elrni. Index terlet A lemez felosztsa: Elsdleges adatterlet Tlcsordulsi terlet Az llomny ltrehozsakor a rekordok az elsdleges adatterletre kerlnek, melyet csak rszben tltenek fel. A feltlts rendje fizikai szekvencilis. Ekkor rgztik az indexeket. Ha az elsdleges adatterlet betelik, a rekordok a tlcsordulsi terletre kerlnek, mutatkkal elltva, azaz logikai szekvencilis rendben. Az adatok keresse az index rendszeren keresztl trtnik. Termszetesen az indexszekvencilis llomnyokat idrl idre jra kell szerveznnk, azaz valamennyi rekordot az elsdleges terletre kell tlteni. Ellenkez esetben a feldolgozs nagyon lelassulhat. A direkt llomny szervezs A direkt szervezsnl a rekordok kulcsai s cmei kztt egy lekpezs hozza ltre a kapcsolatot. Termszetesen kvnatos lenne, hogy ez a lekpezs egy-egy rtelm legyen, vagyis, hogy a lekpezs ne rendeljen azonos cmeket klnbz kulcsokhoz (ltjuk majd, hogy ez a kvetelmny nem mindig teljesthet). A.) A lekpezsek A fenti kvetelmnyeknek eleget tv lekpezst kzvetlen lekpezsnek nevezzk. Erre plda egy olyan elkpzelt llomny, mely a teljes magyar lakossg adatait tartalmazza, s melynl a kulcsknt hasznlt szemlyi szm egyben a rekord llomnyon belli sorszma. (Binris szmtgpben brzolt kulcsokat minden tovbbi nlkl tekinthetnk numerikus rtkeknek, s az sem okozhat problmt, hogy cmknt az llomnyon belli

sorszmot tekintjk.) A kzvetlen lekpezsek sajnos tbbnyire katasztroflisan rosszul gazdlkodnak a trterlettel, s gy gyakorlatilag hasznlhatatlanok. (Megjegyezzk, hogy tekinthetjk ilyen szervezsnek a srn indexelt llomnyokat is, ezekre nem vonatkozik a rossz trkihasznlsrl szl megjegyzs.) A jobb trkihasznls rdekben kvetelmnyeinkbl engedni knyszerlnk. Az u.n. hashing algoritmusok olyan lekpezsek, melyek - lehetleg nem tl sokszor megengedik, hogy klnbz kulcsokhoz ugyanaz a cm tartozzk (ezek az u.n. szinonimok). Cserbe jobb trkihasznlsra szmthatunk. A tapasztalat azt mutatja, hogy 80-85%-os trkihasznls mellett 20%-nl nem tbb szinonim elfogadhat rtk. A leggyakoribb hashing algoritmusok: a.) a csonkts melynl lhagyjuk a kulcs olyan jegyeit, melyek nagy valsznsggel csak kevs rtket vesznek fel ( pl. a mr emltett szemlyi szmnl a hnapok tizes jegyei, stb.), s a maradk szmot tekintjk az llomnyon belli sorszmnak, b.) a maradk mdszer melynl a kulcsot egy m modulussal osztjuk, s a sorszm az oszts maradka lesz. (Clszer modulusknt prmszmot vlasztani.) E mdszer elnys tulajdonsga, hogy az eredetileg egyenletes elosztst nem rontja el. B.) A szinonimok kezelse Hashing algoritmusok esetn kln kell gondoskodnunk a szinonimok kezelsrl. a.) A kls lncols E mdszernl egy kln terleten troljuk a szinonimokat, melyeket mutatlnc kt ssze az eredeti (hashing algoritmus ltal adott) cmmel. Mivel elre nem lehet a szinonimok szmt tudni, a kln szinonimterlet fenntartsa akadlya a j trkihasznlsnak. b.) A bels lncols Itt is mutatrendszer kti ssze a szinonimot eredeti cmvel, azonban azt az elsdleges terlet egy res (s lehetleg az eredeti cmhez kzel es) helyre tesszk. A trterlet kihasznlsa j lesz, azonban lehetsges, hogy a szinonim ltal elfoglalt helyre ksbb ignyt tart annak "jogos" tulajdonosa, mely rekordbl gy "mszinonimot" csinlunk. Ennek kezelse az llomny feldolgozsakor tbb lpst ignyel. c.) A Peterson mdszer (nylt mdszer) A rekordok ugyanott helyezkednek el, mint a bels lncolsnl, azonban nem hasznlunk mutatkat. Az llomny struktrja egyszer, feldolgozsa azonban tbb lpst ignyel, mint ha a bels lncolst alkalmazzuk. d.) Tbbszrs hashing Ha a kiszemelt hashing algoritmus szinonimra vezet, alkalmazhatunk jabb s jabb ilyen algoritmusokat, mgcsak a problma el nem hrul. (A gyakorlatban kt hashing algoritmust hasznlnak, az esetlegesen mg marad szinonimokat az a.)-c.) mdszerek valamelyikt alkalmazzk.) e.) Bucket-ek (bugyrok) alkalmazsa Lehetsges az egyes cmekhez nem egy, hanem tbb rekordnyi helyet rendelni. gy kevesebb lesz a szinonimok kezelsre fordtand id, ugyanakkor minden keressnl az rintett bucket-et (pontosan tlagosan annak a felt) meg kell vizsglni. A mdszer hasznlata akkor indokolt, ha a trol fizikai tulajdonsgai (s a rekordok rvidsge) amgy is csak tbb rekord egyidej ki- ill. bevitelt teszik lehetv. C.) A szinonimkezel mdszerek sszehasonltsa E tmakrnek komoly, s nagy matematikai appartust megmozgat irodalma van, itt csak igen durva heurisztikus okoskodsra van mdunk. Kzponti trban val hasznlat esetn, elnytelen a tbbszrs hashing szmra a jelents algoritmusid (egy hashing algoritmus lefuttatsa jval hosszabb, mint egy cm trsa, vagy egy regiszter nvelse, amit a lncols ill. a nylt mdszer ignyel). A nylt mdszer tbb lpst ignyel mint a lncolsok, s algoritmusideje azokval sszemrhet. Jllehet a bels lncols hajszllal tbb lpst ignyelhet a klsnl (a "mszinonimok" miatt), nagyobb sllyal esik latba a j trkihasznls. gy ltalban a bels lncolst tudjuk javasolni. Mozgfejes lemeznl elnytelenek a sok fejmozgst ignyl mdszerek: ilyen a tbbszrs hashing s a kls lncols. Br a bels lncols elmletileg kevesebb lpst ignyel a nylt mdszernl, ha a szinonim rekord ugyanazon a svon van, mint az eredeti helye, a gyakorlatban ez az elny nem rvnyesl. Ugyanakkor, ha a szinonim az eredeti helyet kzvetlenl kveti (s ez igen gyakori eset), a nylt mdszer gyorsabb is lehet (nem kell a mutatkat feldolgozni). Vgeredmnyben teht ilyen esetekben tbbnyire a nylt mdszer javasolhat. Az adatbzis szemllet informcifeldolgozs

Egyfell a trolkapacitsok robbansszer nvekedse, msfell a felhasznli krnek a rendszertmogatsok ltal lehetv tett bvlse indokolta az j informci-feldolgozsi forma megjelenst az 1960-as vekben. E szemllet lnyege, hogy a rendelkezsre ll adatokbl indulunk ki, az sszes adatot s a kzttk fennll sszes kapcsolatot egy integrlt adatbzisba gyjtjk, s valamennyi felhasznl valamennyi krdshez ezt az adatbzist (vagy ennek egy rszt) hasznlhatja. A felhasznlk nagy rsznek nincs szksge a teljes adatbzisra, sokszor egy-egy felhasznlnak nincs is joga az adatbzisban mindenhez hozzfrni. Egy-egy felhasznli nzet (view) teht csak az adatbzis egy rszt lthatja. Ezen bell is szablyozand, hogy a ltott adatokkal mit tehet (ms egy adatot megnzni, vagy pl. megvltoztatni). Szksges teht, hogy legyen valaki, aki a felhasznlknl nagyobb hatskrrel rendelkezve, ezeket a jogokat kiossza s a munkt felgyelje. Ez a szemly, vagy csoport az adatbzis felgyel. Az joga s ktelessge az adatbzist megtervezni, elkszteni a teljes logikai struktrt ler smt, valamint az egyes nzetek ltal ltott adatbzis-rsz logikai struktrit ler alsmkat. Ugyancsak az adatbzis felgyel feladata az adatbzis mkdtetse sorn a felhasznlkkal val kapcsolattarts, az adatbzis logikai s fizikai struktrjnak a felhasznli ignyeknek megfelel mdostsa, valamint az adatbzis tartalmnak rendszeres mentse. A sma s alsma lersok az u.n. DDL (Data Definition Language: Adatler Nyelv) nyelven kszlnek ezt a nyelvet tbbnyire csak az adatbzis felgyelet hasznlhatja. A felhasznlk a lekrdezseket, adatvltoztatsokat a DML (Data manipulation Language: Adatmanipull Nyelv) nyelven eszkzlhetik. E nyelveknek kt nagy csoportja van. Egy Host Language (Beptett Nyelv) azoknak a programozknak ll rendelkezsre, akik az ltaluk korbban jl megismert magasszint nyelven kvnnak dolgozni, ezt a nyelvet egszti ki a rendszer adatbzisok kezelsre alkalmas utastsokkal, eljrsokkal. Egy Self Contained Language (nll Nyelv) teljesen kerek nll rendszer, ami lehet programozsi nyelv ppgy, mint egy paramterezssel kezelhet felhasznli fellet (erre plda a lgi- stb. trsasgok helyfoglalsi rendszerei). A tervezskor az adatbzis felgyelnek figyelembe kell vennie az adott informci-feldolgozs elzmnyeit, s nyitva kell hagynia a ksbbi vltoztatsok lehetsgt. Ezt segti el a logikai s fizikai adatfggetlensg. A logikai adatfggetlensg azt jelenti, hogy az adatok logikai struktrjban trtn vltoztats ne rintse az ezen vltoztatst nem ignyl felhasznlk munkjt. Hasonl kvetelmny a fizikai struktrval kapcsolatban a fizikai adatfggetlensg. A kt kvetelmny egyttes teljestse esetn beszlhetnk adatfggetlensgrl. Ugyancsak gyelni kell a tervezskor biztonsg (gphiba, termszeti csaps stb. elleni vdelem), a titkossg (illetktelen hozzfrsek megakadlyozsa v.. 6.pont), tovbb a pontossg (lehetleg ne kerljn az adatbzisba hibs adat) kvetelmnyeire. Mivel az adatbzisokat tbbnyire egyidejleg is tbben hasznljk, gondoskodni kell a vltoztat tranzakcik alatt az adatok lezrsrl, az ebbl add patthelyzetek felismersrl, a sikeres tranzakcik vglegestsrl, a sikertelenek visszagrgetsrl. Vgezetl nem hagyhatk figyelmen kvl a vlaszid s a kltsgek krdse sem. Az adatbziskezel rendszerek ptenek az opercis rendszerek data management rutinjaira, gy rendszerint a fizikai input/output lebonyoltst az opercis rendszerre bzzk. Az adatbzis kezel rendszereket illeten ezid szerint hrom modell (approach) ismeretes: a hierarchikus, a hls, s a relcis. A hierarchikus modell A legrgebbi modell, ma mr nem hasznlatos. A csoport jellegzetes kpviselje az IBM ltal ksztett IMS. Lnyege, hogy az adatokat fkban troljuk, ahol a fk egy-egy szgpontja a szegmens (segment) adatokat s a tovbbi szegmensekre utal mutatkat tartalmaz. A fk gykrelemei hagyomnyos llomnyokba vannak szervezve. Az egyes nzetek a szmukra rzkeny szegmenseket (sensitive segment) ltjk. A modell a hls struktrj feladatok lersra csak korltozottan alkalmas, ilyen

esetekben a lekrdezs hatkonysga ersen fgg az adatbzis struktrjval.A hls modell A hierarchikus modell ki nem elgt volta miatt hamarosan szksgess vlt az j modell kidolgozsa. Sok individulis prblkozs utn a CODASYL bizottsg ltal ltrehozott DBTG (Data Base Task Group) jelentsei (1969-1971) hoztk ltre azt a terminolgiai s metodolgiai kzs alapot, amin a hierarchikus rendszereket fejleszteni lehetett. Mintegy kt vtizedig ez a jelents volt a nagy adatbziskezel rendszerek tervezsnek alfja s omegja. A DBTG jelents terminolgiai javaslataibl mr hasznltunk nhnyat: ilyen pl. a sma, az alsma, DDL, DML stb. A legfontosabb metodolgiai jts a set fogalmnak bevezetse volt. A set egy rekordokbl ll ktszint fa, melynek gykreleme a tulajdonos (owner), levelei a tagok (members). Termszetesen egy-egy rekord lehet az egyik set-ben tulajdonos, egy msikban tag, s ugyangy lehetsges, hogy egy rekord tbb set-nek is tagja legyen. A set-ek segtsgvel a legbonyolultabb hls kapcsolatok is lerhatk. (Esetleg kapcsolrekordok bevezetsvel.) A msik fontos j fogalom a terlet (area), mely egytt kezelend rekordok egy halmazt jelenti. A hls adatbziskezel rendszerek egyik fontos reprezentnsa a Magyarorszgon is elterjedt IDMS (Integrated Data Management System), melyben a fentieken kvl rendelkezni lehet a set-ek tagjainak rendezsrl, a rekordok valamilyen hashing algoritmus szerinti elhelyezsrl, indextblk ksztsrl stb. is. E tulajdonsgok a hls adatbziskezel rendszereknek nem ktelez, de gyakori tartozkai. DML-knt a DBTG jelents a COBOL nyelv host language-knt val hasznlatt javasolta (akkoriban szinte kizrlag ktegelt (batch) feldolgozst hasznltak, s az elterjedt magasszint nyelvek kzl csak a COBOL volt alkalmas adatok manipullsra). A COBOL-t sok helyen hamar felvltotta a PLI, majd az interaktv feldolgozs trnyersvel a ms, ezt kihasznl felhasznli felletek is. A relcis modell A relcis modell tlete Codd 1970-es cikkbl szrmazik, gy lnyegben egyids a DBTG jelentssel. Mgis csaknem hsz vet kellet vrni arra, hogy ez a modell tvegye a vezet szerepet. Az ok: a szmtgpek kapacitsnak s sebessgnek kellet nvekednie ahhoz, hogy a relcis modellt hatkonyan implementlni lehessen. Mindenesetre napjainkban szinte kizrlag e modell alapjn kszlnek adatbziskezel rendszerek. A relci ebben az rtelemben tulajdonkppen egy tblzat (table) a gyakorlati szakirodalom gy is emlti. A tblzat oszlopai a tulajdonsgok (domains), a sorai az n-esek (tuples). A hagyomnyos terminolginak megfelelen azonban gyakran nevezik azonban a sorokat rekordnak, az egyes oszlopokhoz tartoz rtkeket meznek (field). A tblzattal kapcsolatos alapvet felttelezsek, hogy abban ne legyenek teljesen megegyez tartalm sorok vagy oszlopok, tovbb a sorok s az oszlopok sorrendje ne hordozzon informcit. Azt a mezt, vagy mezkszletet, mely a sort (a sor tbbi elemt) egyrtelmen meghatrozza, kulcsnak nevezzk. Karbantartsi anomlik s informcivesztsek elkerlse vgett a relcikat clszer normalizlni. A normalizls legfontosabb lpsei az albbi norml formkon t vezetnek. a.) 1NF A relcit elsrendben normalizltnak nevezzk, ha annak mezje elemi rtket (nem relcit) tartalmaz. b.) 2NF A relcit msodrendben normalizltnak nevezzk, ha elsrendben normalizlt, s amennyiben valamelyik mezjnek azonostshoz egy sszetett kulcs szksges, nincs olyan mez, melynek azonostshoz elegend ennek egy rsze. c.) 3NF A relcit harmadrendben normalizltnak nevezzk, ha msodrendben normalizlt, s a nem kulcs jellemzi nem fggenek egymstl. d.) BCNF A relcit BOYCE-CODD rtelemben normalizltnak nevezzk, ha a fentieken kvl teljesl az is, hogy egyetlen nem kulcs jellemz sem hatrozza meg egy sszetett kulcs valamelyik sszetevjt (nincs kulcstrs). Bizonythat, hogy minden relci felbonthat ilyen, normalizlt relcikra, ezt a mveletet nevezzk dekompozcinak. A relcik legfontosabb tulajdonsga, hogy azok exakt matematikai eszkzkkel kezelhetek. Ilyen eszkzrendszer a relcis algebra s a relcis kalkulus. A relcis algebra A.) A relcis algebra alapmveletei:1.) Uni: RkS Az R s az S relci unijn azt a relcit rtjk, melyben szerepelnek mindazon sorok, melyek akr az R, akr az S relciban szerepelnek. Az R s az S

relci (s termszetesen az eredmny relci) sorhossza meg kell egyezzk. 2.) Klnbsg: R-S Az R s az S relci klnbsgn azt a relcit rtjk, melyben csak azok a sorok szerepelnek, melyek benne vannak az R, de nincsenek benne az S relciban. 3.) Direkt szorzat: RkS A r sorhosszsg R s a s sorhosszsg S relci direkt szorzatn azt a relcit rtjk, melynek r+s hosszsg soraiban minden R-beli sort minden S-beli sor eltt elfordul. 4.) Projekci: k (R) Az R relci i1,i2,...ik osylopaira val projekcin azt a relcit rtjk, mely az R relcibl gy keletkezik, hogy elhagyjuk a felsoroltakon kvli oszlopokat. 5.) Szelekci: k (R) Az R relcinak az F felttel melletti szelekcijn azt a relcit rtjk, mely az R relcibl gy szrmaztathat, hogy abbl csak az F felttelnek eleget tv sorokat hagyjuk meg.Az F felttel az [i]k [j] (a sor i-edik s j-edik eleme kztt fennll k ) s az [i] kc (a sor i-edik eleme s a c konstans kztt fennll k) elemi kifejezsek logikai mveletekkel (k, k,k) val sszektsbl llhat. K tetszleges sszehasonlt opertort (k, k, kk, kk, k,k) jelenthet. B.) A kvetkezmny mveletek: A soronkvetkez mveletek voltakpp nlklzhetek, de a gyakorlatban jl lehet ket hasznlni. 1.) Metszet: RkS RkS = R - (R - S) 2.) Hnyados: RkS Az R s az S relci hnyadosn azt a relcit rtjk, melyre igaz, hogy (Rk S)k S sszes sora Rbeli sor. (Feltesszk, hogy r > s, s s k 0.) A hnyados valban kvetkezmny mvelet. Legyen ugyanis T = k (R), tovbb V = k1 ((TkS)-R). Ekkor belthat, hogy RkS = T - V. 3.) Feltteles kapcsolat (k join): R * S=k (RkS) [i]k[j] [i]k[r+j] 4.) Termszetes kapcsolat (natural join): R * S Hasonl a feltteles kapcsolathoz de itt a szelekci felttele az, hogy az azonos nev oszlopokban azonos rtk szerepeljen. Termszetesen a szelekci utn projekcira is szksg lesz, az azonos tartalm oszlopok egyikt meg kell szntetni. C.) Plda a relcis algebra alkalmazsra Tekintsk az albbi adatbzist: legyen hrom relcink. a.) Autk: jele A Mezi: rendszm, gyrtmny, tpus, szn, ...... b.) Emberek: jele E Mezi: szemszm, nv, foglalkozs, cm, ..... c.) Kapcsolat: jele K Mezi: forgrsz, szemszm. Feladat: keressk ki a srga opelek tulajdonosainak foglalkozst. A megolds: R1 =kl (A) R2 =k (R1) R3 = R1 * K rendszm=forgrsz R4 = k (R3) R5 = R3 * E R6 = ks (R5) Termszetesen mindezt egy formulba is foglalhatjuk: kf(k (k (k (A))*K)*E). rendszm=forgrsz A relcis kalkulus A msik relcik kezelsre hasznlatos matematikai mdszer a relcis kalkulus. Az albbi formj kifejezseket vizsgljuk: {t | k(t)}. Ennek jelentse: azokat a t sorokat tekintjk, melyek kielgtik a k (t) formult. A formula kvetkez atomokbl plhet fel: a.) R(s) azt jelenti, hogy az s sor rsze az R relcinak, b.) u[i] k v[j] azt jelenti, hogy az u sor i-edik s a v sor j-edik eleme kztt fennll a k viszony, c.) u[i] k c azt jelenti, hogy az u sor i-edik eleme s a c konstans kztt fennll a k viszony. Az atomok nmagukban is formulk, de azokat a logikai mveletek jeleivel (k, k,k) sszekthetjk, ezenkvl a k (van olyan, hogy) s a k (minden olyan) s a zrjelek is hasznlhatak. A relcis kalkulus eszkzeivel minden felrhat, amit a relcis algebrval kifejezhetnk. Ez egyszeren belthat az alapmveleteknek megfelel kifejezsek felrsval.1.) Egyests {t | R(t) k S(t)} 2.) Klnbsg {t | R(t) k kS(t)} 3.) Direkt szorzat {t|(kkku)(k v)(R(u) kS(v)k t[1]=u[1]k......k t[r]=u[r]k t[r+1]=v[1]...k t[r+s]=v[s]} 4.) Projekci{t(k) | (ku)(R(u) kt[1]=u[i1] k...k t[k]=u[ik]} 5.)Szelekci {t | R(t) kF} Ugyanakkor kszthetnk olyan kifejezseket is, melyek a relcis algebrban nem fejezhetk ki. Pl. {t | kR(t)}. Knnyen lthat, hogy ennek a kifejezsnek nem sok rtelme van. Az effajta kifejezsek kizrsval ltrehozhatjuk az u.n. biztos kifejezsek krt. Ehhez szksg van a DOM fggvny bevezetsre. Egy k formulhoz rendelt DOM(k) azoknak az elemeknek a kszlett jelenti, melyek a k formulban kzvetlen, vagy kzvetett mdon emltsre kerlnek. Ahhoz, hogy egy kifejezs biztos legyen, az albbi feltteleknek kell eleget tennie. 1.) Ha egy t sor kielgti a k formult, miden komponense tagja DOM(k)-nek. 2.) kminden (ku)(k (u)) formj rszkifejezsre ahol u kielgti k(u)-t, u minden komponense tagja DOM(k)nak. A biztos kifejezsek kszletrl mr belthat, hogy equivalens a relcis

algebra kifejezskszletvel. Lekrdezs relcis rendszerekben Az els lekrdez rendszerek pusztn a relcis algebra vagy kalkulus szmtgpes megvalstst tztk ki clul. (Ilyen pldul az IBM ltal kifejlesztett ISBL.) Ez azonban nem elgthette ki a felhasznli felletekkel kapcsolatos egyre magasabb ignyeket. Viszonylag korai nyelv az ugyancsak IBM termk QBE (Query by Example), mely tblavzak (skeleton) rszbeni kitltse utn a tblzat fennmarad rsznek kitltsvel ad vlaszt a felhasznl krdseire. Ez a technika a legjabb rendszerekben is megtallhat. A QBE vltoz vektorok alkalmazsval tette lehetv az egyes relcik sszekapcsolst. A.) Az SQL Manapsg szabvnynak tekinthet az SQL (Structured Query Language), melyet szinte minden korszer adat-bziskezel rendszer "rt".Az SQL - nmikpp eltren a hagyomnyos szoksoktl - ngy nyelvet, ill. rsznyelvet tartalmaz. a.) A DDL Ezen lehet tblkat, nzettblkat (view) s indexeket ltrehozni (CREATE), tblkat mdostani (ALTER), valamint tblkat, nzettblkat s indexeket megszntetni (DROP). b.) A DCL (Data Control Language) E nyelv feladata ketts, egyrszt ide tartozik a jogostvnyok kiosztsa s visszavonsa (GRANT, REVOKE), msrszt e nyelven lehet a tranzakcikat vglegesteni, ill. visszagrgetni (COMMIT, ROLLBACK). c.) A DML E rsznyelv tartalmazza a rekordok beszrshoz (INSERT), mdostshoz (UPDATE) s trlshez (DELETE) szksges utastsokat. d.) A QUERY Ez a rsznyelv egyetlen utastsbl ll (SELECT), mely azonban a legsszetettebb krdsek megfogalmazsra is alkalmas. B.) A negyedik genercis nyelvek (4GL) A modern adat-bziskezel rendszerek mg az SQL-beli "programozst" is meg akarjk takartani a felhasznlnak. Klnfle paramterezhet form, report, menu stb. genertorok teszik ezt lehetv. Osztott adatbzisok kezelse A nagy hlzatok s az ezek kvetkeztben sok tvoli lekrdezs a 80-as vekre ersen megnvelte a kommunikcis kltsgek rszarnyt az adatbzis-kezels kltsgein bell. Ez a tny sugallta az tletet: prbljuk meg az adatokat a felhasznls kzelben elhelyezni. Az eredmny: egy fizikailag megosztott, de logikailag egysges adatbzis. Az osztott jelleg a felhasznl szmra nem lthat (transzparens), ugyanakkor tbb jellegzetes elnnyel s htrnnyal jr. Az elnyk: 1.) A kommunikcis kltsgek mr emltett cskkense. 2.) Mindenki a szmra ismers adatokat gondozza. 3.) Egy-egy csompont kiesse esetn a tbbi adatai tovbbra is elrhetek. 4.) Lehetsges a modulris tervezs, a rugalmas konfigurls. 4.) Hosszabb id alatt a rendszer gpei akr ki is cserlhetk.A htrnyok:1.) A rendszer bonyolultabb s sebezhetbb lesz, 2.) Nem knny minden csompontra egyformn j szemlyzetet tallni, msrszt, ha tallunk fenyeget a szuboptimalizci veszlye. 3.) Mindig valamennyi gpnek mkdnie kell. 4.) Tbbfle hardvert s szoftvert kell a rendszernek kezelnie s "sszehoznia". 5.) Bonyolult a jogosultsgok ellenrzse (a jogosultsgokat ler tblzatokat hol troljuk: egy csompontban, vagy mindentt?). Kln problmt jelent, ha feladjuk a redundancia-mentessg elvt. Erre okot szolgltathat az is, ha nem eldnthet egyegy adatrl, hogy hol hasznljk legtbbet, de biztonsgi okokbl is dnthetnk egyegy adat tbbszrzse mellett. Ilyen estekben biztostanunk kell, hogy az egyes pldnyok tartalma azonos legyen, azaz a rendszer konzisztens maradjon. Az els osztott rendszerek megvalstshoz nagy segtsget nyjtott az u.n. backend gpek felhasznlsa. Az adatok elhelyezse tervezskor az adatbzis felgyel feladata (Mivel az osztott rendszereknl megkell klnbztetnnk kzponti s csomponti adatbzis felgyeletet, pontosabban a kzponti adatbzis felgyelet). A mr mkd rendszerek automatikusan is kpesek a felhasznls gyakorisgt figyelve a kpik szmn s elhelyezkedsn vltoztatni. Az adatbzis felgyel szmra tbb elemzsi mdszer ll rendelkezsre dntsei meghozatalakor. a.) A forrs-nyel elemzs Elssorban a felhasznls gyakorisgt kell vizsglnunk.Nem mindegy azonban, hogy a felhasznl csompont nyel (azaz csak olvassa az adatot, s gy a felhasznlskor elg a legkzelebbi pldnyt megtallnia), vagy forrs (mely az adatot ltrehozza, vagy mdostja). b.) Az ABC elemzs Az adatok kategrikba sorolhatk "nlklzhetetlensg" szerint. Ezekhez a kategrikhoz

10

klnbz minimlis kpiaszmot rendelhetnk. c.) Az rzkenysg elemzs A klnbz csompontok kltsg/teljestmny arnya ms s ms lehet. Nyilvnval, hogy a teljestmnyt "kevsb rzkeny" csompontoknl nvelni, az "rzkenyebbeknl" cskkenteni kell. Emltettk mr a konzisztencia megrzsnek fontossgt. Ez a szinkronizcis protokollok feladata. E protokollok vagy biztostjk az ers konzisztencit (vagyis azt, hogy egy-egy adat kpii egyszerre vltozzanak meg), vagy a gyenge konzisztencia (amikor az adatbzis hosszabbrvidebb ideig inkonzisztens marad) mellett gondoskodnak arrl, hogy ez ne okozhasson problmt. A konzisztencia mrszma a koherencia, mely ers konzisztencinl azonosan 1 rtk, gyenge konzisztencinl pedig 1-hez tart. Kvetkeztetskpp a koherencia konvergencija a konzisztencia felttele. A szinkronizcis protokollokat kt rszre oszthatjuk. A kzpontostott protokollokban az egyik (nem felttlenl mindig ugyanaz) csompont szerepe kitntetett, az osztott protokolloknl ilyen nincs. A.) Kzpontostott protokollok a.) A kzponti zrellenrzs Egy lland kzpont vgzi el a vltoztatsokhoz szksges lezrsokat. Mkdse hasonlt az osztatlan adatbzisoknl megszokotthoz. A kzpont srlsre rzkeny, csak statikus adatbzisoknl hasznlhat, ersen konzisztens mdszer. b.) A zseton mdszer Egy, a csompontok kztt krbejr "zseton" jelli ki az alkalmi kzpontot, mely a vltoztatsokhoz szksges lezrsokat elvgezheti. Igen kedvelt, ersen konzisztens mdszer. c.) Az elsdleges pldny mdszer Egy adat kpiit egy szekvenciba szervezzk, s a vltoztatsok csak ennek mentben trtnhetnek. Mivel a tranzakcik nem elzhetik meg egymst, nem okoz gondot, hogy a mdszer gyengn konzisztens. Elnye, hogy az ideiglenesen mkdskptelen csompontok jra munkba lltsa egyszer B.) Osztott protokollok Az idblyeg mdszer E mdszernl a tranzakcik elindtsuk idpontjbl s a csompont azonostjbl egy idblyeget kapnak, mely meghatrozza vgrehajtsuk sorrendjt. A tvolsgbl add flrertseket rendszeres dummy zenetek kldsvel kerlik el. A mdszer gyengn konzisztens. Szakrti rendszerek Az informcikezels legfiatalabb ga az u.n. szakrti rendszerek ksztse. Felptsk ill. elksztsk alapvet smja a kvetkez. A felhasznl egy felhasznli fellettel (user interface) ll kapcsolatban, mely program a felhasznl s a rendszer kztti dialgust vezrli. A felhasznli fellet a kvetkeztet rendszerhez (inference engine) kapcsoldik. Ez a rendszer "lelke" mely a tudsbzis s esetleg egyb adatbzisok felhasznlsval a vlaszokat kidolgozza. Az okoskods, kvetkeztets (reasoning) lehet adat- vagy clvezrelt. A tudsbzis szablyok s lltsok gyjtemnye, melyet a tudsmrnk (knowledge engineer) tlt fel egy terleti szakrt (domain expert) tudsnak szmtgpben trolhat alakra "fordtsval" (a szakrti rendszerek - ezid szerint legalbbis - csak egy-egy elg szk tudomnyterletet lelnek fel). Fontos, hogy az eredeti s a szmtgpes tuds kztti fordtsi szakadk (semantic gap) a lehet legkisebb legyen. Szmos szakrti rendszerek ksztsre alkalmas keretrendszer (shell) ll a felhasznlk rendelkezsre, melyben a felhasznli fellet, a kvetkeztet rendszer s a tudsbzis struktrja adott. Egyes rendszereknl azonban ezek a komponensek is tbb-kevsb vltoztathatk. A fejleszts, vltoztats a rendszermrnk (system engineer) feladata. A szakrti rendszereknek nem csak biztos lltsokat kell kezelnik, mind a rendszerbeli tuds, mind a felhasznl vlaszai tartalmazhatnak bizonytalansgot. Ezt a -100 s 100 kz es bizonyossgi tnyezvel (CF = certainty factor) rhatjuk le. Az egyszer lltsokon s sszefggseken kvl e rendszerek specilis adatelemeket, sszetett s hierarchikban megjelen vzakat (frame) s aktv u.n. dmonokat is tartalmazhatnak. Alapvet elvrs a szakrti rendszerekkel kapcsolatban, hogy kvetkeztetseiket megmagyarzzk, s a modern rendszerek tanulni is kpesek. Az adatok bizalmas kezelse A modern ipar, kereskedelem, llamigazgats, stb. (azaz a trsadalom) zavartalan mkdshez azt jl kiszolgl informatikai rendszereket ignyel. Alapvet fontossg ezen rendszerek vdelme a behatols szabotzs, stb. ellen. Az USA-ban mr a 80-as vekben kimutattk, hogy egy-egy

11

szmtgpes bncselekmny nagysgrendekkel nagyobb krt okoz, mint egy tlagos bankrabls. A vdelemnek alapveten hrom formja van: a.) a.) fizikai vdelem mely az adatokhoz val illetktelen hozzfrst fizikailag prblja megakadlyozni (Zrt, rztt szmtkzpont, stb.. A modern rendszerekben az adatok ilyenfajta vdelme a mholdas adattvitel elterjedse ta alig lehetsges, hisz az ilyen vonalak vtelnek megakadlyozsa fizikailag lehetetlen.), b.) az gyviteli vdelem mely a kvetend biztonsgtechnikai szablyokat, ktelez viselkedsi mdokat, tovbb a ktelez dokumentls rendjt rja el (elssorban a felelssgkrdst szablyozza), c.) az algoritmikus vdelem olyan algoritmusok sszessge, mely a fentieket hatkonyan elsegt, kiszolgl algoritmusokat tartalmaz. (Mi csak ezzel foglalkozunk.) Az algoritmikus vdelem is tovbb oszthat: a rejtjelezs s az zenethitelests lehetv teszi az adatok vdetlen kzegen val tovbbtst, a felhasznl azonosts a rendszert hasznl szemlyek egyrtelm azonostsra szolgl (ugyanez a feladata szmtgpek kapcsolata esetn a partner azonostsnak), a hozzfrs vdelem megakadlyozza az egybknt jogos felhasznlt abban, hogy hatskrt tllpje, vgl a digitlis kzjegy az elkldtt zenetek letagadst akadlyozza meg. A rejtjelezs Rgta ismeretes, hogy a vdhetetlen kzegen tjuttatand x zenetet valamilyen y = E(x) transzformcival torztani rdemes, termszetesen gy, hogy az zenet cmzettje kpes legyen az inverz x = D(y) transzformcira. A transzformciktl elvrjuk, hogy (legalbbis az zenet "rvnyessgi idejn" bell) kvlll szmra megfejthetetlenek legyenek, a cmzett ugyanakkor gyorsan s knnyen megrtse azokat. Mivel nem knny nagyszm megfelel E-D prt ellltani, nem egy, hanem ktvltozs transzformcikat clszer alkalmazni, ahol a msik vltoz az esetenknt cserlhet kulcs. gy a transzformcik akr nyilvnosak lehetnek, csak a kulcsok titkos kezelst kell megoldani. Ha az E transzformcinl alkalmazand Kr rejtkulcsbl ennek D transzformcinl alkalmazand Kf fejtkulcs prja knnyen meghatrozhat, konvencionlis kdolsrl beszlhetnk, ellenkez esetben a kdols nyilvnos (rejt) kulcs. A.) A konvencionlis kdols A legels konvencionlis kdolsi eljrs Julius Caesar nevhez fzdik: zenteiben a latin abc minden betje helyett a rkvetkez harmadikat hasznlta. Fleg katonai krkben alkalmaztk a kvetkez eljrsokat. a.) Helyettests A nylt szveg minden betjt megadott rend szerin egy msikkal helyettesthetjk. (Pl. az abc-hez egy abc permutcit rendelnk.) A nyelvi sajtossgok (betk gyakorisga) alapjn megfejthet. b.) Periodikus helyettests Az elzhz hasonl de tbb helyettestsi szablyt hasznlunk periodikusan cserlve (pl. tbb abc permutcit). Ez is megfejthet: azonos betkombincikbl lehet a peridus hosszra kvetkeztetni, s ezutn az egyszer helyettestsnl lertakhoz hasonlan okoskodni. c.) Kulcsfolyamos rejts A helyettestst aperiodikuss tesszk. A helyettestst egy szveg vezrli, az abc hossznak megfelel szm klnbz abc permutcibl ll mtrixban a rejtend szveg betjnek megfelel oszlopban s a kulcsszveg soron kvetkez betjnek megfelel sorban ll bet lesz a rejtett szveg kvetkez betje. A agymret mtrix trolst elkerlend, vlaszthatjuk az i-edik sort az abc i lpses eltolsnak. A betk reprezentlhatak az abc-n belli sorszmaikkal. Ekkor a kdols (s a dekdols) leegyszersdik a kdoland (dekdoland) s a kulcsszveg megfelel betinek (mod abc hossz) val sszeadsra. Sajnos ez a kdols is feltrhet (egy betsorozatbl kt szveg bonthat ki!). A ulcsfolyamos rejtshez hasonl kdolsi eljrs a szmtstechnikban is alkalmazhat: ha a a kdoland s a kulcsfolyam mod 2 sszeadsa a kdols, ugyanez lehet a dekdols mdja is. A kulcsfolyamot valamilyen vletlenszm genertor llthatja el, ekkor kdolsi kulcsknt csak ennek elindtsi mdjt kell a partnereknek egyeztetnik. Sajnos az elbbiekben vzolt mdszer nagyon rzkeny a szinkronitsra (egy bit kiesse az egsz zenetet rtelmetlenn teszi). Ezrt az zeneteket tbbnyire blokkokba rendezik, s gy kldik el. A

12

rejtjeltvzs azt jelenti, hogy tbb egyszer transzformci egyms utni alkalmazsval lnk. 1949-ben Shannon javasolta a kever transzformcik bevezetst, mely vltakozva helyettestsek (s-rteg) s permutcik (p-rteg) egymsutnjbl ll. A Shannon fle elvek tovbbfejlesztse alapjn ksztette az IBM a 60- as vek msodik felben a LUCIFER berendezst (128 bites blokkok, 128 bites kulcs, 6-7 emberv fejlesztsi munka). Ezt kvette az egyetlen LSI ramkrrel elkszthet DES (Data Encryption Standard, 64 bites blokk, 56 bites kulcs). Ez utbbi 1977 ta USA szabvny. A DES-t szmos tmads rte, de az id a fejlesztket igazolta. (Diffie, Hellman egy elmleti gpet is szerkesztett a DES-sel kdolt zenetek feltrsre. A gp fl nap alatt feltrte volna az zeneteket, de teljestmny-felvtele 2 Mw lett volna, gy gondolatkisrlet maradt.) B.) A nyilvnos (rejt) kulcs kdols E mdszerek alapja valamilyen nehezen invertlhat u.n. egyirny (trap-door) fggvny. Az MIT eljrsnl ahhoz, hogy a rejtkulcsbl a fejtkulcs meghatrozhat legyen, egy tbbszz jegy szmot kell prmtnyezkre bontania. Mg egy szm prmtnyezibl val ellltsa (sszeszorzsa) egyszer s gyorsan megvalsthat munka (nhny szz jegy szmokkal 1ksec alatt lehet mveleteket vgezni, ugyanakkor a ma ismert leghatkonyabb eljrssal egy 200 jegy szm prmtnyezkre bontshoz 3.8*109 vre van szksg.) Egy msik ismert megolds, a Merkle-Hellman mdszer az u.n. lefedsi feladaton alapszik. A kulcsgondozs Nyilvnval, hogy ha a kulcsok megfelel vdelme nem biztostott, az egsz kdolsi rendszer rtelmetlen. A kulcsok gondozsa hrom feladatbl ll. A.) Kulcsgenerls Az a mvelet, melynek eredmnyekppen a kulcsok elllnak. Egy valdi vletlenszm genertor segtsgvel vgrehajthat. B.) Kulcskioszts a.) Alapkulcsok A kulcsok kiosztsa trtnhet egy alapkulcs kszleten keresztl, melyet rendszeren kvli eszkzkkel juttatnak el a rsztvevkhz. Az alapkulcsokat, melyek gyakran nyilvnos kulcs rendszerhez tartoznak, csak a kulcsok cserjhez hasznljk. b.) Merkle "rejtvny" mdszere A hv fl n db (Ki, Ii) prt kld partnernek gyengn kdolva. Ez egyet kivlaszt, feltri, s Ii-t visszakldi. Ezzel a kommunikci kulcsa meghatrozott. A behatolnak tlagosan a prok felt kell ahhoz feltrnie, hogy megtudja, Ii-hez melyik Ki tartozik. c.) A "hatvnyozs" mdszer A mdszer alapja, hogy az i s a j felhasznl kitall egy-egy xi ill. xj szmot. Egymskzt kicserlik az Yi = kxi (mod p), ill. az Yj = k xj (mod p) szmokat (p prmszm, k a p elem vges test egy primitv eleme), a kommunikci kulcsa a K = kj szm (vagy annak valamilyen fggvnye) lehet. Ennek ellltsa Yj s xi vagy Yi s xj ismeretben egy egyszer hatvnyozst ignyel, a behatolnak viszont a diszkrt logaritmuskpzs a feladata. C.) Kulcstrols Nehzsgeket okozhat, ha a kulcsokat akr tl kevs, akr tl sok ember ismeri. (Az els esetben esetleg szksg esetn nem ll rendelkezsre a kulcs, a msodik esetben nagy a kiszivrgs veszlye.) Megoldst jelentenek az u.n. (n,k) kszbrendszerek. E rendszerek lnyege, hogy a kulcsot n db. (nem felttlenl diszjunkt) rszre osztva, brmelyik k kulcsrszletbl a kulcs elllthat, de nincs olyan k-1 kulcsrszlet, amibl ez megtehet lenne. Ilyen kszbrendszerek ksztsre tbb matematikai mdszer is rendelkezsnkre ll. Felhasznl s partner azonosts, hozzfrs vdelem A.) A felhasznl azonosts a.) A jelszvdelem Taln a legrgebbi felhasznl azonostsi md a jelszavak hasznlata. A mdszer hasznlhatsgt azonban cskkenti, hogy a tl hossz s rtelmetlen jelszavakat nehz megjegyezni, ugyanakkor a rvid s rtelmes szavak gyakran egyszer prblkozssal kitallhatak. Ezrt a jelszavakat clszer gyakran vltoztatni. Ez tbbfle alapon trtnhet a legbiztosabb valami elre rgztett algoritmust hasznlni. A jelszavakat a szmtgpes rendszer nem kzvetlenl, hanem valamilyen egyirny transzformci alkalmazsa utn trolja, gy a trol tblzatbl sem lehet azokat megllaptani b.) fizikai azonost hasznlata A felhasznlk azonostsra

13

gyakran hasznlnak valamilyen fizikai eszkzt. A legelterjedtebbek a klnfle azonost krtyk. Ezek nehezen hamisthatk, de knnyen el lehet ket lopni. Jelentsen fokozhatja a biztonsgot a fizikai azonost eszkz s a jelsz egyttes hasznlata. c.) szemlyi jellemzk Nem lophatk el, s nem hamisthatk a klnfle szemlyi jellemzk (ujj- vagy tenyrlenyomat, recehrtya erezet, stb.). E jellemzk szmtgpes trolsa s kirtkelse mg nem teljesen megoldott, a biztat eredmnyek azonban azt sugalljk, hogy a jv tja erre keresend. B.) A hozzfrs vdelem Nem elegend kiszrni a jogosulatlan behatolkat, a rendszernek azt is szmon kell tartania, hogy a jogos felhasznlk hatskre mire terjed ki. A felhasznl ltal mkdtetett gynk folyamatok hatskrt a hozzfrsi mtrix szabja meg. Ennek elemeit akr gynkkhz, akr adatokhoz kttten trolhatjuk. C.) A partnerazonosts A szmtgp-szmtgp kapcsolatokban is szksg lehet azonostsra. E clra fenntarthat minden szmtgp pr egy-egy kulcsot, ez azonban egy n elem hlzatnl n2 kulcsot jelent. Folyhatnak az informcicserk valamilyen hitelest kzponton keresztl, ez azonban a kommunikci kltsgt nveli jelentsen. Megoldst jelenthet, ha minden csompont egy, csak a hitelest kzpont ltal ismert kulccsal tud e kzponthoz bejelentkezni, s zenet tovbbtsi ignyt bejelenteni. A kzponti jelli ki a kommunikci kulcst, melyet a fenti kulccsal kdolva a hvnak visszakld. Ugyancsak kld emellett egy csomagot, mely a hvand fl kulcsval kdolva tartalmazza a kommunikci kulcst, s a hv megjellst. Ha a hv e csomagot a hvott flhez tovbbtja a prbeszd kettejk kztt folytatdhat, s az azonosts is kielgt biztonsggal trtnt meg. zenethitelests, digitlis kzjegy Az zenetek hitelestshez kt felttele van, egyrszt ellenrizni kell, hogy egy-egy blokkban az s csak az rkezett-e a cmzetthez amit a felad feladott, msrszt tudnunk kell azt is, hogy az egyes blokkok abban a sorrendben rkeztek e meg amilyenben feladtk ket (idertve azt is, hogy nem hinyzik-e kzlk). Az els clhoz ellenrz sszegeket, a msodikhoz sorszmot clszer a blokkban elhelyezni mg a kdols eltt. A digitlis kzjegy arra szolgl, hogy segtsgvel a cmzett megbizonyosodhassk egy zenet feladjrl s bizonythassa, hogy az illettl kapott ilyen zenetet. Olyasmire van szksg teht mint az alrs, ami knnyen azonosthat, de nehezen hamisthat. A cl elrhet gy is, hogy a knyes kommunikcit egy hitelest kzpont kzbeiktatsval vgezzk (mintha tan eltt beszlnnk) ez az u.n. nem valdi digitlis kzjegy. Elegnsabb megolds a valdi digitlis kzjegy. Ehhez egy nyilvnos kulcs kdolsi rendszer lehet felhasznlni, mgpedig olyant, mely "megfordthat", azaz E(D(x)) = x (az ltalunk emltett mdszerek ilyenek). Hasznljuk a kdolsi mdszert fordtva, azaz gy, hogy a titkos fejt kulccsal rejtnk (s nyilvn a nylt rejt kulccsal fejtnk). Ekkor a cmzett, ha a nylt kulccsal fejthet zenetet kap, biztos lehet abban, hogy azt csak a titkos kulcsot ismer felad kldhette. Ugyanakkor - mivel a cmzett nem ismeri a titkos kulcsot - ha rendelkezik az zenetnek a nylt kulccsal megfejthet kdolt vltozatval, nyilvnval, hogy azt nem kszthette, azaz az zenet a feladtl szrmazik.

14

You might also like