szte hampel györgy - adatbázisok (2003, 135 oldal)

135
Szegedi Tudományegyetem Szegedi Élelmiszeripari Főiskolai Kar Adatbázisok (második, javított változat) Összeállította: Hampel György főiskolai adjunktus 2003.

Upload: winnetou-lakatos

Post on 16-Sep-2015

11 views

Category:

Documents


6 download

DESCRIPTION

Adatbázisok

TRANSCRIPT

  • Szegedi Tudomnyegyetem Szegedi lelmiszeripari Fiskolai Kar

    Adatbzisok (msodik, javtott vltozat)

    sszelltotta: Hampel Gyrgy

    fiskolai adjunktus

    2003.

  • adatbzisok.doc 2003.09.09. - 2 -

    Tartalomjegyzk 1. Az adatbzis-kezels alapfogalmai ..................................................................... 4

    1.1 ttekints ..................................................................................................... 4 1.2 Adat s informci........................................................................................ 5 1.3 Adatbzis ..................................................................................................... 6 1.4 Az adattrols struktrja............................................................................. 7 1.5 Adatbzis-kezel rendszer ......................................................................... 12 1.6 Alkalmazi segdprogramok ...................................................................... 15 1.7 Adatbzisrendszer...................................................................................... 19 1.8 Informcis rendszerek .............................................................................. 24

    2. Adatmodellek..................................................................................................... 27 2.1 Hierarchikus adatmodell ............................................................................. 30 2.2 Hls adatmodell........................................................................................ 32 2.3 Objektum-orientlt adatmodell ................................................................... 33 2.4 Egyed-kapcsolat adatmodell ...................................................................... 34 2.5 Relcis adatmodell ................................................................................... 39 2.6 Egyed-kapcsolat modellbl relcis adatmodell......................................... 45

    3. A relcik norml alakjai.................................................................................... 49 3.1 Normalizls .............................................................................................. 49 3.2 Funkcionlis s tbbrtk fggsg ......................................................... 50

    3.2.1 Funkcionlis fggsg ........................................................................ 50 3.2.2 Tbbrtk fggsg .......................................................................... 52

    3.3 Els norml forma (1NF) ............................................................................ 53 3.4 Msodik norml forma (2NF)...................................................................... 55 3.5 Harmadik norml forma (3NF).................................................................... 56 3.6 Negyedik norml forma (4NF) .................................................................... 57 3.7 tdik norml forma (5NF)......................................................................... 58 3.8 A normalizls eredmnye......................................................................... 59

    4. Mveletek, relcis algebra............................................................................... 60 4.1 tnevezs .................................................................................................. 61 4.2 Szelekci (Korltozs)................................................................................ 61 4.3 Projekci (vetlet)....................................................................................... 62

  • adatbzisok.doc 2003.09.09. - 3 -

    4.4 Keresztszorzat............................................................................................ 63 4.5 Uni (Halmazegyests) ............................................................................. 64 4.6 Metszet....................................................................................................... 64 4.7 Klnbsg .................................................................................................. 65 4.8 sszekapcsols ......................................................................................... 66 4.9 Oszts ........................................................................................................ 67 4.10 Kiterjeszts................................................................................................. 68 4.11 Csoportosts ............................................................................................. 68

    5. Az adatbzis-tervezs lpsei........................................................................... 70 5.1 1. fzis. Az ignyek sszegyjtse, elemzse, a feladat specifikcija...... 70 5.2 2. fzis. A koncepcionlis terv elksztse. ................................................ 71 5.3 3. fzis. Az adatbzis-kezel rendszer kivlasztsa................................... 73 5.4 4. fzis. Adatbzis-kezel rendszertl fgg lekpezs. ............................ 73 5.5 5. fzis. Fizikai tervezs. ............................................................................ 74 5.6 6. fzis. Megvalsts................................................................................. 75

    6. A dBase-tpus adatbzis-kezelk .................................................................... 77 6.1 Adatbzis-kezels FoxPro-ban................................................................... 79 6.2 A FoxPro programozsa ............................................................................ 82

    7. Az SQL lekrdez nyelv .................................................................................... 94 7.1 Adatbzis-kezels Access-ben..................................................................102 7.2 Az Access programozsa..........................................................................108

    8. Nagy adatbzisok.............................................................................................128 8.1 Adattrhzak .............................................................................................129 8.2 zleti intelligencia rendszerek...................................................................132

    Felhasznlt s ajnlott irodalom ..............................................................................135

  • adatbzisok.doc 2003.09.09. - 4 -

    1. Az adatbzis-kezels alapfogalmai

    1.1 ttekints

    A szmtstechnika fejldsnek egyik jellemzje, hogy egyre tbb felhasznl egyre

    tbb, szmtgpen trolt adatot hasznl fel. Az egyre nvekv informcimennyisg

    egyre szlesebb krben vlik elrhetv. Mivel a folyamat teljes joggal mrhet a

    knyvnyomtats jelentsghez, ezrt szoks elektronikus Gutenberg forradalomnak

    is nevezni.

    Az elektronikus Gutenberg forradalom legfontosabb jellemzje, hogy

    - egyre nagyobb informcimennyisg

    - egyre szlesebb tmegek szmra

    - egyre demokratikusabban vlik elrhetv

    - a szmtgp hasznlatval.

    Krnyezetnk lershoz meg kell azt figyelnnk, adatokat kell gyjtennk az objek-

    tumairl, sszegeznnk kell azok tulajdonsgait, s meg kell figyelnnk a kztk lev

    kapcsolatokat. Ezek utn juthatunk a rendelkezsre ll, trolt adatokbl j ismere-

    tekhez, informcihoz. Az adatoknak egy jl strukturlt halmazt adatbzisnak ne-

    vezzk, amelybl a ksbbiekben informcit tudunk majd nyerni. Az informcinye-

    rs cljbl olyan szoftvereket hasznlunk, amelyek lehetv teszik az adatbzisok

    kezelst (lekrdezst, mdostst, trlst, karbantartst); ezeket egytt adat-

    bzis-kezel rendszernek neveznk. Az olyan rendszereket, amelyek a hardveren

    trolt adatokbl szoftverek s egyb alkalmazi programok segtsgvel lehetv

    teszik a felhasznl szmra az informci nyerst, informcis rendszereknek

    nevezzk.

    Az adatbzis-kezel rendszerek nem hirtelen, minden elzmny nlkl jelentek meg

    a piacon s a kztudatban. A szmtgpeket kezdetben a trak kis kapacitsa miatt

    elssorban numerikus szmtsok elvgzsre hasznltk, majd ksbb a technol-

    gia fejldsvel egyre nagyobb mennyisg informci trolsra vltak alkalmass.

    Megjelentek a kimondottan a nagymennyisg adatok hatkony kezelsre kszlt

    rendszerek is.

    Az els szekvencilis fjlok mg az 1940-es vek vgn jelentek meg. Az els nem

  • adatbzisok.doc 2003.09.09. - 5 -

    szekvencilis hozzfrst biztost fjlrendszert 1959-ben fejlesztettk ki. Az 1960-as

    vekben olyan programozsi nyelvek jelentek meg, mint a Fortran, Basic, PLI, s

    volt egy, mely kimondottan adatkezels-orientlt cllal jtt ltre, a Cobol.

    A 60-as vek elejn dolgoztk ki a hls adatmodell alapjait, majd nem sokkal r

    megjelent a hierarchikus adatmodell is. Az els hlzatos, konkurens hozzf-

    rst biztost adatbank 1965-ben jelent meg.

    Az adatbzis-kezel rendszerek is jelents fejldsen mentek keresztl azta; jelen-

    tsen megvltozott hasznlati mdjuk s az ltaluk tmogatott adatmodell jellege. Az

    indul idszak hierarchikus, majd hls adatmodelljei utn az 1970-es vekben in-

    dult el hdt tjra a ma mr legelterjedtebb adatbzis-kezel tpus, a relcis

    adatbzis-kezels. Az 1980-as vekben a relcis adatbzis-kezelk SQL kezel

    fellete is szabvnny vlt.

    Mg ma is teret hdtanak j elvek az adatbzis-kezels terletn, mint az objektum

    orientltsg vagy a logikai programozs, valamint a hlzatok elterjedsvel az

    osztott adatbzis-kezelk szerepe is egyre n.

    1.2 Adat s informci

    Egy ismeret ltezse s annak rtelmezse kt klnbz dolog: eszerint beszlnk

    adatrl s informcirl.

    Az adat rtelmezhet (szlelhet, rzklehet, felfoghat s megrthet) szemly-

    telen, objektv, feldolgoztl fggetlen ismeret. Az adat az informci hordozja, va-

    gyis a tnyek, fogalmak, feldolgozsra alkalmas reprezentcija.

    Az informci, mint szubjektv fogalom, szorosan ktdik hordoz kzeghez. Az

    informci az adatnak valamilyen megjelense; j ismerett rtelmezett adat. Az

    informci mindig szemlyes, az adatot fogad bels njhez, szubjektumhoz kt-

    d lnyeg (Halassy). Az informcit jelsorozathoz kapcsold j jelentsnek, hasz-

    nos kzlsnek tekinthetjk. Egyik fontos eleme az jdonsg.

    Esetnkben az adat a szmtgpben trolt jelsorozatot jelenti, melybl a feldolgozs

    sorn nyerhetnk informcit. Az adat a szmtgpben informci nlkli jelsoro-

    zatknt troldik.

    Az informci feldolgozsra ksztett szmtgpes programok az adatokat kln-

  • adatbzisok.doc 2003.09.09. - 6 -

    bz strukturltsgban troljk. Az adatok lehetnek lazbb szerkezetben, s szigo-

    rbb, finomabb struktrban trolva. Ennek megfelelen beszlhetnk: szvegszer

    rendszerekrl s adatszer, finoman strukturlt rendszerekrl.

    - A szvegszer trolsnl a dokumentumok, knyvek, cikkek alkotjk a legki-

    sebb elrsi egysget. A dokumentum bels struktra nlkl, mlesztve tar-

    talmazza az informcit.

    - Az adatszer trolsnl sokkal kisebb adatelemek, egyedek tulajdonsgai is

    elrhetk s kezelhetk.

    1.3 Adatbzis

    A fogalom defincijt az adatbzisokhoz rendelhet legfontosabb tulajdonsgok

    megadsval rhatjuk le. Az adatbzisra vonatkozan nincs egy egysgesen elfoga-

    dott definci, gymond mindenki szabadon rtelmezheti, hogy mit rez fontosnak az

    adatbzis fogalmra.

    Az adatbzis nhny ismert defincija:

    - Az adatbank rekordok sszessge.

    - ltalban s szigoran vve olyan adatllomny, amely egy adatbzis-kezel

    rendszerrel hozhat ltre s rhet el.

    - Adatbzis sszetartoz s kapcsold adatok rendszere. (Elmasri Navathe)

    - Adatbzisokon voltakppen adatoknak kapcsolataikkal egytt val brzol-

    st, trolst rtjk. (Horvth Katalin - Dr. Szelezsn Jnos)

    - Az adatbzis vges szm egyed-elfordulsnak, azok egyenknt is vges

    szm tulajdonsgrtknek s kapcsolat-elfordulsainak az adatmodell

    szerint szervezett egyttese. (Dr. Halassy Bla)

    - Az adatbzis a felhasznlk ltal rugalmasan kezelhet adatok rendszere.

    (C.J. Date)

    - Az adatbzis sszetartoz adatok azon rendszere, mely megosztott tbb fel-

    hasznl kztt, s az elrst egy kzponti vezrl program szablyozza. A

    felhasznlnak nem kell ismernie az adatok fizikai trolsi mechanizmust. (J.

    G. Hughes)

    - Egy olyan integrlt adatszerkezet, mely tbb klnbz objektum elfordulsi

    adatait adatmodell szerint szervezetten, perzisztens mdon trolja olyan se-

    gdinformcikkal, n. metaadatakkal egytt, melyek a hatkonysg, integri-

  • adatbzisok.doc 2003.09.09. - 7 -

    tsrzs, adatvdelem biztostst szolgljk.

    Adatbzisnak nevezzk a kros s felesleges redundancia nlkl kzsen t-

    rolt, egymssal kapcsolatban lv adatok halmazt, amelynek alapvet clja

    egy vagy tbb alkalmazs optimlis kiszolglsa. Az adatokat az azokat kezel

    programoktl fggetlenl troljuk, gy az adatokat s az azokat hasznl programo-

    kat is megvltoztathatjuk anlkl, hogy a msikat mdostannk.

    Az adatbzisok legfontosabb jellemzje: valamilyen fok redundancia, tovbb hogy

    llandan nvekszenek, vltoznak.

    Az adatbzis egy megvalstott adatmodell, amely a valdi adatokon kvl tartal-

    mazza az adatok tpusait s kapcsolatait ler n. metaadatokat is. Ehhez szksges

    egy adatszerkezet-ler nyelv (Data Definition Language, DDL), valamint egy fizikai

    szerkezetet megvalst nyelv (Storage Description Language, SDL). Az adatb-

    zis-rendszer fontos rsze a trolt adatok klnbz szempontok szerinti visszakere-

    sst vgz nyelv (Data Manipulation Language, DML) is. Az adatler s adatkeze-

    l nyelvet magba foglal adatbzis-kezel rendszer (Database Management

    System, DBMS) teszi lehetv, hogy egy jl megtervezett adatbzist hasznlni tud-

    junk.

    1.4 Az adattrols struktrja

    Az adatkezel rendszereknl a permanens adatok llnak az adatkezels kzpontj-

    ban, teht azok az adatok, melyekre hossz ideig, az alkalmazsbl trtn kilps

    utn is szksg van. A permanens adatok trolsra a httrtrolk szolglnak, ahol

    az adatok fjlokba szervezetten helyezkednek el. A nagy adatmennyisgbl ereden

    minden pillanatban az adatoknak csak egy tredke fr el fizikailag a kzponti me-

    mriban. Ha a fjlon belli trols krdst vizsgljuk, akkor meg kell ismerni a le-

    hetsges fjlszervezsi mdszereket s azok hatkonysgait az olyan alapvet

    mveleteknl, mint az adatelemek megkeresse, lekrdezse; adatelemek bvtse,

    mdostsa, trlse; segdinformcik trolsa.

    A leggyakoribb mvelet a lekrdezs, clszer ezrt olyan fizikai trolsi struktrt

    vlasztani, amely a hatkony lekrdezst segti.

    - Adathordozi szint. A hatkonysgnvelsi lehetsgek keresst mr az

    adathordoz szintjn el kell kezdeni, hiszen az adatelem beolvassa a cm-

  • adatbzisok.doc 2003.09.09. - 8 -

    nek ismeretben hrom f lpsbl ll, melyek klnbz idszksglet ren-

    delhet: fejmozgats (a fejet a lemez megfelel svjra, cilinderre kell moz-

    gatni), fejkivlaszts (lemezcsomag esetn a megfelel lemez kijellse),

    forgats (az adott svon bell a megfelel szektor, blokk mozgatsa a fej

    al). E hrom elembl a fejmozgats ignyli a legtbb idt, de ez lnyegesen

    fgg attl, hogy hol helyezkedik a sv, mi volt az elzleg felkeresett sv.

    Minden svvlts idszksglettel jr, mgpedig minl nagyobb volt a tvol-

    sg, annl tbb id szksges. Ebbl kt fontos megllapts is vonhat le: az

    egymsutn, egytt olvasott adatokat clszer ugyanazon, vagy szomszdos

    svokra elhelyezni, valamint egy adatelemnek, ms programok vletlenszer

    svpozciit felttelezve, az optimlis elhelyezkedse a kzps svokban ta-

    llhat. Amennyiben van befolysunk az adatelemek elhelyezsre, akkor a

    fentiek figyelembe vtelvel kell dnteni.

    - Fizikai fjlszerkezet. A kvetkez lpcsfok a megfelel fjlszervezs kiv-

    lasztsa. A fjlokon bell az adatok blokkokban troldnak, ahol egy blokk egy

    adattviteli egysgnek foghat fel, azaz egy rs vagy olvass mvelete mini-

    mum egy blokk adatmennyisget mozgat az adathordoz s a kzponti egy-

    sg kztt. A fjlhoz tartoz s egyms utn kvetkez blokkok nyilvntarts-

    ra is tbb klnbz mdszer ltezik: a blokkok lncolsa (minden blokk-

    ban van egy mutat a kvetkez blokkra; az els blokk cmnek ismeretben

    sorban felkereshet az sszes tbbi blokk); blokk cmlista (minden fjlhoz l-

    tezik egy lista, amely a hozz tartoz blokkok cmeit tartalmazza; ez a lista le-

    het egyszer, sszefgg, de lehet bonyolultabb felpts is).

    - Logikai fjlszerkezet. A blokkok a fjlok fizikai szerkezett mutatjk, de emel-

    lett a fjl egy bels logikai struktrval is rendelkezik. A logikai fjlszerkezet

    lehet stream jelleg vagy rekord jelleg. A stream fjltpusnl a fjl egy bels

    struktra nlkli byte vagy karakter sorozatbl ll. A karaktersorozatot a fel-

    hasznl program rtelmezi sajt ignye szerint. Ugyanazt a fjlt a klnbz

    programok mskpp rtelmezhetik. A rekord jelleg tpusnl feltesszk, hogy

    a fjl felbonthat logikai rszelemekre, gynevezett rekordokra. A rekord egy

    logikailag sszetartoz adatelemek, mezk sszessge. A rekord s a blokk

    viszonya alapjn beszlhetnk spanned rekordokrl, ha egy rekord tbb

    blokkra is kiterjedhet, s unspanned rekordokrl, ha egy rekord csak egy

  • adatbzisok.doc 2003.09.09. - 9 -

    blokkhoz tartozhat. A rekord jelleg llomnyokban a rekordok lehetnek fix

    hosszsgak, vagy vltoz hosszsgak.

    - Adatelemek elrse. Ha az adatelemek gyors elrst kvnjuk elrni, akkor

    a bels struktra nlkli stream fjlkezels nem megfelel, hiszen ebben az

    esetben csak a fjl soros tolvassval tallhatjuk meg a keresett elemet, ami

    azt jelenti, hogy egy elem meg tallshoz tlagosan a fjl felt t kell olvasni.

    A rekordjelleg megkzelts esetben is megvalsthat ez a szmunkra

    nem elnys felpts, ugyanis a rekordjelleg fjl szerkezeteknek az albbi

    tpusai ismertek: soros elrs, szekvencilis elrs, indexelt elrs, random

    s hashing elrs.

    Az elrsi, szervezsi mdok kztti klnbsg megrtshez szksgnk van egy

    jabb fogalom, a rekordkulcs megismersre. A rekord az egyed tbb tulajdons-

    gt tartalmazhatja. E tulajdonsgok kztt vannak olyanok, melyek tbb egyednl is

    ugyanazt az rtket vehetik fel. Vannak azonban olyan mezk, azaz az egyed olyan

    tulajdonsgai, melyeknek egyedieknek kell lennik. Az ilyen tulajdonsgot, vagy tu-

    lajdonsgcsoportot, mely egyedisge rvn alkalmas az egyed, azaz a rekord egy-

    rtelm azonostsra, rekordkulcsnak, vagy rviden kulcsnak nevezzk. Az adat-

    elemek keressnl kiemelt fontossgak lesznek azok az esetek, amikor a keress

    a kulcsra vonatkozik, mivel ez a rekordok egy termszetes keressi mdjt jelenti. Ez

    alapjn az egyes fjlszervezsi mdok az albbiakban foglalhatk ssze:

    - Soros elrs. A rekordok a fjlban tetszleges sorrendben (pldul a felvitel

    sorrendjben) helyezkednek el, azaz nincs kapcsolat a rekord kulcsrtke s

    a rekord fjlon belli pozcija kztt. Egy adott kulcsrtk rekord brhol el-

    helyezkedhet a fjlban, keresskor a fjl minden rekordjt t kell nzni egy-

    ms utn a fjl elejtl kezdve, amg meg nem talljuk a keresett rekordot. Ez

    tlagosan a fjlban trolt rekordok felnek tnzst ignyli, ezrt az egyedi

    keressek szempontjbl nem tekinthet hatkony mdszernek. Amennyiben

    minden fjlhozzfrsnl szksg van az sszes rekordra, akkor ez a fjlszer-

    vezs lesz a leghatkonyabb.

    - Szekvencilis elrs. A rekordok a fjlban a kulcsrtkeik alapjn sorba ren-

    dezve helyezkednek el (pontosabban a rekordok a fjlban a kulcsrtkeik n-

  • adatbzisok.doc 2003.09.09. - 10 -

    vekv, vagy cskken sorrendjben rhetk el). A szekvencia elnye, hogy

    nem szksges a teljes fjlt vgignzni adott kulcsrtk rekord keressekor,

    mivel a sorrendbe rendezs miatt egy adott kulcstl jobbra csak tle nagyobb

    (nvekv rendezst felttelezve) kulcsrtk elemek helyezkedhetnek el. Ez a

    sorrendbe rendezs megvalsthat fizikai szekvencival vagy logikai, lncolt

    szekvencival. A fizikai szekvencinl a rekordok fizikai helye megfelel a sor-

    rendben elfoglalt helynek. Ezltal gyors lesz az egymst kvet rekordok el-

    rse, de egy j rekord beszrsa esetn t kell rendezni a rekordokat a fjlon

    bell. Gyakran vltoz fjl esetn nem javasolt ez a mdszer. A logikai szek-

    vencia esetn a rekordok a bevitelk sorrendjben helyezkednek el fizikailag

    a fjlban, s a sorrendbe rendezettsget mutatk segtsgvel valstjk meg,

    azaz minden rekord tartalmaz egy mutatt a sorrendben t kvet rekordra.

    gy beszrskor csak a mutatkat kell trendezni, a rekordok fizikai pozcija

    ugyanaz marad. Mivel mind a kt esetben tovbbra is a fjl elejrl kiindulva,

    az egymst kvet elemek ellenrzsvel lehet keresni, ez a mdszer sem

    hatkony.

    - Indexelt struktra. A keress meggyorsthat, ha nem kell minden, a keresett

    rekordot megelz rekordot fizikailag is tolvasni. Valjban a keresett rekor-

    dot megelz rekordokbl csak azok kulcsrtkei fontosak szmunkra, a re-

    kord tbbi mezje lnyegtelen. Mivel rendszerint a kulcsmez nagysga csak

    egy tredke a teljes rekord mretnek, ezrt ezeket a reduklt adatokat sok-

    kal gyorsabban t lehetne olvasni, st egy minsgi javulst hozna, ha az t-

    olvasand sor elhelyezhet lenne a memriban, ugyanis ekkor az egyms

    utni elem beolvassok helyett egy sokkal gyorsabb keressi mdszer, a bin-

    ris keress is alkalmazhat lenne. Mindennek megvalstsa az index szer-

    kezet, mely egy kln listban tartalmazza a rekordok kulcsait s az elrsk-

    hz szksges mutatkat. A legegyszerbb indexszerkezet egy indexlista,

    mely az sszes rekord kulcst tartalmazza egy listban, ahol a kulcsrtkek

    rendezetten helyezkednek el.

    Nagy fjlmreteknl az indexlista is olyan hossz lehet, hogy mr nem fr

    egyszerre a memriba, a lista kezelhetv ttelre j megoldsokat kerestek.

    Ennek egyik mdszere az indexszekvencilis fjlszerkezet, melyben a re-

    kordok fizikailag is rendezetten helyezkednek el a fjlban, mint a szekvencilis

  • adatbzisok.doc 2003.09.09. - 11 -

    llomnyoknl, gy az indexlistnak nem szksges minden elemet tartalmaz-

    nia, csak bizonyos jelz rekordokat, mondjuk minden k-adik elemet. gy rekord

    keresst a fjlban a hozz legkzelebb es, tle kisebb kulcsrtk jelzre-

    kordtl kell csak kezdeni. Az llomnyban trtn szekvencilis keress sem

    tarthat sokig, hiszen maximum k rekordot kell egyms utn tnzni. A msik

    lehetsges, elterjedt mdszer a tbbszint, hierarchikus indexstruktra be-

    vezetse, melyben a fell elhelyezked listbl nem kzvetlenl a rekordokra,

    hanem jabb indexlistkra trtnik hivatkozs. A mdszerrel minden rekordot

    kzel azonos id alatt rhetnk el, azaz az indexszerkezet kiegyenslyozott-

    nak mondhat. Ez az indexelsi mdszer tekinthet az egyik leghatkonyabb

    mdszernek. Az indexels feladatt mg annyi bonyolthatja, hogy esetleg

    tbb mez szerint kvnunk indexelni, vagy ppen nem kulcs mez szerint k-

    vnjuk az indexelst elvgezni a lekrdezsek jellegt figyelembe vve. Ha

    egy meznl egy rtk tbb rekordban is elfordul, akkor nem szoks minden

    ilyen rtket kln felvenni az indexlistba, hanem csak egyet, az els elfor-

    dulst, s a tbbi rekord ebbl a rekordbl kiindul lncolt listn keresztl rhe-

    t el.

    - Hashing. A rekord pozcijt kzvetlenl a rekord kulcsrtkbl hatrozzk

    meg, teht csak egy blokkolvassra van szksg a rekord elrshez. Sajnos

    azonban nem mindig igaz, hogy egy blokkolvass elg, ez csak idelis eset-

    ben valsul meg. A hash elrsi mdszer alapelve, hogy a kulcs rtkbl va-

    lamilyen egyszerbb eljrssal, a h() hash fggvnnyel meghatroznak egy

    pozcit. Numerikus kulcsok esetn a h(x)=x mod n egy szoksos hash fgg-

    vny, ahol x a kulcs rtk s n hash tbla rekeszeinek a darabszma. A

    h(x) megadja, hogy mely rekeszbe tegyk le az x kulcs elemet. Mivel a hat-

    kony kezelhetsg vgett a lehetsges pozcik darabszma lnyegesen ki-

    sebb a lehetsges kulcs rtkek darabszmnl, gy szksgszeren tbb

    kulcsrtk is ugyanazon cmre fog lekpzdni. Egy cmhez rendelt trterletet

    szoks bucket-nak is nevezni, mely lemez esetben rendszerint egy blokknak

    felel meg. Ha tbb rekord kerl egy cmre, mint amennyi egy bucketban elfr,

    akkor lp fel a tlcsorduls jelensge, amikor is egy jabb blokkot, terletet

    kell a cmhez hozzktni. Teht egy cmhez tbb klnll terlet is tartozhat,

    melyeket lncolssal ktnek ssze. Ebben az esetben a rekord keresshez

  • adatbzisok.doc 2003.09.09. - 12 -

    tbb blokkot is t kell nzni, amely lnyegesen cskkenti a hash elrsi md-

    szer hatkonysgt. A tlcsorduls mellett a hash mdszer msik htrnya,

    hogy csak nagyon krlmnyesen lehet vele megvalstani a rekordok kulcs

    szerint rendezett listjnak ellltst, hiszen a hash mdszer az egymst

    kvet rekordokat tetszlegesen sztszrhatja a cmtartomnyon a kivlasz-

    tott hash fggvnytl fggen. A j hash fggvny a tlcsordulst rekordok

    egyenletes elosztsval tudja kivdeni. Mivel a rekordokhoz rendelt cmek el-

    oszlsa nagyban fgg a kulcsrtkek eloszlstl, a tlcsorduls soha sem

    vdhet ki teljesen.

    1.5 Adatbzis-kezel rendszer

    Az adatbzis olyan adathalmaz, amely tbb, klnbz felpts, egymssal kl-

    csns kapcsolatban lv rekordok gyjtemnye. Az adatbzisok elvileg tetszleges

    mretek lehetnek: az adatok szma a nulltl, az res adatbzistl a vgtelen rt-

    kig terjedhet. Az elmletileg vgtelen kapacitst a gyakorlatban a rendelkezsre ll

    hely, vagy a bels trolsi struktra korltozza.

    Az adatok s kapcsolataik egy adatmodell strukturlt szablyainak megfelelen je-

    lenthetk meg, s az adatmodellhez tartoz parancsokkal feldolgozhatk. Az adat-

    modell strukturlis szablyai s a feldolgoz nyelv egyttesen alkotjk az adatkeze-

    lsi technikt. Az adatkezelsi techniknak a megvalstst egy specilis technika

    biztostja, amelyet adatbzis-kezel rendszernek (Database Management System,

    DBMS) nevezzk.

    Mint az adatbzisra, a DBMS-re is tbb meghatrozst tallhatunk:

    - Az adatbzis-kezel rendszer az a program, mely az adatbzishoz trtn

    mindennem hozzfrs kezelsre szolgl.

    - Az adatbzis-kezel rendszer az a programrendszer, melynek feladata az

    adatbzishoz trtn hozzfrsek biztostsa s az adatbzis bels karban-

    tartsi funkciinak vgrehajtsa.

    - Az adatbzis-kezel rendszer egy szoftver, amely biztostja az adatbzisban

    trolt adatok ltrehozst, kezelst, valamint lerja s kezeli az adatok kztti

    komplex kapcsolatokat. Az adatbzis-kezel rendszernek tmogatnia kell va-

    lamilyen adatmodellt, hogy a valsgot le tudja kpezni egy szmunkra meg-

    foghat objektumra. Kt rszbl pl fel. Van egy jellsrendszere, hogy va-

  • adatbzisok.doc 2003.09.09. - 13 -

    lamilyen formban a valsgot brzolni tudjuk s tartozik hozz egy mve-

    lethalmaz, amely lehetv teszi, hogy az elbbieket kezelni tudjuk.

    Adatbzis-kezel rendszert alapveten ktflekppen lehet ltrehozni. Az egyik

    mdszer, hogy valamilyen programozsi nyelvben rjk meg a rendszert. A msik

    mdszer pedig, hogy egy mr meglv rendszerben fejlesztik ki az j rendszert.

    Az adatbzis-kezel rendszer rszei:

    - Kapcsolattart: ez teszi lehetv, hogy ms alkalmazsok kapcsolatba tudja-

    nak lpni az adatbzissal.

    - Feladat tkonvertl: elemzi, rtkeli az adatbzis kezel rendszer nyelvn

    kapott utastsokat, s ha vgrehajthatak, meghatrozza a vgrehajts vr-

    hat leghatkonyabb mdjt.

    - Elrs meghatroz: az objektumok elrsre meghatrozott mdszert tfor-

    dtja az opercis rendszer szmra rthet parancsokk.

    Az adatokhoz val hozzfrs nem egy egyszer rsi vagy olvassi mveletet, hi-

    szen az adatbzis-kezel rendszernek gondoskodnia kell az integritsi, hatkonysgi

    s vdelmi felttelek megrzsrl. Az adatbzis-kezel rendszer emiatt egy bonyo-

    lult programrendszernek tekinthet, mely sok funkcijt, sszetettsgt tekintve leg-

    inkbb az opercis rendszerekhez hasonlthat. Az integritsi, hatkonysgi s v-

    delmi felttelek ellenrzst s betartatst az adatbzis-kezel rendszer a httr-

    ben vgzi el, mintegy a felhasznl kzvetlen parancsa, tudta nlkl. Mindez azrt

    trtnik gy, hogy a felhasznl vletlenl, vagy szndkosan se tudja elrontani az

    adatbzist.

    Az adatbzis-kezel rendszer tbb programbl ll szoftvertermk, melynek biztos-

    tania kell az:

    - egy megfelel mdon lert adatfeldolgozs vgrehajtst (adatbzis ltreho-

    zsa, mdostsa, trlse), - az adatbzis kvetkezetessgt (csak vals adatokat troljunk),

    - az adatok kzti komplex kapcsolatok kezelst s brzolst,

    - az adatbzis valamennyi adatnak elrst,

    - az adatok vdelmt, titkostst,

    - a hozzfrsi jogok kezelst,

  • adatbzisok.doc 2003.09.09. - 14 -

    - az adatfggetlensget,

    - a redundancia-mentessget s annak ellenrzst,

    - az adatbzis integritsnak karbantartst, - a helyrellthatsgot,

    - tbbfelhasznls rendszerekben az egyidej hozzfrst,

    - osztott adatbzisokban az adatok sztosztst, megtallst, valamint

    - az adatforgalom optimalizlst.

    Az adatbzis-kezel rendszereknek a feladatok vgrehajtsban fontos eszkz az adat-program fggetlensg megvalstsa. Ennek hinya esetn egy programnak

    az ltala kezelt teljes adatllomny-szerkezetet le kell rnia. Ha az adat lersban

    kvetkezik be vltozs, akkor a programot is mdostani kell. Adatbzisok esetben

    az adat-program fggetlensg megvalsulsa miatt az adatlers mdostst csak

    egy helyen, egyszer kell vgrehajtani, s csak azokat a programokat kell mdosta-

    nia, amelyek ezt a megvltozott mezt kezelik. Fontos az adatbzis integritsa is. Ezen az adatbzis olyan llapott rtjk, amikor

    az adatbzisban lv valamennyi adat rtke helyes olyan rtelemben, hogy az rt-kek - adott pontossgi s idbeli korltok kztt - a vals vilg llapott tkrzik, va-

    lamint eleget tesznek a klcsns megfeleltets (konzisztencia) szablyainak. Az adatbzis integritsnak karbantartsa magban foglalja az integrits ellenrz-

    st s valamennyi, szlelhet hiba kijavtst.

    Az adatbzis ltrehozst s a benne trolt adatokhoz val hozzfrst biztost

    nyelvet adatbzis-nyelvnek nevezzk. Egy adatbzis-nyelv egy vagy tbb adatler

    nyelvet s egy vagy tbb adatkezel nyelvet tartalmaz. A klnbz adatbzis-

    nyelvek aszerint is megklnbztethetk, hogy - ltez programozsi nyelv kiterjesztseknt terveztk-e (befogad nyelv), - brmely programozsi nyelvtl fggetlenl hasznlhatk (szabadon ll

    nyelv), - mindkt mdon hasznlhatk.

    Az adatler nyelv hasznlatval kapjuk meg az adatsztrat. Egy adatsztrnak a

    legalbb kvetkez informcikat kell tartalmaznia: - az adat neve, - az adat tpusa (szveges, numerikus, dtum, logikai, stb.),

  • adatbzisok.doc 2003.09.09. - 15 -

    - az adat hossza. Ezen kvl az adatsztr mg a kvetkez informcikat is tartalmazhatja:

    - az adat szerkesztsi kpe, formtuma, - az adat rtkkszlete, tartomnya, - ellenrz adatok ms fjlokban, - hozzfrsi jelszavak, - sor- s oszlopkijells az adat kpernyn trtn megjelentshez, - az adat promptja adatrgztskor, - az adat fejlce formzott lista ksztsekor.

    1.6 Alkalmazi segdprogramok

    A DMBS-t a felhasznl nem kzvetlenl, hanem segdprogramokon keresztl, azok

    futtatsval ri el. A segdprogramok a DBMS-en keresztl rik el az adatbzisban

    trolt adatokat. A szoftvertermkeket a felhasznli csoport alapjn clszer egy-

    mstl elklnteni. Ehhez felhasznlk hrmas tagolsa ajnlott, gymint:

    - rendszermenedzser s opertor,

    - alkalmazs- s adatbzisfejleszt-programozk,

    - vgfelhasznlk.

    A rendszermenedzser s opertor felhasznlk segdprogramjai

    A csoport szmra kszltek azok a segdprogramok, melyekkel az egsz adatbzis

    mkdst rint tevkenysgek vgezhetk el. Az ide sorolhat legfontosabb prog-

    ramok:

    - Adatbzis adminisztrtor monitor. Ezzel a segdprogrammal az adminiszt-

    rtori jogkrrel felruhzott szemly elvgezheti tbbek kztt az adatbzis in-

    dtst, lelltst, az adatbzis alapparamtereinek belltst, az adatmen-

    tsek elvgzst, DBMS hatkonysg s a felhasznli tevkenysgek figye-

    lst.

    - Loader. Kls szveges vagy szekvencilis llomnyokban trolt adatoknak

    az adatbzisba trtn gyors betltsre szolgl. Az adattvitel sorn szr-

    felttelek adhatk meg s adatkonverzik is elvgezhetk. Az elvgzett mve-

    letek naplzhatk. Ez a segdprogram a klnbz platformokon fut adatb-

    zisok kztti adatcserre is hasznlhat.

  • adatbzisok.doc 2003.09.09. - 16 -

    - Backup (Export, Import). Az adatbzis adatainak lementsre s visszatl-

    tsre szolgl. Bizonyos rendszereknl kt kln program valstja meg ezt a

    funkcit, az Export segdprogram vgzi az adatok kimentst, mg az Import

    programmal lehet a lementett adatokat visszatlteni. A backup rendszer az

    adatok adathordoz srlsbl vagy egyb okokbl ered elvesztsnek

    megelzse mellett a DBMS rendszer klnbz verziszm vltozatai k-

    ztti adatkonverzihoz is felhasznlhat. A legtbb DBMS-nl lehetsg van a

    szelektv mentsre, ahol a szelekci mind az adatok jellegre, mind az adatok

    aktualitsra vonatkozhat.

    Az alkalmazs- s adatbzisfejleszt-programoz felhasznlk segdprogram-

    jai

    Az ebbe a krbe tartoz programok szles terletet lelnek fel, az interaktv eszk-

    zktl kezdve a hagyomnyos programozsi segdeszkzkig. A szoftverfejleszts

    rohamosan fejld terlete egyre jabb mdszereket, technikkat fejleszt ki, s az

    adatbzis- s alkalmazsfejleszt rendszerek is kvetik s alkalmazzk ezen j esz-

    kzket. Ez a gyors, hatkonysgnvel fejlds magval hozza a fejleszt rendsze-

    rek gyakori vltozst is, gy a programozknak is folyamatosan jabb s jabb

    mdszereket kell megtanulniuk. Br a fejleszt eszkzk megjelenskben, kezel-

    skben gyakran mdosulnak, jellegk, cljuk azonos marad, ezrt behatrolhat

    azon feladatok kre, melyek alapvet fontossgak a fejlesztshez. A legfontosabb

    segdeszkzk:

    - Interaktv kezelfellet. Parancsorientlt, vagy grafikus felletet biztost a

    felhasznlnak. A kiadott utastsok rgtn vgrehajtdnak s csak az ered-

    mny kirsa utn adhat meg a kvetkez utasts.

    - rlapkszt. Ez a modul nemcsak az rlapok megtervezsre szolgl, ha-

    nem egy alkalmazsgenertort rejt magban. Mivel az adatbzis-kezel rend-

    szerek rlapokon keresztl jelentik meg az adatokat, ezrt nevezik ezt a

    komponenst rlapksztnek is. A formai megjelens mellett itt lehet megadni

    az adatszerkezetet s a vezrlsi algoritmust is.

    - Jelentskszt. Mivel az adatoknak a kpernyn, rlapokban trtn megje-

    lentse mellett, gyakran szksg van a nyomtatott listkra is, ezrt kln

  • adatbzisok.doc 2003.09.09. - 17 -

    komponens szolgl a nyomtatsi listk gyors elksztsre. A fejleszt rend-

    szer a jelents (s az rlap) formtumnak meghatrozsnl felhasznlja az

    adatbzisban trolt metaadatokat is.

    - Menkszt. Egy sszetett alkalmazs tbb elemi rszfunkcibl pl fel,

    ahol az egyes rszfunkcikhoz egy-egy rlapot lehet megfeleltetni, ezrt a

    rszfunkcikat az ttekinthetsg s gyors elrhetsg rdekben clszer

    menhierarchiba szervezni. A menkszt alkalmazsa esetn elegend a

    menszerkezet hierarchijt egy egyszer nyelvvel lerni, a hozz tartoz kd

    ezutn mr automatikusan fog generldni.

    - Program interfsz. Mivel az rlap s jelentskszt komponensek egy tipi-

    kus alkalmazs felptst kvetik, ezekhez igaztottak, ezrt nagyon nehz

    nem tipikus, specilis kvetelmnyekhez igazod alkalmazsok elksztse

    ezekkel az eszkzkkel. A hagyomnyos programozsi nyelvek sokkal na-

    gyobb rugalmassgot biztostanak ebben a tekintetben, ezek htrnya viszont,

    hogy a rendszerknyvtraik nem biztostnak DBMS szint adatkezelst. E

    problma megoldsra szolglnak a DBMS-ek programinterfszei, melyek

    egy-egy programozsi nyelvhez tartoz fggvny- s eljrsknyvtrban s

    elfordtkban testeslnek meg. Segtsgkkel a norml program forrssz-

    vegbe beszrhatk a kapcsold DBMS adatkezel utastsai is, gy a prog-

    rambl elrhetv vlnak az adatbzisban trolt adatok.

    - CASE eszkzk. Az adatbzis megtervezshez nagyszm felttelt s k-

    rlmnyt kell figyelembe venni. Az elemzs eredmnyt egy olyan adatmo-

    dellben kell trolni, mely kzvetlenl felhasznlhat az adatbzis ltrehozs-

    hoz. A nagy adatmennyisg mellett, egy ebbl fakad msik problmt jelent,

    hogy a tervezs rendszerint nem egy ember munkja, hanem csapatmunka.

    Emiatt klns gondot kell fordtani a dokumentcik szabvnyossgra, a

    feladatok kiosztsra. A CASE eszkzk jelents segtsget nyjtanak a ter-

    vezsben, a csoportmunka sszehangolsban. A CASE komponens ered-

    mnye legtbb esetben kzvetlenl felhasznlhat az rlapok, jelentsek s

    menk generlshoz.

  • adatbzisok.doc 2003.09.09. - 18 -

    A vgfelhasznlk segdprogramjai

    A felhasznlk szmra elkszlt alkalmazi programok nagy rsze egyedi megren-

    delsre kszl, a fent emltett fejleszti eszkzk segtsgvel. Vannak azonban

    olyan gyakrabban ignyelt szolgltatsok, alkalmazsok, melyeket a szoftvergyrt

    cgek rustanak. Ezek az alkalmazsok igen szles terletet lelnek fel a banki,

    pnzgyi, gyrtsirnytsi rendszerektl kezdve a klnbz szakrti rendszerekig.

    A teljessg ignye nlkl, nhny segdprogram ismertetse:

    - Dokumentum nyilvntart rendszer. Klnbz szveges dokumentumok-

    ban trolt informcik karbantartsra, visszakeressre szolgl, ahol a kere-

    sst kulcsszavak megadsval lehet knnyteni. A dokumentumok adatbzis-

    okban s norml llomnyokban is tarthatk. A rendszer alkalmas a dokumen-

    tumok s a strukturlt adatok kombinlsra is, tovbb sszekapcsolhat k-

    lnbz fejlesztrendszerekkel. Fejlettebb vltozatok hipertext s multimdia

    lehetsgeket is biztostanak.

    - Irodai program. Ez egy hivatali, gyviteli programcsomag, amely magban

    foglal tbbek kztt szvegszerkesztt, levelezrendszert, elektronikus naplt,

    egy kis szemlyi kalkultort. A rendszer egy vllalat tbb egysgt kti ssze

    a helyi hlzaton keresztl.

    - Interaktv adatlekrdez. Programozi, adatbzis-kezeli ismeretekkel nem

    rendelkez felhasznlk rszre biztost knnyen kezelhet felletet az adat-

    bzis fel. Tblzatos formban, men- vagy egrvezrelten kezelhet prog-

    ram, mellyel gyorsan vgrehajthatk a lekrdezsek, adatmdostsok, adat-

    felvitelek. A rendszer egyszerbb jelentsek elksztsre is alkalmas.

    - Adat vizualizci. Az adatbzisban trolt adatok grafikus tblzatokban jele-

    nthetk meg, emellett lehetsget nyjt kpek, rajzok elksztsre, trols-

    ra is. A korszerbb vltozatokkal multimdia alkalmazsok is futtathatk. A

    grafikus felleten monitor funkcikat biztostanak, gy grafikusan kvethet

    nyomon az adatok vltozsa.

    - Vllalati nyilvntart rendszer. A termk tbb, nllan is hasznlhat rsz-

    funkcit foglal magba, melyek kzl a legismertebbek a szmlz rendszer,

  • adatbzisok.doc 2003.09.09. - 19 -

    a knyvelsi rendszer, a pnzgyi s szemlyzeti rendszer, a rendelsek s a

    raktrak nyilvntartsa.

    - Termelstervez rendszer. A rendszer az erforrsok s kapacitsok nyil-

    vntartsa mellett az erforrsok kiosztsnak megtervezsre is lehetsget

    ad. A vrhat piaci ignyek elrejelzsvel s elemzsvel meghatrozhat a

    termels temezse.

    - Gyrtstemez s vezrl rendszer. A kltsgtnyezk s a technolgiai

    megktttsgek, a kivlasztott temezsi mdszer alapjn optimalizlhat a

    gyrts s felmrhetk a gyrtsi rendszer esetleges gyenge pontjai.

    - Vezeti informcis rendszer. A vllalat felsszint vezetse szmra bizto-

    stja a szksges sszestett adatokat, lehetsget adva a statisztikai kirt-

    kelsekre. A rendszer felhasznlhat dntshozatali segdeszkzknt is.

    Ezt a felsorolst mg sokig lehetne folytatni tovbbi alkalmazsi terletekkel, de

    mr ebbl is lthat, hogy az adatbzisok f alkalmazsv a vllalati nyilvntartsi

    s termelsirnytsi rendszerek, valamint az llamigazgatsi nyilvntart rendszerek

    vltak.

    1.7 Adatbzisrendszer

    Az adatbzis-kezel, az adatbzis-kezel rendszer, valamint alkalmazi s se-

    gdprogramok egyttest adatbzisrendszernek (Database System, DBS) nevez-

    zk.

    A DBS hasznlatnak elnyei a kvetkezk:

    - Az egyedtulajdonsgok, kapcsolatok s metaadatok egysges trolsi

    rendszere. Az adatbzis nem egy specilis alkalmazi programhoz kszlt,

    hanem tetszlegesen sokfajta alkalmazi program is futhat rajta, tbb alkal-

    mazi program adatait is sszefogja. Ezrt szoks az adatbzisban trolt ada-

    tokat integrlt adatoknak is nevezni.

    - Adatfggetlensg. Az adatfggetlensg krdse az egyik legfontosabb jel-

    lemzje az adatkezels fejldsnek. (A tvenes vek elejn megrt progra-

  • adatbzisok.doc 2003.09.09. - 20 -

    mok egyik jellemzje volt, hogy a programkd teljes mrtkben tkrzte az

    adatok trolsnak szerkezett, hiszen a program szinte kzvetlenl elrhette

    az adatokat. Ha megvltozott a fizikai struktra, akkor t kellett rni a progra-

    mot is.)

    A fizikai adatfggetlensg azt jelenti, hogy a fizikai adatszerkezet, az elrsi

    md megvltoztathat anlkl, hogy a programot is mdostani kellene.

    Az adatfggetlensg msik tpust logikai adatfggetlensgnek nevezzk.

    Ez alatt azt rtjk, hogy a letrolt logikai adatmodell maga is bvthet, illetve

    bizonyos mrtkben mdosthat, hogy az alkalmazi programokat mdosta-

    ni kellene. Ha teht egy objektumtpushoz egy jabb tulajdonsgot kvnunk

    hozzadni, nem kell egyetlen egy meglv alkalmazi programot sem mdos-

    tani.

    - Nagyobb adatabsztrakci. Az adatbzis-kezelsnl az adatok a felhasznl

    szemszgbl tekintve adatmodellben troldnak, ezrt a felhasznlnak nem

    kell trdnie a fizikai trols rszleteivel, s egy magasabb absztrakcis szinten

    rtelmezheti az adatrendszert. A rszletek rejtve maradnak a felhasznl s a

    programfejleszt eltt is.

    - Adatmegoszts, prhuzamos hozzfrs. A rendszer felkszlt az integrlt

    adatokhoz trtn osztott hozzfrsek kezelsre. Az adatmegoszts rvn

    a helyigny is cskkenthet, s gy mindenki a legaktulisabb adatokhoz fr-

    het hozz.

    - Ellenrztt redundancia. Mivel tbb alkalmazs is ugyanazt az adatbzist

    hasznlja, ezrt a felhasznlt adatok is egy helyen, egy kzben sszpontosul-

    nak. A hagyomnyos fjlkezelsnl, ha tbb alkalmazsnak is szksge volt

    egy adatra, akkor az adatot tbb fjlban is troltk. Ez a redundancia szmos

    htrnnyal jrt, a felesleges helyfoglalstl kezdve a konzisztencia megrz-

    snek problmjig.

    - Hozzfrsi jogosultsgellenrzs, adatvdelem. A DBS az opercis

    rendszerekhez hasonlan nyilvntartja a jogosult felhasznlkat. Nyilvntartja

    az azonost nevet, a jelszt, a felhasznl tulajdonban lv adatokat, az

    engedlyezett mveleteket. Az adatveszts okozta krok minimalizlsra

  • adatbzisok.doc 2003.09.09. - 21 -

    mind statikus mind dinamikus vdelem hasznlhat. A statikus vdelem egyik

    eszkze a ments, a dinamikus vdelemhez pedig a naplzs tartozik.

    - Optimalizlt fizikai adatszerkezetek. A DBS-ben implementltk mindazokat

    a hatkony adatstruktrk kezelsre alkalmas algoritmusokat, melyekkel je-

    lentsen javthat a mveletek hatkonysga, gyorsasga.

    - Integritsi felttelek rvnyestse. A DBS keretn bell magban az adat-

    bzisban trolhatjuk az adatok kztt fennll integritsi szablyok formj-

    ban. Az adatbzis mdostsakor automatikusan ellenrzi a rendszer, hogy

    nem srl-e valamelyik integritsi szably. Ha megsrlne, akkor nem hajlan-

    d elfogadni a vltoztatst.

    - Szabvnyossg, hatkonysg, rugalmassg. A szabvnyos adatmodellek

    s kezel felletek hasznlatval az elkszlt rendszer jobban rthetv vlik

    msok szmra is, ezltal a ksbbi fejleszts s mdosts is knnyebb v-

    lik. Szmos fejleszt eszkz ll rendelkezsre, jelentsen megnvelve a fej-

    leszts hatkonysgt. A szksges vltoztatsok gyorsabban vgrehajtha-

    tk, nagyobb rugalmassgot biztostva a rendszernek.

    Az adatbzisrendszer elvi felptse

    Az adatbzis lersakor az adatbzisrendszerek hrom szintjt klnbztethetjk

    meg: a kls, a koncepcionlis s a fizikai szintet. Az egyes szintek az adatbzis-

    rendszer, mint egysg, klnbz megvilgtsainak, megkzeltsinek felelnek

    meg. A szinteket ezrt szoks nzeteknek (view) is nevezni.

    - Kls szint. A kls szint foglalja magban azt, amit a felhasznl az adatb-

    zisbl lt, amit a felhasznl adatbzis alatt gondol, ami az szmra az

    adatbzist jelenti. Mivel egy adatbzisrendszerhez tbb alkalmaz, felhaszn-

    l is kapcsoldhat, ezrt tbb nzetet is tartalmazhat. Ezek a nzetek rend-

    szerint klnbzek, hiszen a felhasznlk a teljes adatbzis ms-ms rszle-

    tt ltjk csak. Pldul ms adatokat kezel s ms adatokhoz frhet hozz a

    teljes vllalati adminisztrcis rendszeren bell egy pnzgyi vagy egy sze-

    mlyzeti adminisztrtor. Mivel az adatrendszer ms elemeivel k soha nem

    kerlnek kapcsolatba, ezrt szmukra ezek az adatok jelentik a teljes adatb-

    zist, k gy ltjk, hogy az adatbzis csak azokat az adatokat tartalmazza,

  • adatbzisok.doc 2003.09.09. - 22 -

    melyekkel kapcsolatba kerlnek. Az egyes nzetek klnbzsge nem zrja

    ki azt a lehetsget, hogy egyes nzeteknek kzs elemei is legyenek.

    - Koncepcionlis szint. Ugyan sok, klnbz kls nzet ltezik, de ezek

    mindegyike ugyanannak az adatbzisnak a klnbz rszleteit tartalmazza.

    Ezrt rtelmezhet az a ltsmd is, mely a teljes adatbzist tartalmazza.

    Ilyen nzettel kell rendelkeznie a rendszeradminisztrtornak, vagy az adatb-

    zis-terveznek. Ez a kzssgi nzet a koncepcionlis szinten helyezkedik el.

    A kzssgi nzetbl viszont csak egy van, s az sszes kls nzet ennek

    egy szelett jelenti.

    - Bels, fizikai szint. A felhasznl a kls nzetben a modellezett valsg

    egyedeit, egyedkapcsolatait ltja. Mg az adatbzis-tervez is a DBMS ltal

    tmogatott adatmodellben, teht egy absztraktabb lersban gondolkodik. Az

    adatbzis viszont fizikailag is ltezik, valamilyen fizikai adatstruktrban let-

    rolva az adathordozn. A kivlasztatott adatstruktra is lnyeges szerepet jt-

    szik az adatbzis hatkonysgnl, s az adatbzis adminisztrtor ppen egyik

    feladata a megfelel fizikai struktra kialaktsa, hangolsa. Teht ltezik egy,

    a fizikai trolsi szerkezethez kzel ll nzet is, melyet adattrolsi nzetnek

    neveznek, s ez a bels szinten helyezkedik el.

    Az egyes szinteken a nzetek megadsa klnbz adatmodellek segtsgvel tr-

    tnik. Ennek sorn meg szoktk klnbztetni magt a nzetet vagyis azon adato-

    kat, amit ltunk az adatok trolsi struktrjtl, az adatszerkezettl. Az adatszer-

    kezet lerst smnak nevezik. Az adatbzis tervezsekor elsknt a smkat kell

    ltrehozni, s ez a vz tltdik fel a hasznlat sorn adatokkal. A sma alapjn felp-

    l konkrt adatrendszert sma megvalsulsnak, adat-elfordulsnak nevezik.

    Ler nyelvek

    A smk megadsra valamilyen smaler nyelvet, modellt kell hasznlni. A sma

    az adatmodellnek s a lersnak tovbbi szmtgpes feldolgozsra is alkalmas

    tartalmi s formai megfogalmazsa. Vagyis: az adatler nyelv a sma megfogal-

    mazsra szolgl nyelv. Egy adatbzishoz egy sma tartozik, mely pontosan

    meghatrozza az adatszerkezetet, a trolsi struktrt, valamint az egyes adatele-

    mek kztt fennll logikai kapcsolatokat. Az alsmk mutatjk meg, hogy az egyes

  • adatbzisok.doc 2003.09.09. - 23 -

    alkalmazi programok az adatbzist hogyan ltjk. Egy adatbzis smhoz akrhny

    alsma illeszthet. Ms-ms alsmkban lehet az adatoknak a tpusa, neve, csopor-

    tostsa.

    Mivel a sma csak vz, melyet majd adatokkal kell feltlteni, szksg van olyan esz-

    kzre is, mely biztostja, hogy a felhasznl az adatbzison mveleteket vgezhes-

    sen. A mveletek vonatkozhatnak az adatbzis adataira ellltsra, mdostsra,

    lekrdezsre. Az ilyen adatkezelsi utastsok vgrehajtsra szolgl kifejezsek

    alkotjk az adatkezel nyelvet (Data Manipulation Language, DML). Az adatkezel

    nyelv ltal az adatbzis megnyithat, zrhat, kulcs vagy cm alapjn kereshetnk

    benne, beolvashatunk, beszrhatunk, trlhetnk, mdosthatunk.

    Szmos adatbzis-kezel rendszer nem tartalmaz procedurlis nyelvet, hanem csak

    egy adatkezel, adatdefincis rsznyelvet, melyet egy hagyomnyos programozsi

    nyelvvel egytt lehetett az alkalmazsok elksztsre felhasznlni. A hagyomnyos

    programozsi nyelvet neveztk gazda (host) nyelvnek, s ebbe kellett beltetni az

    adatkezel s adatdefincis utastsokat.

    Szintek kapcsoldsa

    A szintek sminak s nzeteinek klnbzsgbl kvetkezik, hogy az egyes szin-

    tek kapcsoldsnl lekpezst, illesztst kell vgezni. Az egyes szintek kztt in-

    tenzv kapcsolat ll fenn, hiszen amikor egy alkalmazs, egy felhasznl kiad egy

    utastst, akkor azt a sajt kls smjban fogalmazza meg. Egy idben tbb ilyen

    utasts keletkezhet, melyek mindegyike ms-ms kls smt hasznlhat.

    A mveletek sszehangolsra, vezrlsre minden utastst le kell fordtani a kon-

    cepcionlis szint smjra. A fizikai szint mveletek elvgzshez ismerni kell az

    adatok fizikai smjt is, teht szksg van a koncepcionlis s a fizikai sma kztti

    lekpzsre is. A fizikai mvelet elvgzse utn az eredmny visszajuttatshoz

    ugyangy el kell vgezni a lekpzseket, csak fordtott irnyban. A lekpzsek, me-

    lyek megnvelik a mveletek vgrehajtsi idejt, legfontosabb clja a fggetlensg

    biztostsa. (A felhasznl, az alkalmazsfejleszt fggetlentheti magt a tbbi al-

    kalmazstl, a koncepcionlis tervezs pedig fggetlentheti magt a fizikai, bels

    megvalsulstl).

    A lekpzsek elvgzse a DBMS feladata, hiszen az egyes alkalmazi programok-

    nak nem kell ismernik a teljes adatbzist, a koncepcionlis smt.

  • adatbzisok.doc 2003.09.09. - 24 -

    Felhasznlk

    A DBS-en bell az alkalmazi s a segdprogramok llnak legkzelebb a felhaszn-

    lhoz: a felhasznl ezzel a komponenssel kommunikl. A kiadott utastsok rtel-

    mezse utn az adatkezelsre vonatkoz lpseket a program a DBMS fel tovb-

    btja. A DBMS elvgzi a megfelel adatbzis mdostsokat, vagy adatbzis olvassi

    mveleteket s az eredmnyt tovbbtja az alkalmazi program fel.

    A segdprogramok kztt kiemelt helyen szerepelnek a felhasznlk egy bizonyos

    kiemelt csoportjnak kszlt programok. Az feladatuk az adatbzis menedzselse,

    melyhez kiemelt jogosultsgokkal rendelkeznek. Az adatbzis-menedzselshez tar-

    toz funkcik elvgzsre alkalmas segdprogramok megfelel mdon vdettek a

    jogosulatlan hozzfrs ellen. Ezen jogokkal felruhzott felhasznlkat nevezik

    adatbzis adminisztrtoroknak (Database Administrator, DBA).

    Az adminisztrtorok mellett dolgoznak az opertorok, akiknek a feladata a rutinszer

    rendszertevkenysgek elvgzse (mentsek, rendszerindtsok vagy zrsok).

    A felhasznlknak egy tgabb csoportja az alkalmazsfejlesztk kre. A fejlesztk-

    nek ismernik kell az adatbzis adatmodelljt, a metaadatok megadsnak mdjt,

    az alkalmazi programok fejlesztsnek lehetsgeit stb. A fejlesztk egyik csoportja

    az adatbzis tervezsvel foglalkozik, mg a msik csoportjnak a felhasznli prog-

    ramok rsa, tesztelse a feladata.

    A felhasznlk legnpesebb csoportja az alkalmazk kre, akik az elkszlt alkal-

    mazsokat hasznljk. Szmukra az adatbzis azon adatokat jelenti, amelyekkel az

    alkalmazsok sorn tallkoznak, az adatbzis, a DBMS ltezsrl, s annak bels

    mkdsrl semmilyen ismerettel sem kell rendelkeznik.

    1.8 Informcis rendszerek

    Az elksztett s alkalmazott szmtgpes programrendszereknek egyre nvekv

    adatmennyisggel kell megbirkzniuk. A htkznapjainkban is egyre gyakrabban ta-

    llkozhatunk a szmtgpes informcis rendszerek alkalmazsval. Szmtgpes

    informcis rendszer fut az zemekben, gyrakban a termels irnytsra, a pnz-

    gyi, szemlyzeti, raktri s anyaggazdlkodsi feladatok elvgzsre.

    Ahhoz, hogy megbzhatan s hatkonyan mkdjn, egy informcis rendszerek

    tbb kvetelmnynek kell megfelelnie:

  • adatbzisok.doc 2003.09.09. - 25 -

    - Nagymennyisg adat hatkony kezelse. A felhasznlnak elfogadhat

    idn bell kell vlaszt kapnia a krdseire, a kiadott utastsok vgrehajts-

    nak sem szabad sokig tartaniuk. A hatkonysg teht egyrszt idbeli hat-

    konysgot jelent, msrszt az adatok helyszksgleteinek sem szabad feles-

    legesen megnnik, kerlni kell a felesleges redundancit, azaz egyazon

    adatelem tbbszri, felesleges megismtlst. (A redundancia teljes meg-

    sznse nem mindig kvnatos az idbeli hatkonysg, vagy az adatbiztonsg

    miatt).

    - Konkurens hozzfrs tmogatsa. A nyilvntart s informcis rendsze-

    rek termszetes hasznlati mdja, hogy egyidejleg tbb felhasznl is hasz-

    nlja, dolgozik vele. Ez a lehetsg klns elvigyzatossgot ignyel, hi-

    szen nem kell sszehangols esetn a prhuzamos vltoztatsok, mvele-

    tek, torz eredmnyeket szlhetnek, egyms hatsait kiolthatjk, vagy elferdt-

    hetik. Nyilvn kell tartani az elvgzett mveleteket, s gondoskodni kell a m-

    veletek szablyozott sorrendben trtn vgrehajtsrl.

    - Integritsrzs. A modellezett, programba lekpezett valsg mindig rendel-

    kezik bels trvnyszersgekkel (ilyen szably lehet pldul, hogy minden

    embernek van szemlyi szma, vagy hogy az ember letkora nem lehet nega-

    tv). A letrolt adatok helyessge, integritsa alatt azt rtjk, hogy az adatok

    minden megadott bels szablynak megfelelnek. Az integrits megrzshez

    a rendszernek nyilvn kell tartania a szablyokat, majd minden mvelet alkal-

    mval ellenriznie kell, hogy a kapott adathalmaz megfelel-e a letrolt szab-

    lyoknak. Mindezt olyan hatkonysggal kell vgeznie, hogy a vgrehajtsi id

    mg az elviselhetsg hatrn bell maradjon.

    - Vdelem. Ha a felhasznl rbzza magt s sszes adatt a szmtgpes

    rendszerre vagyis a legtbb adat csak ott troldik akkor a trolt adatok

    elvesztse szinte ptolhatatlan vesztesget okozhat. Ezrt a rendszernek fel

    kell kszlnie a lehetsges veszlyekre, mint pldul az adathordoz srl-

    se, az opercis rendszer vagy a program sszeomlsra. A felhasznlra le-

    selked msik veszlytpus, az adatok illetktelen szemlyekhez trtn ker-

    lse. A rendszernek ezrt szablyoznia s ellenriznie kell a hozzfrseket,

    klnbsget kell tennie az egyes felhasznlk kztt az elvgezhet mvele-

  • adatbzisok.doc 2003.09.09. - 26 -

    tek tekintetben. Ehhez nyilvntartst kell vezetni a jogosult felhasznlkrl,

    azok jogairl s minden mveleti igny kiadsakor ellenrizni kell, hogy elv-

    gezhet-e a mvelet. Egyik megolds lehet a monitoring, melynek sorn a

    rendszer ellenrzi s naplzza erforrs-hozzfrseket. A hozzfrsi vde-

    lem msik mdszere a titkosts.

    - Hatkony programfejleszts. A rendszer kifejlesztsi idejnek lervidtsre

    tbb oldalrl is jelentkez nyoms hat. A szoftverpiacon a rvidebb hatrid

    elnyhz juttathatja a versengket, hiszen a felhasznl minl elbb szeretn

    kihasznlni a rendszer ltal nyjtott elnyket. Msrszrl a gyorsasg bizo-

    nyos rtelemben alapkvetelmny is, hiszen a rendszer mindig a valsg egy

    modelljnek felel meg, s a modellezett valsg elg gyakran vltozik, pldul

    megvltoznak a szablyozk, a trvnyek. Egyik felhasznl sem kvn olyan

    rendszert megrendelni, amely hasznlhatatlan lesz mire elkszl. Ezek a

    rendszerek tl drgk ahhoz hogy minden kisebb vltoztats utn a felhaszn-

    l egy jabb rendszert rendeljen meg, ezrt elg rugalmasnak kell lennie a ki-

    sebb vltoztatsok elvgzsre. A rugalmassg s a gyorsasg ignyei hat-

    kony fejleszt eszkzk hasznlatt teszik szksgess a programfejleszts

    sorn. Fejleszts alatt a szabvnyos eszkzk hasznlata megknnyti az al-

    kalmazsok j platformra trtn tltetst, s a fejlesztk egyms kztti

    kommunikcijt, tovbb a fejleszt rendszer elsajttst is hatkonyabb

    teszi.

  • adatbzisok.doc 2003.09.09. - 27 -

    2. Adatmodellek

    A klnbz modellek alapvet szerepet jtszanak a krnyez vilg megrtsben,

    lekpzsben s alaktsban. A modellek teszik lehetv a lnyeg kiemelst s

    szemlltetst. A modell fogalma alatt rendszerint kt klnbz dolgot szoks r-

    teni:

    - olyan rendszert, amely a valsg egy vizsglt szeletvel struktrban vagy

    viselkedsben megegyezik, vagy hasonl jelleget mutat s clja a vizsg-

    latn keresztl a valsg llapotra, viselkedsre vonatkoz kvetkeztetsek

    levonsa, illetve

    - a modell kifejezssel jelljk azon eszkzrendszert is, amellyel az elz rte-

    lemben vett modell lerhat, megadhat.

    A modell teht egyrszt egy jellsrendszert, msrszt egy elkszlt lerst jell-

    het.

    Mr eddig is igen sokfle s vltozatos modellekkel tallkozhattunk. A programokat is

    egyfajta modellnek tekinthetjk, hiszen a vizsglt valsgot rjk le a programozsi

    nyelvek utastsainak, kifejezseinek a segtsgvel. Amikor valamilyen alkalmazst

    ksztnk, tbb lpcsn keresztl modellezzk a feladatot: elszr egy ttekint le-

    rst ksztnk, melyben kzrtheten, az emberi fogalmakhoz kzel llan vzoljuk

    fel a megoldst, majd ez alapjn elksztjk a programozsi nyelv segtsgvel meg-

    adott lerst.

    Az adatbzis-kezels terletn a modellezsnek mg nagyobb a szerepe, mint a ha-

    gyomnyos programfejlesztsi eszkzknl. A hagyomnyos alkalmazsok egyfajta

    problmaterletre kszlnek, behatrolt funkcikkal s adatelemekkel (egy szveg-

    szerkeszt pldul nem alkalmas vruskeressre). Ezt gy is kifejezhetjk, hogy az

    alkalmazsba belegetdtt a problmaterlet modellje. A modell megvltoztats-

    hoz az alkalmazs egyes rszeit jra kellene rni.

    Az adatbzis-kezel rendszerek ezzel szemben nemcsak egy problmaterlethez

    kszltek, hanem ltalnos clak. Az adatbzis-kezel rendszernek a modellezett

    terlettl fggetlenl biztostania kell az adatbzisban trolt adatok hatkony kezel-

    st. Ezrt az adatbzis-kezelkbe nem lehet egyetlen egy fix modellt begetni, ha-

    nem nagyon sokfle klnbz modell kezelsre alkalmasnak kell lennie. Ez csak

    gy oldhat meg, ha a DBMS is rendelkezik egy fellettel, amelyen keresztl megad-

  • adatbzisok.doc 2003.09.09. - 28 -

    hat, hogy milyen legyen az aktulisan troland adatrendszer struktrja, modellje.

    Teht a DBMS-ekhez mindig csatlakozik egy ler nyelv, egy modell.

    Azokat a modelleket, amelyek az adatok struktrjnak lersra szolglnak,

    adatmodelleknek nevezik. Az adatmodellek kzponti szerepet jtszanak az adatb-

    zis-kezelsben, hiszen ezen keresztl adhatjuk meg a megvalstand rendszer le-

    rst az adatbzis-kezelnek. Ahhoz, hogy hasznlni tudjuk az adatbzis-kezelt,

    ismernnk kell a hozz tartoz adatmodellt.

    Az adatbzis-kezels fejldsvel jabb s jabb adatmodellek jttek ltre. Nhny,

    amit ismertetni fogunk: hierarchikus, hls, relcis, objektum-orientlt. A DBMS-ek

    egyik f jellemzje, hogy mely adatmodellhez kapcsoldnak. (Pldul a relcis

    DBMS a relcis adatmodellen nyugszik). Az adatmodell egy jellsrendszeren alap-

    szik, ezrt nem ignyli felttlenl egy DBMS ltt, vagyis lteznek olyan adatmodel-

    lek, melyekhez nem ltezik DBMS; ilyen pldul az egyed-kapcsolat modell.

    Az adatmodellezs teht az adatllomnyok tervezsnek korszer mdszere. Az

    adatmodellezssel az a cl, hogy egy informcis rendszer adatait s az adatok k-

    ztt fennll kapcsolatokat kvetkezetesen brzolva, elsegtsk a szmtgpes

    informci-feldolgozst. Az adathalmaz s az adathalmaz elemei kztt fennll

    kapcsolatok strukturlt lerst adatmodellnek nevezzk.

    Egy kielgt modellnek az albbi feltteleket kell teljestenie:

    - tfognak kell lennie, azaz minden lehetsges adatot s minden lehetsges

    kapcsolatot tudnia kell brzolni s kezelni,

    - le kell tudnia rni a valsg ltalnos, lnyeges s tarts sszefggseit,

    - redundancia-mentesnek kell lennie, azaz minden adatot lehetleg csak egy-

    szer tartalmazzon,

    - kvetkezetesnek kell lennie,

    - s az alkalmazott hardverrel s szoftverrel sszhangban levnek kell len-

    nie.

    Az adatmodell nemcsak felsorolsa az adatokat tartalmaz mezknek, hanem az

    adatok jelentst is tartalmazza. gy az adatmodellben

    - vilgosan megklnbztethetk az brzolt dolgok s a dolgok tulajdonsgai,

    - pontosan meghatrozott, hogy melyek az brzoland dolgok azon tulajdon-

  • adatbzisok.doc 2003.09.09. - 29 -

    sgai, amelyekkel a dolgok egyrtelmen azonosthatk,

    - valamint az adatmodell expliciten definilja az brzolt dolgok kztti kapcso-

    latokat.

    A vals vilghoz kpest az adatmodellek tartalmaznak bizonyos megszortsokat s

    egyszerstseket, st mg a modellez szemlytl fgg vonsokat is. Az adat-

    modell kialaktsakor el kell dnteni, hogy mik legyenek a modellben az brzoland

    informcielemek, s ki kell vlasztania a dolgok kztt fennll lnyeges kapcsola-

    tok kzl azokat, amelyeket be akarunk a modellbe pteni.

    Egy adatmodell a kvetkez elemeket tartalmazza:

    - Egyedek a valsg olyan dolgai, amelyek ms dolgoktl megklnbztethe-

    tk, azaz az egyed a vals vilgban ltez, fogalmi vagy fizikai lttel rendelke-

    z dolog, amelyet tulajdonsgokkal akarunk lerni pldul dolgoz, tanul,

    lakos, vsrl stb.. Ugyanaz a dolog tbbfle egyednek is tekinthet egy

    szemly pldul lehet dolgoz s vsrl. A kpviselt konkrt elemek halma-

    zt egyedhalmaznak nevezzk. Pldul a vsrl, mint egyedhalmaz az sz-

    szes vevt tartalmazza).

    - Tulajdonsgnak nevezzk a valsg dolgainak azon jellemzit, amelyekkel

    az egyedeket lerjuk. Pldul dolgoznl tulajdonsg a nv, munkahely, be-

    oszts, stb. A nv rtkei lehetnek: Kovcs, Szab stb. Az egyedek a tulaj-

    donsgrtkeikkel azonosthatk.

    - Kapcsolatnak nevezzk az egyedek kztti viszonyok fogalmi tkrkpeit.

    Objektumok kztti viszony lehet pldul az, hogy a tanul az iskola tanulja.

    Ennek egy konkrt elfordulsa, ha Szab Jnos a Jzsef Attila ltalnos is-

    kola tanulja.

    Az adatmodellek a kvetkez hrom szintre bonthatk:

    - Kls szint. Azt rja le, hogy hogyan ltjk a felhasznlk az adatbzist.

    - Bels, fizikai szint. Az adatok fizikai elhelyezst s fizikai elrsi mdjt rja

    le.

    - Koncepcionlis szint Azt rja le, hogy logikailag egysgbe vonva, hogyan

    nz ki tnylegesen az adatbzis: hogyan nznnek ki az adatok, ha mindenki

  • adatbzisok.doc 2003.09.09. - 30 -

    mindent lthatna bellk.

    Az adatmodell az adatok logikai trolsi formtumt hatrozza meg. Egy olyan

    vzat ad, melybe az adatokat bele lehet tlteni. Az adatmodell megadsa eszerint

    egy szerkezetlerst jelent, amit meg kell mg toldani annyival, hogy az adatrendszer

    ismerete nem csak az adatszerkezet ismerett, hanem az adatok kezelsi mdjnak

    az ismerett is magban foglalja. Ezrt az adatmodellbe a statikus szerkezet lers

    mellett a dinamikus, az adatokon rtelmezett mveleteket is belertik. Az adatmodell

    megadsnl mind a szerkezet, mind a mveletek megadsa logikai szinten, s nem

    fizikai szinten trtnik, ezrt az adatmodell egy elvontabb absztraktabb, formlisabb

    lerst jelent. sszegezve teht az adatmodell egy olyan matematikai formaliz-

    mus, mely az adatok s az adatokon rtelmezett mveletek lersra szolgl.

    Tbb adatmodell is ltezik, de ezekbl ngy terjedt el a gyakorlati letben: a hierar-

    chikus, a hls, a relcis s az objektum orientlt adatmodellek. Ezek kzl a rel-

    cis adatmodell a legnpszerbb, a hierarchikus s a hls modell mr a mlt, mg

    az objektum orientlt modell vrhatan a jvben vlik csak igazn piacrett.

    2.1 Hierarchikus adatmodell

    A hierarchikus adatmodell az adatokat egy hierarchikus faszerkezetben trolja. A fa

    mindegyik csompontja egy rekordtpusnak felel meg s a rekordok kztt szl-

    gyerek kapcsolat van. A hierarchikus modell alapja, hogy a gyakorlati letben a szer-

    vezetek vagy ppen a struktrk nagyon gyakran hierarchikus felptsek (gondol-

    junk csak a vllalati hierarchira vagy egy gyrtmny alkatrszeinek hierarchijra).

    Emiatt termszetesnek tnik, hogy a modellezs megknnytsre a valsgban leg-

    gyakrabban hasznlt, hierarchikus modellt hozzuk ltre.

    Ez a modell a gyakorlati alkalmazsok sorn fejldtt ki, ezrt nincs olyan elmleti

    megalapozottsga, mint a ksbbi adatmodelleknek. A bonyolultabb kapcsolatok b-

    rzolsa csak kerlutakon lehetsges. A modell elnye, hogy a hierarchikus szer-

    kezet egyszeren lerhat s trolsa a mgnesszalagos trolsi formhoz is jl il-

    leszkedik.

    A hierarchikus adatmodellnl a kt fontos alapfogalommal tallkozunk:

    - Rekord: egy egyedhez tartoz mezk rtkeinek sszessgt tartalmazza. Az

    azonos tpus rekordok csoportjt rekordtpusnak nevezzk, melynek azonos-

  • adatbzisok.doc 2003.09.09. - 31 -

    t nevet kell adni. A rekord szerkezett a benne lv mezk hatrozzk meg.

    - Szl-gyerek kapcsolat: kt rekordtpus kztt fennll n. 1:N kapcsolat. Az

    1-oldal rekordtpust szl-, mg az N-oldal rekordtpust gyerek rekordtpus-

    nak nevezzk.

    A modell tulajdonsgai:

    - egyetlen rekordtpus, a gykr, nem vehet rszt gyerekknt szl-gyerek kap-

    csolatban,

    - minden rekordtpus a gykr kivtelvel gyerekknt pontosan egy szl-

    gyerek kapcsolatban vehet rszt,

    - brmely rekordtpus szlknt tetszleges szm kapcsolatban vehet rszt,

    - ha egy rekordtpus szlknt tbb kapcsolatban is rszt vesz, a gyerek rekord-

    tpusai balrl jobbra rendezettek.

    Szmos esetben kerlhetnk olyan helyzetbe, amikor kt rekord kztt N:M kapcso-

    lat ll fenn. Ugyan ezt is le lehet rni 1:N kapcsolatok segtsgvel, de a megolds

    krlmnyes s az adatok felesleges ismtlshez vezet. Az egyszersts rdek-

    ben, az N:M kapcsolatok lersnak megknnytsre vezettk be a virtulis re-

    kordtpust. Ez olyan rekordtpus, amelynek valamennyi rekordja tartalmaz egy muta-

    tt, ami egy msik szinten lv rekordtpusra mutat. A mutatt tartalmaz rekordt-

    pust virtulis gyereknek, amire mutat, virtulis szlnek nevezzk. A mutat ltal lt-

    rehozott kapcsolat virtulis szl-gyerek kapcsolat.

    A klasszikus hierarchikus adatbzis-kezelsben a kvetkez ktelez integritsi

    szablyokat kell betartani:

    - A gykr kivtelvel egyetlen rekord elforduls sem ltezhet a hozz tartoz

    szlrekord nlkl. Ebbl kvetkezik, hogy:

    - gyerekrekordokat csak szlrekordokhoz kapcsolva szrhatunk be,

    - a gyerekrekordot a szlrekordtl fggetlenl trlhetjk,

    - szlrekord trlsekor automatikusan trldnek a hozz kapcsold gye-

    rekrekordok is,

    - ha egy gyerekrekordnak kett, vagy tbb ugyanolyan tpus szlrekordja

    van, a gyerekrekordot meg kell tbbszrzni, hogy minden szlhz kln-

    kln tartozzon,

    - ha a gyerekrekordnak egynl tbb klnbz tpus szlrekordja van, akkor

  • adatbzisok.doc 2003.09.09. - 32 -

    ezek kzl csak az egyik igazi, a tbbi csak virtulis szl lehet.

    brzols Bachman diagrammal

    A modell szerkezete egy faszerkezet. A rekordtpusnak egy tglalapot feleltetnk

    meg, a rekordtpus nevt a tglalap fels rszbe, a mezneveket pedig az als

    rszbe rjuk. A kapcsolatot sszekt nyllal brzoljuk.

    DOLGOZszem.szm, nv, kor

    CGnv, cm, igazgat

    OSZTLYszoba, nv

    2-1. bra. Adatmodellek hierarchikus adatmodell brzolsa.

    2.2 Hls adatmodell

    A hls adatmodell a hierarchikus modell tovbbfejlesztse, mely jobban illeszkedik

    a bonyolultabb kapcsolatok brzolshoz. Ebben a modellben az egyedek kztt

    tetszleges kapcsolatrendszer, egy kapcsolathl alakthat ki. Az adatszerkezet

    lersa mivel a hl tetszlegesen nagy lehet nem egy adategysggel, hanem

    tbb kisebb, hierarchikus felpts adategysggel trtnik.

    A modell alapvet szerkezeti elemei a rekord (record) s a halmaz (set). Rekordok-

    ban troljuk az egymssal szoros kapcsolatban lv adatokat. Valamilyen szempont

    szerint sszetartoz rekordok egy rekordtpusba tartoznak. Minden rekordtpusnak

    van egy azonost neve, a rekord adatelemeit pedig nevkkel s tpusukkal jellemez-

    zk.

    A halmaztpus kt rekordtpus kztti kapcsolatot r le. brzolskor a SET tpust

    nyllal jelljk. Hrom alapeleme van: a SET tpus azonostja, a tulajdonos rekordt-

    pus s egy tag rekordtpus.

    A hls modell minden halmazban van egy megklnbztetett elem, ami a tulajdo-

    nosrekord, a rekordok rendezettek, a rekordok rendezettsge pedig az adott mezk

    rtkn alapul, vagy a rendszer bels gye a rendezsi szempont.

  • adatbzisok.doc 2003.09.09. - 33 -

    Dolgoz SET

    Kovcs Jzsef

    Knyvels

    Tth Kroly

    Kiss Elemr

    2-2. bra. Adatmodellek hls adatmodell brzolsa.

    2.3 Objektum-orientlt adatmodell

    Az objektum-orientlt programozs terjedse az elmlt vtizedben j adatmodell- s

    adatbzis-koncepcihoz vezetett.

    Az objektum-orientlt fogalom azt jelenti, hogy a vals vilg objektumait modellez

    programot az adatszerkezetet s a hozz tartoz mveletet egysgbe foglal

    alkotelemekbl, n. objektumokbl ptjk fel. Az objektumok zrtsga nagyobb

    adat- s mveletbiztonsgot jelent a hagyomnyos programozssal szemben. A ha-

    gyomnyos programok esetben az adatok s a mveletek kapcsolata laza, gy na-

    gyobb az esly arra, hogy egy nem megfelel program mdostja valamelyik adatot,

    illetve nem a megfelel adatot mdostja. A zrtsgbl kvetkezen az objektum-

    orientlt modell nem ms, mint egy adat- s mveletmodell. Az azonos adatstrukt-

    rj s viselkeds objektumokat osztlyba soroljuk.

    Egy bizonyos osztlyba tartoz adott objektum esetn az objektum elfordulsrl,

    vagy objektumrl beszlnk. Az osztlyt tglalappal jelljk. A tglalapon bell az

    osztly azonostjt s tulajdonsgait, valamint a mveleteket vonallal vlasztjuk el.

    Az objektumok fontos tulajdonsga az rkls. Az rkl objektum a szl objektum

    valamennyi tulajdonsgt hordozza, viselkedst tveszi. Ezen kvl j, specilis tu-

    lajdonsgokkal s viselkedssel is rendelkezhet.

  • adatbzisok.doc 2003.09.09. - 34 -

    Az objektum-orientlt adatmodell minden ignyt kielgt brzolsmdja mg nem

    szletett meg, aminek oka az objektum-orientlt nyelvek klnbzsge, s lland

    fejldse.

    BEOSZTOTT

    szem. szmnv

    dolgozik

    VEZET

    irnyt

    2-3. bra. Adatmodellek objektum-orientlt adatmodell brzolsa.

    2.4 Egyed-kapcsolat adatmodell

    Az egyed-kapcsolat (Entity Relationship, ER) modellt, mint a relcis modellezs be-

    vezetjeknt alkalmazzk. Elnyei kz tartozik az egyszersg s a szoros kapcso-

    lat, a knny konvertlhatsg a relcis modell fel.

    Az ER-modell, mint ahogy azt a neve mutatja, hrom alapelemen nyugszik:

    - az egyedek,

    - az egyedek kztti kapcsolatok s

    - az egyedek tulajdonsgi fogalmain.

    Az ER-modell kizrlag a valsg strukturlis lersn alapszik, megengedve bizo-

    nyos egyszerbb integritsi feltteleket is. Ezen egyszersg miatt, korbban vita

    bontakozott ki, hogy menyiben tekinthet egyltaln adatmodellnek az ER rendszer.

    Egyesek szerint ez a modell csak az adattervezst tmogatja, nem biztost megfelel

    precizitst, ezrt nem is tekinthet adatmodellnek.

    Az ER fogalomrendszerben a modellezett vilg azon szereplit, amelyek nll lt-

    tel brnak s melyekrl tbb klnbz adatot tartunk nyilvn, egyedeknek nevezik.

    Az egyedek kztt vannak hasonl szerkezetek, s vannak egymstl igen kln-

    bz felptsek. A hasonl felpts egyedek alkotnak egy egyedtpust. Minden

    egyedtpus tbb egyed elfordulst lel t, ahol egy egyed elforduls egy konkrt

    egyedet jell.

    Az egyedeket az azokat jellemz tulajdonsgokkal rjuk le. Teht minden egyed

    rendelkezik egy sor tulajdonsggal, melyek ms-ms rtkeket vehetnek fel.

    Az egyes egyedtpusok elsdlegesen a tpushoz tartoz tulajdonsgok krben tr-

  • adatbzisok.doc 2003.09.09. - 35 -

    nek el egymstl. Az egyedtpus lnyeges jellemzje teht a hozz tartoz tulajdon-

    sgok kre.

    Az egyed elfordulsok s az egyedtpusok nem izollt, elszigetelt szerepli a model-

    lezett vilgnak. Az egyedek kapcsolatban llnak ms egyedekkel, egy sszetettebb

    struktrt hozva ltre. Teht a modellben az egyedek mellett a kapcsolataiknak is

    szerepelni kell. Az egyedek kztt klnbz bonyolultsg kapcsolatok llhatnak

    fenn s a modell akkor j, ha alkalmas a kapcsolatok rnyalt kifejezsre.

    Az ER-modell elemkszlete

    A modell a valsg hbb lekpezsre az egyszer egyed s kapcsolat elemek mel-

    lett megklnbzteti tbb vltozatt mind az egyedeknek, mind a kapcsolatoknak. E

    vltozatok kztt lnyeges jelentsbeli s viselkedsi klnbsgek vannak, s ezen

    kvl egszen msfle relcis modellbeli elemekre kpzdnek le.

    Az ER-modell egyik lnyeges tulajdonsga, hogy egy grafikus jellsrendszert alkal-

    maz. A grafika, a szveges lerstl eltren sokkal kifejezbb, lnyegre trbb az

    emberek szmra, gy kivlan alkalmas a fontosabb fogalmak s kapcsolatok meg-

    jelentsre.

    Egyed: Egy, a klvilg tbbi rsztl egyrtelmen megklnbztethet dolog.

    - Norml egyed: olyan tulajdonsgcsoporttal rendelkezik, mely egyrtelmen

    azonostja az egyedet (pldul embernl a szemlyi szm, autnl a rend-

    szm). Jele egy tglalap, melynek belsejben az egyedtpus azonost neve

    ll.

    Ember

    2-4. bra. Adatmodellek egyed jellse.

    - Gyenge egyed: nincs azonost tulajdonsgrendszere, gy ms egyedhez f-

    zd kapcsolata szksges az azonostshoz. (Ha az autknak csak a tpu-

    st tudjuk, akkor ahhoz, hogy a sok azonos tpus autbl ki tudjuk vlasztani

    a megfelelt, szksgnk van egy msik egyed pldul a tulajdonos ada-

    tainak megadsra is.) Jele a dupla kerettel rajzolt tglalap, kzpen az azo-

    nost nvvel.

  • adatbzisok.doc 2003.09.09. - 36 -

    Aut

    2-5. bra. Adatmodellek gyenge egyed jellse.

    Tulajdonsg: Az egyed egy meghatrozott jellemzje.

    - Egyszer tulajdonsg: egy elemi rtkkel lerhat tulajdonsgot ad meg. Az

    ember kora pldul egyszer tulajdonsg, hiszen egy skalr szm elegend a

    megadshoz. A hobbi mr nem egyszer tulajdonsg, hiszen tbb rtkeket

    is felvehet egyidejleg, hiszen egy embernek egyszerre tbb hobbija is lehet.

    A tulajdonsgok ellipszisben adjuk meg, az ellipszis kzepbe rva a tulajdon-

    sg azonost nevt. A tulajdonsg nmagban nem llhat, ezrt mindig meg

    kell adni, hogy mely egyedhez, vagy kapcsolathoz ktdik. A kapcsoldst

    egy vonallal jelljk, amely a megfelel tulajdonsgot s az egyedet kti sz-

    sze.

    Emberkor

    2-6. bra. Adatmodellek egyszer tulajdonsg jellse.

    - sszetett tulajdonsg: olyan tulajdonsg, amely tbb elemi tulajdonsg

    egyttesre bonthat. Ilyen tulajdonsg lehet pldul a cm, amely felbonthat

    az irnytszm, telepls, utca, hzszm elemi adatok egyttesre. Az sz-

    szetett tulajdonsgot is ellipszissel jelljk, melyhez hozzktjk az illeszked

    elemi tulajdonsgok szimblumait.

    Embercm

    telepls utca hzszm

    irnytszm

    2-7. bra. Adatmodellek sszetett tulajdonsg jellse.

    - Kulcs tulajdonsg: az egyed egyrtelm azonostsra szolgl tulajdonsg.

    Az ember egyed esetn pldul a szemlyi szm tltheti be ezt a szerepet. A

  • adatbzisok.doc 2003.09.09. - 37 -

    kulcstulajdonsgot gy jelljk ki, hogy a tulajdonsg azonost nevt alhz-

    zuk egy folytonos vonallal.

    Emberszemlyi szm

    2-8. bra. Adatmodellek kulcs tulajdonsg jellse.

    - Tbbrtk tulajdonsg: olyan tulajdonsg, amely nem csak egy elemi rt-

    ket, hanem tbb elemi rtket, rtkek egy tmbjt vehet fel. gy pldul az

    ember egyed iskolai vgzettsg tulajdonsgnak lersra tbb elemi rtket

    is meg lehet adni, hiszen tbbfle vgzettsge is lehet valakinek. A tbbrtk

    tulajdonsgot egy dupla keret ellipszissel jelljk.

    Embervgzettsg

    2-9. bra. Adatmodellek tbbrtk tulajdonsg jellse.

    - Leszrmaztatott tulajdonsg: olyan tulajdonsg, melynek rtke ms tulaj-

    donsgokbl vezethet le, szrmaztathat. gy pldul az aut egyed esetn

    a brutt r kiszmolhat a nett rbl s az FA kulcs mrtkbl. A leszr-

    maztatott tulajdonsg jele egy szaggatott vonallal hatrolt ellipszis. Azt nem je-

    lljk, hogy mely ms tulajdonsgokbl s mi mdon szrmaztathat az rtk.

    Aut

    Brutt r

    FA

    Nett r

    2-10. bra. Adatmodellek leszrmaztatott tulajdonsg jellse.

    Kapcsolat: az egyedek kztt fennll viszonyt hordozza.

    - 1:1 kapcsolat: a kapcsolatban mindkt egyedtpus elfordulsai csak egyet-

    lenegy elfordulshoz rendeldnek a msik egyedtpusbl. Pldul egy frfi

  • adatbzisok.doc 2003.09.09. - 38 -

    csak egy nnek lehet a frje s egy n is csak egy frfinak lehet a felesge . A

    kapcsolatot egy rombusszal jelljk, melybe berjuk kapcsolatot ler azonos-

    t nevet. A ngyszg tellenes cscsaibl egy-egy nyilat hzunk, melyek a

    kapcsold egyedekhez vezetnek.

    Frfi Nhzas

    2-11. bra. Adatmodellek 1:1 kapcsolat jellse.

    - 1:N kapcsolat: abban klnbzik az 1:N kapcsolattpustl, hogy az egyik,

    egyedtpus elfordulsai tbb elfordulssal tarthatnak kapcsolatot a msik-

    bl, de a msik elforduls tovbbra is csak egy elfordulshoz kapcsoldhat.

    Pldul egy autnak csak egy tulajdonosa lehet, egy ember viszont tbb autt

    is birtokolhat. A 1:N kapcsolat brzolsnl azon egyedbe, melybl tbb is

    kapcsoldhat a msik egyedhez, egy kettsnyl vezet.

    Ember Autbirtokol

    2-12. bra. Adatmodellek 1:N kapcsolat jellse.

    - N:M kapcsolat: olyan kapcsolattpus, melyben mindkt egyedtpus elfordu-

    lsai tbb elfordulssal is tarthatjk a kapcsolatot a msik egyedtpusbl.

    Pldul egy oktat tbb tantrgyat is tanthat s egy trgy oktatsban tbb

    oktat vehet rszt. A kapcsolat brzolsnl mindkt kapcsold egyedbe

    kettsnyl mutat.

    Oktat Tantrgytant

    2-13. bra. Adatmodellek N:M kapcsolat jellse.

    - N-ed fok kapcsolat: a kapcsolatban nemcsak kett, hanem ennl tbb

    egyed vesz rszt. Ilyen kapcsolatra plda a vsrls kapcsolat, melyben a v-

  • adatbzisok.doc 2003.09.09. - 39 -

    srl, az elad s az r kapcsoldik ssze, hiszen a vev, bizonyos term-

    ke(ke)t vsrol egy adott eladtl. Az n-ed fok kapcsolatot gy brzoljuk,

    hogy a rombuszbl tbb nyl fut ki.

    vsrl eladvesz

    ru

    2-14. bra. Adatmodellek N-ed fok kapcsolat jellse.

    - Totlis kapcsolat: egy egyed totlisan vesz rszt a kapcsolatban, ha minden

    egyed elfordulsa rszt vesz egy kapcsolat elfordulsban, azaz nincs olyan

    egyed elforduls, mely nem kapcsoldna egy msik egyedtpus valamely el-

    fordulshoz. Azok az egyedek, amelyek nem totlisan vesznek rszt a kap-

    csolatban, parcilis kapcsolatot alkotnak. Pldul abban az esetben, ha min-

    den autnak van tulajdonosa, akkor az aut totlis kapcsolatban van ez em-

    berrel a tulajdonosi kapcsolatban. Az ember viszont csak parcilisan vesz

    rszt a tulajdonosi kapcsolatban, mivel lehetnek olyan emberek, akiknek nincs

    autjuk.

    2.5 Relcis adatmodell

    A relcis adatmodell napjaink legelterjedtebb adatmodellje; a modellel egyszer,

    knnyen megtanulhat lersi mdot sikerlt megvalstani. Egyszersgnek kvet-

    keztben a felhasznlk krben gyorsan npszerv vlt s a szemlyi szmtg-

    pek piacn sok implementcija szletett. Az elmleti megalapozottsg a kutatk,

    szakemberek szimptijt is kivltotta, gy ez a modell szmos j fejleszts alapjt

    kpezi. Az adatmodell fontos elnye az egyszersg mellett a modell rugalmassga.

    A relcis modell elnyei, fbb jellemzi az albbiakban foglalhat ssze:

    - Egy egyszer s knnyen megrthet strukturlis rszt tartalmaz. A

    strukturlis rsz egyszersge a kzrthetsg mellett az alkalmazhatsgot

    is nveli, hiszen az egyszerbb formulk ltalnosabban fordulnak el a k-

  • adatbzisok.doc 2003.09.09. - 40 -

    lnbz adatforrsokban.

    - A modellhez olyan mveleti rsz csatlakozik, amely a programozsi

    nyelveknl egyszerbb kezeli felletet biztost, annak rdekben, hogy

    minl ltalnosabban, minl szlesebb krben lehessen hasznlni.

    - Az adatmodell integritsi rszben egyszer, kzrthet s ezzel egytt

    hatkony feltteleket definil. Az integritsi felttelek elnye, hogy deklaratv

    megadsukkal a szablyok magban az adatbzisban kerlnek letrolsra, s

    a relcis adatbzis-kezel automatikusan ellenrizni fogja e szablyok betar-

    tst, illetve csak olyan tevkenysgeket fog megengedni, amelyek nem srtik

    a megadott integritsi elrsokat.

    - Egyszer tervezsi metodika; az adatbzis tervezse jl definilt, egyr-

    telm elmleti alapokon nyugszik. A tervezs elmleti alapjai az gyneve-

    zett normalizlsi szablyokon alapulnak, amely a relcis modell strukturlis

    lehetsgeit s a modellezend fogalmak kztti fggsgi kapcsolatokat ve-

    szi figyelembe. A normalizls segtsgvel egy hatkony, ttekinthet adat-

    modellt kapunk.

    - Nagyfok logikai fggetlensg. A relcis modell elrejti a felhasznlk ell a megvalsts rszleteit. A felhasznl nyugodtan hasznlhatja a hozz kzel

    ll fogalmakat, a rendszer egy bels optimalizl komponens segtsgvel ki

    fogja vlasztani a leghatkonyabb fizikai megvalstst.

    - A relcis modell tiszta elmleti alapokon nyugszik. A halmazelmletre s

    a matematikai logikra alapozva a relcis modell az els, mlyebb elmletre

    tmaszkod adatmodell. Ennek f elnye, hogy a modell megbzhatbb s ki-

    szmthatbb lesz, s knnyebb a modell tulajdonsgainak a vizsglata is. A

    megbzhatsg garantlja, hogy nem fogjk kellemetlen esemnyek, vratlan

    hibk megzavarni az adatmodellen alapul adatbzis-kezelk mkdst.

    - Egysgessg. Az adatbzisban mind a norml, mind a struktrt ler

    metaadatok trolsa ugyanazon mdon s formalizmussal trtnik s ugyan-

    azon utastsokkal valsthat meg.

  • adatbzisok.doc 2003.09.09. - 41 -

    Egyedhalmazok brzolsa

    A relcis modellben az adatokat ktdimenzis tblban troljuk s a kvnt ada-

    tokat relcis mveletek segtsgvel kereshetjk vissza. brzolskor az egyed-

    halmaz lesz a tblzat neve.

    A tblnak minden sorban azonos szm oszlop tallhat. A tblzat els sora a

    relci fejrsze. Itt tallhatk az egyrtelm oszlopnevek (a relci attribtumai, tu-

    lajdonsgai), melyek az oszlopokban lv adatok jelentst adjk meg. A tblzat

    fejrsztl klnbz oszlopait meznek neveznik. Egy-egy oszlopban lv adatok

    csak ugyanannak az rtkhalmaznak az elemei lehetnek. Az oszlopok szma a tb-

    lzat fokszma.

    A tblzat sorai a relcik sorai, ms nven tuple-k, vagy rekordok.

    Az oszlopok s a sorok sorrendjt felcserlhetjk, ez a relcit nem, csak megjele-

    nst vltoztatja meg.

    EMBERnv vros foglalkozs korKovcs Szeged rs 45Szab Budapest tanr 50Kiss Szolnok rendr 47Tth Szeged tzolt 30

    2-15. bra. Adatmodellek relcis modell tblja.

    A modell fontos fogalma a kulcs. Az elsdleges kulcs a tblzat sorainak egyrtel-

    m megklnbztetsre, azonostsra hasznlhat. A kulcs nem veheti fel ktszer

    ugyanazt az rtket egy tbln bell. Elemi kulcsrl beszlnk akkor, ha a relci

    valamelyik eleme (a tblzat valamelyik attribtuma, oszlopa) alkalmas a rekordok

    (sorok) egyrtelm megklnbztetsre. Ha egynl tbb attribtum szksges egy

    rekord megtallshoz, sszetett elsdleges kulcsrl beszlnk. Ha egy relcit

    tbb attribtum is egyrtelmen meghatroz, akkor szabadon vlaszthatjuk meg,

    hogy melyik legyen az elsdleges kulcs, a tbbit alternatv kulcsnak nevezzk. Az

    elsdleges kulcsot a tbbi tulajdonsgtl alhzssal klnbztetjk meg. A kulcs

    kivlasztsnl gyelnnk kell arra, hogy a kulcsban szerepl attribtumok szma a

    lehet legkevesebb legyen.

  • adatbzisok.doc 2003.09.09. - 42 -

    AUTrendszm tpus szn korARC-125 Opel fehr 2TOP-942 Trabant zld 28POK-810 Lada piros 17SAM-357 Opel fehr 1

    2-16. bra. Adatmodellek elsdleges kulcs.

    Egy tblbl a tblval logikai kapcsolatban lv msik tbla egy meghatrozott so-

    rra az idegen kulcs segtsgvel tudunk hivatkozni. Az idegen kulcsnak megfelel

    rtk abban a tblban, amelyiknek rekordjra hivatkozunk, elsdleges kulcs.

    EMBERsorszm nv vros kor rendszm

    1 Kovcs Szeged 45 TOP-9422 Szab Budapest 50 POK-8103 Kiss Szolnok 47 ARC-1254 Tth Szeged 30 SAM-357

    AUTrendszm tpus szn korARC-125 Opel fehr 2TOP-942 Trabant zld 28POK-810 Lada piros 17SAM-357 Opel fehr 1

    2-17. bra. Adatmodellek idegen kulcs.

    Kapcsolatok brzolsa

    A relcis adatmodellben a kapcsolatokat is tblzatok segtsgvel brzoljuk. A

    legegyszerbb esetben, 1:1 kapcsolat esetn eljrhatunk gy ahogyan azt az

    elbbi bra is mutatta , hogy az egyik tblt kiegsztjk a logikailag hozz kap-

    csold msik tbla elsdleges kulcsa felhasznlsval. A kapcsolatra a tulaj-

    donsg neve utal.

    Ms esetekben, 1:N, N:M kapcsolatoknl j tblt kell ltrehoznunk. A kapcsolat

    tblba oszlopai a kt sszekapcsolt tbla elsdleges kulcsai lesznek.

  • adatbzisok.doc 2003.09.09. - 43 -

    EMBERsorszm nv vros kor

    1 Kovcs Szeged 452 Szab Budapest 503 Kiss Szolnok 474 Tth Szeged 30

    BIRTOKOLsorszm rendszm

    1 TOP-9422 POK-8103 ARC-1254 SAM-357

    AUTrendszm tpus szn korARC-125 Opel fehr 2TOP-942 Trabant zld 28POK-810 Lada piros 17SAM-357 Opel fehr 1

    2-18. bra. Adatmodellek tblk sszekapcsolsa kapcsolat tbla alkalmazsval.

    Abban az esetben, ha csak a tblzat nevt s a tulajdonsgokat adjuk meg, az ada-

    tok nem, relcis smrl beszlnk. Jellse: relcinv (attribtumok felsorol-

    sa), pldul Aut (rendszm, tpus, szn, kor). A relcis modell egy vagy tbb relci-

    s smt tartalmazhat. A relcis smkbl ll halmazt relcis adatbzissm-

    nak, vagy rviden adatbzissmnak nevezzk.

    Integritsi knyszerek

    A relcis modellhez kapcsoldnak olyan fogalmak is, amely nem kzvetlenl az

    adatszerkezetre hanem az adatbzis integritsra vonatkoznak. Az integritsi szab-

    lyok clja az adatbzis elfordulsok lehetsges, megengedett krnek behatrol-

    sa. Az integritsi szablyok teht az adatbzisban lv adat elfordulsokra

    adnak megszortsokat. Az integritsi szablyokat csoportosthatjuk aszerint, hogy

    milyen szinten fogalmazzk meg a megktseket. Eszerint megklnbztetnk a kul-

    csokra, mezkre s rtkekre vonatkoz megszortsokat:

    - Az elsdleges kulcsnak egyedi rtkkel kell rendelkeznie, vagyis a tbl-

    nak nem lehet kt olyan sora, amelyben az elsdleges kulcs rtkei meg-

    egyeznek. Az elsdleges kulcsot alkot tulajdonsg nem lehet res, null rtk.

    - Az idegen kulcs rtke vagy a hivatkozott tbla elsdleges kulcsnak va-

  • adatbzisok.doc 2003.09.09. - 44 -

    lamelyik rtke, vagy null rtk lehet.

    - Egyes attribtumok meghatrozott rtkkszlettel rendelkeznek, pldul d-

    tumhoz nem rhatunk be szveget, vagy egyes tulajdonsgok csak meghat-

    rozott rtkeket vehetnek fel.

    A relcis adatstruktra helyessgnek vizsglata

    A modell ltal biztostott elemekkel, egyazon problmakrre, szmos egymstl l-

    nyegesen eltr modell kszthet. Ezek a modellek nem lesznek egyformn hatko-

    nya, egyes elkszlt modellek tartalmazhatnak bizonyos hibkat, amelyek a mk-

    ds hatkonysgt cskkenthetik.

    Rosszul felptett struktra esetn knnyen elfordulhat, hogy egy adatot felesle-

    gesen tbb helyen is trolunk. Ez nagyobb kezelend adatmennyisget jelent, hi-

    szen ugyanaz az informci sokszorozva foglal helyet. A rossz adatmodell teht re-

    dundancihoz vezethet.

    A redundancia mellett szmos egyb mveleti nehzsget is okozhatnak a modell

    hinyossgai. A nem megfelel relcis modellbl ered problmkat szoks ano-

    mliknak is nevezni.

    - Beszrsi anomlirl beszlnk, ha egy rekord felvitelekor, felesleges, mr

    letrolt informcikat is jra fel kell vinni.

    - Mdostsi anomlirl van sz, ha egy informciegysg mdostshoz

    tbb helyen is mdostsra van szksg az adatbzisban. Ez nem csak tbb-

    letmunkt jelent, de megnveli az inkonzisztens llapot valsznsgt is, ha

    valahol elmaradna a mdosts.

    - Trlsi anomlirl akkor beszlnk, amikor egy informcielem megszn-

    sekor ms, hozz nem tartoz informcik is elvesznek.

    A felsorolt anomlik ltalban abbl szrmaznak, hogy nem az igazn sszetartoz

    adatokat vesznk be egy relciba. Hogy mely mezk tartoznak egy relciba, az a

    mezk kztti sszetartozsi viszony, a mezk kztti fggsgek hatrozzk meg,

    ami mr a kvetkez fejezet tmja.

  • adatbzisok.doc 2003.09.09. - 45 -

    2.6 Egyed-kapcsolat modellbl relcis adatmodell

    Az adatbzis tervezs egyik fontos lpse a logikai adatmodell adatbzismodellbe

    trtn konvertlsa. A konverzi sorn az ER modell elemeit relcis modellele-

    mekkel kell megvalstanunk. Az talakts nehzsge abban rejlik, hogy egyrszt

    bizonyos ER fogalmaknak nincs meg a relcis modellbeli megfelelje, msrszt mg

    az ER modell szemantika orientlt, addig a relcis modellben mr ms, hatkony-

    sgi, integritsrzsi szempontok is rvnyeslnek.

    Az ER modell elemeinek lekpezse

    Egy relci egy egyedtpusnak felel meg. A relcis adatmodell egy relcija teht

    egy egyedtpus elfordulsait fogja tartalmazni. A relci neve megegyezik az egyed-

    tpus azonost nevvel. A relci szerkeze