-
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