Anda di halaman 1dari 344

Az adatbzistervezs

alapjai s titkai

Avagy az t az adattl az
adatbzison t az informciig

Halassy Bla
Dr. Halassy Bla, 1994.

Emknek s Melindnak

1
TARTALOMJEGYZK

ELZMNYEK....................................................................................... 8
ELSZ................................................................................................. 9
BEVEZETS - I......................................................................................12
1. ADAT S INFORMCI .....................................................................14
1.1 Az alapfogalmak szemlletmdja .......................................................................... 14
1.2 Az adat - els megkzeltsben.............................................................................. 14
1.3 Az ismeretszerzs momentumai ............................................................................15
1.4 Az adat s az informci lnyege illetve viszonya ................................................ 16
1.5 Szintaktika, szemaktika, pragmatika.................................................................... 18
1.6 Mirt hibdzik a kommunikci? ......................................................................... 19
1.7 Mit lehet megtudni?...............................................................................................20
Ellenrz krdsek - 1...................................................................................................21
2. AZ ISMERETKEZELS KT MDJA................................................. 22
2.1 Az ismeret hordoz kzegei................................................................................... 22
2.2 Az ismeret ngy dimenzija .................................................................................. 22
2.3 Trtneti kitr: A szemantikai adatbzis ........................................................ 24
2.4 Ktfle mondat....................................................................................................... 25
2.5 Adatszer ismeretkezels ...................................................................................... 27
2.6 Szvegszer ismeretkezels ..................................................................................28
2.7 A ktfle ismeretkezels viszonya ......................................................................... 29
Ellenrz krdsek - 2 .................................................................................................30
3. AZ ADATBZIS LNYEGE................................................................ 32
3.1 llomny, adatbank, adatbzis ............................................................................. 32
3.2 Egyedtpus, -elforduls, -halmaz........................................................................ 33
3.3 Tulajdonsgtpus, -rtk, -rtkhalmaz ............................................................... 34
3.4 Kt relativits ......................................................................................................... 36
3.5 A binris relcik modellje.................................................................................... 37
3.6 Az azonosts problmakre................................................................................. 39
3.7 Kapcsolattpus, -elforduls, -(al)halmaz............................................................40
3.8 Az adatbzis ........................................................................................................... 42
3.9 Hrom tovbbi krds...........................................................................................44
Ellenrz krdsek - 3 ................................................................................................. 45
4. AZ ADATBZIS HROM SZINTJE.................................................... 46
4.1 Egy alapvet problma: az eszkzorientltsg.....................................................46
4.2 Az adatok kt aspektusa........................................................................................ 47
4.3 Az adatbzis ktfle tartalma................................................................................48
4.4 Az adatbzis fogalmi s logikai szerkezete...........................................................49
4.5 Kt lnyeg hatrn ................................................................................................. 52
4.6 Az adatbzis fizikai szerkezete.............................................................................. 53
4.7 A fizikai fggetlensg............................................................................................. 54
4.8 A vertiklis lekpezs ............................................................................................ 55
Ellenrz krdsek - 4 ................................................................................................. 56

2
5. AZ ADATBZIS VETLETEI............................................................. 58
5.1 Egy alapvet problma: a nzetorientltsg......................................................... 58
5.2 A nzetorientltsg kros kvetkezmnyei.......................................................... 59
5.3 Globlis s parcilis adatbzisszemllet...............................................................60
5.4 Az adatmodell jelentse s tartalma.................................................................. 63
5.5 Az ANSI-SPARC architektra ...............................................................................64
5.6 A szintek megfeleltetse, modellek s smk....................................................... 65
5.7 Adatmodell-elmlet s adatbzis-gyakorlat .........................................................66
5.8 Adatmodell-reprezentcik .................................................................................. 67
Ellenrz krdsek - 5 .................................................................................................69
6. A MODELL ALAPVET SZERKEZETE ............................................... 71
6.1 Az adatmodell, mint rendszer ................................................................................71
6.2 Az egyedek ktfle struktrja...............................................................................71
6.3 A tulajdonsgok alapvet szerepei ....................................................................... 73
6.4 Abszolt s relatv szerep...................................................................................... 74
6.5 Hierarchikus inhomogn kapcsolatok ................................................................. 76
6.6 Hls egyedviszonyok - 1 ...................................................................................... 78
6.7 Hls egyedviszonyok - 2 ...................................................................................... 81
6.8 jabb tulajdonsg szerepek..................................................................................83
6.9 A klcsns egyedviszony .....................................................................................84
6.10 Gyorsmrleg az adatszerkezetrl ........................................................................86
Ellenrz krdsek - 6 .................................................................................................86
7. SZERKEZETI FINOMSGOK ............................................................ 88
7.1 Az adatmodell soksznsge ..................................................................................88
7.2 A szz-szzalkos elv ..........................................................................................88
7.3 Az rtktartomny .................................................................................................90
7.4 A szerepnv ............................................................................................................ 91
7.5 Ismtlds s szerepnv ........................................................................................ 93
7.6 A visszamutat egyedviszony................................................................................94
7.7 A hierarchikus homogn viszonyok...................................................................... 95
7.8 Csaldfa s hzastrs viszonyok ...........................................................................96
7.9 Hromfle res rtk..........................................................................................99
7.10 Egyedaltpusok...................................................................................................100
7.11 Szerkezeti sszefoglals...................................................................................... 103
Ellenrz krdsek - 7 ............................................................................................... 104
8. ADATBZISKEZELS ..................................................................... 107
8.1 Az ismeretek termszete...................................................................................... 107
8.2 Az adatkezels szintjei......................................................................................... 107
8.3 Trtneti kitekints: Az adatbzisgpek .............................................................110
8.4 Adatkezels s adatfeldolgozs............................................................................110
8.5 Szabad-e ...? ..........................................................................................................112
8.6 llomny- s adatbziskezels ............................................................................113
8.7 A termszetes adatfeldolgozsi lnc .................................................................... 115
8.8 Technikai adatok .................................................................................................. 117
8.9 Az adatbzis alapvet titka ..................................................................................118
Ellenrz krdsek - 8 ................................................................................................119
9. A METAADATBZIS ....................................................................... 121
9.1 Az adatbzisok kt szemlleti skja ......................................................................121
9.2 A metaadatbzis lnyege ..................................................................................... 122

3
9.3 Trtneti kitekints: Az adatsztr .................................................................... 124
9.4 A metarendszerek termszete............................................................................. 126
9.5 A metaismeretek fajti..........................................................................................127
9.6 Passzv, flaktv s aktv adatsztr ................................................................... 128
9.7 Tervezs bra alapjn .......................................................................................... 129
10. ADATBZIS-MENEDZSELS......................................................... 131
10.1 Mitl lehet rossz az adatbzis?...........................................................................131
10.2 Hny az adatbzis? ............................................................................................ 132
10.3 Alkalmazsi adatszabvnyok ............................................................................ 133
10.4 Fejlesztsi adatszabvnyok ................................................................................135
10.5 Fejlesztsi eljrszabvnyok ............................................................................. 136
10.6 Menedzselsi szabvnyok...................................................................................137
10.7 Vltozsmenedzsels ......................................................................................... 139
10.8 Szervezeti felttelek ........................................................................................... 140
11. AZ T ............................................................................................143
11.1 Elrehozott zrsz .............................................................................................. 143
11.2 Fogalom szletik................................................................................................. 144
11.3 Tbb szem ... ....................................................................................................... 145
11.4 Adat szletik ....................................................................................................... 146
11.5 Az ismeretek szerkesztse s els betltse .......................................................147
11.6 Bizonylatok ......................................................................................................... 148
11.7 Adatbevitel .......................................................................................................... 149
11.8 j ismeret szletik........................................................................................... 150
11.9 Adatkimenet s behangols ................................................................................ 151
11.10 A hossz s kanyargs t ..................................................................................152
BEVEZETS - II. ................................................................................. 155
12. AZ ADATMODELLEK HIBI .......................................................... 157
12.1 Az adatbzis hibinak a forrsai.........................................................................157
12.2 Az adatmodell lnyege ....................................................................................... 158
12.3 brzolsi konvenciink ................................................................................... 159
12.4 Tipikus adatmodellezsi hibk.......................................................................... 160
12.4.1 Nylt logikai tfeds ......................................................................................161
12.4.2 Ltszlagos logikai tfeds ......................................................................... 162
12.4.3 Rejtett logikai tfeds ................................................................................. 163
12.4.4 Jelsor-ellentmondsok ............................................................................... 164
12.4.5 A logikai tfeds hinya .............................................................................. 165
12.4.6 Fizikai tfeds.............................................................................................. 166
12.4.7 Kiegyenslyozatlansg .................................................................................167
12.4.8 Tisztzatlan tartalmak ................................................................................ 168
12.4.9 A modell ketts arculata............................................................................. 168
12.4.10 A hibk emberi kvetkezmnyei .............................................................. 169
12.5 Az adatmodellezsi hibk gykerei ................................................................... 170
12.5.1 Nzetvaksg.................................................................................................. 170
12.5.2 Szintvaksg ................................................................................................... 171
12.5.3 Szerepvaksg................................................................................................. 171
12.5.4 Bemenet/kimenet vaksg ............................................................................172
12.6 Az adatmodellezs cljai .....................................................................................173
Ellenrz krdsek - 12...............................................................................................174

4
13. FGGSEK S NORMALIZLS ................................................... 176
13.1 Egyszer szablyok..............................................................................................176
13.2 Funkcionlis fggs ............................................................................................177
13.3 Tartomnyfggs ............................................................................................... 180
13.4 Nem-normalizlt egyedtpusok......................................................................... 183
13.4.1 Az ismtlds s kros hatsa..................................................................... 183
13.4.2 Az ismtlds elvi alapja............................................................................. 184
13.4.3 A normalizls els lpse .......................................................................... 184
13.4.4 Tovbbi tudnivalk az ismtldsrl......................................................... 188
13.5 A normalizls lnyege ...................................................................................... 190
13.6 Normalizls s struktra ................................................................................. 190
13.7 Ismtlds s ktsgek....................................................................................... 192
Ellenrz krdsek - 13.............................................................................................. 193
14. ALAPVET NORMLFORMK ...................................................... 195
14.1 A normalizls alapjai ........................................................................................ 195
14.2 A msodik normlforma.................................................................................... 196
14.2.1 A rszleges fggs s kvetkezmnyei.........................................................197
14.2.2 A normalizls msodik lpse .................................................................. 199
14.2.3 Normlforma s szemantika ..................................................................... 200
14.2.4 A msodik normlforma s a modellstruktra .........................................202
14.3 A harmadik normlforma..................................................................................203
14.3.1 A tranzitv fggs s kvetkezmnyei.........................................................204
14.3.2 A normalizls harmadik lpse ................................................................205
14.4 A normalizls termszete ................................................................................206
14.5 Normalizlsi sorrend........................................................................................207
14.6 A dekompozci sajtossgai.............................................................................209
14.7 Az alternl kulcs ................................................................................................211
Ellenrz krdsek - 14 ............................................................................................. 213
15. MAGASABB NORMLFORMK .....................................................214
15.1 Hny, melyik s milyen a kulcs?........................................................................ 214
15.2 A Boyce-Codd normlforma (BCNF) .................................................................215
15.2.1 A tbb sszetett kulcsjelltbl fakad gondok ...........................................215
15.2.2 A kulcstr fggs ........................................................................................217
15.2.3 BCNF problmk ......................................................................................... 218
15.2.4 A normalizls negyedik lpse..................................................................220
15.3 A negyedik normlforma ................................................................................... 222
15.3.1 A tbbrtk fggs s az ltala okozott problmk................................. 223
15.3.2 A normalizls tdik lpse ......................................................................224
15.3.3 Megjegyzsek a tbbrtk fggshez ....................................................... 225
15.4 Az tdik normlforma ..................................................................................... 227
15.4.1 A kapcsolsfggs s az ltala okozott problmk .................................... 227
15.4.2 A normalizls hatodik lpse....................................................................228
15.4.3 Megjegyzsek a vgs normlformhoz ....................................................229
Ellenrz krdsek - 15..............................................................................................230
16. A CSOPORTOK CSAPDI .............................................................. 232
16.1 Eltr gondolkozsmdok ................................................................................. 232
16.2 A fggstblzat ................................................................................................. 233
16.3 Kt egyszer s hrom ismert fggsi helyzet..................................................234
16.4 A bels kulcstr fggs....................................................................................236
16.5 A metszetfggs..................................................................................................238

5
16.6 A csoportfggs.................................................................................................. 241
16.7 Tanulsgok s a dntsi tblzat kiegsztse..................................................242
16.8 Pszeudo-tranzitivits.........................................................................................243
Ellenrz krdsek - 16 .............................................................................................246
17. NORMALIZLSI ELJRSOK .....................................................247
17.1 A normalizls, mint feldolgozs....................................................................... 247
17.2 Kapcsolathiny ...................................................................................................248
17.3 A dekompozci sszefoglalsa ..........................................................................251
17.4 Az univerzlis relci .......................................................................................251
17.5 Normlforma szintzis....................................................................................... 252
17.6 Krdezni tudni kell............................................................................................. 254
17.7 Fggsek s szerkezetek..................................................................................... 255
17.8 Kt sszetett szerkezeti problma.....................................................................258
17.9 Az adatmodell fonalai .....................................................................................260
17.10 Apr szerkezeti titkok ......................................................................................264
17.11 A kulcsmtrix .................................................................................................... 265
18. SAJTOS SZERKEZETI TNYEZK.............................................. 268
18.1 Minsgi adatmodellezs...................................................................................268
18.2 Tbbszrs inhomogn kapcsolatok ................................................................269
18.3 A szerepnevek fggsei .......................................................................................271
18.4 Homogn viszonyok .......................................................................................... 273
18.5 A feltteles fggs s az egyedaltpus................................................................ 275
18.6 Unris egyedek................................................................................................... 278
18.7 Szingulris egyedek............................................................................................280
18.8 Konstansok s tulajdonsgstruktrk .............................................................282
18.9 Az osztlyozs krdskre.................................................................................284
19. TIPIKUS TERVEZSI HIBK........................................................ 286
19.1 Fegyelmezett fantzia.........................................................................................286
19.2 ltalnos tervezsi problmk .......................................................................... 287
19.2.1 Nv-varicik ............................................................................................... 287
19.2.2 Absztrakcis gondok ...................................................................................288
19.2.3 A krlrs hinya .......................................................................................292
19.3 A CSAK szindrma..........................................................................................293
19.4 Egyb csacskasgok ...........................................................................................296
19.5 Statikus szemllet ..............................................................................................298
19.5.1 Az id modellezse.......................................................................................298
19.5.2 Esemny, vltozs, llapot..........................................................................299
19.6 Modell-sablonok ................................................................................................302
19.7 Szinttveszts .....................................................................................................304
20. ELEMZS S DOKUMENTLS................................................... 305
20.1 Egy mintaplda ..................................................................................................305
20.2 A mintaplda tartalmi hibi..............................................................................306
20.3 Az adatmodell dokumentlsa .........................................................................308
21. TERVEZSI ESETTANULMNY..................................................... 313
21.1 A plda kerete ..................................................................................................... 313
21.2 A kiindul modell............................................................................................... 314
21.3 Az esettanulmny megoldsa el ...................................................................... 322
21.4 Ismerkeds az elemzend tervvel ..................................................................... 323
21.5 Az egyrtelmsg elemzse................................................................................324

6
21.6 Azonost- s azonossgelemzs....................................................................... 325
21.7 A plda tmenetileg javtott vltozata .............................................................. 327
21.8 A rejtett redundancik elemzse.......................................................................328
21.9 Kapcsolatelemzs ...............................................................................................329
21.10 A plda idleges megoldsa .............................................................................330
21.11 Zrsz................................................................................................................. 333
FELADATMEGOLDSOK....................................................................335
IRODALOMJEGYZK ........................................................................ 339
FOGALOMJEGYZK ...........................................................................341

7
ELZMNYEK

A szerz 1972-ben tallkozott elszr az adatbzisokkal. 1974-ben irnyult a figyelme az


adatbzistervezs fel. A UNDP ltal tmogatott SZMOK j mhelynek bizonyult kutatsai-
hoz. Mr akkor megismerhette a legkorszerbb irnyzatokat. Lehetsge nylt arra, hogy tbb
tzezer oldalnyi szakanyagot ttanulmnyozzon s sszelltson egy terjedelmes magnknyvtrat
az adatbzisokra vonatkoz irodalmakbl. Ennek alapjn adta ki 1978-ban az Adatbzisok keze-
lsnek alapvet krdsei cm nvdjas munkjt, amelyet 1982-ben jranyomtak. 1980-ban
kszlt el az Adatmodellezs, adatbzistervezs cm mve. Mindkt kiadvny kziknyvv
vlt az adatbzisok irnt fogkonyak szmra.
1982-re a szerz rdekldse mindinkbb a gyakorlat fel fordult. Egyrszt az adatbzis-
tervezst tmogat szoftverek fejlesztsbe fogott, msrszt ezeket az eszkzket mindennapos
munkkban alkalmazta. 1981-ben kszlt el SZIAM nev els adatbzis-normalizl programja,
amelyre az IBM is felfigyelt s megvette a licenct. Ez volt a legels szoftver, amit az IBM a
kelet-eurpai orszgokbl valaha is vsrolt. 1982-ben a szerzt az IBM eurpai kutatkz-
pontjban (E.S.R.I.) tartand eladssorozatra hvtk meg. A Gyakorlati adatmodellezs cm
eladst ngyszer ismteltettk meg.
Ekkor mr a munkt a SZMALK-ban folytatta. Az jabb knyvet (Adatmodellezs a
rendszerfejlesztsben, 1983.) jabb szoftver kvette. 1984-ben kszlt el az dm & va adat-
s eljrsmodellezsi segdeszkz, amelyet a BMW AG. is megvsrolt. A vonalat a SYDES,
majd az ABLAK adatbzistervez programok vittk tovbb. Idkzben az r tucatnyi adatbzis-
tervezsi projekt vezetjeknt vagy szaktancsadjaknt tkztethette elmlett a gyakorlattal.
Ennek sorn ipari, mezgazdasgi, pnzgyi, kzlekedsi, kereskedelmi, nkormnyzati, mzeu-
mi, hradsi, jogvdelmi stb. terleteken volt lehetsge bepillantani az ismeretek sszefgg-
seinek a rejtelmeibe.
1987 vgn az elmleti kutats s a gyakorlati alkalmazs egy idre megszakadt. Kt krh-
zakban tbb tucat opercival eltlttt v utn a szerz az B - BEL Kft-nl tallkozott ismt
kedvenc adatbzisaival. 1992-ben a Szmtstechnika hasbjain jelent meg Az adatbzistervezs
titkai cm cikksorozata, amely ennek a knyvnek a kzvetlen elfutra. Egy-egy mtt kztt
sszelltotta legjabb adatmodell-elemz szoftvert, az AMOR-t s az LOM becenev ltal-
nostott adatbziskezel rendszert.

Tbb, mint hsz vnyi elmleti kutats, szoftverfejleszts s gyakorlati alkalmazs kpezi
elzmnyknt ennek a mnek a httert...

8
ELSZ

Hrom krdskr motoszkl a fejemben. Az egyik az, hogy mikor is rom ezt a knyvet?
1983-ban jelent meg az Adatmodellezs a rendszerfejlesztsben cm munkm. Nagyon sok
bartom s kedves kollgm szerint tlzottan korn. Szerintk tz vvel ezeltt mg nem rett
meg a helyzet mondanivalm befogadsra. Bezzeg most, amikor minden vllalat talaktja, kor-
szersti az informcis rendszert, amikor mr megvehet egy csinos gpet s egy valdi relcis
adatkezelt, most szksg lenne az adatbzistervezs ismereteire. Vagyis ezzel a knyvvel
szerintk vgl is elkstem.
n pedig nagyon flek attl, hogy mg mindig tl korai ez a kiadvny. Legalbbis bizonyos
rszeinek a befogadsra, megemsztsre mg nem mindenki lesz kpes. A verb, a varj s a
sas dilemmjval kell szembenznem. Azok, akik mg csak az xBASE-szer adatkezel verebek-
kel bbeldnek, nem fogjk megrteni, hogy mirt van szksg ilyen bonyolult adatbzis-
tervezsi mdszerekre. Mg tbb bajuk lesz velem azoknak, akik lttak mr karn varnyt, azaz
megamini kategrij relcis adatkezel rendszert. Ht mr az is gond? Hzok egy indexet,
aztn annyi. mdon gondolkoznak. A valban sokfle technikai lehetsgtl elbvlve nem
reznek r, hogy n mirt mindig a valsg ismereteinek a h s termszetes tkrzst helyezem
eltrbe a technikai megoldsokkal (pl. index) szemben. n a jelenlegieknl sokkal, de sokkal
jobb kezelket is el tudok kpzelni, amelyek gy viszonyulnak a relcisakhoz, mint sas a varj-
hoz. Mondanivalmat e legfels szinthez szabtam s ezrt flek, hogy nem fog mindenki velem
szrnyalni.
A msodik krds az, hogy kinek is rom ezt a knyvet? Az adatbzistervezs komoly
technikai tudst felttelez. Ezrt jogosan tnik gy, hogy ez a kiadvny elssorban a mai s a
leend fejlesztnek, a szakembernek szl. Csakhogy az informcis rendszerek fejlesztsnek
van kt tovbbi rsztvevje is. Az egyik, a kulcsfigura, a vezet. Ha a menedzser nincs tisztban
az adatbzis tervezsnek a buktatival, ha azt hiszi, hogy egy ma meglmodott bizonylat alapjn
holnap mr l adatbzis fog mkdni, akkor a fejleszt hiba ismeri az adattervezs titkait.
Egyszeren nem kap elg idt arra, hogy rvnyestse a tervezs minimlis kvetelmnyeit. A
vezet mr x alkalommal tapasztalta, hogy gyorsan nem lehet j adatbzist pteni. Ennek ellen-
re az y-dik helyzetben is az azonnali megoldst srgeti. Nemigen pozitv a harmadik rsztvev, a
felhasznl szerepe sem. Elhamarkodott ignyekkel ll el, amelyeket azutn nap mint nap
mdost. Pedig tudjuk, hogy az adatbzis leginkbb a strukturlis vltozsra rzkeny. Tegyk
mindehhez a felhasznli nzst. Az n adatom az n vram! Abba ne szljon bele senki, csak
legfeljebb az n fejlesztm, mert nlkle semmire sem megyek. A valjban kzs adatokat alkal-
maz felhasznlk gy rejtegetik egyms ell az adatbzisaikat, mint a legrtkesebb kincset.
A j adatbzis kialaktsnak a sikere a hrom szerepl rtelmes egyttmkdstl fgg.
Ezrt ez a knyv elvileg mindhrom partinak szl. Gyakorlatilag nem bzom abban, hogy a
kiadvny megtallja a cmzetteket s elri a kvnt vltozst. Hiszen mg sajt kollgimmal, a
fejlesztkkel is meg kell kzdenem.
Persze hrom rteggel nem fogok sokra menni. Az els csapatot azok az aggcsecsemk
alkotjk, akik mg mindig a hetvenes vek szmtstechnikai emlit szopogatjk. k mr vn
motorosok a szakmban, nekik ne mondjanak mr semmit, mert nincs j a nap alatt. A beverkli-
zett mdon, az jabb eszkzkre, mdszerekre, lehetsgekre fittyet hnyva tkolgatjk ssze sdi
rendszereiket a jl bevlt sablonok szerint.
Azutn itt van az ifjtitnok hada. A mindig jabb s jabb gpek s programok mellett
elktelezettek. Sokszor megdbbent, hogy velk trsalogva azon kapom magam, hogy nem
emberrel, hanem hardverrel vagy szoftverrel beszlek. Te, s ez a rendszer ezt csinlja, meg azt
tudja... Srtdtt hallgats a vlasz, amikor megkrdezem, hogy s.... s Te, fiam, szemly

9
szerint Te mit csinlsz s mit tudsz? A drga gyermek nem rti, hogy egy dolog a technika
ismerete, s teljesen ms annak mindenki javra val hasznlata.
Persze vannak olyanok is, akik mindezzel nem trdnek. A hullmlovagokrl van sz. A
flmvelt mtstechnikus a papa pozcija miatt bekerl a vilgbanki klcsnnel tmogatott
projektbe. Naponta keres annyit, amennyi egy becsletes dolgoz havi bre. Persze semmihez sem
rt valjban, de ez t nem is rdekli. Mondanom sem kell, hogy ez a knyv nem neki, nem is a
tanulni kptelen aggcsecsemnek vagy a tanuls rtelmt nem ismer ifjtitnnak - aki maga is
hamar koravnn vlik - szl. Ht akkor kinek?
Ezzel eljutottam a harmadik krdshez. Mirt is rom ezt a knyvet? Azrt, mert Benned
bzom. A llekben fiatalban. Aki akar s tud vresen-komolyan jtszani. Akit a krlmnyek
korltoznak; aki nem kpes mindig a legjobbat alkotni; de aki egy krtyaparti utn napokkal is
elgondolkozik azon, hogy hol szrta el s miknt lett volna - jobb. Ez a knyv a felntten komoly
fiataloknak, a humorra kpeseknek szl. Akik tudjk, hogy a humor nem vicc, hanem az let s
embertrsaink mlyen blcs, megrt, megmosolyg szeretete.
Kt szp lnyomnak ajnlom ezt a knyvet akkor is, ha k nem kvetik az n hivatsomat.
Igen, hivatst mondtam, nem szakmt. Ez az adatbzistervezs legeslegfbb titka. Nem azrt kell
j adatbzist tervezni, hogy engem megdicsrjenek (szakma). Hanem azrt, hogy msokat jl el
tudjunk ltni az let nlklzhetetlen kellkvel, az ismerettel (hivats). Elssorban nem a
technikt, hanem ezt a szemlletet kell elsajttani. Ha valamit sikerl megreztetnem ebbl a
lnyegbl, akkor ez a knyv nem rdott hiba.
Az adatbzisok tervezshez, felntt rlelshez ppen annyi trelem szksges, mint a
fiatalokhoz. Nem mindig ltod erfesztseid azonnali gymlcst. Nem kapod meg rgtn az
annyira vrt kszn szavakat. Majd egy napon, amikor a komoly, nehz, becsletes jtk a te
rszedrl mr rgen vget rt, amikor mr minden a helyre rendezdtt s neked mr nincs
szereped, amikor mr nem is szmtasz r, vratlanul gy szlnak hozzd: Ksznm. Lehet,
hogy ezt a szt gy soha meg nem hallod. Csak ppen a szomszd utcban a Kovcs kedves lesz a
nejhez, mert hsz helyett kt msodperc alatt adtk ki az informciit a Te j adatbzisterved
miatt. No ltod, ezrt hivats az adatbzistervezs.
Mr csak annyi maradt htra, hogy megksznjem mindazoknak a segtsgt, akik e knyv
megszletshez hozzjrultak. Legfkppen pedig ksznetet mondjak Annak, akitl kaptam a
tudst s annak tadsnak knyszert illetve lehetsgt.

Halassy Bla

10
I. RSZ

Az adatbzistervezs
alapjai

11
BEVEZETS - I.

A j adatbzis kialaktshoz (is) kt dologra van szksg. Az egyik az alapos technikai


tuds. A msik kellk, amely nlkl az elz szinte semmit sem r, a megfelel szemllet. Ennek
a mnek az els rszben - a msodik megalapozsaknt - elssorban az adatbzis helyes szem-
lletnek a feltrsa lesz a feladatunk. Legyen szabad egy trivilis pldval lve elre megvil-
gtani mondanivalnk tartalmt.
A lnyeget az rti meg leginkbb, aki ltja a mris, az ulti s a bridzs kztti klnbsgeket.
A mris a gyerekek jtka. Ketten jtsszk. A szablyok roppant egyszerek s elre adottak.
Ebben a jtkban szinte nem is lehet hibzni. Ha valaki magnclra kszt nhny egymstl
valban fggetlen szmtgpes nyilvntartst, akkor az olyan, mint a mris. Gyerekjtk.
Persze az alapszablyokat ekkor is kell tudni s azokat illik is betartani.
Nlunk ma a szmtstechnikai ulti a divat. Nem babra megy ez a jtk: millis alapon
mvelik. A szablyok mr sszetettebbek a mrisnl. Egytt kell mkdnnk a partnernkkel
s figyelnnk kell minden implicit jelzsre, akr az ellenflre is. Brmennyire is izgalmas, az
ulti rutinjtk. Ha valakinek van lapja vagy gyesen csinl magnak, akkor mr nemigen tved-
het. Ebben a jtkban a fantzinak nincs tl sok szerepe. Rutinosan, tbb vtizede megismert
szablyok alapjn jtsszuk a mai magyar szmtstechnikt.
A krtyajtkok kirlynje, a bridzs, teljesen ms jelleg. Nem csupn az a cl, hogy
nyerjnk. gy illik, hogy a lehet legtbbet hozzuk ki a lapunkbl. St, mg a vesztes is nyerhet
akkor, ha minimalizlja az ellenfl nyeresgt. Az alapszablyok adottak, de a bridzsben nagyon
fontos szerepet jtszanak az n. konvencik, a szleskren alkalmazott s az sszes jtkos ltal
ismert megegyezsek. Az lenne a j, ha a szmtstechnikt nem ultiknt, hanem bridzsknt
jtszannk.
A j jtkosnak ismernie kell magt a lapot. Teht tudnia kell azt, hogy mi az adat. Viszont
nem egy, hanem tizenhrom lapot kap, amely egytt mr ms minsg. Tisztban kell lenni
azzal, hogy a lapkombincibl mit lehet kihozni (informci). Knyvnk els fejezetben az
adat s az informci alapfogalmaival ismertetjk meg az olvast.
A trsasgi bridzs s a versenybridzs alapjai kzsek, de szablyai msok. A szmtgpes
ismeretkezelsnek is tbb mdja van, noha a lnyeg kzs. A msodik fejezetben a szvegszer
s az adatszer ismeretkezels azonos s eltr vonsait trjuk fel. Rmutatunk arra, hogy az
utbbi lnyegesen feszesebb, de ugyanakkor tbb lehetsget nyjt, izgalmasabb ismeretszer-
kesztst kvetel meg.
Vannak, akik gymond bridzselnek, de ennek a nagyon komoly jtknak az gynevezett
kvhzi vltozatt mvelik. Az antibridzset. Mindenki a sajt feje szerint mrlegel, nknyes,
msok ltal nem ismert vagy rgen tlhaladott konvencikat hasznl. Sajnos ez jellemz a mai
szmtstechnikusok egy rszre is. Ezrt a knyv harmadik fejezetben el kell mondanunk, hogy
mi melyik verzit jtsszuk. Vagyis azt, hogy szerintnk mit is jelent maga az adatbzis.
A bridzs az a jtk, amit mindig lehet tanulni, de sohasem lehet teljesen megtanulni. Az
ember mindig rbukkan egy jabb lapsszefggsre, egy jobb megoldsra. A lapkombincikat
fokozatosan mrlegeli. Az els rnzsre sejti, hogy ebbl a lapbl egyltaln az hozhat ki,
hogy... Azutn mlyebben rtkel. Br ez a hasonlat nem teljesen l, az adatbzis esetben is
szintenknt vizsgljuk az adatainkat. Errl szl a negyedik fejezet.
A bridzsben nincs egyni jtk. A prosoknak - st, mg az ellenflnek is - ugyanazokat a
lapokat kell ltniuk. Az egsz licit arra megy ki, hogy megbeszljk kettnk egyttes lapjt,
amit gy persze az ellenfl is megismer. Az adatbzis lnyege az, hogy egyni lapjainkbl indu-
lunk ki, de a vgn a lapok egyttese alapjn jtszunk. Az adatbzis kzs, br annak egyes
rszeit msknt ltjuk. Ezt a gondolatot fejti ki az tdik fejezet.

12
Mindeddig a jtk alapszablyairl volt csak sz. Arrl nem beszltnk, hogy milyen eltr
lapkombincik fordulnak el a bridzsben s azokkal mit lehet kezdeni. Vannak alapszint
szerkezetek, hiszen az egyenltlen s az egyenletes eloszts lapokat mr minden kezd krtys
meg tudja klnbztetni egymstl. Ezeken bell vannak rafinlt elrendezsek. Mst jelent a
hetes hossz treff fej nlkl, mint a hatos fejjel. A knyv hatodik s hetedik fejezete az alapvet
s a bonyolultabb adatkombincikat mutatja be.
A bridzs kt jtkfzisbl ll. A licitbl s a lejtszsbl. Az els szakaszban felptik a
jtkot, vagyis meghatrozzk, hogy a lapbl mit akarnak kihozni. A msodik rszben prbljk
megvalstani az elkpzelst, vagyis tnylegesen kinyerni a lapbl azt, amit abban lttak. Az
adatbzis logikja is hasonlt erre. Van egy szakasz, amelyben az adatbzist megtervezzk s fel-
ptjk. Majd hasznlatba vesszk, ksrletet tve arra, hogy a lehet legtbbet hozzuk ki belle.
Az adatbzis kezelsrl a nyolcadik fejezet szl. Itt mr kimondottan versenybridzsrl van sz.
Vagyis klnbz jtkosok ugyanabbl a paklibl teljesen eltr eredmnyeket csiholhatnak ki.
Egyazon adatbzisbl ki tbb, ki kevesebb ismeretet nyer. Ki knnyebben, ki nehezebben -
jtktudsa szerint.
Minden hasonlat sntt. Bridzs-analgink is lassan erltetett vlik. De taln mgsem
haszontalan elmondani, hogy a versenybridzs leosztsait megrktik, hogy a flrertseket s az
azokbl fakad vitkat elkerljk. A konkrt lapkombincikon kvl ltalnos szablygyjte-
mnyek figyelmeztetik a versenyzket az alapvet tudnivalkra. A verseny kezdetekor - nem
kzben, nem utlag - a jtkosok bejelentik az ltaluk alkalmazott konvencikat. Mert a jtk
csak akkor fair, ha azokat mindenki ismeri. Az adatbzis-jtknak is vannak ltalnos szablyai,
specifikus megegyezsei s az adatbzisnak van konkrt leosztsa, szerkezete. gy illik, hogy
mindezeket a tnyezket egy helyen, mindenki ltal fellapozhatan, megismerheten rgztsk.
Az adatbzis ltalnos lersra szolgl a kilencedik fejezetben bemutatott metaadatbzis.
A bridzsversenyeken a tulajdonkppeni jtkosokon kvl szmos egyb szemly is kzre-
mkdik. A kirk, a zsri, a brk, az osztk stb. Az adatbzis is ilyen sszetett jtk. A fejleszt
s felhasznl prosn kvl tbb rsztvevje van, mindegyik sajtos szerepkrrel. Ezekrl a
specilis funkcikrl szl a tizedik fejezet.
Vgl is a bridzsnek az a lnyege, hogy jtsszk. A megfelel elkszletek utn valahol
sszejnnek, lelnek, osztanak s belefeledkeznek a vres-komoly jtk varzslatba. A tizen-
egyedik fejezet sszegzi az ismeret tjt az adattl az adatbzison t az informciig.
A mondanival megrtst a pldkon s brkon kvl ellenrz krdsekkel is segteni
prbljuk. A feladatokra adott helyesnek tartott vlaszokat a krdsben mutatott betvel vagy a
vlasz sorszmval kell megjellni. Adott esetben tbb helyes s rossz vlasz is ltezik. A knyv
vgn tallhatk a helyes megoldsok. Ha valakinek ktsgei tmadnak, akkor keresse fel tanr-
jt, bartjt stb. Vgs esetben pedig a szerzt.

13
1. ADAT S INFORMCI

1.1 Az alapfogalmak szemlletmdja

Kt dolog van a vilgon, amely nem fogy el soha, ha msokkal is megosztjk. Az egyik a
szeretet, a msik pedig az ismeret. Ez a kt dolog szorosan sszefgg. Az ember trsas lny.
Azrt kapott partnereket, hogy legyenek, akikkel egyttmkdve meg tudja valstani lete rtel-
mt. Megtallja azokat, akikre tmaszkodhat s megkeresse a tmogatandkat. Egsz letnket a
msokkal val kommunikci, vagyis az ismeretek cserje hatrozza meg. A klcsns
informls nemcsak risi lehetsg, nemcsak sajt ltnk nlklzhetetlen felttele, hanem
egyben a szeretet ltal diktlt ktelezettsg is, mivel msok letrt is felelsek vagyunk.
A fentiekbl kvetkezik, hogy a magt tudatos lnynek vall embernek el kell sajttania a
kommunikls megfelel mdjt. Ehhez pedig sokat kellene tudnia magrl az ismeretrl. Persze
az emberek a htkznapi rintkezs sorn nem boncolgatjk a kzlsek termszett s nem is
rendelkezik mindenki az ehhez szksges felkszltsggel. Vannak azonban olyan szakemberek,
akiknek mindennapos munkja valamilyen mdon az informcik kezelshez, feldolgozshoz,
tadshoz kapcsoldik. Vilgos, hogy feladatukat csak akkor tudjk kielgten elvgezni, ha
alaposan ismerik tevkenysgk ltalnos trgyt. Ehhez kpest elgg elszomort, hogy az
ismeretekkel dolgoz emberek nem kellkppen tjkozottak az adat s az informci mibenltt
illeten.

Ennek a fejezetnek az a clja, hogy mlyrehatan feltrja az adat illetve az informci


lnyegt s e szavak kznapi jelentsn tlmutat rtelmet adjon nekik.

Az adat s az informci fogalmak az ismeret rokonai, amennyiben a mindennapos letben e


hrom szt felcserlhet, egymst mintegy helyettest kifejezsekknt - szinonimkknt - hasz-
nljuk. St, az ismeretekkel foglalkoz tudomnyos vilg elmleti publikciiban s az ismeretek
gyakorlati kezelst tmogat szmtgpes rendszerek kziknyveiben is sokszor alternatv
fogalomknt jelenik meg az adat s az informci. A htkznapok kellemes pongyolasga nem
akadlyozhat meg bennnket abban, hogy megprbljuk szigor kvetkezetessggel feltrni az
adat s az informci lnyegt, klnbsgt s viszonyt.
Az adatkezels s -feldolgozs - szolgltats. Ezt a szolglatot a szakemberek csak akkor
tudjk mindenki megelgedsre elltni, ha j magatartst sajttanak el. Ha az ismeretet nem a
szmtgp, hanem az ember oldalrl nzik. Knyvnkben arra tesznk ksrletet, hogy be-
mutassuk ezt a ma mg sokak szmra szokatlan s jszer szemlletmdot.

1.2 Az adat - els megkzeltsben

Induljunk ki az adat sz eredeti latin jelentsbl. A datum szt a latinok fnvknt s


igenvknt is hasznltk. Elbbi formjban jelentse adomny, ajndk (v. az elz pont els
bekezdsvel). Egybknt adottat jelent - s innen szrmazik a mi dtum szavunk is. Az
igenv tbbes szma data, vagyis adottak, az adott dolgok. Ezzel a formval srn tall-

14
kozunk az angolszsz szakmai irodalomban. Alapvet jelentsgt jl mutatja, hogy az IBM
adatfeldolgozsi sztrban [1] tbb mint 100 szszedet kezddik a data szval.
A hivatkozott sztr hrom meghatrozst is ad magra az adat fogalomra (103. o.). A
kittelek kzl kett korltos, mert az adatot annak valamilyen megjelentsi formjhoz kti.
Ezrt csak az els defincit idzzk:

Az adat tnyek, fogalmak, eligaztsok olyan formalizlt reprezentcija (megjelentse,


tkrkpe), amely alkalmas az emberi vagy az automatikus eszkzk ltal trtn kommuni-
kcira, rtelmezsre vagy feldolgozsra.

Mivel a fogalmak s az eligaztsok (az eredetiben: instructions) maguk is tnyek, a meg-


hatrozs kicsit terjengs. Viszont ppen ezrt jl utal arra, hogy nemcsak a konkrt dolgokat
kell tnyekknt felfognunk. Jl kapcsoldik ide a hazai Idegen szavak sztrnak [2] a megfogal-
mazsa. E szerint a data ismert tnyeket, adatokat, dolgokat jelent. Teht az adat ismert tny
s az ismert tny adat.
Az IBM meghatrozsa formai elemet is tartalmaz, amennyiben a reprezentcira, az ismeret
megjelentsi mdjra utal. Az ember kptelen megismerni azokat a tnyeket, amelyeket nem a
megfelel, az ltala is emszthet formban kzlnek vele. ppen ezrt elszr azon kell
elgondolkodnunk, hogy milyen mdon jutunk ismereteinknek a birtokba.

1.3 Az ismeretszerzs momentumai

Az ismeretet mindig valamilyen kzeg hordozza. Ezrt az ismeret megszerzsnek els


momentuma az szlels, vagyis a szembesls a kzeggel. Itt van az jsg: olvassuk el. Most
mindegy, hogy kzl-e velnk valami lnyegeset, vagy sem; ha nincs kznl, nem tudjuk t-
bngszni. Ha az szmunkra fontos, akkor rte kell mennnk. Mivel az ismeret tkrzi a
tnyeket, ha nincs pldul kszletkimutatsunk, vagy az nem ll rendelkezsnkre amikor s ahol
ignyeljk, az csaknem annyit jelent, mintha kszletnk sem lenne. Az ismerethordoz kzeg
aktulis jelenlte az szlels alapvet felttele.
Az ismeretekkel foglalkoz szakemberek mris levonhatjk az els tanulsgot: az
ismeretkzls sikernek legels felttele az ismerethordoz kzeg aktualitsa. Mit r az a levl,
amely egy mai fontos esemnyre hvna meg, de csak holnap kapom meg?
Az ismeretszerzs msodik momentuma az rzkels. Brmennyire is fjdalmas, vannak
embertrsaink, akik nem ltnak s/vagy nem hallanak. A cskkentlt szmra az rs, a kp, a
cskkenthall rszre a hang, a zaj nem rzkelhet. Az ismeret mindig valamilyen formt lt.
Az IBM fenti meghatrozsnak megfelelen olyat, amely alkalmas az emberi kommunikcira.
(A gpet egyelre mellzzk.) Az rzkels felttele, hogy a forma megfeleljen az ismeretet
fogad ember fizikai kpessgeinek.
A fentiekbl kvetkezik a msodik tanulsg. Az ismeretkzlsnek szmos formja van. A
szakembereknek trekednik kell arra, hogy a formt a sz szoros rtelmben az ismeret
cmzettjnek a testre szabjk. Az IBM tovbbi meghatrozsait ppen azrt nem idztk, mivel
azok az adatot a szemmel lthat tnyekhez ktttk. Holott ismeret szmos ms mdon is
tadhat - s nem csak cskkentlt embertestvreinknek.

15
A harmadik momentum a felfogs. Most ide runk kt jelet, kicsit elnagyoltan:

Az olvask mindegyike szleli s rzkeli e jeleket, de csak pran fogjk fel a jelentsket.
Hiba adnnk meg latin bets vltozatukat - nyippon vagy nyihon - is. A megfejtst csak az
tudja, aki rt japnul. Mert a jelek valjban betk, az bra valban rs, s a nyippon illetve
nyihon sz ennyit jelent: Japn.
Az ismeretekkel dolgoz szakemberek mr lthatjk a harmadik tanulsgot is. A tnyeket
felfoghatan, azaz rthet jelekkel kell ismertetni. A kzlsekben mellzni kell az ltalunk
hasznlt, de az ismeretet fogad fl szmra felfoghatatlan sajtos jeleket.
A negyedik ismeretszerzsi momentum a megrts. A felfogs s a megrts nagyon kzel
llnak egymshoz, de nem teljesen azonos lnyegek. Vegyk csak pldul a kvetkez hrom
jelsort: Bla - alB - bela. Az els minden rett magyar ember szmra rthet ismeretet
kzl, de egyltaln nem biztos, hogy mond valamit a latin betket amgy ismer knainak. A
rejtvnyeket kedvelk felfedezik, hogy a msodik jelsor ugyanazt a tartalmat hordozza, mint az
els. A harmadik szrl adott krnyezetben nhny bennfentes tudja, hogy valjban azonos a
Bla karaktersorral, csak bizonyos technikai krlmnyek miatt gy brzoltk az ismeretet.
Viszont egy szlv npbe tartoz valaki a jelsort ltva gy szl magban: J, itt valami fehrrl
van sz. Az ismeretet felfogja, de annak valdi lnyegt nem rti meg.
A felfogs s a megrts eltrse kt dologra hvja fel a szakemberek figyelmt. Egyrszt az
zlsessgre. Megengedhetetlen s zlstelen az ismeretek formailag pontatlan kzlse. Ugyan ki
szeretn becsletes lmos nevt almos mdon rtan olvasni? Msrszt arra, hogy a kzls
legfontosabb hordozkzege az emberi nyelv, amely npekhez, nemzetekhez kttt. Teht a
tnyeket zlsesen (formailag pontosan), az alkalmazott kzeg (esetnkben: a nyelv) szablyait
betartva kell tudatni az ismeret megclzott fogadjval.
Az szlelhet, rzkelhet, felfoghat, st megrthet kzls, - amelynek tartalmt meg is
akarjuk ismerni, mert szmunkra elfogadhat, zlses formban tlaltk - mr alkalmas az
rtelmezsre (a kommunikcira, a feldolgozsra - v. az IBM defincijval). Most mr mdunk
van az adat meghatrozsra s arra, hogy elgondolkodjunk az rtelmezs lnyegn.
(Megjegyzs: Az ismeretszerzsnek van egy msik mdja is. j tudsra a mr meglv
ismeretek kezelsvel s feldolgozsval is szert tehetnk. Ezekrl a lehetsgrl majd knyvnk
8.5 pontjban emlkeznk meg.)

1.4 Az adat s az informci lnyege illetve viszonya

A fentiekben lertuk - azaz sokak szmra szlelheten, rzkelheten, felfoghatan s


rtheten kzltk - e jelsort: Bla. Bizonyra akadtak, akik a karaktersorozat olvastn gy
szltak magukban: J, hiszen itt valakinek a keresztneve Bla.
Pardon, lljunk csak meg! Mindeddig sz sem volt keresztnvrl! Nem mi jelentettk ki,
hogy a Bla keresztnv, hanem az olvas vonta le ezt a kvetkeztetst. Az ismeretet fogad a
jelsor lttn nkntelenl is elvgzett magban egy gondolkodsi mveletet. Ha felfedezi ennek a
tevkenysgnek a lnyegt, akkor mris kzel jut az adat s az informci meglehetsen pontos
elhatrolshoz.

16
D 1/1 Az adat rtelmezhet (szlelhet, rzkelhet, felfoghat s megrthet) ismeret.

A Bla jelsor szlelhet (itt van), rzkelhet (rva van), felfoghat (ismert jelekkel rtuk
le), megrthet (a lert jelsor tartalma nem idegen) ismeretet hordoz. Nem pusztn a B, az ,
az l s az a betk egyvelege. Meghatrozsunk az ltalnosan megszokott definciktl kt
lnyegben klnbzik:

Nem hangslyozza a tnyszer lnyeget. Az adat kzlhet tnyt, m utalhat elkpzelsre,


tervre, szndkra, fikcira is.
Nem kti meg a megjelentsi formt. Az rs, a kp, a hang, a szag, az rints, a mozdulat
stb. egyarnt hordozhat ismeretet.

Most trjnk t a fenti j-re! Ez a meglehetsen vulgris (kznsges) kittel igen jl


tkrzi az informci lnyegt. Egy szval sem lltottuk, hogy a Bla jelsor keresztnevet takar.
Az olvas mgis ezt a kvetkeztetst vonta le - helyesen. szlelte, rzkelte, felfogta, megrtette a
jelsort, amit ekknt mr rtelmezni is tudott. Az rtelmezs lnyege, hogy az jonnan kapott
kzlst rgi tudsunkhoz ktjk.
Tudjuk, hogy a Bla keresztnv. Ezrt a Bla jelsor olvastn azonnal keresztnvre
asszocilunk, azaz sszektjk az j rtelmezhet ismeretet a mr rtelmezettel. Ha nem rte-
nnk, hogy mit is jelent a Bla jelsor s mi a keresztnv, nem volna mit mihez kapcsolnunk.
Nem szletne bennnk - informci.
Az informci szokvnyos meghatrozsai tbbnyire floldalasak. Az Idegen szavak szt-
ra [2] szerint az informci felvilgosts, tudsts, tjkoztats, hrkzls illetve rtesls,
adat. Ez a definci sszemossa az rtelmezhet dolgot (adat) az rtelmezs eredmnyvel. Az
IBM [1] megfogalmazsa sokkal jobban megkzelti a lnyeget. Az informci Az a jelents,
amelyet az ember tulajdont az adatnak .... Sajt, ltszlag sokkal egyszerbb meghatrozsunk
kzlse utn kifejtjk, hogy a kt definci mirt floldalas. Szerintnk:

D 1/2 Az informci j ismerett rtelmezett adat.

Az informci nem azonos az adattal, hanem az adatnak az a jelentse, amit az ember annak
tulajdont az rtelmezs ltal. Ennyiben az IBM meghatrozsa teljesen korrekt. Viszont az infor-
mci mindig hr, mindig valamilyen jdonsg, j ismeret, felvilgosts. Az IBM defincija ezt
a tnyezt elhanyagolja. Pedig az jdonsg momentum nagyon is fontos. Ha tvenszer el-
mondjuk ugyanazon szemlyeknek, hogy e knyv szerzje Bla, azzal semmi jat sem kzlnk.
Az olvasban nem szletik j ismeret - informci.
Az Idegen szavak sztra helyesen emeli ki az informci jszersgnek a vonst, viszont
nem utal arra, hogy az ismeretrt rtelmezssel kell megdolgoznunk. gy elrejti ellnk azt a
tnyt, hogy ugyanaz a tudsts teljesen eltr informcikra vezethet attl fggen, hogy a
felvilgostsnak milyen jelentst tulajdontunk. Lssuk csak a kvetkez pldamondatot:

1.1 plda

Az X agrrvllalatnl a tengeri hozama az idn Z mzsa rgi magyar holdanknt.

A kzlst sokan nem rtik, mert nem tudjk, hogy a tengeri az a trkbza, vagyis a
kukorica. Msok fennakadnak a rgi magyar hold kifejezsen. Mi az, hogy magyar s rgi?
Mirt nem hektr? Ismt msok figyelmeztetnek, hogy a mzsa mr nem bevett mrtkegysg.
Mrmost akik rtik a mondatot s rtelmezik is annak mondanivaljt, azok is eltr kvetkez-

17
tetsre jutnak. Van, aki a Z hozamot kevesli. Ms szerint elegend vagy j. Ezek az emberek
mr tovbbi httrismerethez is tudnak kapcsolni: a tengeri hozama annyi szokott lenni... Azon a
tjon s olyan idjrs mellett... - teszik hozz a mg rtbbek. Milyen volt a tengeri fajtja?
Milyen technolgival vetettk, gondoztk, arattk?
Az egyetlen ismeret akr szz krdst is szlhet. A krdsekre adott vlaszok eredmnyezik a
vgs kvetkeztetst. Krdezni viszont csak az tud, aki az eredeti kzlst is informciv tudta
rtelmezni.
Amint ltjuk, az adat egy, mg a belle szlet informci szmos lehet. Az adat szemly-
telen, tnyt kzl objektv ismeret. Ezzel szemben az informci mindig szemlyes, az adatot
fogad szubjektumhoz ktd lnyeg. Ebbl a kettssgbl az adat kezelsre s -feldolgozsra
vllalkoz gyakorlati szakembereknek s az ismeretekkel elmletileg foglalkoz tudsoknak tbb
kvetkeztetst kellene levonniuk.

1.5 Szintaktika, szemantika, pragmatika

Az albbi elmlkeds tjkoztat jelleg. Nem tartozik szorosan az adat s az informci elvi
lnyegnek a kifejtshez. Csupn a mai ismeretkezelsi gyakorlatot s elmletet kvnja
megvilgtani. Fantasztikus szmtgpekkel s csodlatos ismeretkezel szoftverekkel rendelke-
znk. Akkor mirt van az, hogy mgis lland ismeretnsgben szenvednk? A kvetkez
bekezdsek adnak magyarzatot erre a krdsre.
A gyakorlati szakemberek ltalnos hibja, hogy nem ismerik fel az adat s az informci
elmleti klnbsgt. Nevezetesen azt, hogy az elbbi tnyt kzl, teht objektv valami, mg az
utbbi szemlyesen rtelmezett dolog, vagyis szubjektv. Ezrt nem alkalmazzk azt az elvet,
hogy az ismeretet mindig gy kell tlalni, hogy az a megclzott felhasznl ltal knnyen rtel-
mezhet legyen. Szelektv, emberre szabott adatszolgltatsra, szemlyes jelleg ismeretkzlsre
lenne szksg. Ezzel a kvetelmnnyel szemben a mai felhasznl gyakran kap elrhetsgben
(szlels), megjelentsben (rzkels), formjban (felfogs) s tartalmban (megrts) korltos,
elnagyolt, tmegszer, nem-szemlyes s gy ltala informciv nehezen rtelmezhet adat-
halmazokat. Olyan ismeret-egyvelegeket, amelyek sokkal inkbb a szakember kpessgeit,
semmint a felhasznl ignyeit tkrzik.
A fentiek mentsgre szoltl, hogy az elmleti szakemberek nagy rsze sajt elefnt-
csonttornyba zrkzik s nem kpes elfogadhat fogdzt nyjtani a gyakorlat szmra. A sok-
sok elvi irnyzat kzl most csak egynek a pldjt emltjk. Az informcielmletrl (angolul:
information theory) van sz, amely az ismereteknek pusztn csak a mennyisgi oldalval foglal-
kozik. Az informcielmlet szerint a Szereti-e Jnos Lujzt? s a Szereti-e Jnos a
karalbt? krdsekre adott igen-nem vlasz ugyanannyi hatrozatlansgot szntet meg. A
teoretikusoknak taln Jnost vagy fleg Lujzt kellene megkrdeznik arrl, hogy valban
ugyanannyi hatrozatlansg sznik-e meg bennk a kt ismeret kapcsn. Ez a plda a terik
ltalnos hinyossgra akarja felhvni a figyelmet. Az informcielmlet, az informcialgebra,
a hierarchikus-hls-relcis adatmodellezsi koncepcik mind-mind mennyisgorientltak s a
lehetsgesnl sokkal kevesebbet trdnek az ismeretek minsgi oldalval. Kicsit pongyoln, de
taln kifejezen fogalmazva: az informci praktikumval.
A j elmleten alapul gyakorlat s a gyakorlatias elmlet hinyt jl mutatja az a tny, hogy
az ismeret hrom aspektusa kzl az els kettvel jval tbbet foglalkozunk, mint a harmadikkal.
Ugyanis minden adatnak hrom szemlletmdja van. Az ismereteket valamilyen formai
mdon jelentjk meg. Jelsoraink rtelmezhet tartalmakat hordoznak. Vgl - amirl sokszor

18
megfeledkeznk - az ismeretkzlsnek meghatrozott clja van. Az albbiakban rviden
ttekintjk ezt a hrom nzpontot.
A szintaktika az ismeret kzlsre szolgl jelek s/vagy jelcsoportok ltalnos elrendezst
jelenti, amely fggetlen az ismeret tartalmtl, a megjelents mdjtl s hasznlattl (ld. [1],
413. oldal). Teht a szintaktika az rzkels s a felfogs tartomnyba tartozik. Olyan jeleket
hasznlunk s azokat gy rendezzk el, hogy az ismeretet fogad magt a jelsort rzkelhesse s
felfoghassa.
A szemantika a jeleknek s/vagy jelcsoportoknak a kzlend tartalomhoz val viszonyt
jelenti, fggetlenl a megjelents mdjtl (ld. [1] 375. oldal). A Bla, bla, bela stb. az
ltalunk ismert szablyok szerint itt s most ugyanazt a tartalmat hordozza, rsmdtl fgget-
lenl. Teht a szemantika a megrts tartomnyba tartozik. Olyan jelsorokat lltunk ssze,
amelyek egyttes tartalmt az ismeretet fogad megrtheti.
Sajnlatos mdon a szintaktikt s a szemantikt a mai ismeretkezelsi gyakorlatban sokszor
flrertelmezik. A szmtgpes programok utastsaira szktik le ezt a kt lnyeget. (Arrl most
ne is beszljnk, hogy a kt tnyezt gyakran sszekeverik. Szintaktikainak mondjk a szeman-
tikai hibt - vagy ppen megfordtva - aszerint, hogy azt a fordt/szerkeszt milyen alapon fedezi
fel.) Teszik ezt annak ellenre, hogy a szintaktika s szemantika az ismeretkzls ltalnos
aspektusai. Teht ppen gy, st taln mg inkbb vonatkoznak az adatra, mint a programutas-
tsra.
Az adatoknak van egy harmadik nzete is, amelyrl taln ppen az elbbi hibs szemllet, a
szintaktika s a szemantika programozsbeli tldimenzionlsa miatt feledkeznk el. Az IBM
sztra szerint a pragmatika a karaktereknek illetve jelsorozatoknak az azok rtelmezshez s
hasznlathoz val kapcsolata (ld. [1], 317. oldal). Ez a meghatrozs helytll, de kicsit res,
azaz nmi magyarzatra szorul. A pragmatika lnyegben a kzlt ismeret gyakorlati hasznl-
hatsgt jelenti. Magyarul azt, hogy partnernknek olyan ismeretet adjunk t, amelyet
knnyen s gyorsan azz az informciv tud rtelmezni, amelyre ppen szksge van.
A szintaktika s szemantika objektv jelleg, klnben aligha vizsglhatnnk szmtgppel
a programok formlis megfelelsgt. Ezzel szemben a pragmatika a szubjektum szfrjba tar-
tozik. Nincs olyan szmtgp, amely el tudn dnteni, hogy szmunkra hasznos adatot kzlt-e
velnk. Ezrt van szksg az emberre, a szakemberre, aki rti az adat s az informci
klnbsgt, vagyis tisztban van a pragmatika lnyegvel.
A mai adatbzisok tervezi tlsgosan el vannak foglalva az adatok fizikai trolsval s
megjelentsvel, vagyis a tisztn szintaktikai aspektusokkal. Mr kevesebbet trdnek az egyedi
adatok jelentsvel s az adatok elemi sszefggseivel, a szemantikval. Az ismeretek pragma-
tikai hasznossgt az adatbzis fogalmi szerkezete nagymrtkben befolysolja. Ez a terlet pedig
sokak szmra vgleg ismeretlen.

1.6 Mirt hibdzik a kommunikci?

A kvetkez gondolatokat egy 1972-es halvny xeroxmsolatbl idzzk, ezrt a forrst nem
tudjuk pontosan megadni. S. J. Harris maga is egy 1920-as rsra hivatkozik, amelyben W. James
a kommunikcirl elmlkedik. E rejtlyek dacra is rdemes megfontolni, amit mond.
Ha Jancsi s Lajos beszlget, akkor a diskurzusnak valjban hat rsztvevje van. Jancsi,
ahogyan magt ltja. Jancsi, ahogyan t Lajos ltja. Jancsi, amilyen a valsgban. Lajosra
ugyanez a hrom szemllet vonatkozik. A kommunikci emiatt a tbbszrssg miatt veszik el.
Jancsi valamit mond, amin Lajos teljesen mst rt. St, kt dolgot rt. Mert ms az, amit Lajos

19
gy fog fel, mint a valdi Lajos s ms az, amit Lajos gy rt meg, mint ahogyan magt elkpzeli.
Persze mieltt Lajos brmit is hallana, Jancsi ugyanilyen zavarban van sajt magval.
A felesg a frjnek esik, mikzben nem is vele, hanem valami egszen mssal van baja. A
disputa vgn mr egyikk sem rti, hogy egyltaln mirl is volt sz. A drga nej kijelent
valamit gy, ahogyan az sajt magbl fakad. Nem figyel arra, hogy kzben mindez a frjre
teljesen msknt hat, mert ura mshogyan szemlli t, mint sajt magt. A hlgy azt sem veszi
szre, hogy valjban nem azt mondja, amire gondol, mivel nem ismeri nmagt s kifejezsi
eszkzei is szksek.
Hasonl a helyzet a gyerekekkel. A szl bekpzeli magnak, hogy azt teszi, ami a klyknek
j. A picur mindezt msknt ltja: szmra az s arra val, hogy kiszolglja az ignyeit... Ha
kt emberi lny nem tud kommuniklni, akkor vajon mi a helyzet a szervezetek, a csoportok s az
egsz trsadalom szintjn...?

Az emberisg mg nem jutott el arra a fokra, hogy megoldja az zenetek kdolsnak,


kldsnek, fogadsnak s dekdolsnak elsdleges problmjt.

Eddig az idzet. A hetven vvel ezeltti gondolatok ma is rvnyesek. Sohasem lehet j


informatikus abbl, aki nem rti, hogy a kldtt s a fogadott szavak nem azonosak. Aki nem
ltja az adat (az zenet) s az informci (a hats) klnbsgt. Aki nclknt a szmtgppel, a
programmal, a trolt adattal trdik, nem pedig azzal, hogy legyen msok ltal fogadhat
zenete.
Ms elfakult msolatbl csak a gondolatcsrt kvnjuk elltetni. Egyes fensbbsges emberek
sajtja, hogy sszetvesztik a kommuniklst s az informlst. Az elbbi ktoldal tevkenysg,
amelyben mindkt fl egyenl szerepet jtszik. Az utbbi egyirny folyamat, amelyben az
ismeretkld a meghatroz.
El kellene elmlkednnk azon, hogy vajon mi, mai szmtstechnikusok, melyik gondolat-
krben mozgunk... Csak kzljk a sajt elkpzelseinket a felhasznlval, azaz informlunk,
vagy nagyon is odafigyelnk arra, amit az alkalmaz mond s logikusan rvelve kommuniklunk.
Persze ugyanezek a krdsek a felhasznli oldalon is felvetdnek. Mert a kedves alkalmaz
lehetetlent akar, de azt viszont azonnal. Nem figyel a fejleszt nehzsgeire. Nem kommunikl,
hanem informl.

1.7 Mit lehet megtudni?

A kilencvenes vek elejn tudomnyos rangra emeltk a kosz-elmletet. A vilgot nem a


vakvletlen uralja, minden trvnyszer. Csakhogy az ember kptelen felismerni a szablyokat.
Elksve s utlagosan reagl a tnyekre. Mire a trvnyt felfedezi, mr az nem is l. A hetven
vvel ezeltti, az elz pontban idzett kittel - Az emberisg mg ... - tkletesen illeszkedik a
kosz-elmlet megismerhetetlensgi aximihoz.
Mit jelent mindez az informatikusnak? Taln azt, hogy Madchot feledve adjuk fel a remnyt
s a kzdelmet? ppen ellenkezleg. Csak azrt is bele fogunk pislantani az ismeretkzls
rejtelmesnek tartott titkaiba. A tnyeket rgzt adatokat adatbzisokban fogjuk trolni s
megprbljuk azokat onnan gy elbogarszni, hogy embertrsaink informcikat nyerhessenek.
Ebben a knyvben nyomon fogjuk kvetni az adat tjt az adatbzison keresztl az inform-
ciig. Megprblunk megkzdeni a kosszal. Bizakodan, de nem elbizakodottan. Mr tudjuk,
hogy a fizikai srobbans szellemi detoncival is jrt. Vlaszt adunk sok krdsre, de mindegyi-

20
ket nem fogjuk tudni megoldani s minden egyes megoldott problma a felvetsek tucatjait vonja
majd maga utn.
Tudsunk, ernk, akaratunk s ezeknek megfelelen knyvnk is vges. Az adatbzis viszont
vgtelen. Ha ezt az olvas megrti, akkor nem hiba harcolunk az informatikai kosz ellen.

Ellenrz krdsek - 1

1/01 Informcit (I) vagy adatot (A) takar-e a kvetkez mondat: Halassy Bla e m
szerzje.

1/02 Informcit (I) vagy adatot (A) rejt-e a kvetkez lert mondat: A szerznek BMZ 873
rendszm 1300-as Ladja van..

1/03 Informcit (I) vagy adatot (A) hordoz-e a kvetkez mondat, vagy netn egyiket sem
(S): Sri 6 ves..

1/04 Ez a jelsor navigadnoj szlelhet-e (1), rzkelhet-e (2), felfoghat-e (3) s rtel-
mezhet-e (4) az n szmra? Adja ssze vlasznak megfelelen a pontokat.

21
2. AZ ISMERETKEZELS KT MDJA

2.1 Az ismeret hordoz kzegei

Az ismeret tadsnak s tvtelnek szmos kzvett eszkze van. Minden rzkszervnket az


ismeretszerzs szolglatba llthatjuk. A kp, a hang, a mozdulat, a hrzkels, a zene mind-mind
ismereteket kzvettenek felnk. Nem informcikat, hanem adatokat. Ezeket az adatokat
msokkal sszegyrva mi rtelmezzk informciv. Pldul ugyanaz a mozdulat kt klnbz
arckifejezssel prosulva teljesen ms hrtartalm. A vllvonst ksr mosoly sajnos nem-et
jelent. A vllrndtssal prosul fintor viszont azt mondja, hogy nem, s nem is rdekel.
Brmennyire is rdekesek az ismeret tadsnak s tvtelnek ezek a mdozatai, neknk egy
kzegre kell szortkoznunk. Ahhoz az eszkzhz fordulunk, amely az ember sajtja s amely az
embert azz teszi. Ez a kzeg pedig nem ms, mint a nyelv, a termszetes emberi nyelv. Ezen
bell is alkalmazunk egy megktst: csak az rsos ismeretekkel trdnk annak dacra, hogy
kzeleg a hangokat is megrt szmtgpek korszaka. (Persze amit itt elmondunk, az jrszt a
beszlt nyelvre is vonatkozik.)

Ennek a fejezetnek az a clja, hogy bemutassa a termszetes emberi nyelv s a szmt-


gpes ismeretkezels sszefggseit gy, hogy prhuzamot von a kett alkotelemei kztt.

A fejezet sorn elszr az adat ngy dimenzijt fogjuk ismertetni a mindennapos


mondatok kt alapvet alkotelemhez, az alanyhoz s az lltmnyhoz kapcsoltan. R fogunk
mutatni arra, hogy a szmtgpes ismeretkezels sorn is valjban alanyban s lltmnyban
gondolkozunk. Csak ppen a szmtgpes ismerethordoz kzegek termszete miatt ezeket a
tnyezket merev egysgekbe kell knyszertennk. gy szembeslnk az adat fogalom egy
szkebb rtelmvel. Ez nem jelenti azt, hogy korbbi adatmeghatrozsunkat ne tartannk
tovbbra is rvnyesnek.
Mr a dimenzik megismerse sorn is rdemes felfigyelni az alany s az lltmny relati-
vitsra. Az egyik mondat lltmnya a msik alanya lehet. A mindennapos letben ppen ez a
tny ad lehetsget arra, hogy a klnbz dolgokra vonatkoz ismereteinket sszefzzk. Ez a
kapcsolds az alapja az adatbzisnak is, amelynek lnyegt a kvetkez fejezetben fejtjk ki.
A fejezet msodik felben az ismeretkezels ktfle mdjrl lesz sz. A fentiekben a nyelvet
jelltk meg, mint bennnket rdekl kzeget. Azonban nem mindegy, hogy termszetes emberi
nyelvben fogalmazzuk-e meg az ismeretet, vagy erre a clra mestersges nyelvet hasznlunk.
Ezrt r kell mutatnunk a szveg- s az adatszer ismeretkezels kzs alapjain tl azok eltr
lehetsgeire s konverglsukra is.

2.2 Az ismeret ngy dimenzija

Az emberi kzls legtermszetesebb egysge a (kijelent) mondat. A mondat szavakbl ll.


Ezek klnbz szerepeket tltenek be a mondatban s ezeknek megfelelen mondatrszeket
alkotnak. A teljes, de minimlis kijelent kzlsben alany s lltmny szerepel. Ez idig

22
kzismert, elemi szint tuds. ssunk azonban kicsit mlyebbre, komolyabban megvizsglva a
mondatrszek szerepeit. Elbb nzzk meg, hogy mirt is szksges ez a vizsglds. Ehhez
vegyk alapul a kvetkez kt pldamondatot:

2.1 plda

Rzsa kocsija fehr.


Gabi kocsija Lada.

A fenti mondatokat brmilyen szvegszerkesztvel be lehet vinni a szmtgpre. A szveget


el lehet trolni; azt ki lehet rni a nyomtatra; ki lehet jeleztetni a kpernyn; t lehet msolni stb.
Kikereshetjk a mondat brmelyik szavt vagy jelsor-rszlett. Azonban a szvegszerkesztvel
trolt ismeretek tartalmra nem tudunk okosan rkrdezni. Nem tudunk feltenni ilyen krdseket:

Milyen szn Rzsa kocsija?


Kinek a kocsija fehr?
Milye fehr Rzsnak?
Van-e Rzsnak kocsija?

A szvegszerkesztvel trtn ismeretkezels nem adhat mst, mint lnyege. Ezek az


eszkzk nem arra kszltek, hogy segtsgkkel informciv rtelmezhet adatokat kezeljnk.
Ezrt az ismeretkezelsnek ms mdjt kell keresnnk. Olyant, amivel a fentiekhez hasonl
krdsek is megvlaszolhatk. Ehhez pedig zekre kell szednnk a kijelent mondatokat, hogy
azutn az azok rszeivel kapcsolatos krdseinket jl tudjuk megfogalmazni.
A mondatok alanya mindig kt rszbl tevdik ssze. Ezek hivatalos neve legkzelebbi
nem (genus proximum) s megklnbztet jegy (differentia specifica). Pldink esetben a
legkzelebbi nem a KOCSI, a megklnbztet jegyet pedig a Rzsa s a Gabi jelentik. A
most elmondottakat azonnal ki kell egsztennk pr megjegyzssel. A legkzelebbi nemnek nem
kell expliciten, teht lthatan szerepelnie a mondatban. Az lehet rejtett, implicit is. Pl. a Rzs
fehr. kijelentshez is ktdik legkzelebbi nem. Hiszen evidens, hogy ennek a mondatnak a
megrtshez kellett lennie egy korbbi kzlsnek is, amelyben utaltunk arra, hogy mirl (kirl)
van sz. Ugyanez vonatkozik a megklnbztet jegyre is: A kocsija fehr. (Ms jelleg
problma, hogy valban behatrol-e a megklnbztet jegy. Ha tbb Rzsa vagy Gabi is szba
jhet, akkor a mondat alanyt pontostanunk kell.)

A fenti kettssg a mondatok lltmnyra is vonatkozik. Az els mondat lltmnyban a


legkzelebbi nem a Szn, a megklnbztet jegy pedig a fehr. Itt is rvnyesek a fentebb tett
megjegyzsek. A generikus lltmny (Szn illetve Tpus) lehet implicit, szerepelhet ms mondat-
ban s behatrolnak kell lennie. Pldul nagyon is elkpzelhet, hogy a Lada megklnbztet
jegy nem egszen pontos, mert tbbfle Lada tpus gpkocsi ltezik.
Az ismeretkezels nagy mestere, C. Bachman mr a hatvanas vekben az adat hrom dimen-
zijnak nevezte [3] az ismeret specifikus alanyt (Rzsa kocsija), generikus (Szn) s
specifikus (fehr) lltmnyt. Abban a korban mg nem lteztek adatbzisok. Egyszerre csak
egyfle jelensggel trdtek az ismeretkezels sorn. Ezrt nem utalhatott Bachman akkor a
negyedik tnyezre, a generikus alanyra (KOCSI), amelyet az nyomdokn joggal nevezhetnk
most mr az ismeret els dimenzijnak.
A ngy dimenzit brn is szemlltethetjk. Ebben a knyvben a ngy dimenzi jellsre a
kvetkez egyezmnyes rsmdokat (konvencikat) fogjuk hasznlni: Nagybetvel rjuk az
ltalnos alanyt (KOCSI), vastag dltbetvel a specifikusat (Rzsa). Nagybetvel kezdjk az
ltalnos lltmny nevt (Szn) s kiemels nlkli, kisbets a specifikus lltmny (fehr).

23
ALANY LLTMNY

Generikus KOCSI Szn


Specifikus Rzsa fehr
2.1 bra: Az adat ngy dimenzija

A tnyeket kzl kijelentsek persze lehetnek bonyolultabbak is. Pldul: Rzsa kocsija
fehr s Lada tpus. vagy Rzsa Lada kocsija fehr. vagy Rzsa fehr kocsija Lada.. Az
sszetett mondatok is ngy dimenzira bonthatk a fentiek szerint, hiszen mindig visszavezet-
hetk egyszerekre. Pldul: Rzsa kocsija fehr. s Rzsa kocsija Lada tpus.. Az alany
ismtlsvel takarkoskodunk a kzlseinkben is, meg az ismeretek dimenzikba val besoro-
lsnl is. Az sszetettsg nem jelent j dimenzit, csak az lltmny tartalmnak a tbbsz-
rzst. Jl mutatja ezt a kvetkez bra:

ALANY LLTMNY1 LLTMNY2

Generikus KOCSI Szn Tpus


Specifikus Rzsa fehr Lada
2.2 bra: sszetett dimenzik

A termszetes nyelv mondatokban nemcsak alany s lltmny, hanem ms mondatrszek is


szerepelhetnek: trgy, hatroz, jelz. Ezekrl azt kell tudni, hogy maguk is lltsok. Ezrt a mi
felfogsunkban azokat is a generikus s specifikus lltmny kt dimenzijba soroljuk. Az elz
bekezds elejn lv hrom mondat ezrt nemcsak a mindennapos nyelvben hordoz azonos
ismeretet, hanem a mi taglalsunk szerint is azonos kpet ad. Mindhrom mondat a 2.2 bra
sematikus szerkezetre kpezhet le.
Az brkat a mondatokkal sszevetve tbb kvetkeztetst vonhatunk le. Egyrszt a ktfle
mdon kzlt ismeret tnyleges tartalma pontosan lefedi egymst. Msrszt a mondatok kere-
kebbek, szebbek - mg a smk kattogsabbak, resebbek. Harmadrszt viszont a smk ponto-
sabbak, mert - szemben a mondatokkal - expliciten tartalmazzk mind a ngy dimenzit.
Mrpedig lnyeges megjegyeznnk, hogy az ismeretkzlshez mind a ngy dimenzira szksg
van. Tegynk csak ellenprbt a kvetkez mondatokkal:

A rzsa ra 50 Ft. Krumplifajtrl vagy virgrl van sz? Nincs generikus alany.
A virg ra 50 Ft. Melyik virg? A rzs, a liliom? Nincs specifikus alany.
A rzsa 50. Milye 50? Ennyi darab? Ennyi kil? Nincs generikus lltmny.
A rzsa szne. Mi van vele? Hinyzik a specifikus lltmny.

2.3 Trtneti kitr: A szemantikai adatbzis

A termszetes nyelvi ismeretkzls jl beilleszkedik a sematikus ngy dimenziba. Ez a tny


a 70-es vekben nhny kutatt arra sztnztt, hogy megalkossk a szemantikai adatbzis
koncepcijt [4]. Ebben az elkpzelsben a szmtgpen trolt ismeret alapvet egysge a

24
mondat (angolul: sentence). Ez majdnem azonos a termszetes nyelvi mondattal: kerek, emberi,
rthet kijelents. Lssunk nhny pldt:

2.2 plda

X. Rzsa 1957-ben szletett.


Y. Gabi 1946-ban szletett.
X. Rzsa Szegeden lakik.
Y. Gabi Pcsett lakik.

A mondatokban nem kellett expliciten utalni a generikus alanyra (SZEMLY) s lltmnyra


(Szletsi dtum, Lakhely). A dimenzikat gy adtk meg, hogy mondattpusokat kreltak.
Pldnk esetben a SZEMLY SZLETETT s a SZEMLY LAKIK mondattpusokat (angolul:
sentence type) fogalmazhatjuk meg. Persze akkor, ha a szemlyeknek mindig csak az aktulis
lakcmre vagyunk kvncsiak, sszetett mondatot is alkothatunk: X. Rzsa 1957-ben szletett
s Szegeden lakik..
Az elgondols humnus clokat, emberibb ismeretkezelst kvnt szolglni s egy ideig meg-
valsthatnak ltszott. Az ember ne sematikus formkkal, hanem kerek mondatokkal kommuni-
kljon a szmtgppel. Az ismeretkezel programnak kell kihmoznia a mondat lnyegt, ami a
mondat elemeinek a mondaton belli elhelyezse ltal gymond adott. Vagyis a tartalom a
mondat struktrjbl kvetkezik. Innen kapta ez a koncepci a szemantikai jelzt.
Ktsgtelen, hogy a viszonylag egyszer angol nyelvi szerkezetek megfelelni ltszottak az
elzetes felttelezseknek. Arrl most ne beszljnk, hogy a magyar nyelvben ez a megolds
egyelre kizrt a ragok s a ragozsok kavalkdja miatt. A ksrlet vgl angolszsz terleten is
csdt mondott. Az angol nyelvben sem mindent ugyangy s ugyanolyan sorrendben runk le.
Kln gondot okozott a felhasznl szmra annak megjegyzse, hogy az sszetett mondatokat
alkot tagok mikppen kvetik egymst s annak emlkezetben tartsa, hogy milyenek a kln-
bz mondattpusok kztti kapcsoldsok. Ezrt a felhasznlnak olyan smkat kellett volna
adni, amelyek mr az ismeretkezels albbi adatszer mdjnak a sajtjai.
Vgeredmnyben az akkori prblkozs meghisult. Ennek nem kis rszben az is oka volt,
hogy az ismeretrgztk - pusztn fizikai okokbl - kerek mondatok helyett jobban szeretnek
szavakkal dolgozni. Ragok, tltszavak s egyebek nlkl kevesebb jelet kell lerni. A ksrlet
annyiban mgis figyelemre mlt, hogy a jv szzad egyik lehetsges megoldst vetti elre. Ha
majd hanggal, jsg-, knyv-, iratletapogatssal gy lehet ismereteket vinni a szmtgpbe, hogy
a programokkal a mondatok struktrit s kapcsolatait is meg tudjuk llaptani, akkor ismt
napirendre fog kerlni a szemantikai adatbzisok idlegesen elvetlt koncepcija.

2.4 Ktfle mondat

A termszetes nyelvi vagy ahhoz kzeli ismeretkezels sok problmt vet fel. Egy szemlyre
vonatkozan hnyfle mondattpust clszer alkotni? lltmnyonknt (szletett, lakik) egyet? Ez
risi redundancival jr, hiszen mindig le kell rni pldul azt, hogy X. Rzsa. Egyetlen
egyet? Ebben az esetben a mondat kgynyi hosszsg lesz. Tovbbi krds, hogy miknt
kapcsoldnak egymshoz az azonos alanyra vonatkoz eltr tpus mondatok illetve a klnbz
generikus alany mondatok? Pldul hogyan kthetk ssze a szemly s az ltala birtokolt
gpkocsi(k) ismeretei?

25
A szemantikai adatbzis koncepcija ezeket a grcsket nem tudta feloldani. Nzzk meg,
hogy mire jutunk egy msik fajta megkzeltssel. Vegyk csak alapul a kvetkez pr mondatot
(ld. 2.3 plda). A gondolatjtk kedvrt ezeket a kijelentseket sematikus formban is megadjuk
(ld. 2.3 bra).

2.3 plda

Gabi kocsija Lada tpus.


Gabi kocsija tszemlyes.
Laci kocsija Lada tpus.
Laci kocsija tszemlyes.

ALANY LLTMNY1 LLTMNY2

Generikus KOCSI Tpus Frhely


Specifikus Gabi Lada 5 szemly
Specifikus Laci Lada 5 szemly
2.3 bra: A kocsik ismeretei sematikus formban

Ha a mondatokat pronknt (a Gabi s a Laci alanyok szerint) vesszk, akkor azok nagyon
rtelmeseknek tnnek. m a ngy mondat egytt nmi ellenrzst kelt bennnk, amiben meger-
stve rezzk magunkat, ha a 2.3 bra sematikus kpt nzzk. Maga mindent ktszer mond? -
vetdik fel bennnk a krds (Lada - 5 szemly).
Tudomsul kell vennnk, hogy a termszetes nyelv kzlsek igen komoly redundancit,
ismeretismtlst hordoznak magukban. (Ez az x+1-dik oka a szemantikai adatbzisok kudarc-
nak.) Az ismerettfeds gondjaival-bajaival most ne trdjnk. Csak annyit jegyezznk meg,
hogy az a mai szmtgpes ismeretkezelsben nemkvnatos jelensg. Ezrt nagyon sokan
foglalkoznak a redundancia elkerlsnek a mdjaival. A megolds pedig kzen fekszik. Nzzk
csak meg a kvetkez hrom kijelentst:

2.4 plda

Gabi kocsija Lada tpus.


Laci kocsija Lada tpus.
A Lada tpus kocsik tszemlyesek.

Mint ltjuk, gy takartottunk meg egy mondatot, hogy kzben ismeretet nem vesztettnk.
Tovbbra is tudjuk, hogy Gabi s Laci kocsija t frhelyes. Csak a megfelel mondatokat kell
sszektnnk. Ekzben felfedezzk, hogy a mondatoknak ktfle fajtja van:

2.5 plda

Gabi kocsija fehr.


Gabi kocsija Lada tpus.

A kt mondat ltszlag teljesen azonos jelleg. Csakhogy mr tudjuk, hogy az els kijelents
lezrt, befejezett egy gondolatfonalat. A msodik pedig ppen megnyitott egy jat s a 2.4 plda
harmadik kittelhez juttat bennnket.
Most kap igazn rtelmet az ismeret els dimenzija, a generikus alany, mert mr ktflt is
meg kell klnbztetnnk (SZEMLY, KOCSITPUS). jabb megoldsunk sematikus kpt a

26
2.4 bra mutatja. Az brn dlt nemkvr szedet mutatja az egyik mondattpusbl a msikba
tvezet lltmnyt.
A kpet vegyes rzelmekkel fogadjuk. Az ALANY-LLTMNY s a Generikus-Specifikus
megjellsektl eltekintve a 2.3 brn 9, ezen pedig 10 bejegyzs tallhat. Mit nyertnk? Inkbb
vesztettnk, mert most is dadogunk a Tpus ktszeri feltntetsvel. mde szmoljunk utna,
hogy ngy Ladt birtokl szemly esetben a 2.3 bra szerinti sma 15, a 2.4 brnak megfelel
mr csak 14 bejegyzst tartalmazna. 10000 Lada-tulajdonosnl pedig az arny mr 30003/20006
lenne stb.
Nem vletlenl jtszunk itt a szmokkal. A 2.3 bra esetben egyetlen dologgal kell fog-
lalkoznunk, mg a 2.4 brnl kt dolgot ssze kell tudnunk kapcsolni. Vilgos, hogy ennek az
sszefggsnek a megteremtse a szmtgpen idt, helyet - pnzt - ignyel. Akkor fizetdik ki,
ha ellenttelknt nyernk valamit. A plda esetben a nyeresg vilgosan ltszik, noha egyelre a
tbbszrs ismerettrolsnak a mellkkltsgeirl mg nem is beszltnk.

ALANY1 LLTMNY1 ALANY2 LLTMNY2

Generikus KOCSI Tpus TPUS Frhely


Specifikus Gabi Lada Lada 5 szemly
Specifikus Laci Lada
2.4 bra: A kocsiismeretek talaktott smja

Most, hogy mr tudjuk mit kellene a szmtgpeken trolni az ismeret dimenziinak meg-
felelen, rtrhetnk a hogyan krdsre.

2.5 Adatszer ismeretkezels

A szmtgpeket a kezdetek kezdetn elssorban knyvelsi, nyilvntartsi feladatok tmo-


gatsra hasznltk. Mgpedig gy, hogy ezek a nyilvntartsok egymstl teljesen fggetlenl
kerltek szmtgpes trolsra s feldolgozsra. A kimutatsokat irattartkban, magyarul
dosszikban vezettk, amelyek angol neve file (ejtsd: fjl). Ezt ma az elkel adatllomny nvvel
illetjk. Egyfle dossziban voltak az egyfajta jelensgre vonatkoz ismeretek. Az irattartfle
teht pontosan megfelel a generikus alanynak, az ismeret els dimenzijnak. Volt SZEMLY,
ANYAG, ESZKZ, KOCSI, KOCSITPUS stb. fjl. Mint emltettk, ezek kztt nem volt
semmi sszefggs.
A fjlban vezettk a feljegyzsre mlt tnyeket. Feljegyzsre mlt az olimpiai cscs, amit a
latin emlkezs szbl szrmaz angol feljegyzs - record - kifejezsen t a magyar rekord
fogalom is tkrz. Persze a vllalatokban ms dolgokat tartanak feljegyzsre mltaknak. Ettl
fggetlenl rekordnak neveztk a valakirl, valamirl feljegyzett ismeretek egyttest. gy Kovcs
rnak a SZEMLY fjlban volt egy szemly mintj, Kovcs cmkj rekordja. A rekord teht
megfelel a specifikus alanynak, az ismeret msodik dimenzijnak.
A dosszik paprjain elre behatrolt, nvvel nevezett dobozkk szerepeltek. Olyan
rovatok, amelyekbe be kellett vezetni a megfelel ismereteket. A rovatok a papr adott terlett
foglaltk el, ezrt ht elneveztk e terleteket mezknek (angolul: field). A mez kt dolgot
jelentett: egy rovatfajtt (pl. Nv), azaz meztpust s egy konkrt tartalmat (Kovcs). Itt
tallkozunk az ismeret tovbbi kt dimenzijval, a generikus s specifikus lltmnnyal.

27
A ksbbiekben ezeket az ismereti egysgeket gy vagy gy tkereszteltk. A rekord helyett
pldul hasznltk a mondat, a mez helyett a sz kifejezst is. (Arra most nem trhetnk ki,
hogy ezeket a megjellseket vltogatva alkalmaztk az ismeret logikai tartalmra s az annak a
szmtgpes trolsra szolgl bels fizikai egysgekre.)
A lnyeg - nvtl fggetlenl - ugyanaz maradt. Az ismereteket a rendes gyjtk mdjra
elre megcmkzett dobozkkba helyeztk el, pontosan az eddigi brinknak megfelel mdon.
A KOCSI cmkj dobozokba kerltek a tulajdonosok nevei, a Gabi, a Laci s a tbbiek. A
cmke s a tartalom egyttest pedig mr nem meznek, hanem adatttelnek vagy egyszeren
csak adatnak kezdtk hvni. gy kapott az adat az eredeti, tg jelentse (rtelmezhet ismeret)
mellett egy szkebbet - cmkzett ismeretdoboz - is.
A fentiek miatt nem tautolgia, ha adatszer ismeretkezels-rl beszlnk. Ez azt jelenti,
hogy az adatokat dobozokba rendezzk el. Ami knyelmetlen, picit inhumnus, sok gondot okoz.
Viszont a cmkzs miatt mr vlaszt tudunk adni azokra a krdsekre, hogy Van-e kocsija
Rzsnak?, Milyen szn a kocsija? stb. A dobozok gyes sszekapcsolsval azt is megismer-
jk, hogy hny frhelyes Gabi Lada tpus kocsija. Mivel ugyanahhoz a rekordhoz elvileg
tetszleges szm adatttelt rendelhetnk, az ismereteket nem kell ismtelgetnnk. Nem kell
tbbszr trolnunk azt, hogy Gabi kocsija....

2.6 Szvegszer ismeretkezels

Viszonylag hossz id telt el addig, amikor a szmtgpek szvegtrolsi kpessgt azok


szmtsi kpessgeivel egyenrangnak, st adott esetben fontosabbnak kezdtk ltni. Az adat-
szer nyilvntartsok mellett kezdtek megjelenni a termszetes nyelv szvegeket trol s kezel
rendszerek.
A ktfle megoldst nagyon knny sszehasonltani. Csak kpzeljnk egyms mell pr
berovatozott, rubrikzott s kitlttt bizonylatot, meg pr egyszer knyvoldalt vagy nhny
folyamatosan telert A4-es paprt.
A szvegszer ismeretkezels sorn termszetes emberi nyelvben megrt szavakbl alkotott
termszetes mondatokat trolunk. Ezek a szavak nincsenek megcmkzett, nvvel elltott dobo-
zokhoz rendelve. A lersi sorrend ktetlen. rhatjuk azt is, hogy Rzsa kocsija fehr., de azt is,
hogy Fehr a Rzsa kocsija..
A szvegszer ismeretkezelst nem szabad sszetveszteni a szvegszerkesztssel. Az utbbi
esetben minden egyes szveg kln llomnyt kpez, teht az llomny s a feljegyzs, a rekord
lnyegben ugyanaz. Ezzel szemben a szvegszer ismeretkezels a kezdetek kezdete ta meg-
klnbzteti az ismeret kt dimenzijt, az ltalnos s a specifikus alanyt. A szvegkezelvel
ismereteket rgzthetnk ltalban a szemlyekrl, a kocsikrl stb. s ezeken bell a konkrt X s
Y szemlyrl illetve a Z s Q kocsirl. Teht ezek az llomnyok tbb rekordbl llnak.
Az ismeretek termszetes nyelvben trtn bevitelnl ktetlen szrendet s eltr ragozsi
formkat alkalmazhatunk. Ez a termszetes rugalmassg ktsgtelen elnyt jelent. Viszont az
ismeretek visszakeressnl ppen ez okozza a gondokat. A ragozsok miatt sajtos sztrakat
kell fenntartani s/vagy a sztveket felismer programokat kell alkalmazni, pldul a fehret,
fehrben, fehrnek stb. lnyegi azonossgnak a feltrsra. Szinonimatrakra van szksg
pldul a piros s a vrs rokonsgnak a felismersre. A legnagyobb gondot pedig a
homonimk jelentik. Mert honnan tudn a kezel, hogy a mondat elejn nagybetvel rt Rzsa
virgot, szemlyt vagy krumplifajtt jelent-e? A Gabi finak, lnynak vagy az sszeraks
gyerekjtknak a neve-e?

28
Az adatszer ismeretkezelsben egy pillanat alatt megtallhatjuk, hogy melyek a fehr
kocsik, mert csak a Szn nev doboz tartalmait kell vgigvizsglnunk. Ezzel szemben a
szvegszer ismeretkezels kezdetn a tartalmak ilyen elklntsre nem volt md. A kezelnek
minden egyes karaktersort ssze kellett vetnie a fehr jelsorozattal. Ennek a teljes - s gy
termszetesen lass - tbngszsnek az elkerlse rdekben, a keress felgyorstsra hamaro-
san szkincstrat, tezauruszt kezdtek alkalmazni. Ez a segdtr olyan index, amely rzi a
szvegelforduls tartalmt (fehr) s llomnybeli megjelensi helyeit. Ezzel tmogatja az
ismeret negyedik dimenzijt, a specifikus lltmnyt.
Viszont tovbbra is megoldatlan maradt a jelsorozat rtelmezsnek a problmja. A Rzsa
szvegrszt mr gyorsan ki tudtuk keresni, de neknk kellett eldntennk a szveg krnyezete
alapjn, hogy a jelsor szemlyre vagy virgra utal-e. Ezt a gondot a deszkriptor konstrukcival
szntettk meg. A ler az ismeretrszeket kategorizl ismrv. A Rzsa sz bevitelekor
kijelenthetjk, hogy az most a virg vagy a keresztnv deszkriptorhoz ktdik-e. Ezzel a szveg-
szer ismeretkezels is kikerekedett az ismeretkezels harmadik dimenzijval, a generikus
lltmnnyal (pl. Keresztnv, Szn stb.).
Ettl mg a szvegszer ismeretkezels nem csapott t az adatszerbe. A terjedelmes szve-
gek bevitelekor nyilvn nem minden szt fogunk deszkriptorokhoz rendelni, mert ez nemcsak
fradsgos, hanem felesleges is lenne. Ezzel szemben az adatszer ismeretkezelsben minden
ismeretdarabot a megfelel adatdobozhoz kell illesztennk.
Mivel a ktfle kezels egyarnt fontos a szmunkra, rdemes pr gondolattredk erejig
ttekinteni azok kapcsoldst s egyttes jvjt. Mieltt ezt megtennnk, el kell mondanunk,
hogy a szveges ismereteket esetleg tbb llomnyt is tartalmaz knyvtrakban troljk. Az
ilyen knyvtrak egyttest nevezzk adatbanknak.

2.7 A ktfle ismeretkezels viszonya

Az adat- s a szvegszer ismeretkezelsnek ms a clja. Ezrt balgasg lenne azt mondani,


hogy az egyik jobb, fontosabb, szebb, mint a msik. Nyilvnval, hogy a knyveket nem adat-
mezkre szabdalva fogjuk a szmtgpben trolni, mert az effajta mveket folyamatosan akarjuk
olvasni. Ezzel szemben a vllalat fknyvi adatait nem dban rjuk le, hanem roppant szigoran
meghatrozott rovatokhoz illesztjk.
Amita az ismeret ngy dimenzijt a szvegszer kezels is tmogatja, a ktfle kezelsi
md egyre inkbb konvergl, azonos irnyba tart. A fejlesztk felismertk, hogy az adatszer
ismeretkezels sorn is szksgesek a ktetlen szvegek. A trgyak formai lersakor, a nvnyek
lelhelynek a kzlsekor, a szemlyek letrajznak a megadsakor ktetlen mret s tetszleges
tartalm adatdobozokra van szksg. A dBASE-fle kezelk memo-tpus adatmezi mg
csak gyatra prblkozsok ennek a feladatnak a megoldsra, de mr a helyes irnyba mutatnak.
Megfordtva: a szvegkezelket egszen komoly adatszer kezelsi kpessgekkel bvtettk ki.
Hiszen nem elg magt az rsmvet szmtgpen trolni, hanem ki kell tudni keresni a m
szerzjt, cmt, kiadjt, kiadsi dtumt, formtumt stb. Ezeket az ismereteket pedig adat-
szeren rdemes megfogalmazni s kezelni.
Valamikor majd megsznik a ktfle ismeretkezels mai klnbsge. Egyelre azonban a kt
megolds prhuzamosan l s fejldik, mert a kztk lv legnagyobb klnbsg ma mg
feloldhatatlannak ltszik.
Az ismeretek kombinlsnak a lehetsgrl van sz. Tegyk fel, hogy arra vagyunk
kvncsiak, hogy mikor, hol, milyen kresemnyekben vett rszt Rzsa Lada tpus fehr kocsija!
Itt ngy eltr jelensg (kocsi, kocsitpus, tulajdonos s kresemny) adatainak az egyttes

29
kimutatsrl van sz. Adatszer kezels esetn a ngy dologra vonatkoz ismereteket egy-egy -
egymssal sszekapcsolhat - llomnyban troljuk. Ezen llomnyok adatmezit tetszleges
kombincikban elkereshetjk.
Ezzel szemben szvegkezels esetben egyelre nincs lehetsgnk a klnbz llomnyok
ismereteinek az sszekapcsolsra. Ha a kocsi, kocsitpus, tulajdonos s kresemny ismereteit
egytt akarjuk ltni, akkor azokat egy szvegben kell egyttesen megjelentennk. Ez ismeret-
tbbszrzshez s/vagy nehzkes kezelshez vezet. Mert pldul egy kresemnyben tbb kocsi
is rszt vehet s gy az esemny krlmnyeit minden kocsinl le kell rnunk. Ha viszont csak a
kocsik adataira vagyunk kvncsiak, a krokra nem, akkor vagy ksztnk egy rvidebb, csakis a
kocsikra vonatkoz szveget (ami redundancia), vagy szmunkra felesleges ismeretek oldalai
kztt kell tallznunk.
A szvegszer ismeretkezels nem ad mdot az adatok talaktsra; az adatfeldolgozsra. A
felhasznlnak egyszeren csak el kell olvasnia a trolt szveget. Ezutn vagy nyer abbl infor-
mcit, vagy sem. Nem vezet klnsebb t az adattl az informciig. Ezrt br a szvegkezel
rendszerek rdemeit elismerjk, azokrl nincs egyb fontos mondanivalnk. A tovbbiakban
csakis az adatszer ismeretkezelssel foglalkozunk. Legelszr arra tesznk ksrletet, hogy
tisztzzuk magnak az adatbzisnak a fogalmt.

Ellenrz krdsek - 2

2/01 A kvetkez kijelentsek kzl melyik teljes (T) s melyikbl hinyzik az ltalnos (1)
vagy specifikus (2) alany, az ltalnos (3) vagy specifikus (4) lltmny?

- A kocsi tpusa Lada.


- A szerz kocsijnak a tpusa Lada.
- Pityu msfl mter magas.
- Sra Kati kilencvenes.

2/02 A kvetkez mondatok kzl melyik sejtet viszonyt (V) jabb kzls fel s melyik
tovbb nem vezet ler (L) ismeret?

- Pista kocsija tszemlyes.


- A rendelsttelben a cikkszm 1234.
- Gbor szervezi tanfolyamra jr.
- A hd hossza 236 mter.

2/03 A kvetkez lltsok kzl melyik igaz (I) s melyik hamis (H)?

- A knyveket szvegszeren szerkesztjk.


- A knyvek ismereteit szvegszeren kezeljk.
- A knyveket nem lehet adatszeren kezelni.
- Magt a knyvszveget nem clszer adatszeren kezelni.

30
2/04 Az albbi kittelek kzl melyik igaz (I), melyik hamis (H)?

- A szvegszer kezels nem alkalmas tbb llomny kezelsre.


- A szvegszer kezels nem alkalmas az ismeretkapcsolsra.
- A kszletkimutatst adatszeren rdemes kezelni.
- A mzeumi trgyak lersra a ktfle kezels egyttese a clszer.

31
3. AZ ADATBZIS LNYEGE

3.1 llomny, adatbank, adatbzis

Nem csak a szmtstechnikai szakma sajtja, hogy az alapfogalmakat nagyon lazn hasz-
nlja. Az azonban ktsgtelen, hogy divatszakmrl van sz, aminek kvetkezmnye, hogy a
silny rukat is hivalkod s hvogat kntsbe burkoljk. Azaz msnak nevezik, mint ami
valjban. Manapsg nagy divat adatbzisrl beszlni, ezrt minden gyenge kis programot, amely
adatokkal pepecsel, adatbziskezel-nek titullnak, megtvesztve a felhasznlt. Ideje ezrt
vgre tisztzni, hogy mi is valjban az adatbzis.
Az ismeretkezels egyik tfog lehetsgnek megfelelen adatllomnyokat hozunk ltre.
Az llomny megjells azt mutatja, hogy nem egyedi dologrl, hanem egymssal valamilyen
szempontbl sszetartoz ismeretek egyttesrl van sz. Az adat jelz az ismeretkezels md-
jra utal, s elvlasztja az ilyen llomnyokat a program-, rendszer-, szveg-, kp- stb. fjloktl.
Teht ebben az esetben a szkebb adatfogalmat jelli. Lteznek olyan programozsi nyelvek,
programok, azokbl sszelltott rendszerek, amelyek az llomnyok egymstl fggetlen
kezelsre hasznlatosak. Ezeket az eszkzket llomnykezelknek (angolul: file management
system) hvjuk. Minden ellenkez hresztels dacra ide tartoznak a mg ma is nagy np-
szersgnek rvend dBASE-szer rendszerek, amelyek nincsenek sokkal jobban felksztve tbb
llomny egyttes kezelsre, mint pldul a COBOL nyelv.
Az ismeretkezels msik mdjnl szvegllomnyokat hozunk ltre. A jelz mutatja, hogy
az alapismeretek ktetlen, termszetes - s nem-adatszer - megfogalmazsak. Ez nem zrja ki,
hogy a szvegekhez adatszer ismeretek is kapcsoldjanak. Pldul megadjuk a knyv cmt,
szerzjnek a nevt, kiadsnak dtumt stb. Az ilyen llomnykezel eszkzket szvegkeze-
lknek (angolul: text management system) illenk hvni. Nlunk - msutt nemigen - elterjedt a
szveges adatbziskezel kifejezs is. Ez a megjells pontatlan, amint azt a tovbbiakbl ltni
fogjuk. A szveges ismereteket trol rendszereket adatbankoknak hvjuk. Itt az adat sz nem
adatszert jelent, hanem a fogalom tgabb rtelmnek felel meg.
Az ismeretkezelsnek van egy harmadik mdja is: az adatbziskezels.

Ennek a fejezetnek az a clja, hogy kifejtse az adatbzis mibenltt, bemutatva az egyb


ismeretszerkesztsi megoldsokkal val rokonsgt s az azoktl val eltrst.

A gyakorlatban hasznlt adat(bzis)kezelkben szzfle eltr mdon nevezik az ismeretek


alapvet egysgeit. Ezek a megjellsek trolsi s kezelsi mdszerekhez ktttek. Nem igazn
fejezik ki az ismeretek kzs lnyegt. Ezrt tjkoztatsunkat nhny fogalom tisztzsval kell
kezdennk. Ezeket msutt mr szleskren hasznljk, viszont nlunk mg ismeretlenek vagy
nem az eredeti, nem a valdi rtelmkben alkalmazzk ket.

32
3.2 Egyedtpus, -elforduls, -halmaz
Az ismeretnek ngy dimenzija van a kzls generikus s specifikus alanynak illetve llt-
mnynak megfelelen. Az alany rja le azt a valamit, amire a kzls vonatkozik. A latinban
entitas, az angolban az elbbi alapjn entity a neve annak az nll lnyeggel br dolognak,
amirl ismeretet kzlnk. Az lehet brmi: szemly, ms llny, trgy, fogalom, elkpzels stb. A
latin s az angol sz magyar fordtsnak megfelelen

D 3/1 Azt a dolgot-izt-valamit, amit ismeretekkel akarunk lerni, egyednek nevezzk.

Korbbi pldamondatunkban - Rzsa kocsija fehr. - egy trgyrl volt sz, azt akarjuk
ismerettel lerni, jellemezni. Teht a Rzsa kocsija - egyed. nll lnyeggel br valami. Ennek
a jelensgnek ketts termszete van. Egyrszt egy konkrtumrl beszlnk; Rzsa kocsijrl s
nem Gabi kocsijrl. Msrszt a konkrt dolgot absztrakt osztlyba soroljuk. Kocsirl, nem pedig
ruhrl, szobrl, knyvrl stb. van sz. Msik volt mondatunkban - Gabi kocsija Lada. -
ugyanebbe az absztrakt osztlyba sorolt msik konkrtumot emltettnk.

D 3/2 Az ismeretekkel lerand jelensgek absztrakt osztlyait egyedtpusokkal tkrz-


zk. A tpusba sorolt konkrt egyedeket egyedelfordulsoknak hvjuk. Az egyed-
tpus minden idpontban az elfordulsok adott halmazval rendelkezik.

Els megkzeltsben knnynek tnik a dolgok elrendezse a meghatrozs szerint. Mivel


tbb kocsirl is szt ejtettnk, a KOCSI - egyedtpus (angolul: entity type). Ennek kt egyed-
elfordulsa (angolul: entity occurrence vagy instance) a Rzsa s a Gabi kocsija. Az el-
fordulsok egyttese alkotja a Rzsa, Gabi egyedelfordulshalmazt (angolul: entity occurrence
set).
A valsgban a helyzet sokkal bonyolultabb. Mirt nem a jrmveket vagy mg ltal-
nosabban a Rzsa s Gabi ltal birtokolt trgyakat tekintettk egyedtpusnak? Vagy mirt nem a
szemlykocsikat, teht egy specifikusabb kategrit? Nyilvn azrt nem, mert az adott helyzetben
cljainknak a KOCSI egyedtpus felelt meg a leginkbb. Ezrt sohasem szabad elfeledkezni arrl,
hogy az egyedelforduls nem azonos magval az egyeddel, hanem annak ismereti tkrkpe.
Ugyangy az absztrahlt egyedtpus is tkrkp, a valsg informatikai msa. A tkrzs mindig
a szubjektv cloknak felel meg. Ezrt tbbfle mdon hajthat vgre, idvel vltozhat s - mivel
a tkrkp nem azonos magval a jelensggel - sokszor nem lesz tkletes.
Azutn meg kell fontolnunk a konkrt jelzt is. Ez nem felttlenl egy darabot jelent! Ha
pldul csavarokat jellemznk ismeretekkel, akkor nem fogjuk az sszes tnyleges M6-os csavart
kln ismeretsorral lerni, hanem magt az M6-os lnyeget tekintjk egy konkrtumnak,
szemben pldul az M8-as csavar lnyeggel. Azt is meg kell rteni, hogy a Lada tpus
gpkocsi is konkrtum, jllehet X milli ilyen gpkocsi futkrozik az utckon. Hiszen maga a
tpus minden tnyleges fizikai kocsitl fggetlenl is ismeretekkel lerhat, tkrzhet lnyeg.
Amint ltjuk, az egyedtpus s -elforduls elvileg knnyen megfeleltethet az ismeret els
kt dimenzijnak, az ltalnos (tpus) s a specifikus (elforduls) alanynak (egyed). m maga a
gyakorlati tkrzs - az, hogy mit tekintsnk tpusnak s elfordulsnak egy adott helyzetben -
nem mindig trivilis feladat.

33
Az eddigi fogalmak sszefggseit a 3.1 bra szemllteti. Megjegyezzk, hogy a tovbbiak-
ban az egyedtpusokat csupa nagybetvel (KOCSI), az egyedelfordulsokat dlt kvr betvel
(Rzsa kocsija) fogjuk jellni.

EGYEDTPUSOK

KOCSI KOCSITPUS

Gabi Lada

Rzsa BMW

ELFORDULSHALMAZOK EGYED-ELFORDULSOK

3.1 bra: Az egyedekkel kapcsolatos tnyezk

3.3 Tulajdonsgtpus, -rtk, -rtkhalmaz

Az ismeret msik kt dimenzija az ltalnos s specifikus lltmny. A Rzsa kocsija


fehr. kzlsben az ltalnos lltmny (Szn) megjellse implicit, a specifikus (fehr)
explicit. Latinul attributum-nak, angolul ebbl szrmazan attribute-nak hvjk a dolgok
ltalnos, elvlaszthatatlan sajtossgait, jellemzit. Az elvlaszthatatlan jelz htkznapian
szlva a kvetkezket jelenti: Mindegy, hogy fehr-e vagy piros-e Rzsa kocsija, de nincsen
kocsi szn nlkl s annak valamilyen konkrt megjellse (fehr, piros stb.) nlkl.

D 3/3 Azt a dolgot-izt-valamit, amivel lerjuk a bennnket rdekl jelensget, tulajdon-


sgnak nevezzk.

Az egyedhez hasonlan a tulajdonsg is lehet absztrakt illetve konkrt. A Szn absztrakt


fogalmat a hozz kpest konkrt fehr, piros stb. sznekbl vonatkoztattuk el. Ezrt a tulaj-
donsgnak is hrom aspektusra kell figyelnnk.

34
D 3/4 A jelensgeket ler ismeretek absztrakt osztlyait tulajdonsgtpusokkal tkrz-
zk. A tpusba sorolt konkrt ismeretet tulajdonsgelfordulsnak vagy -rtknek
hvjuk. A tulajdonsgtpus minden idpontban az rtkek meghatrozott halmaz-
val br.

A Szn tulajdonsgtpus, a fehr annak rtke. Fggetlenl attl, hogy ppen hasznlatos-e
- vonatkozik-e konkrt kocsira - a fzld rtk is a Szn tpus rtkhalmazba tartozik. Ezzel
szemben vilgos, hogy az 50 kil nem lehet ezen rtkhalmaznak a rsze. Erre a bennfoglalsra
illetve kizrsra vonatkozik a definci meghatrozott jelzje. Amin teht nem azt kell rteni,
hogy eleve felsoroljuk az sszes lehetsges sznt.
A tulajdonsgokkal kapcsolatos fogalmak sszefggseit a 3.2 bra mutatja. A tovbbiak-
ban a tulajdonsgtpusokra kezd nagybetvel (Szn), az rtkekre idzjelben (fehr) hivat-
kozunk.

TULAJDONSGTPUSOK

SZN KOCSITPUS

Fehr Lada

Zld BMW

RTKHALMAZOK TULAJDONSGRTKEK
3.2 bra: A tulajdonsgokkal kapcsolatos tnyezk

A vilgos elmlet rvnyestse sokszor nem knny gyakorlati feladat. Gabi kocsija Lada.
tpus. De vajon a Lada rtk valban megfoghat tpus? Nem Lada 2104-et kellett volna
mondanunk? Hogyan fejezzk ki, hogy az 1993. dec. 4. keltezs, de ezen bell megrendelsi-
vagy szlltsi-dtum? A tulajdonsgrtk nem azonos a lert dolog tnyleges sajtoss-
gval: annak csak tkrkpe. Ugyangy a tulajdonsgtpus is absztrakt informatikai tkrkp. A
clon, a szubjektumon s a kpessgen mlik a tkrzs mikntje s az sohasem lesz teljesen
tkletes.

35
3.4 Kt relativits

A fentiekben nem vletlenl hangslyoztuk, hogy az egyed- s a tulajdonsgtpus tkrkpek.


Nem mondhatjuk teht azt, hogy a kocsi egyedtpus, mg a szn tulajdonsgtpus. Csak azt
jelenthetjk ki, hogy amennyiben a kocsikat ismeretekkel akarjuk lerni, gy azokat a KOCSI
egyedtpus elfordulsaival tkrzzk. Ha a sznt a kocsi fontos sajtossgnak tartjuk, gy azt a
KOCSI egyedtpus Szn tulajdonsgtpusnak rtkeiknt reprezentljuk. Mivel cljainkon mlik
a tkrzs mikntje, ugyanazt a lnyeget ktfle mdon is megfoghatjuk. Lssunk csak egy
pldt!
A kocsi vevje szmra a szn valban csak attribtum. A kocsi gyrtja viszont elgon-
dolkozik azon, hogy milyenre, mirt s hogyan is fesse a kocsikat. Ehhez ismernie kell magnak
a sznnek a jellegzetessgeit. Ezrt szmra a szn ismeretekkel lerand dolog, teht egyed is
lesz. A gyrt adatbzisban szerepelni fog a sajt ismeretekkel (pl. hullmhossz) lert SZN
egyedtpus s a Szn tulajdonsgtpus, amely a KOCSI egyedtpushoz kapcsoldik. Volt ms ilyen
esetnk is. A Kocsitpus a KOCSI egyedtpus tulajdonsgtpusa, de ugyanakkor lehet kln
KOCSITPUS egyedtpusunk is, amely sajt tulajdonsgtpusokkal (pl. Frhely) jellemezhet.
Lsd a 3.1 s 3.2 bra egyttest.
Msik rdekes tny, hogy az ember egyszeren kptelen gy beszlni a dolgokrl, az
egyedekrl, hogy ne emltse azok valamilyen tulajdonsgt. Hiszen amikor azt mondjuk, hogy
Rzsa kocsija fehr., a kocsit annak egy sajtossgval hatroltuk be: megadtuk tulajdonosnak
a nevt. Ezen az alapon jogosan gondolkodhatnnk egy Tulajdonosnv nev tulajdonsgtpusban,
amelynek rtke Rzsa. (Msik mondatunkban ennek a tartalma Gabi volt.)
A Rzsa s a Gabi megjellseket persze lecserlhetnnk az X rendszm s az Y
rendszm behatrolsokra is. Az X rendszm kocsi fehr. s az Y rendszm kocsi Lada.
megfogalmazsok mit sem vltoztatnak azon a tnyen, hogy az egyedekre azok valamilyen
tulajdonsgtpusnak (Rendszm) az rtkeivel utalunk. Teht vannak olyan tulajdonsgok,
amelyek az egyedeket mintegy kpviselik, az ismeretkzlsben azokat helyettestik. Ezrt le kell
szgeznnk, hogy

Az egyed- s a tulajdonsgtpus relatv (viszonylagos) fogalmak.

A ktfle viszonylagossg egymssal sszefgg. Mint majd kiderl, az els is a msodikon


alapul. A 3.3 bra mutatja az egyedekkel s tulajdonsgokkal kapcsolatos fogalmaknak az ssze-
fggseit.

36
EGYEDTPUS

KOCSI

AUX

BMZ

Rendszm Tulajdonos Szn Kocsitpus


BMZ XY Fehr Lada
AUX QV Zld BMW

TULAJDONSGTPUSOK

SZN KOCSITPUS

Fehr BMW

Zld Lada

3.3 bra: Az egyedek s a tulajdonsgok sszefggsei

3.5 A binris relcik modellje [5]

Teljesen kzenfekv, hogy a szn egyetlen lnyeg. Ezrt ltezik olyan adatbziskoncepci,
amelyben nem alkalmazzk az egyed/tulajdonsgtpus prost a jelensgek tkrzsre. A repre-
zentland dolgokat objektumoknak, azok absztrakt osztlyait objektumtpusoknak hvjk. A
Kocsi, a Szn, a Kocsitpus egy-egy objektumtpus. Ezek kztt prosval - innen a binris, a
msodfok jelz - hatroznak meg sszefggseket, amelyeket asszociciknak neveznek. A kt

37
objektumtpust s a kzttk lv viszonyt sokszor atomi - tovbb nem bonthat - mondat-
tpusnak is hvjk. Ilyen mondattpus pl. a kocsi - szne. Az atomi mondat a mondattpus
elfordulsa. Pl. X kocsi - fehr. (Persze a mondatok a valsgban adatszeren - s nem
szvegszeren - kerlnek trolsra.) A fogalmak sszefggseit a 3.4 bra mutatja.

kocsi szn
kocsi szne

kocsi tpusa atomi objektumtpus

asszocici
tpus
azonost
3.4 bra: A binris modell tnyezi

Br a koncepci mgtti elmlet teljesen vilgos, a binris relcik modellje nem rvend
nagy npszersgnek a gyakorlatban. Ennek hrom oka van. Az egyik ok igen htkznapi. Ha a
kocsikat harmincfle sajtossg jellemzi, akkor harmincegy objektumunk s - felttelezve, hogy a
sajtossgok egymshoz nem kapcsoldnak - harminc asszocicink van. Mindezeknek kln
nevet kell adni, ami az adatbzis ltalnos kpt elbonyoltja. Radsul igen nehz sszeszedni
egy gpkocsi sajtossgait, mert hiszen vgig kell menni a harminc sszefggsen. Ez a megolds
hatalmas redundancival jr, mert harmincszor kell elmondani azt, hogy az X kocsi.... (Az X
kocsi fehr; az X kocsi Lada tpus; az X kocsi tulajdonosa Rzsa stb.)
Msrszt kiderl, hogy az egyed mgsem vehet egy kalap al a tulajdonsggal. Mert mit is
jelent az X kocsi? Nyilvn a rendszmrl van sz. Azt viszont nem jelenthetjk ki a binris
koncepciban, hogy a rendszm nem azonos a kocsival, hanem annak csak reprezentnsa. Ezek
szerint a binris relci elmlete nem tiszta, mert impliciten knytelen elismerni az egyed (kocsi)
s a tulajdonsg (rendszm) klnbsgt, de expliciten nem tmogatja ezt a megklnbztetst.
Mg vilgosabbakk vlnak az elvi korltok a harmadik problma kapcsn. A binris relci-
ban mindig egy objektum reprezentnsa kapcsoldik annak valamelyik egyb sajtossgval.
Pldul: rendszm-szn, rendszm-tulajdonoskd stb. Azonban sokszor elfordul, hogy a valdi
objektumot helyettest tnyez maga is sszetett. Vegyk csak alapul a rendelsttelek minden-
napi pldjt! A rendelsttel eleve a rendels s a cikk viszonyt fejezi ki. Ezrt reprezentnsa
mr eredetileg is sszetett (Rendelsszm s Cikkszm). Ha e proshoz egy tovbbi objektumot
(Mennyisg) kapcsolunk, akkor a relci mr nem binris, hanem harmadfok lesz. Ha nem
illesztjk a mennyisget a relciba, akkor pedig nem tudjuk megmondani, hogy a rendels-
ttelben mennyi rut ignyeltek.
Ennek az ellentmondsnak a feloldsra vezettk be az n. lebonthatatlan (angolul:
irreducible) relci konstrukcijt [6]. Az ilyen relciban a vals objektumot helyettest ttel
sszetett is lehet. A rendelsttel relci kpe a kvetkez: ({Rendels, Cikk}, Mennyisg). Ez a
hrmas nem bonthat meg, mert az eredmnyezett objektumprosok egyike sem kzvett valdi
ismeretet. Ezzel szemben a ({Rendels, Cikk}, Mennyisg, r) ngyes lebonthat az elbbi s a
({Rendels, Cikk}, r) relci prosra ismeretvesztesg nlkl.

38
A lebonthatatlan relcik koncepcija blcsen hallgat arrl, hogy a jobboldali objektum is
lehet sszetett. Ezt a problmt most ne feszegessk. Lthatjuk, hogy a redundancia gondjt a
binris irnyzat fejlettebb vltozata sem oldja meg s az sem kpes klnbsget tenni a valdi
objektum s annak reprezentnsa kztt. A valdi objektum - pl. a rendelsttel - ismeretei
relcikra trdeldnek szt. Mindennek az az alapvet oka, hogy a binris s a lebonthatatlan
relcik elmlete nem tesz klnbsget az egyed s a tulajdonsg kztt. Ennek kvetkeztben
nem ismeri fel, hogy a tulajdonsgok nem egyenrangak. Mrpedig nem azok, amint azt a kvet-
kez pontban kifejtjk.

3.6 Az azonosts problmakre

Ahhoz, hogy ismeretet tudjunk tadni, egyrtelmen meg kell jellnnk azt a dolgot, amirl
sz van. Ez a behatrols kt momentumbl ll. Elszr is utalnunk kell magra a jelensg-
csoportra (egyedtpus). Teht arra, hogy kocsikrl s nem knyvekrl beszlnk. Ezzel a tnyez-
vel most tbbet nem foglalkozunk. Msodszor a jelensgcsoporton bell be kell hatrolnunk
magt a konkrt jelensget (egyedelforduls). Azaz meg kell mondanunk, hogy melyik kocsira
vonatkozik az ismeret.

D 3/5 Az egyedelforduls egyrtelm megjellst azonostsnak hvjuk.

Az azonosts krdsben ismt a nyelvtanhoz clszer fordulni. Az azonostsnak a


nyelvtanban kt mdja van. Az egyik az n. nominls (azaz: nv szerinti) meghatrozs. Ez azt
jelenti, hogy megadjuk a legkzelebbi nemet s a megklnbztet jegyet. Pldul: Rendszma
X. A Rendszm adja meg a hivatkozsi alapul szolgl ltalnos jellemzt, az X pedig
annak specifikus rtkt. Ha ltezne tbb olyan gpkocsi is, amelynek a rendszma azonos, akkor
a Rendszm nem lehetne az egyrtelm kijells eszkze. Vegyk szre, hogy a nominlis azo-
nosts egyltaln nem jelenti azt, hogy a hivatkozsra szolgl tnyez valban nvszer nv.
Pldnk esetben a Rendszm is - nv. Gyakran hasznljuk ezt a kifejezst: A dolgokat a
nevkn kell nevezni. Ez a kittel az adatmodellezsben a pontos hivatkozs kvetelmnyvel
azonos.
A jelensgekre vonatkoz ismeretek kezelsnl viszonylag ritkn van olyan szerencsnk,
hogy a nominlis azonostshoz tudunk folyamodni. Nem gyakori, hogy a jelensgeknek van
olyan egyetlen s termszetes sajtossga, amely a jelensgcsoport minden egyes elemre eltr
tartalm. Ilyenkor kt lehetsgnk van. Az egyik az, hogy mestersges nevet vezetnk be.
Ilyenek a klnbz azonostkdok illetve -szmok, mint pldul a szerzdsszm, a vevkd, a
rendelsszm, a cikkszm stb. Azrt, mert a szerzdseknek, vevknek stb. nincs olyan egyetlen
eredenden termszetes jellemzje, amely minden konkrt szerzdsre, vevre stb. biztosan eltr
rtket venne fel.
Az egyetlen jelz sejteti velnk a hivatkozs msik lehetsges mdjt, amit a nyelvtanban
deszkriptv (ler) azonostsnak neveznek. A deszkriptv behatrols sorn a jelensg nem-
egyedi tartalm sajtossgait addig soroljuk fel, addig bvtjk jabb lerssal, ameddig a felsorolt
sajtossgok kombincija egyrtelmen nem azonostja a krdses valamit. Egy pldabeszl-
gets: Kinek a kocsija? A Rzs. A Kovcs Rzs? Nem, a Szab Rzs. Aki az X
utcban lakik?. Igen, rla beszlek. A keresztnevet a vezetknvvel, majd a lakcmmel ponto-
stottk a felek. Vgeredmnyben a tulajdonsgtpusok rtkt addig adtk meg, ameddig a be-
hatrols meg nem trtnt.

39
A htkznapi letben a deszkriptv meghatrozs ad-hoc jelleg s sokszor redundns.
Alkalomszer, mert prbeszdeinkben a krlrt valaminek nem mindig ugyanazokat a sajtos-
sgait soroljuk fel s fleg nem ugyanolyan sorrendben. Ebbl kvetkezik a redundancia is.
Lehet, hogy ha a fenti prbeszd sorn az X utca emltse elbb trtnik, akkor mr a vezetk-
nvre nem is kellett volna rkrdezni.
Az adatbzisokban az egyrtelm s minimlis hivatkozs a clszer. Ezrt elre ki kell
jellnnk a jelensgeknek azt a termszetes vagy mestersges, egy vagy tbb tagbl ll
sajtossgt, amelynek tartalma a jelensgcsoport minden egyes ttelre nzve egyedi.

D 3/6 Az egyedtpus azon tulajdonsgtpust vagy tulajdonsgtpuskombincijt, amely


minden egyedelfordulsra eltr rtket vesz fel, vagyis azokkal klcsnsen
egyrtelm viszonyban ll, az egyedtpus azonostjnak nevezzk.

Az egyrtelm megjells, hivatkozs krdse az azonost ltal elmletileg megolddik.


Gyakorlatilag az azonosts sem knny feladat. Ha nincs termszetes s egyetlen sajtossgot
tkrz nominatv azonostnk, akkor nehezen megjegyezhet mestersgeset kell bevezetnnk
vagy hossz kzlst ignyl deszkriptv azonostt kell alkalmaznunk. Gondoljunk csak a
Szemlyiszm alkalmazsnak a betiltsa utni helyzetre! Ez a flig termszetes, flig mester-
sges ismeret prmn bevlt a szemlyek azonostsra. Ma vagy egy mestersges Trzsszmot
kell kitallnunk, amelynek rtkt senki sem tudja megjegyezni. Vagy a Nv/ Szletsi-
dtum/Szletsi-hely/Anyja-neve/Lakcm ismeretkombinci mretvel, helyes s egyrtelm
lersval stb. kell megknldnunk.

3.7 Kapcsolattpus, -elforduls, -(al)halmaz

Gyuri kocsija kis Polski. Hny szemlyes? Aki ismeri ezt a kocsitpust, az azonnal kivgja
a feleletet: Gyuri kocsija ngyszemlyes. A jrtas olvas a megadott kzlshez (Gyuri kocsija
kis Polski) hozzkapcsolta a sajt httrtudst, amely gy hangzik: A kis Polski tpus kocsik
ngyszemlyesek.
A fentiekbl ltszik, hogy kzlseink nem teljesen egyenrtkek. Egyes ismerettadsok
kapcsn az ismeretet fogad tovbbgondolkozik, az ismereteket sszefzi, konkatenlja. Ms
esetekben a kzls nem von maga utn ilyen logikai vltst. A Gyuri kocsija piros. kzlsre
csak nagyon kevesen fognak elgondolkodni azon, hogy a piros szn mit is jelent.
Ismereteink ltalnos s specifikus lltmnyai ktfle jellegek. Vannak kztk lezrtak s
vannak logikai ugrsokra ksztetek. A jelleg attl fgg, hogy rdekeltek vagyunk-e a jelensgek
kztti sszefggsekben vagy sem.

D 3/7 A bennnket rdekl jelensgviszonyokat kapcsolatoknak hvjuk.

A kapcsolattal (angolul: relationship) sszefggsben is - az egyedhez s a tulajdonsghoz


hasonlan - megklnbztetjk a konkrt illetve az absztrakt vetletet. Gyuri kocsija kis Polski,
teht ngy szemlyes. Ezt az ismeretet a konkrt kocsi s kocsitpus kztti konkrt viszony
(Gyuri kocsija - kis Polski) alapjn nyertk. ltalban tudjuk, hogy minden kocsi valamilyen
kocsitpusba tartozik, s annak megfelel a frhelye. Ez a tudsunk absztrakt, a kocsitpus s a
kocsi kztti generikus viszonybl kvetkezik. Mindebbl levonhatjuk a tanulsgot, hogy a
kapcsolatok is tbb aspektussal rendelkeznek.

40
D 3/8 A jelensgek kztti viszonyok absztrakt osztlyait kapcsolattpusokkal tkrzzk.
A tpusba sorolt kapcsolatot annak elfordulsnak nevezzk. A kapcsolattpus
minden idpontban az elfordulsok ltalnos halmazval s egyedenknti alhalma-
zaival rendelkezik.

A kocsik mindig kocsitpusokba sorolhatk. Teht ltalnosan ltezik a KOCSITPUS -


KOCSI kapcsolattpus. Gyuri kocsija kis Polski (Polski - Gyuri kapcsolatelforduls). Ms-
nak is lehet kis Polskija (Polski - Lack kapcsolatelforduls). Ezrt egyedenknt (Polski)
beszlhetnk a kapcsolatelfordulsok (Gyuri s Lack) alhalmazrl. Azrt alhalmazrl,
mivel a kapcsolattpus msfle kocsikra is rvnyes (pl. Lada - Gabi kapcsolatelforduls).
Teht a kapcsolatnak ltezik az egyedektl (Polski s Lada) fggetlen teljes halmaza is.
Mr szinte felesleges ismtelnnk, hogy a kapcsolatelforduls is csak tkrkp. Nem azonos
a dolgok tnyleges viszonyval. Ezrt a kapcsolattpusok gyakorlati meghatrozsa sokszor nem
knny feladat. Radsul ez az adatbzistnyez szmos elmleti problmt is felvet, amelyekre
majd csak a rszletesebb trgyals sorn lesz mdunk kitrni.
A kapcsolatokkal sszefgg ismereteket a 3.5 bra foglalja ssze. Ennek ttekintse utn
mr ksrletet tehetnk az adatbzis lnyegnek a meghatrozsra.

1. EGYEDTPUS 2. EGYEDTPUS

KOCSI KOCSITPUS

AUX Lada

BMZ BMW

KAPCSOLATHALMAZ
BMZ-Lada

KAPCSOLATALHALMAZ
EFG-Lada

KAPCSOLAT-ELFORDULS
AUX-BMW

KOCSI - KOCSITPUS KAPCSOLATTPUS

3.5 bra: A kapcsolatokkal sszefgg tnyezk

41
3.8 Az adatbzis

Egyszeren szlva az adatbzis a bennnket rdekl klnbzfle jelensgek ismereteinek a


szervezett egyttese. A klnbzfle kifejezs a fentiekbl mr remlhetleg rthet. Egyfajta
jelensg a kocsi, msik annak tulajdonosa, harmadikfle a kocsitpus. Ismereteket kzlhetnk
magrl a kocsikrl, azok tulajdonosairl s ltalnosan a kocsitpusokrl. Bennnket igazn a
szervezett jelz izgat. Mi annak a tartalma?
A ksbbiek sorn tbb fejezetet fogunk szentelni ennek a krdsnek. Jelenleg csak els,
kzelt s tfog vlaszt adhatunk r. Csak annyi a clunk, hogy az adatbzist elhatroljuk az
adatbanktl s az llomnyok szervezetlen egyttestl (v. 3.1 pont). Vegyk pldaknt a kvet-
kez mondatot: A Forint utcban lak Rzsa kocsija fehr, Lada tpus, tszemlyes.. Most
pedig ismtelten gondolkodjunk el azon, hogy milyen mdokon lehet ezt az ismeretet a szmt-
gppel ltal is kezelhet mdon megfogalmazni.
Az els lehetsg az adatbanki, a szvegszer megformls. A fenti mondatot minden
tovbbi nlkl eltrolhatjuk gpnkn. Szervezettsgrl sok sz nincs, mert hiszen az ismeret
kzlsnek a mdjra semmilyen megkts sem vonatkozik. A fenti mondatot a kvetkez kitte-
lekkel helyettesthetnnk: Rzsnak van kocsija. A szne fehr. Tpusa Lada, ezrt tszemlyes.
Rzsa a Forint utcban lakik.. Vagy: Itt van egy kocsi, Lada. Szne fehr. Tulajdonosa Rzsa,
akinek lland lakhelye a Forint utca.. Az ismeret tartalma mindkt esetben ugyanaz s mg
kitallhatnnk tbb ezer, ugyanazt a tnyt kzl megfogalmazst.
A msodik lehetsg az llomnyi. A fenti pldamondatot toldjuk meg egy jabbal: A Fillr
utcban lak Gabi kocsija fehr, Lada tpus, tszemlyes. A kt ismeretsor alapjn nincs
akadlya annak, hogy meghatrozzuk a 3.6 bra ltal mutatott llomnykpet:

Cm Nv Szn Tpus Frhely

Forint utca Rzsa fehr Lada tszemlyes


Fillr utca Gabi fehr Lada tszemlyes
3.6 bra: Hagyomnyos llomnyi szerkezet

Az adatszeren megcmzett, dobozokban trolt ismeretek immr egyrtelmek s ezrt a


szvegszer megfogalmazssal szemben szervezettek-nek tnnek. Egyetlen, kttt felpts
llomnyt alkotnak, amelybl mindent megtudhatunk.
Azonban ezzel az elrendezettsggel nem lehetnk teljesen elgedettek. Mert mirt kell
ktszer lernunk azt, hogy a Lada tszemlyes? Gyannk tovbb fokozdik, ha a 3.6 brt jabb
ismeretekkel egsztjk ki azzal a termszetes felttelezssel lve, hogy egyvalakinek tbb kocsija
is lehet. Az eredmnyt a 3.7 bra mutatja:

Cm Nv Szn Tpus Frhely

Forint utca Rzsa fehr Lada tszemlyes


Fillr utca Gabi fehr Lada tszemlyes
Forint utca Rzsa piros Polski ngyszemlyes
Fillr utca Gabi zld Polski ngyszemlyes
3.7 bra: Egy rosszul szerkesztett llomny

42
Ezzel a pldval mr tbb bajunk van. Mr nemcsak azt ismtelgetjk, hogy a Lada t fs,
hanem azt is, hogy a (kis) Polski ngy frhelyes. Ismtelten megtudjuk, hogy hol lakik Rzsa
illetve Gabi. A tbbszrs ismeretmegads nemcsak a trolt fogyasztja feleslegesen, hanem
adatbeviteli, -mdostsi s -trlsi erforrspazarlssal is jr. (Gondoljuk meg pldul, hogy mi
trtnik, ha Rzsa tkltzik a Peng kzbe.) A redundancia miatt nagy az inkonzisztencia
veszlye is. Elg egyetlen helyen Babi-t rnunk a Gabi helyett, s mris hamisak az ismereteink.
A hatkonysg pedig vgleg csorbt szenved. Ha csak Rzsa lakhelyre vagyunk kvncsiak,
mirt kell tbngsznnk kocsijainak az adatait is? Ezzel a problmk sora mg nem zrult le: a
3.7 brban ugyancsak nehezen tallunk kedvnkre val azonostt...
Az ismeretek redundancija, azok esetleges ellentmondsa, a felesleges adatok kezelsnek a
knyszere s az azonosts nehzsge el kell, hogy gondolkodtasson bennnket. Az llomnyi
tpus kezels egyltaln nem zrja ki a 3.7 brnak megfelel szervezst, de evidens, hogy az
nem felel meg a szmunkra. Ismereteink elrendezsnek a clszer kpt a 3.8 bra mutatja:

TULAJDONOS KOCSI KOCSITPUS

Cm Nv Szn Tpus Nv Tpus Frhely

Forint utca Rzsa fehr Lada Rzsa Lada tszemlyes


Fillr utca Gabi fehr Lada Gabi Polski ngyszemlyes
piros Polski Rzsa
zld Polski Gabi

Kapcsolatok: TULAJDONOS - KOCSI a Nven keresztl.


KOCSITPUS - KOCSI a Tpuson t.
3.8 bra: A kocsiismeretek sszer elrendezse

Els rnzsre ez a kp a korbbiaknl sokkal bonyolultabb. Hiszen egy helyett mr hrom


llomnyt mutat s adatflket (Nv, Tpus) ismtel. Azonban gondolja meg az olvas, hogy nem
a tulajdonsgtpusok, hanem a tulajdonsgrtkek tbbszrzse jelenti a valdi gondot. A 3.7
brval kapcsolatos tartalmi redundanciaproblmkat a 3.8 brnak megfelel szerkezet sorra ki-
kszbli. Egyszeresen troljuk a kocsik tpusfgg frhelyeit s a tulajdonosok cmeit. Ha csak
az utbbiakra vagyunk kvncsiak, nem kell kezelnnk a kocsik adatait stb.
A 3.8 bra az ismereteket a maguk helyre rendezi. Egyelre mg nem tkletesen, mivel az
egyedazonostkat nem jelltk ki. Azok meghatrozshoz sokkal tbbet kellene tudnunk az
ismeretek szervezettsgrl. Itt s most elgedjnk meg azzal, hogy a 3.8 bra szerinti ismeret-
szerkeszts sokkal jobb, mint a 3.7 brn bemutatott. Prbljuk meg sszegezni, hogy ez minek
ksznhet.
Az ismeretek megszervezse hrom dolgot jelent. Elszr meghatrozzuk az egyed-tpusokat
(TULAJDONOS, KOCSI, KOCSITPUS). Azutn megadjuk a tulajdonsgtpusokat, azokat gon-
dosan a megfelel egyedtpus(ok)hoz rendelve. Tudatosan tesszk ezt, s nem csak gy tabot-
ban definilunk negatv kvetkezmnyekkel jr adatsorokat, mint a 3.7 bra esetben. Vgl
ismt figyelmesen gyelnk arra, hogy az egyedtpusok kztt megfelel tmeneteket bizto-
stsunk. Teht megadjuk az azok kztti kapcsolattpusokat.
Az llomnykezelk alkalmazsa esetn is lehetsg van arra, hogy tbb llomnyt jelljnk
ki s az azokban trolt ismereteket egy programmal kezelhessk. Azonban az llomnykzti
sszefggseket nem tudjuk elre meghatrozni. Ezekre a viszonyokra a programjainkban nem
tudunk hivatkozni. A programoz knye-kedvre van bzva a kapcsold ismeretek megfelel
kezelse. Ezzel szemben az adatbzis md adatkezelsben az llomnyok kztti ltalnos
logikai sszefggsek absztrakt kpt elre meghatrozhatjuk, st, meg kell hatroznunk. Ezek

43
utn a konkrt ismereteket az elbbi kpnek megfelelen lehet, st kell kezelnnk. Az adatbzis-
kezel rendszer ezt nemcsak lehetv teszi, hanem ki is knyszerti. A programoz nem a sajt
zlse szerint, hanem az elre megadott KOCSITPUS - KOCSI viszonynak megfelelen kell,
hogy kezelje az ismeretek egyttest.
A fentiek szerint az adatbzisszer ismeretkezelsben megklnbztetjk az adatbzis lta-
lnos elvi felptst (absztrakt kp) s az abban rztt aktulis ismereteket (konkrt tartalom).
Az adatbzis ltalnos struktrjt adatmodellnek nevezzk.

D 3/9 Az adatmodell vges szm egyedtpusnak, azok egyenknt is vges szm tulajdon-
sg- s kapcsolattpusnak a szervezett egyttese.

Ha a 3.8 bra konkrt kocsikra vonatkoz adatait figyelmen kvl hagyjuk, akkor megkapjuk
feladatunk adatmodelljt. A konkrt ismereteket csakis ennek az ltalnos kpnek megfelelen
trolhatjuk s kezelhetjk. Ezrt eljutottunk az adatbzis lnyegnek a megfogalmazshoz:

D 3/10 Az adatbzis vges szm egyedelfordulsnak, azok egyenknt is vges szm


tulajdonsgrtknek s kapcsolatelfordulsnak az adatmodell szerint szervezett
egyttese.

3.9 Hrom tovbbi krds

Az adatbzis nem adatbank, mert nem szvegszeren s nem kln knyvtrakban trolja az
ismereteket. Viszont nem is pusztn az adatllomnyok halmaza. Hiszen az llomnyok kztt
tartalmi sszefggseket, kapcsolatokat hatrozunk meg s az llomnyok adattteleit ezekhez
igaztjuk. Nem vletlen, hogy a Szn tulajdonsg csak a KOCSI egyedben szerepel, mg a Nv
ttelt ezen kvl a TULAJDONOS egyedben is feltntettk. Persze egyelre az olvas szmra
rejtly, hogy pontosan mit is fed a nem vletlen kittel.
Annyi bizonyos, hogy az egyedtpusok tulajdonsg- s kapcsolattpusait el kell rendezni.
De miknt? Az egyed/tulajdonsg/kapcsolat-hrmas egzakt sszefggseit majd a 6. s 7.
fejezetben vilgtjuk meg. Elbb a szokatlan terminolgit kell megmagyarznunk. A legtbb
felhasznl s fejleszt eddig rekordokban, relcikban, szegmensekben, adatmezkben, oszlo-
pokban, adatttelekben stb. gondolkodott. Miknt viszonyulnak ezek az ismerethordoz egysgek
az adatmodell hrmashoz? A 4. fejezetben fogjuk kifejteni, hogy nem terminolgiai zrzavarrl
van sz. Az adatbzisokat a tkrzend valsgtl a szmtgpes megvalstsig tbbfle szem-
lleti szinten kell vizsglnunk.
A harmadik krdskr arra vonatkozik, hogy hny az adatbzis. A mindennapi letben az
X felhasznl az Y felhasznlnak a sajt adatbzisval dicsekszik - s megfordtva. Majd nmi
beszlgets utn felfedezik, hogy a szmtgpen kezelt adataiknak vannak kzs ismeretelemei
is. Ezrt a gondolkod emberekben megfogalmazdik a sejts: lehet, hogy neknk valjban csak
egy adatbzisunk van? Az 5. fejezetben mutatjuk be, hogy az adatbzisnak klnbz szemlleti
vetleteit kell s lehet megklnbztetni.

44
Ellenrz krdsek - 3

3/01 Melyik mondat rejt egyedtpust (T), -elfordulst (E) s -halmazt (H)?

- A Fillr utcai lakk nem szeretik a karalbt.


- Kvncsiak vagyunk a Fillr utcai lakk ismereteire.
- Gabi a Fillr utcban lakik.

3/02 Nyilvntartst kell vezetnnk a betegellts finanszrozsrl. Adatokat kell trolnunk


az orvosokrl, a betegekrl s a trsadalmi biztostottakrl, mint lehetsges betegekrl.
n hny (n) egyedtpust lt e feladat mgtt?

3/03 Az egszsggyi dolgozk ptlkot kapnak. n miknt tkrzn a ptlkra vonatkoz


ismereteket? Egyedtpussal (E), tulajdonsgtpussal (T) vagy mindkettvel (M)?

3/04 Lt-e klnbsget a RENDELS egyedtpus Rendelsdtum s Vevkd tulajdonsg-


tpusa kztt? Fejtse ki a gondolatait.

3/05 n szerint melyik kittel igaz (I) s melyik hamis (H):

- Az adatbzis a szmtgpen trolt adatok egyttese.


- Hanglemezeim adatait egy dBASE-llomnyban tartom. Ez adatbzis.
- Van egy HANGLEMEZ s egy KIAD llomnyom. A kett kztt a kzs Kiadkd
adattal tartok kapcsolatot. Ez adatbzis.
- Az adatbzis a felhasznl szmra fontos ismeretek halmaza.

45
4. AZ ADATBZIS HROM SZINTJE

4.1 Egy alapvet problma: az eszkzorientltsg

A szmtstechnikai fejlesztk s rajtuk t a felhasznlk is eszkzorientltak. Ez azt jelenti,


hogy az ppen rendelkezskre ll rendszer ltal tmogatott adatszerkezetekben gondolkodnak.
Ha ma dBASE-szer kezelvel dolgoznak, akkor adataik struktrjt annak kpessgeinek
megfelelen hatrozzk meg. Ha holnap megamini kategrij relcis rendszert alkalmaznak,
akkor a szerkezeteket annak lehetsgei szerint alaktjk t.
Termszetesen a leend rendszerekben a kezel ltal hatkonyan tmogatott struktrkhoz
clszer igazodni. Adataink szerkezett a kezelrendszer kpessgeinek megfelelen kell kiala-
ktani. Azonban ez a mondat is mutatja, hogy valamilyen mr meglv lnyeg (adataink) s egy
msik - esetleg vltoz - tnyez (a kezel) kztti megfeleltetsrl van sz. Ebben a viszonyban
nyilvn a cl az elsdleges s nem az eszkz. Ezzel szemben a mai fejlesztk az adat-
struktrkban eleve sszekeverik a felhasznl szmra fontos dolgokat (adattartalom) s a sajt
szempontjukbl lnyegeseket (a kezel korltai). gy az adatszerkezetben menthetetlenl ssze-
cementezik a mit s a hogyant, a kezelend adatokat a kezelsi mddal.
Az eszkzorientlt szemllet kvetkezmnyei krosak. Az emltett begyazs miatt a kezel
lecserlsekor jra kell elemezni a mit krt is, holott elegend lenne csak a hogyan
gondjval trdni. Az egybepts miatt igen nehezen oldhat meg az adatok tvitele az egyik
kezel all a msikba. Ezrt annyira nehzkes ma az inhomogn rendszerek kiptse, vagyis
ugyanazon adatoknak eltr gpeken s eltr szoftverekkel val kzs, egyidej kezeltetse is.
Az eszkzorientltsg szksgszeren eszkzfggsghez vezet. A rendszer hosszabb hasz-
nlata utn a fejleszt s a felhasznl az adatokat nem a maguk termszetes mdjn, hanem a
kezel ltal korltozott mdon fogja ltni. Szentl meg lesz gyzdve arrl, hogy az adatbzisok
gy nznek ki, ahogyan azt megszokta. Pedig ez tveds: az adatbzisok mr ma is nagyon
sokflk s llandan fejldnek. Az eszkzorientlt krnyezet kptelen nyomon kvetni ezt a
vltozst, mert nem nyitott r.

Ennek a fejezetnek az a clja, hogy az eszkzfggetlensg jegyben ismertesse az adat-


bzisok hrom szerkezeti szintjt.

Az adatbziskutatk mr rgen rdbbentek arra, hogy az adatbzisok szerkezett tbb skon


kell vizsglni. Ezrt megklnbztetik az adatbzis fogalmi, logikai s fizikai aspektust. A
szintek kifejezs az adatbzis vertiklis tagolsra utal. Nem azt jelenti, hogy a konkrt adat-
bzis valamilyen mdon szt van darabolva - br az sem kizrt. Hanem azt, hogy az adatbzisok
szerkezett ltalban hrom lpsben kell meghatrozni gy, hogy mindegyikben ms-ms
tnyezkre gyelnk.

46
4.2 Az adatok kt aspektusa

A kvetkez plda alapjn igen knnyen meg lehet rteni az adatok kt szemlleti tnyezjt:

4.1 plda

Bla szletsi dtuma 1946. mjus 14.


Bla szletsi dtuma 1946.05.14.
Bla szletsi dtuma 05/14/1946.
Bla szletsi dtuma 1946.05.14.
Bla 1946. mjus 14-n szletett.
Meli szletsi dtuma 1973. mrcius 16.

Az els t mondat ugyanazt az ismeretet tudatja velnk. A kittelek mgsem azonosak. Nem
nehz rjnnnk arra, hogy az ismeretkzlsben meg kell klnbztetnnk a mondanivalt, a
tartalmat s a kifejezsmdot, a formt. A hatodik mondat tartalma az els ttl eltr, formja
viszont az els mondatval azonos.
Felesleges brkit is gyzkdni arrl, hogy a kt tnyez kzl melyik a fontosabb. Evidens,
hogy a tartalom a lnyegesebb. Ami nem azt jelenti, hogy a forma kzmbs; aki nem ismeri az
amerikai keltezst, az a harmadik kittel kapcsn zavarba jhet. A pldval nem a fontossgot
akarjuk hangslyozni. Sokkal inkbb a tartalom s a forma szmszer viszonyra kvnjuk fel-
hvni a figyelmet. Nevezetesen arra, hogy ugyanaz a tartalom nagyon sokfle formban fejezhet
ki.
Most vonatkoztassuk a legutbbi kittelt a szmtgpes s nem-szmtgpes adatkezelsre!
A Szletsi-dtum nev adatttelnek egy adott szemlyre nyilvn csak egy rtke lehet (feltte-
lezve az ltalunk hasznlt naptrat). Ugyanakkor az rtket szzfle mdon jelenthetjk meg
papron s szmtgpes adattrainkon.
Kvetkeztets: az adatbzisok tekintetben is klnbsget kell tennnk az adatok tartalma s
formja kztt. Meg kell hatroznunk az adatbzis tartalmi szerkezett, majd - tekintettel az
adatkezel kpessgeire s hatkonysgra - ki kell jellnnk az adatok formai jellemzit.
Az elz mondatban a majd sz rettenten fontos. A mai gyakorlatban az adatbzis-
tervezk a tartalmat s a formt egy lpsben, egyttesen hatrozzk meg. Vagyis a tartalmat a
formba betonozzk. Ez azrt hibs felfogs, mert ugyanazt az adatot paprra is lerjuk, tovbb
tbbfle formban is kezeltethetjk a szmtgpen. Ha az adatbzisrl nem ksztnk kln -
formtl mentes - tartalmi tervet, akkor nem ltjuk t a vltozsok kvetkezmnyeit. A formai
vltozs ugyanis nem hat ki a tartalomra, de a tartalmi szint mdosts mindig formai
talaktssal is jr.
Azt mr vilgosan ltjuk, hogy az adatbzisok tartalmi s formai aspektust meg kell k-
lnbztetnnk. Joggal merl fel a krds, hogy amennyiben kt lnyegrl van sz - tartalom s
forma -, gy miknt beszlhetnk az adatbzisok hrom szemlleti szintjrl? Erre a felvetsre a
kvetkez kt pontban talljuk meg a vlaszt.

47
4.3 Az adatbzis ktfle tartalma

A szmtgpes adatkezelsben jrtas fejlesztk s felhasznlk j rsze csak egyfle


kezelrendszert alkalmazott s ma mg kevesen tallkoztak a valdi adatbziskezelssel. Ezrt
nem figyelhettek fel arra, hogy az adatbzis tartalmval kt skon kell foglalkoznunk. Mivel a kt
szemlletmd egyms nlkl nehezen lenne megrthet, ebben a pontban egytt ismertetjk az
adatbzisok fogalmi s logikai szerkezeti aspektust.
Elsknt az adatbziskezelk adatszerkezeti korltait rdemes ecsetelnnk, mivel ez a
knnyebben rthet tnyez. Vegyk pldul a kvetkez pr mondatot s az azoknak megfelel
adatszer megfogalmazsokat:

4.2 plda

Bla szletsi dtuma 1946.05.14.


A BMZ 873 rendszm kocsi Bla tulajdona.
A ZBM 378 rendszm kocsi Bla tulajdona.

TULAJDONOS KOCSI

Szemly Szletsi-dtum Rendszm Szemly


Bla 1946. 05. 14. BMZ 873 Bla
ZBM 378 Bla
4.1 bra: Kocsik s tulajdonosaik

Egyes adatkezel rendszerekben lehetsg van n. adatcsoportok megadsra. A Szletsi-


dtum adatttelrl kijelenthet, hogy az valjban v, h s nap egyttese. A rendszer az vet, a
hnapot s a napot egyttesen s kln-kln is tudja kezelni. A relcis rendszerekben erre
ltalban nincs md. Vagy egyetlen Szletsi-dtum adatot alkalmazunk, vagy az v/H/Nap
hrmast vesszk fel. Teht dntennk kell az azonos tartalmak ktfle szerkesztse gyben.
Ennek a dntsnek nincs kze a formhoz: a hrom ttel sorrendje tetszleges lehet s minde-
gyiken bell eltr rsmdokat is alkalmazhatunk. A tartalom ktflesge a lnyeg. Az, hogy egy
vagy hrom adatmezt alkalmazunk-e.
Vannak adatkezelk, amelyek megkvetelik a klnbz jelensgek (pl. szemlyek s kocsik)
adatainak a sztvlasztst, ha a jelensgek kztti sszefggs tbbszrs (egy szemlynek tbb
kocsija lehet). Msok minden tovbbi nlkl tmogatjk az n. ismtld adatokat. Az olyan
megoldsokat, amikor egy adatsoron bell valamelyik ismeretfle tartalma tbbszrs. Az ilyen
kezelkben felvehet a kvetkez sszetett adatsor: (Bla, 1946.05.14, {BMZ 873, ZBM 378}).
Ebben a Rendszm rtke tbbszrs.
Az adatkezelk a tbbfle jelensg kztti kereszthivatkozs szempontjbl is megoszlanak.
Egyesek megkvetelik, hogy a jelensgek (pl. szemly s kocsi) sszefggseit kzs adatttel
(esetnkben: Szemly) fejezze ki. Msok ehhez nem ragaszkodnak: a megfelel szemly s kocsi
sszetartozsnak a tnyt valamilyen bels technikai mutatval rgztik. A 4.2 plda tartalma -
adatszeren - a kvetkez mdokon is megfogalmazhat:

TULAJDONOS KOCSI

Szemly v H Nap Rendszm Szemly


Bla 1946 mjus 14 BMZ 873 Bla
ZBM 378 Bla

48
TULAJDONOS

Szemly Szletsi-dtum Rendszmok


Bla 1946. 05. 14. {BMZ 873, ZBM 378}

TULAJDONOS KOCSI

Szemly Szletsi-dtum Rendszm


Bla 1946. 05. 14. BMZ 873
ZBM 378
4.2 bra: A kapcsold ismeretek klnfle kezelsi mdja

Az utols tblzatban gondknt merl fel a tulajdonosok s kocsik adatainak az sszektse.


Vannak olyan kezelrendszerek, amelyek hasznlatakor ez az sszekapcsols nem tartalmi,
hanem fizikai alapon (pl. pointerrel, azaz mutatval) trtnik. A technikai megvalstssal mi
most nem kvnunk trdni, mert ppen azt akarjuk elvlasztani a tartalomtl.
ppen ezrt elmondhatjuk, hogy mindeddig nem beszltnk az adatoknak a tnyleges formai
megjelentsrl. Pldul arrl, hogy a Szletsi-dtum rtkeit milyen jelsorozatok kpviselik a
szmtgpen. Nem hoztuk szba azt sem, hogy Bla adatai milyen eszkzn, milyen sorrendben,
az adatttelek milyen elrendezsben stb. kerlnek trolsra.
Viszont ezzel szemben bemutattuk, hogy ugyanazt az ismerettartalmat a kezelrendszerek
sajt kpessgeiknek s korltaiknak megfelelen klnbz mdokon rendezhetjk el. Az egyik
oldalon van egy kzs tartalm ismeretnk. Mr mindenki ismeri Bla szletsi dtumt s
kocsijainak a rendszmt. A msik oldalon (a kt bra egyttesben) ngy olyan elrendezsnk is
van, amely - az adathordozn val tnyleges elhelyezstl fggetlenl - ugyanazt a tartalmat
mgiscsak mskppen tlalja a rsznkre.
Ha kezelt vltunk s ttrnk a 4.2 bra egyik megoldsrl a msikra, akkor bizony igen
jelentsen meg kell vltoztatnunk az adatbzis tartalmi szerkezett, jllehet a mondanivalnk -
a vgs tartalom - ugyanaz marad. Teht az adatbzisok tartalmt valban kt skon kell szemll-
nnk. Ezt a kittelt mg jobban igazolja a kvetkez pont.

4.4 Az adatbzis fogalmi s logikai szerkezete

Ebben a knyvben nincs mdunk a klnbz adatkezel rendszerek ltal tmogatott tartalmi
adatszerkezeti egysgek hallatlan klnbsgeinek a bemutatsra. Errl a tmrl kln rteke-
zst kellene rni. Az egyik rendszerben rekordnak, a msikban relcinak, a harmadikban szeg-
mensnek (stb.) nevezik azt az adatsort, amely adott esetben tartalmilag pontosan ugyanazt az
ismeretet hordozza. (A klnbz elv adatkezelkre nzve a [7] ad j eligaztst.) Amint lttuk,
a klnbsgek nemcsak terminolgiai jellegek, hanem bizonyos helyzetekben valban eltr
tartalmi adatbzisszerkesztsi megoldsokat is eredmnyeznek (v. 4.2 bra).
Ebben a pontban azt fogjuk kimutatni, hogy az egyazon elvi alap adatkezelk hasznlata
esetn is klnbz mdokon hatrozhatjuk meg az azonos tartalm adatbzisok szerkezett. A
4.3 bra szemllteti a mondanivalnkat. (N.B.: Az ilyen brkban a ... azt mutatja, hogy olyan
egyb ismereteket is tartalmaz az adatbzis, amelyek bennnket mondanivalnk szempontjbl
nem rdekelnek.)

49
Szemly ... Pratlan Pros
Kovcs ... X forint Y forint
Szab ... Z forint Q forint
4.3 bra: Egy ravasz megolds

A plda a brelszmolsrl szl. Az egyedileg pontosan behatrolhat szemlyek (Kovcs,


Szab) breit kell kezelni. Ehhez mindig csak az aktulis s az azt befolysol - elz havi - br
ismeretre van szksg. A 4.3 bra megoldsnak a tervezje ezrt gy gondolkozott: Janurban
a Pratlan adatttelbe viszem a br adatt, amelyet mrciusig megrzk. Februrban fellrom a
Pros adatttel tartalmt az akkori brrel. Mrciusban - az akkor mr felesleges januri - Pratlan
ttel tartalmat aktualizlom. s gy tovbb...
A megolds zsenilis. Takarkos s egyelre mkdik. Elszr akkor robban le, amikor a
13. havi kifizetsek kerlnek szba. Mert ez a br a pratlan hnapba tartozik, csakgy, mint az
azt kvet januri. Msodszor akkor, amikor egyszerre kettnl tbb havi brt kvnnak kezelni.
Ez ki van zrva, mert hiszen a Pratlan/Pros adatttelek tartalmai havonknt fellrdnak. Teht
az jabb ignyek felmerlse esetn az adatbzis szerkezett t kell alaktani; az adatokat t kell
tlteni az j adatbzisba; az sszes addigi kezelprogramot jra kell rni stb.
Adatbzisaink a fenti tletszer megoldsok miatt hasznlhatatlanok. A tervezk olyan adat-
szerkezeteket tallnak ki, amelyek az ltaluk az adott idpontban fontosnak vlt ismeretignyeket
jl kiszolgljk, de ezek vltozsa esetn sszeomlanak. A krds az, hogy mikppen lehet el-
kerlni az ilyen vltozsok kellemetlen s elre nem lthat hatsait?
A vlasz egyszer. Csak az adatbzisok ktfle tartalmi szerkezetvel kellene tisztban lenni.
A 4.4 bra mutatja a megfelel megoldst.
Ha a 4.4 bra dltbets sortl eltekintnk, akkor annak ismerettartalma a 4.3 brval
egyezik meg. Mivel a 4.4 bra pldjban a szemly nevt - vagy annak valdi azonostjt - a kt
llomnyban meg kell ismtelni az sszekapcsolhatsg kedvrt, az els pillanatban gy tnik,
hogy a 4.3 bra megoldsa kedvezbb. Azonban a dltbets sor vilgosan mutatja a kt
adatbzisterv kztti valdi klnbsget. A BR llomnyban a szemlyekhez akrhny havi br-
ismeretet kthetnk anlkl, hogy a korbbi ismereteket a fellrs miatt elvesztennk, mint a
4.3 bra pldjban. Teht a 4.4 bra szerinti szerkezet stabilabb.

SZEMLY BR

Szemly ... Szemly Hnap Forint


Kovcs ... Kovcs 1 X
Szab ... Kovcs 2 Y
Szab 1 Z
Szab 2 Q
Kovcs 3 W
4.4 bra: Az okos megolds

Az sszevets kapcsn kt gondolat vetdhet fel bennnk. Az els egy krds ez: Mikppen
talljuk meg a vltozstr adatbzisszerkezeteket ltalban? (Azrt ltalban, mert pldnk
esetben a megolds kzenfekv volt, viszont ms helyzetekben tbb fejtrsre lehet szksg.) A
msodik egy megllapts: A fentiek szerint a 4.4 bra megoldsa a jobb. A kt felvets kzl
elszr a krdst fogjuk krljrni.
Azok a tervezk, akik az llomnyszer adatkezelshez szoktak, egy alkalmazsi feladat fel-
merlsekor azonnal rekordkpekben gondolkodnak. Ezzel szemben azok, akik mr tallkoztak
valdi adatbzissal, elszr eltprengenek a jelensgek vals sszefggsein. Pontosabban szlva

50
a jelensgeket tkrz fogalmak mgtti viszonyokon. Valahogyan gy: Lssuk csak! Vannak
szemlyek (egyik fogalom), akik breket (msik fogalom) kapnak. Egy szemlynek 0,1 ... N bre
lehet az id sorn. 0 akkor, amikor mg nem kap fizetst, mert j belp. Ksbb havonta kap
brt. Teht a szemly s a br fogalom kt eltr lnyeg. Ezrt kt llomnyt fogok tervezni.
A 4.4 bra adatbzisnak a felptse egy az egyben megfelel a vals jelensgeket tkrz
fogalmak kztti viszonyoknak. Ezrt ltalnosan is megfogalmazhatjuk a defincit:

D 4/1 Fogalminak nevezzk a jelensgeket, azok sajtossgait s viszonyait a valsgnak


megfelelen s termszetes fogalmakban tkrz adatszerkezetet.
Most pedig trjnk t a minsts problmjra! Hajlamosak vagyunk tl hamar kijelenteni,
hogy a 4.4 bra terve jobb a 4.3 bra ltal mutatott megoldsnl. Az ilyen elhamarkodott tlet
helyett inkbb azon kellene elgondolkoznunk, hogy az adatbzisszerkezeteket kt klnbz
szinten kell rtkelnnk. Ha kicsi a trkapacitsunk, nincs megfelel adatkezelnk, hossz ideig
valban csak kthavi br nyilvntartsra van szksgnk, akkor a 4.3 bra megoldsa j. Nem
jobb, mint a 4.4 br, hanem mskppen j.
Ennek a mskppen j kittelnek a megrtshez vegyk sorra, hogy milyen indokok
alapjn trhetnk el a fogalmi adatszerkezettl. Az els tnyez, amit szmtsba kell vennnk
technikai, s errl ppen az elz pontban beszltnk. Sajnlatos tny, hogy az adatkezel
rendszerek kpessgei nem tkletesek. Ezrt sokszor az adatkezel adatstrukturlsi korltai
miatt nincs lehetsgnk arra, hogy a valsgot hven tkrz fogalmi adatszerkezetnek
megfelelen alaktsuk ki az adatbzis felptst. A fogalmi szerkezetet el kell rontanunk,
megalkudva a kezel aktulis kpessgeivel.
A msodik ok hozzfrsi. A szemly egyetlen lnyeg, ezrt a fogalmi adatszerkezet szintjn
a kzvetlenl a szemlyre vonatkoz ismeretek egy elvi llomnyt alkotnak. Azonban a szem-
lyeknek lehetnek titkos, nem mindenki ltal kezelhet adatai is. Igaz ugyan, hogy a modern adat-
kezelk hozzfrsi zrakkal tudjk vdeni az adatmezket, de a legbiztonsgosabb megolds nyil-
vnvalan az rzkeny adatok elvlasztsa a tbbiektl. Ezrt a tervez a szemlyre vonatkoz
ismereteket esetleg tbb llomnyban fogja elhelyezni. Vagyis az egyetlen fogalmi adatsorbl tbb
valsgosat hoz ltre. Pldul a szemlyek ismereteit ltalnosakra s titkosakra darabolja.
A harmadik ok hatkonysgi. Ennek a tnyeznek a megrtshez tekintsk t a 4.5 s 4.6
brkon mutatott ismerethalmazok klnbsgeit:

KOCSIK

Rsz Szin Tipnev Fero Tukod Tunev


X Fehr Lada 5 1 Rzsa
Y Zld Lada 5 2 Gabi
Z Piros Polski 4 3 Lajos
Q Piros BMW 5 1 Rzsa
4.5 bra: Hagyomnyos szerkezet
TULAJ- KOCSI KOCSI-
DONOS TPUS

Tulajdo- Tulajdo- Rendszm Szn Tpusnv Tulajdo- Tpusnv Frhely


noskd nosnv noskd
1 Rzsa X Fehr Lada 1 Lada 5
2 Gabi Y Zld Lada 2 Polski 4
3 Lajos Z Piros Polski 3 BMW 5
Q Piros BMW 1

4.6 bra: Adatbzis szerkezet

51
Ktsgtelen, hogy az utbbi bra tkrzi helyesen a valsgot, vagyis a 4.6 bra fogalmi
adatszerkezetet mutat. A 4.5 szerinti szerkezet alkotja viszont gy gondolkozott: Igaz, hogy a
kocsi, a kocsitpus s a tulajdonos hrom eltr dolog. Ezrt ha adataikat sszevonom egy llo-
mnyba, redundnsan fogom trolni a frhelyet s a tulajdonos nevt. m ezek kzl csak a
nevet kell tbbszrsen karbantartanom vltozs esetn, hiszen a frhely nem mdosul. Kln
nem vagyok kvncsi sem a kocsitpus, sem a tulajdonos adataira: keresseim kizrlag a kocsikra
vonatkoznak. Ha a tpust s a tulajdonost kln trolnm, a keressi id megnne. Ezrt mindent
egybevetve az egyetlen llomny mellett dntk. Abban a tudatban, hogy az ltalam figyelembe
vett felttelek megvltozsa esetn az adatbzis tszerkesztsre s a programok jrarsra lesz
szksg.
Most mr kzelednk a tartalom kettssgnek a megrtshez s megfogalmazhatjuk az
adatbzisok msodik szerkezeti szintjnek a lnyegt:

D 4/2 A technikai, hozzfrsi s hatkonysgi kvetelmnyeknek ill. korltoknak meg-


felelen meghatrozott tartalmi adatszerkezetet nevezzk az adatbzis logikai
szerkezetnek.

A fentiek alapjn belthatjuk, hogy az adatbzisoknak valban ktfle tartalmi szerkezete


van. Az egyik a valsgot elvileg pontosan tkrz fogalmi, a msik a gyakorlati krlmnyek-
nek jl megfelel logikai. A kett kzl a fogalmi az elsdleges, amelyet mindenkppen meg kell
hatrozni. Ha a tervez nem alkotja meg a fogalmi adatbzistervet, akkor nem lesz tisztban a
vltozsok kvetkezmnyeivel. Ha a technikai, hozzfrsi s hatkonysgi krlmnyek mdo-
sulnak, teljesen ellrl kell kezdenie a tervezst akkor is, ha maguk az ismeretek nem vltoznak.
Ugyanakkor annak semmi akadlya sincs, hogy a fogalmi s a logikai szerkezet azonos legyen.
Vagyis a fogalmi adatbzistervet minden talakts nlkl egy az egyben tvegyk az adatbzis
logikai felptseknt.

4.5 Kt lnyeg hatrn

A 4.1 pldban tbbfle formban adtuk meg a Szletsi dtum ismeret tartalmt. A
harmadik kittelben az amerikai h/nap/v alak szerepelt, amely gondokat okozhatott a nap/h/v
formt ismerk szmra. 14-dik hnap? Olyan nincs. Mint tudjuk, flrerts trtnt. A 14 az
amerikai dtumformban a napot, nem a hnapot jelenti. Viszont ez az eset felhvja a figyel-
mnket az adatttelek (tulajdonsgtpusok) lehetsges tartalmainak (tulajdonsgrtkek) a
problmjra.
A szmtgpes adatkezelsben nagy hangslyt fektetnk arra, hogy az adatbzis tartalma a
valsgot hen tkrzze. A paprra brmit lerhatunk, de a szmtgpbe bevitt ismereteket
megvizsgljuk abbl a szempontbl, hogy az adat rtke megfelel-e a vrt tartalomnak. Ezt a
mveletet rvnyestsnek (a latin/angol kifejezs alapjn: validlsnak) nevezzk. A validls
elvgezhet sajt programmal is. Azonban az adatkezelk megszabadtanak bennnket az ilyen
procedrk programozstl. Minl fejlettebb az adatkezel, annl tbbfle rvnyestsi
tmogatst nyjt. Ezt annak alapjn teszi, hogy az adatszerkezetben meghatrozzuk a validlsi
szempontokat.
A szmos rvnyestsi szempont kzl most csak kettt emelnk ki. Minden adatkezel
hasznlatakor meg kell adnunk az adatttel hosszt, ami nyilvnvalan a bevihet jelsor mrett
korltozza. Ezen tlmenen ki kell jellnnk az adatttel tpust, amely - sokszor a hosszal

52
sszhangban - az ismeret jellegnek megfelelen korltozza az rtkhalmazt. Pldul a dtum
tpus adatban nem szerepelhet mjus harminctdike. A hossz s a tpus korltok ellenrzst
nem kell magunknak programoznunk: ezek validlst minden kezelrendszer automatikusan
elvgzi. Ehhez az adatszerkezetben meg kell adnunk az adatok brzolsnak a mdjt.

D 4/3 Az adat tpust s mrett egyttesen adatbrzolsnak nevezzk.

Az adatbrzols (angolul: data representation) az els megkzeltsben kimondottan


fogalmi szint tnyez. A (Gergely-naptr szerinti) dtum fogalma kizrja a mjus harminc-
tdikt. A Rendelsszmnak mr a neve is mutatja, hogy ez a tulajdonsg csak szmban meg-
fogalmazott rtkeket vehet fel. A msodik megkzeltsben az brzols logikai szint tnyez.
Ugyanazt a tartalmat tbbfle mdon fejezhetjk ki a korltoknak megfelelen. Ha 99 vnl
idsebb szemlyekrl nem vezetnk adatokat, akkor a szletsi dtumbl elhagyhatjuk az v-
szzad megjellst anlkl, hogy ismeretet vesztennk. St, annak sincs akadlya, hogy az
elvileg numerikus tartalm s ekknt validland Rendelsszm adatot karakteresen troljuk s
kezeljk. Ezrt az adatbrzolsrl nemcsak tartalmi, hanem mlyebb szinten is beszlnnk kell.

4.6 Az adatbzis fizikai szerkezete

Az adatbzis tervnek a kialaktsakor nemcsak az ismeret tartalmt, hanem az adat szmt-


gpen val trolsnak a mdjt is figyelembe kell vennnk. Tekintettel kell lennnk a legkisebb
termszetes-nyelvi ismeretegysg, a jel s a szmtgpes elemi trolsi egysgek kztti
sszefggsekre. A szmtgpek bitekkel dolgoznak gy, hogy azok egybefzsvel fejezik ki a
termszetes jeleket. Ma mr ltalban a byte (8 bit) a jel trolegysge. Ezrt azt gondolhatnnk,
hogy egy t termszetes jelbl ll ismeret trolshoz t bjtra van szksgnk.
Ez azonban gy nem teljesen igaz. Mindenfle trkkkkel elrhet, hogy a termszete szerint
X hossz adatot ennl kevesebb bjtban troljuk. Az adat tpusnak a helyes megvlasztsval az
adat trolsi mretet, helyignyt lecskkenthetjk. A trkkkre, a bjtok bels felptsre itt
nem hajtunk kitrni. Csak arra akarunk rmutatni, hogy az adatbrzols olyan tnyez, amely
egyrszt a fogalmi s logikai szerkezetre tartozik (a validls miatt), msrszt viszont azon mr
tlmutat, mert tvezet bennnket az adatbzis trolsi aspektushoz.
A korszer adatbziskezelk hasznlata esetn valjban nem is tudhatjuk, hogy adataink az
adattrolkon hol s milyen elrendezsben tallhatk. Mi tbb, a valban fejlett eszkzk mg azt
is elrejtik ellnk, hogy az adat melyik tnyleges trolegysgre kerlt. A mai adatkezelk
adatllomnyaink ismerettartalmt horizontlisan s vertiklisan darabokra szabdalva helye-
zik el a trakon. Horizontlisan - az ltalunk egyms mellett ltott Tpusnv s Frhely (v. 4.6
bra) adat a tr kt szls rszre kerl. Vertiklisan - mi Rzsa s Gabi adatait egymst
kveteknek tartjuk, holott azok a tron sztszrdnak.
Mindehhez tegyk hozz, hogy az ismeretek ilyen sztszabdalst a klnbz adatkezelk
eltr mdokon, szmunkra teljesen transzparens mdon vgzik. Ezrt hajlamosak vagyunk arra
a kvetkeztetsre jutni, hogy egyltaln nem rdemes foglalkoznunk az adatok trolkon trtn
elrendezsvel.
A felhasznlnak valban nincs kze a trkezelshez (angolul: storage management).
Viszont tudnia kell, hogy a fizikai adatszerkezet a legkevsb sem kzmbs a szmra.

D 4/4 Fizikai adatszerkezetnek nevezzk az ismeretek troln val elhelyezsnek,


hozzfrsnek s brzolsnak a tudatosan meghatrozott rendjt.

53
Az adatbzis fizikai tervezje hatrozza meg azt, hogy a kezelrendszer trolsi egysgeinek
megfelelen miknt rendezi el adatainkat a szmtgpen. Blokkokat, lapokat, adattereket, adat-
klasztereket - s mg ki tudja mi mindent - kell meghatroznia. Mindezek persze l fizikai
egysgek, mert arra mg a fizikai terveznek sincs mdja, hogy azokat a tr tnyleges fizikai
egysgeihez (ktet, cilinder, sv stb.) rendelje. Egyes adatkezelk hasznlatakor mg azt sem
teheti meg, hogy az adatsor (egyed, rekord) s a troldoboz kztti sszefggst kijellje. Ms
rendszerekben meghatrozhatja a logikai adatsor fizikai helynek a cmt, azaz megadhatja az
adatok elhelyezsi mdjt.
Vegyk szre, hogy ez a lehetsg egyben knyszer is. Egyes adatkezelk alkalmazsakor
meg kell adni az elhelyezsi mdot. Arra az adatkezel programokban is utalni kell. Ha a md
vltozik, a programokat t kell rni. Viszont gy hatkony kezelprogramokat tudunk kszteni.
Ms adatkezelk hasznlatakor az elhelyezsi mdot nem kell - nem lehet - kijellni. A md nem
vltozik, teht a programokat nem kell vltoztatni. Azonban arra sincs lehetsgnk, hogy a
program hatkonysgt befolysoljuk az elhelyezsi md okos megvlasztsval.
Az elhelyezs az llomnyaink (pl. KOCSI) tteleinek az egymsutnisgt illetve a logikai
ttel s annak fizikai cme kztti elvi megfeleltetst jelenti. Az elhelyezs mindig egyszeres.
(Most ne beszljnk arrl, hogy a KOCSI llomnyt tbb pldnyban, eltr elhelyezsi mdokon
is trolhatjuk.) A KOCSI llomny rekordjai vagy a Rendszm, vagy valamelyik ms adatttel
elvi sorrendjben troldnak. Lehet, hogy ilyen sorrend egyltaln nincsen, hanem a Rendszmot
s a trolsi cmeket vletlen mdon feleltetjk meg egymsnak. St, mg az is elkpzelhet,
hogy a kocsik adatai mindenfle ltalunk lthat rendszer nlkl kvetik egymst, mivel az
elhelyezsi mdot nem tudjuk meghatrozni.
Ismereteinket - az elhelyezsi mdtl fggetlenl - hatkonyan s meghatrozott rendben
kvnjuk elkeresni. Ennek rdekben mindenfle msodlagos, technikai adatokat alkalmazunk
az ismeretek sszerendezsre. Az adatkezel lehetsgeinek megfelelen indexeket, mutat-
lncokat, mutattmbket jellnk ki. Vagyis az egyfle elhelyezsi mdhoz kapcsoltan egy vagy
tbb hozzfrsi mdot adunk meg.
A hozzfrsi md is ktarc. Lehetv teszi adataink hatkony elrst. Ha a programban az
adatllomnyt pldul indexszel nyitjuk meg, akkor gyorsabb lesz a visszakeress. Csakhogy
elrsi ignyeink vltozsakor talaktjuk a hozzfrsi mdot - s ezrt t kell rnunk korbbi
programjainkat. Minl tbb lehetsget nyjt az adatkezel rendszer (pl. index mellett mutatkat
is), annl jobban tudunk gyelni az idleges hatkonysgra s annl keservesebb a vltoztats.
A fizikai adatszerkezet harmadik tnyezje az adatbrzols. Ez a mai adatkezelk leg-
gyengbb pontja. Az brzols nemcsak tartalmi validlst, hanem fizikai trolsi megoldst is
jelent. Az adatkezel programokban utalni kell a fizikai brzolsra. Kvetkezskppen annak
vltozsakor jelents programmdostsokra lesz szksg.

4.7 A fizikai fggetlensg

A hagyomnyos - llomnyi - adatkezels idszakban mg nem trdtnk a fogalmak valdi


sszefggseivel. A fogalmi adatszerkezet mellzsvel olyan adatbzisterveket alkottunk,
amelyekben az ismereteket eleve tartalmilag korltosan, az adatkezel fizikai adatszerkesztsi
kpessgeinek megfelelen hatroztuk meg. Itt nincs szksg szervezsre; majd felvesznk egy
indexelt szekvencilis cikk fjt - mondta egy prominens szervezsi osztlyvezet annak idejn.
Nem gondolkodott a fogalmak sszefggsein (nincs szksg szervezsre) s eleve eldnttte

54
az adatok elhelyezsi-hozzfrsi mdjt (indexelt szekvencilis), szintn minden alaposabb
megfontols nlkl.
A mai adatkezelk egy rsze az adatok tnyleges trolsnak a mikntjt elrejti a felhasznl
ell. Ezrt a mostani tervezk nmelyike mr nem foglalkozik az adattrols mikntjvel.
Nagyon sokakat megtveszt az adatkezelk forgalmazi ltal reklmozott n. fizikai adatfgget-
lensg elve. Ezrt egy kicsit krl kell jrnunk ezt a fogalmat.

D 4/5 Fizikai adatfggetlensgrl beszlnk akkor, ha az adatok elhelyezsi, hozzfrsi


s brzolsi mdjban bekvetkez vltozskor nincs szksg a programok
mdostsra.

Ezzel a szp elvvel szemben a mai adatkezel rendszerek csak nagyon alacsony fok fizikai
adatfggetlensget biztostanak. Az adat brzolsi mdjnak a vltoztatsakor a programokat t
kell rnunk. St, azt is el kell viselnnk, hogy az adatkezel mindenfle fizikai trendezsbe fog,
hiszen az brzols szerencstlen mdon nemcsak fogalmi/logikai, hanem egyben trolsi
tnyez is. Ezrt a tpus s/vagy a hossz vltozsakor az adatbzis fizikai talaktsig adataink
nem elrhetek. Az talakts - pldul a hossznvels - kvetkeztben a korbban tnylegesen
egyms melletti adataink a tron egymstl tvolra kerlhetnek s a kezelsi hatkonysg
leromolhat.
Tapasztalhattuk, hogy ugyanazon ismeretek visszakeresse tzszer lassabb vagy gyorsabb, ha
index alapjn vagy ppen annak mellzsvel trtnik a kezels. Programjainkban utalnunk kell
az indexekre. Csakhogy a hatkonysgi kvetelmnyek idvel megvltoznak. Ezrt az j ignyek
felmerlsekor t fogjuk rni programjainknak a technikai segdadatok (indexek, mutatk) keze-
lsre vonatkoz rszeit. Teht a hozzfrsi md vltoztatsa esetn aligha rvnyesl a fizikai
fggetlensg elve.
Vgl tudomsul kell vennnk, hogy az egyetlen elhelyezsi mdot nyjt rendszerek sem
vgs megoldsok. Az X relcis kezel alkoti a szoftver N. vltozatrl az N+1. verzijra val
ttrskor a korbbi fixhosszsg invertlt llomnyszerkezet helyett ktetlen mret nem-
invertlt rekordstruktrt vezettek be. A kzs platform s a hordozhatsg szpen cseng
jelszavai ellenre az ilyen vlts adatbzisaink hosszadalmas tformlsval, az ismeretek
kezelsnek idleges lellsval, a programok alapos talaktsval jr.
A fizikai adatfggetlensg fennen hirdetett elve a gyakorlatban nem mindig llja meg a
helyt. Tegyk mindehhez, hogy nemcsak a fizikai trolsi mdok, hanem a logikai szerkezeti
egysgek is mozgsban vannak. Pr ve mg a relcis kezelk nem engedtk meg az n.
ismtld adatok hasznlatt (ld. 4.3 pont). Ma mr sok rendszer tmogatja ezt a logikai szint
strukturlis tnyezt. Aligha krdses, hogy az j lehetsg kapcsn adatbzisunkat t fogjuk
szervezni s programjainkat mdostjuk.
Vgeredmnyben tkletes fizikai adatfggetlensg nincs. Nem ez a baj. Hanem az, hogy ezt
a tnyt nem akarjuk szrevenni. Nem figyelnk kellkppen az adatbzis hrom szintjnek a
tudatos meghatrozsra. Errl a tudatossgrl lesz sz a kvetkez pontban.

4.8 A vertiklis lekpezs

Az egyszer llomnykezelshez szokott fejlesztk az adatbzis szerkezett kzputasan


hatrozzk meg. Nem vgeznek fogalmi elemzst. Az ismereteket azonnal a logikai s fizikai
aspektusokat vegyt adatsorokba szervezik az gymond jl bevlt COBOL, PL/1, dBASE vagy
egyb rekordkpek mintjra.

55
Ez az t sokig nem jrhat. Nem lehet figyelmen kvl hagyni az adatbzisok hrom
szerkezeti szintjt. Elszr az eredeti tartalmat, a fogalmi szerkezetet kell tgondolni. Msodszor
az aktulis ignyeknek megfelel logikai szerkezetet kell kialaktani. Csak ezek utn szabad
rgzteni az ismeretek fizikai brzolst s trolsi struktrjt.
Az adatbzisalkots mai rossz gyakorlatnak kt oka van. Az egyik az ismerethiny. A
fejlesztk s felhasznlk egy rsze nincsen tisztban a hrom szinttel s klnsen a fogalmi
szerkezettel kapcsolatosan hinyosak az ismereteik. Ezrt a jelensgek tnyleges sszefgg-
seinek az elemzst elhanyagolva az ignyeket az els pillanatban kiszolglni ltsz, de roppant
rugalmatlan adatbzisterveket ksztenek (v. 4.3 bra).
A msik okot a mai adatkezelkben kell keresni. Ezek egyltaln nem tmogatjk a fogalmi
szerkezetet. Amikor egy mai relcis rendszer fogalmi szintet emlt, akkor valjban csak a
sajt - nha igen korltos - logikai struktrjt vetti fel a fogalmi szintre. Semmi akadlya sincs
annak, hogy a 4.3 bra struktrjt egy mai CASE-ben fogalminak titulljk. Radsul a mai
adatkezelk hasznlatakor az adatbzis szerkezetnek a lersban eleve sszekeverednek a
logikai s fizikai szint tnyezk. Hiszen a tartalommal egytt kell megadni a hozzfrsi mdot
(pl. index) is. Nem a tartalmi, hanem a fizikai brzolsmdot kell kijellni. Pldul a Rendels-
szmot karakteresnek jelljk meg s nincs mdunk annak kzlsre, hogy ez az adat logikai
szinten valjban numerikus.
Vegyk szre, hogy az adatbzis hrom szintje hierarchikus, 1:N fok viszonyban ll
egymssal. Ugyanaz a fogalmi szint struktra tbb logikaiban testeslhet meg, akr egyidejleg
is. A 4.1 bra adatbzisa az egyik rszlegnl ilyen, a msiknl olyan logikai szerkezetet vehet fel
(ld. 4.2 bra). Ugyanazt a logikai adatszerkezetet tbb fizikaiban valsthatjuk meg, akr
egyidejleg is. A kzpontban nagy gp van, a fikban kicsi. Az utbbi helyen trkksebb fizikai
megoldsokat kell alkalmazni, mikzben mindkt gpen ugyanazokat az ismereteket kezelik.
A fejlesztk nem ismerik, a kezelk nem tmogatjk a vertiklis lekpezst. Ennek lnyege
az, hogy nem egy, hanem mindig hrom - egymsra alapozott - adatbzistervet kell kszteni
ugyanarra az adatbzisra. Elszr megalkotjuk a fogalmi tervet. Az alkalmazsi krlmnyek
mrlegelse utn a fogalmi tervet nem talaktjuk, hanem azt lekpezzk a megfelel fogalmi
szint tervre. A technikai krlmnyek rtkelse utn a logikai tervet nem talaktjuk, hanem
azt lekpezzk a clszer fizikai szint tervre.
Az talakts s a lekpezs kztt lnyeges a klnbsg. Az talaktssal elveszik a korbbi
szint terv s a vgn egyetlen tervnk marad. A lekpezssel megmarad a magasabb szint terv
is s minden idben hrom tervnk van. Ez azrt fontos, mert mindig szem eltt kell tartanunk a
vltozsokat. Ha a fogalmi, logikai s fizikai szerkezet egyetlen tervben keveredik, akkor roppant
nehz bemrni a vltozsok hatsait. Gyakorlatilag az adatbzis tervezst ellrl kell megism-
telni. Ha hrom tervnk van, akkor knnyen felmrhetjk azt, hogy a vltozs melyik szintet
rinti s az talaktst csak az adott szinttl kell kezdeni. Ha a 4.3 bra megoldsa mr nem j s
j logikai szerkezetre van szksg, akkor a terveznek jra el kell(ene) gondolkodnia a szemlyek
s brek fogalmi sszefggsein s mindent ellrl kellene kezdenie. Viszont a 4.4 bra tervez-
jnek rendelkezsre ll a fogalmi terv, ezrt az ttervezst mr a logikai szinten indthatja.

Ellenrz krdsek - 4

4/01 Az SQL nyelvben ltezik a duplapontossg numerikus adattpus. Az n vlemnye


szerint ez fogalmi (F), logikai (L) vagy fizikai-trolsi (T) szint tnyez?

56
4/02 A SZEMLY llomnyban szerepel a nyelvtudsra vonatkoz ismtld csoport (Nyelv,
Vizsgadtum, Nyelvptlk). A tervez hrom ilyen csoportot alkalmaz. Vlemnye
szerint ez fogalmi (F), logikai (L) vagy fizikai (T) szint szerkezeti megfontols?

4/03 Az elz feladatra vonatkozan dntse el, hogy igazak (I) vagy hamisak (H) a kvetkez
megjegyzsek:

- A baj az, hogy negyedik nyelvet nem lehet megadni.


- A fogalmi szint tervben kln NYELV egyedet illene tervezni.
- Ha biztos, hogy tovbbi nyelvre soha nincs szksg, akkor a terv elfogadhat.
- A kezels mindenkppen nehzkes, mert melyik csoport az angol nyelv?

4/04 A tervez meghatroz egy kln Telefonszm adattpust. Ennek tartalmt az elre
elkpzelt felpts szerint validlja, de sima karakteres mdon trolja. Fogalmi (F),
logikai (L) vagy fizikai (T) megfontolsrl van-e itt sz?

4/05 Egy j adatkezel hasznlata esetn n szerint az albbi tnyezk kzl melyeket kell
vltoztatni (V), melyeket esetleg (E) s melyeket nem (N), ha a Telefonszm adat mrett
egy karakterrel megnveljk?

- az adatot tartalmaz bemeneti kpek


- az adatot tartalmaz kimeneti kpek
- az adatot kezel programok
- az adatbzis fizikai szerkezete
- az adatbzis logikai szerkezete

57
5. AZ ADATBZIS VETLETEI

5.1 Egy alapvet problma: a nzetorientltsg

Az alcmben jelzett baj megrtshez ismerni kell az eddigi hazai szmtstechnikai fejlds
bizonyos nemkvnatos vonsait. Ugyanannak a szervezetnek az eltr rszlegei a sajt maguk
rszre, a tbbiektl szeparltan alaktottk ki rendszereiket. Ms s ms hard- s szoftver-
eszkzket vsroltak; de bennnket most nem a szervezeti szint technikai kosz kros kommu-
nikcis kvetkezmnyei rdekelnek. A cgek nem alkalmaztk a megfelel rendszertervezsi
mdszertani megoldsokat. Ennek kvetkeztben az eltr rszlegek sokszor rszben ugyanazo-
kat az adatokat vittk szmtgpre. Viszont egyazon ismeretflnek ms-ms nevet s tartalmat
adtak (pl. msfle kdolst hasznltak) vagy klnbz brzolsi mdot vlasztottak. Ha pedig
egy szakterletnek, funkcinak a gazdja nem lelkesedett a szmtstechnikrt, akkor bizonyos
fontos adatok egyltaln nem kerltek gpre.
Az informcis fejlesztsnek ez a mdja szervezeti szinten adattbbszrzsre, adat-
ellentmondsra s adathinyra vezetett. Az igen vegyes eszkzpark s a mr szmtgpen trolt
ismeretek sszehangolatlansga a szervezetek informatikai fejldsnek objektv akadlyai. Ezek
nem kis gondok, de ha lenne r szndk s erforrs, ez a problma viszonylag knnyen
feloldhat lenne. Azonban a valban integrlt informcis rendszer kialaktsnak van egy
sokkal nehezebben lekzdhet szubjektv gtja is.
Az integrci legnagyobb akadlya a nzetorientltsg. A fejlesztk s a felhasznlk
egyarnt hozzszoktak egy adatkezelsi szemlletmdhoz. Az Y fejleszt ltrehozott nhny
llomnyt; meghatrozta az abban lv ismeretek s a kpernyk tartalmt illetve formjt stb.
Az X felhasznl ettl fogva meg volt gyzdve arrl, hogy gy nz ki az adatbzis ahogyan
azt elkpzelte, s ms kpet mr nem is lthet. A felhasznl ugyan srn vltoztatja a nzett
a sajt adatbzisrl, de azt - a fejlesztvel egytt - nehezen viseli el, hogy ms kvlrl szljon
bele az adatbzis magngyeibe. Mrpedig vilgos, hogy a szervezeti szinten teljes, egyrtelm
s nemredundns ismeretkezels megvalstsa rdekben az egyes rszlegek ltal trolt
ismereteket s azok kezelst ssze kellene hangolni. Ez pedig bizony kls beleszlssal is jr.

Ebben a fejezetben az adatbzis egyni s kzs nzeteire, vetleteire hvjuk fel a figyel-
met. Ezen tlmenen, de ezzel a tmval kapcsolatosan bemutatjuk az adatbzis sokoldal
kpt.

A teljes szervezet szintjn az ismeretek integrlsa komoly objektv elnykkel - az adat-


trolsi illetve -kezelsi kltsgek cskkensvel s minsgileg jobb ismeretszolgltatssal - jr.
Ennek rdekben le kell kzdeni a szubjektv akadlyokat. Ehhez pedig meg kell ismerni az
adatbzis klnbz lehetsges nzetmdjait.

58
5.2 A nzetorientltsg kros kvetkezmnyei

A magyarzat kedvrt tegyk fel, hogy ugyanabban a szervezetben a felhasznlk egyik


krt a gpkocsikra s az azok tulajdonosaira vonatkoz ismeretek rdeklik. k nem kvncsiak a
kocsitpussal kapcsolatos adatokra (5.1 bra). Az alkalmazk msik csoportjnak nincs szksge
a tulajdonos adataira, viszont k kezelni szeretnk a kocsitpussal kapcsolatos ismereteket is (5.2
bra). A ktfle felhasznli kr egymstl fggetlenl kialaktja magnak a kt bra ltal
mutatott adatbzisok szerkezett.

KOCSIK-1

Rendszm Szn Tpusnv Tulajnv Tulajcm


X F Lada Rzsa C1
Y Z Lada Gabi C2
Z F Polski Lajos C3
Q P BMW Rzsa C1
5.1 bra: A tulajdonosban rdekelt felhasznl ismeretei

KOCSIK-2

Rendszm Szn Tpusnv Frhely Fogyaszts


X Fehr Lada 5 A
Y Zld Lada 5 A
Z Fehr Polski 4 B
Q Piros BMW 5 C
W Piros Polski 4 B
5.2 bra: A tpusban rdekelt felhasznl ismeretei

1. problma: Redundancia. A kt llomnyban kln-kln rgztettk a Rendszm, a Szn


s a Tpusnv adatot. Az tfeds a szksgesnl nagyobb egyttes trignnyel jr. Az adatokat
tbbszrsen kell bevinni, mdostani, trlni stb. - kezelni - a szervezet egsznek a szintjn.
2. problma: Inkonzisztencia. Az els llomnyban a szneket kdoltk, a msodikban nem.
Ezrt ktfle programrszlet szksges. Tovbb semmi nem garantlja, hogy az egyik felhaszn-
l ltal ksztett kimutats ugyanazokat az ismereteket fogja felsorolni a kzs adatok tekintet-
ben, mint a msik ltal sszelltott. Pldul mr amiatt sem, hogy a ktfle llomnynak eltr
lehet az aktualitsa, a karbantartsi ciklusa. gy fordulhat el a terjedelmi eltrs is. Az, hogy az
egyik adatbzis mr mutatja a W rendszm gpkocsi ismereteit, a msik mg nem.
3. problma: Ismerethiny. Egyik llomnyban sem szerepel a biztostsi djjal kapcsolatos
adat. Emiatt az abban rdekelt felhasznli kr ltre fog hozni a maga rszre egy harmadik
adatbzist. Ebben termszetesen megismtli a gpkocsira, kocsitpusra s tulajdonosokra
vonatkoz adatok j rszt, ami ltal a redundancia s az inkonzisztencia tovbb fokozdik.
Felmerl teht a krds, hogy miknt lehet olyan kzs adatszerkezetet kialaktani, olyan
egyttes adatbzist ltrehozni, amivel a fenti problmkat elkerlhetjk, de gy, hogy mindegyik
felhasznlt kiszolgljuk. Azaz mindegyik szmra a korbban megszokott kpet nyjtsuk.
Mieltt az elbb feltett krdsre vlaszolhatnnk, r kell mutatnunk az 5.1 s 5.2 bra ltal
jelzett adatszerkezetek egy tovbbi problmjra is. A kt felttelezett llomny nmagban is
redundns, mert az els tblban a tulajdonosok, a msodikban a kocsitpusok adatrszsorai
tbbszrsen azonos tartalommal fordulnak el. Ez azrt van, mert a kt llomny tervezi nem

59
adatbzisban gondolkodtak - ezrt szerepelt fentebb idzjelben az adatbzis sz. Az adatbzis
ugyanis tbb egyedtpust s azok kztt meghatrozott kapcsolattpus(oka)t felttelez. Ezek
alkalmazsa esetn az emltett redundancia elkerlhet, amint azt az albbiakban bemutatjuk.

5.3 Globlis s parcilis adatbzisszemllet

Az elz plda esetben a fejlesztk nem lttk meg a vals egyedtpusokat, mert nem
ismertk az adatbzis lnyegt. Az is gyakran elfordul, hogy tbb alkalmazs mindegyikben
adatbzisszeren gondolkodnak, csak ppen az egyazon jelensgekre vonatkoz ismereteket
eltr mdon meghatrozott egyedtpusokhoz ktik. Ha pedig egyedtpusok nincsenek vagy azo-
kat mskppen ltjk a klnbz alkalmazsokban, akkor nagyon nehz a kzs adatbziskp
kialaktsa.
Ezrt az egyetlen kzs adatbzis tervnek a meghatrozsa kt feladatot lel fel. Az elsben
az egyes felhasznlk nzeteit kell adatbzisszerv tformlni.
Az 5.3 s a 5.4 brk mutatjk az els lps eredmnyeit. Az adatbzisszer talakts
ltszlag mindig gondokkal jr. Mindkt esetben be kellett vezetnnk egy-egy plusz adatflt
(Tulajkd, Tpuskd), teht nvelnnk kellett az llomnyok szlessgt. Csakhogy fontoljunk
meg kt dolgot. Az egyik az, hogy amennyiben a tulajdonos megjellse az els esetben, a
kocsitpus a msodik esetben egyrtelm lett volna, gy az jabb adatflre nem lenne szksg
az adatbzisban. Ellenkez esetben viszont maguk az eredeti megoldsok is rosszak, mert a
tulajdonosra/kocsitpusra nem lehet egyrtelmen hivatkozni. A msik az, hogy ltalban a vals
llomnyok szlessge (az adatflesgek szma) lnyegesen kisebb (tzes, szzas nagysg-
rend), mint azok hosszsga (a trolt ttelek szma, amely ezres, st millis nagysgrend).

KOCSIK-1 TULAJDONOS

Rendszm Szn Tpusnv Tulajkd Tulajkd Tulajnv Tulajcm


X F Lada T1 T1 Rzsa C1
Y Z Lada T2 T2 Gabi C2
Z F Polski T3 T3 Lajos C3
Q P BMW T1
5.3 bra: A tulajdonosban rdekelt felhasznl adatbzisrszlete

KOCSIK-2 KOCSITPUS

Rendszm Szn Tpuskd Tpuskd Tpusnv Frhely Fogyaszts


X Fehr T1 T1 Lada 5 A
Y Zld T1 T2 Polski 4 B
Z Fehr T2 T3 BMW 5 C
Q Piros T3
W Piros T2
5.4 bra: A tpusban rdekelt felhasznl adatbzisrszlete

Az 5.3 s 5.4 bra ltal mutatott megoldsok lnyegesen jobbak a korbbiaknl. A bels
redundancia megsznt, s ezrt cskken az adattrigny. Az adatkezelsi id tredkre cskken,
de ennek beltst az olvasra bzzuk. (Fontolja meg, hogy a mretcskkens mennyire reduklja

60
a lemezelrsi idt; a redundancia megsznsvel mikppen cskken pl. a lakcmkarbantarts
ideje; vgl milyen tbbletlehetsgeket nyjt az j szerkezet, amelyben a kocsikra nem is kell
rkrdeznnk, ha csak a tulajdonosok neveire s cmeire vagyunk kvncsiak.)
A msodik lpsben az j kpeket ssze kell hangolni. Ekkor mr csak arra kell gyelnnk,
hogy egyeztessk az ismeretbrzolst. Az senkit sem zavarhat, hogy a kocsitpus s a tulajdonos
kdjban egyarnt Tx rtkek szerepelnek, mint ahogyan vilgos, hogy az adatbzisban lehet
12345 rtk cikkszm s ugyanilyen rtk rendelsszm. Nem fogjuk ket sszetveszteni.
Nem baj, ha az eltr ismeretflk tartalma azonos. Viszont problma, ha az azonos ismeretflk
tartalma eltr. Pl. ha a Szn adat a kt adatbzisban ms tartalm. Itt megegyezsre van szksg.
Felttelezve, hogy a Szn adatot mindkt alkalmazsban a termszetes rtk szerint vezetik, a
clszer kzs adatbzist az 5.5 bra mutatja. Az bra adatbzistervben szerepelnek mind az
els, mind a msodik felhasznl ltal ignyelt adatok. Mi tbb - felttelezve, hogy a djttel a
kocsitpus fggvnye - a harmadik felhasznlnak is tudunk ismereteket nyjtani.
Elkpzelhet, hogy a krdses szervezetben egyetlen olyan felhasznl sincs, aki az 5.5 bra
hrom egyedtpusnak valamennyi tulajdonsgtpust egyidejleg kezelni hajtja (az brn fel
nem tntetett, az egyedtpusok kztti kapcsolattpusok szerint). Tovbbmegynk: ha egy szerve-
zetben ltrehoznak egy valdi adatbzist, az az egyed- s kapcsolattpusok szzait, a tulajdonsg-
tpusok ezreit lelheti fel. Pl. a kp kiegszlhetne a gpkocsik ltal okozott krokkal, a kr-
kifizetsekkel, a biztostsi dj befizetseivel stb. Teht egszen biztos, hogy nincs olyan alkalma-
zs, amelyben szksg lenne egy l adatbzis valamennyi adatra egyidejleg (egy program ltal
kezelten, egy kimutatsban).

KOCSI TULAJDONOS

Rendszm Szn Tpuskd Tulajkd Tulajkd Tulajnv Tulajcm


X Fehr T1 T1 T1 Rzsa C1
Y Zld T1 T2 T2 Gabi C2
Z Fehr T2 T3 T3 Lajos C3
Q Piros T3 T1
W Piros T2 ?

KOCSITPUS

Tpuskd Tpusnv Frhely Fogyaszts Djttel


T1 Lada 5 A II
T2 Polski 4 B I
T3 BMW 5 C IV
5.5 bra: Vgsre formlt kzs adatbzisrszlet

Ezrt az adatbzis szerkezett - pl. az 5.5 brnak megfelel mdon - csakis egyetlen fel-
hasznl ltja annak teljes sszetettsgben: az adatbzis tervezje. Az feladata a korbbiak-
ban jelzett problmk elkerlse, az integrlt adatbzis kialaktsa. egyetlen adatbziskppel
dolgozik; a teljes szervezet szempontjbl egysgessel s ltalnossal. Egysges egyetlennel, mert
a korbbiakkal szemben az 5.5 bra mr csak egy szerkezetet mutat. ltalnossal, mert ez a
szerkezet minden felhasznlt ktelez. Minden felhasznl minden krt adatot megkap, de csak
akkor, ha az beleilleszkedik az sszkpbe, az adatbzisnak az sszes ismeretet tfog s ppen
ezrt globlisnak nevezett nzetbe.
Krds: Az 5.5 brnak megfelel szerkezet adatbzis kiszolglja-e azt a hrom felhasz-
nlt, akirl az elz pontban emlkeztnk meg? Vlasz: Az 5.1 s 5.2 brnak megfelel isme-
ret az 5.5 bra szerinti adatbzisbl knnyen levezethet, st a djttel ismeretet is visszanyer-

61
hetjk abbl. A mr meglv s megfelelen szerkesztett adatokat tetszleges kombincikban
kereshetjk ki az adatbzisbl. Ekkor - mint arra fentebb utaltunk - az adatbzisnak csak egy
rszletben vagyunk rdekeltek, s ezrt beszlhetnk az adatbzis parcilis nzeteirl. Az 5.3 s
a 5.4 bra felfoghat a 5.5 bra adatbzisa kt rszleges nzeteknt.
Szemben az 5.1 s 5.2 bra ltal sugallt hagyomnyos megoldsokkal, az adatbzis parcilis
nzete valban tetszleges lehet. Az 5.5 bra adatbzisszerkezete alapjn az 5.6 bra kicsit furcsa,
de nem megvalsthatatlan nzett is kpezhetjk. Erre a korbbi vltozatokban nem nylt lehet-
sgnk:

KOCSIK

Rendszm Szn Frhely Tulajcm Djttel


X Fehr 5 C1 II
Y Zld 5 C2 II
Z Fehr 4 C3 I
Q Piros 5 C1 IV
W Piros 4 ? I
5.6 bra: Egy vegyes felhasznli szemllet

Teht az egyetlen globlis adatbzisnzetbl elvileg tetszleges szm, az adatbzisban trolt


ismereteket klnbz mdon kombinl parcilis nzet vezethet le. Az 5.5 brn mindssze tz
eltr ismeretfle szerepel. Az olvas kiszmolhatja, hogy ezeknek az egy-egy parcilis kpbe
val bevtelvel vagy onnan val elhagysval hnyfle rszleges nzet generlhat ennek a
picinyke mintapldnak az esetben is.
A globlis s parcilis nzettel a mindennapi letben tallkozunk. Figyeljk csak meg a
kvetkez kzlsek kzti klnbsgeket:

5.1 plda

Az X rendelsben az A cikket krtk.


Az Y rendelsben a B cikket krtk.
Az A cikket az X rendelsben ignyeltk.
A B cikket az Y rendelsben ignyeltk.

Az els s a harmadik illetve a msodik s a negyedik mondat lnyegben ugyanazt az isme-


retet kzli. Azonban az alany s az lltmny felcserlse nem puszta jtk. Az els kt kittel az
rtkestsi rszleg munkatrstl szrmazik, aki a rendelsek s cikkek viszonyt az elbbi fell
nzi. A msodik kt mondat a raktrgazdlkodsi csoport tagjnak tulajdonthat. a rende-
lsek s a cikkek kapcsolatt az utbbiak fell szemlli. A kt nzet eltrsnek dacra a
valsg egy. Tudniillik az, hogy a rendelsek s a cikkek sszefggenek egymssal.
Amint ltjuk, a valdi adatbzisszerkezet megalkotsval egyetlen felhasznl sem veszt
ismeretet. St, mindegyik tbbfle ismerethez juthat. A kvetkez pontokban azt fogjuk be-
mutatni, hogy a globlis s parcilis nzet egyeztetsnek nemcsak az elmleti alapja ers, hanem
gyakorlatilag sem ri srelem a kzs adatfelhasznlstl esetleg dzkod felhasznlkat. Elbb
azonban meg kell vilgtanunk az adatmodell sz ktfle jelentst, mivel ezt a fogalmat eltr
tnyezkre alkalmazzk.

62
5.4 Az adatmodell jelentse s tartalma

Az informatikban az adatmodell szt ktfle rtelemben hasznljk: specifikusan s


generikusan. A specifikus jelents szerint az adatmodell az adott alkalmazsi krnyezet kzs
adatbzisnak az absztrakt tkrkpe (v. D 3/9). A sz szigor rtelmben az adatmodell mindig
fogalmi szint adatbzistervet jelent. Ezen bell az adatmodellnek kt tnyezkrt kell
megemltennk.
Az adatmodellnek van felptsi, szerkezeti (angolul: structure) vonzata. Az adatmodell vges
szm jelensgnek, azok vges szm sajtossgnak s viszonynak a fogalmi mintja. A
jelensgek, sajtossgok s viszonyok tkrkpei - pldul az egyed-, tulajdonsg- s kapcsolat-
tpusok - egymssal meghatrozott sszefggsekben llnak, vagyis ezek a tnyezk szerkezetet
alkotnak. Mivel elemek s viszonyaik szervezett sszefggsrl van sz, az adatbzist egszen
nyugodtan rendszernek is tekinthetjk. Az adatbzis az adott alkalmazsi krnyezet ismeret-
rendszere.
A specifikus rtelemben vett adatmodellnek van egy msik n. korlt (angolul: constraint)
vonzata is. A korltok az adatbzis tnyezire s azok viszonyaira vonatkoz meghatrozsok,
felttelek, megktsek, kittelek, kijelentsek stb. halmazt jelentik. A korltok egymssal is kap-
csolatban llhatnak, ezrt rendszert alkotnak. Minden adatbzishoz a szerkezeti rendszer mellett
tartozik egy korltrendszer is, amely az adatmodell rsze. Pldk a korltokra: Minden gpkocsi-
nak kell, hogy legyen ismert tpusa. A gpkocsik djttele X s Y forint kz esik. A kocsik
fogyasztsa nem lehet nulla vagy negatv szm.
Vegyk szre, hogy az adatbzis szerkezete nmagban is hordoz egy sor korltot. Pldk:
minden gpkocsinak csak egy tpusa s egy tulajdonosa lehet; a tpus csak olyan rtket vehet fel,
ami ltezik a KOCSITPUS egyedtpus elfordulsai kztt; a kocsi rendszma nem lehet
ismeretlen. Mindezek, mint majd ltni fogjuk, az adatbzis szerkezetbl kvetkeznek s ezrt
nem kell ket kln lerni. ppen ezrt korltnak valjban csak az adatszerkezetben meg nem
adhat feltteleket, kiktseket tekintjk.
Az adatmodell generikus rtelemben egy meghatrozott adatbzis-filozfit jelent.
ltalnos elkpzelst, elcspelt szval: megkzeltst arra nzve, hogy konkrt alkalmazsoktl
fggetlenl az adatbzisok szerkezett ltalban milyen tnyezk alkotjk, azok kztt ltalban
milyen sszefggsek lteznek s ltalban mikppen kell megadni a korltokat. Az 5.5 brban
hrom egyedtpus 10 eltr tulajdonsgtpust tntettk fel, elhanyagolva a kapcsolattpusokat s
a korltokat. Az 5.5 bra teht egy konkrt adatmodell rszlete. Viszont az a koncepci, amely
szerint az adatbzis fogalmi szerkezett ltalban egyed-, tulajdonsg- s kapcsolattpusok szerve-
zett egytteseknt kell megadni, ltalnos felfogsmd, adatbzis-filozfia.
Tbbfle ilyen filozfia ltezik. Korbban mr emltettk a binris relcik modelljt (ld. 3.5
pont). Az is egy elvileg lehetsges - br gyakorlatilag nem tl sikeres - generikus adatmodell.
Egszen ms az n-fok relcik modellje. (Ezt nevezik ma rviden relcis modellnek, elfeled-
kezve az n-fok jelzrl.) Ismt ms tnyezkkel s szerkezetekkel operlnak a hls s
hierarchikus modellek [7]. Mi tbb, az adatbzisoknak ltezik matematikai-logika-alap modellje
is, amelyben az adatbzis szerkezeti tnyezit nem adatszeren, hanem matematikai-logikai
formulk segtsgvel adjk meg. Ezen filozfik lersra, elemzsre s sszehasonltsra itt
nincs mdunk; ahhoz egy kln knyvre lenne szksg. Ezt az elemzst elvgeztk helyettnk
msok (pl. [8]) br gy, hogy az rtkelsben mg nem szerepelhetett a legjabb, az objektum-
orientlt irnyzat [9].
A generikus adatmodellkoncepcikra ltalban kt dolog jellemz. Az egyik az, hogy val-
jban nem fogalmi szint tnyezkkel operlnak. Pldul a relcis modell relci egysge se
nem trolsi (fizikai szint), se nem vals (fogalmi szint) tnyez, hanem valahol a kett kztt
elhelyezked tartalmi, tipikusan logikai szint alkotelem. Pldul az 5.1 bra llomnya

63
felfoghat relciknt is, amelynek trolsrl mit sem tudunk s az a relci nem a valsgnak
megfelelen tkrzi a jelensgeket (mert nem vlasztja szt a kocsi s a tulajdonos vals
lnyegeket).
A nem fogalmi szint modellkoncepciknak az is a sajtja, hogy az adatbzis modelljt
elvlaszthatatlanul sszekapcsoljk az adatbziskezels modelljvel. Teht egyben programnyelvi
modellek is, amelyek nemcsak az adatbzis szerkezett korltozzk, hanem azt is megszabjk,
hogy milyen parancsokkal lehet az adatbzist kezelni. Az adatmodell s a kezelsi modell ilyen
egymsraplse a koncepciksztk szerint elnys. Gyakorlatilag rszben az is. Viszont ez az
rukapcsols szksgszeren azzal a negatv jelensggel jr, amit a korbbiakban eszkzfgg-
sgnek neveztnk (ld. 4.1 pont).
A kvetkez pontban egy olyan generikus adatmodellkoncepcit, adatbzisfilozfit muta-
tunk be, amely elmletileg majdnem tkletesen sszehangolja az adatbzis szinteket s nzete-
ket, de nem knyszert rnk az adatmodellel egytt egy kezelsi megkzeltst is.

5.5 Az ANSI-SPARC architektra [10]

Az ANSI (American National Standards Institute) mr a hetvenes vek kzepn meghat-


rozta az adatbzisok ltalnos elvi felptsnek - a generikus adatmodellnek - a clszer kpt,
amit azta is ANSI-SPARC adatbzis-architektrnak neveznk. Az elkpzelst idkzben az
ISO (International Standards Organisation) elfogadta s tovbbfejlesztette illetve finomtotta [11].
Mi itt csak a lnyeget akarjuk sszegezni.
Az ANSI architektra szerint minden adatbzisnak hrom szintje van. Nem az ltalunk
mr ismertetett fogalmi, logikai s fizikai szintekrl van sz. Az azoknak val megfeleltetsre
majd albb kitrnk. (Az ANSI egyik apr tvedse a szint sz hasznlata, mivel nem egyms
alatti hrom rteget alkotnak az ismertetend tnyezk.)
Az els szint a fogalmi (angolul: conceptual level). Ezen a szinten egy alkalmazsi krnyezet
valamennyi ismerett s azok valamennyi sszefggst egyetlen kzs adatmodellben tkrzik.
Ez a reprezentci mentes a kezelrendszer tpustl s az amgtt ll filozfitl. A fogalmi
adatmodell nem relcis, nem binris, nem hls stb. Kategrii valban fogalmi tnyezk. Mra
mr mindentt szinte egynteten Chen kezelfggetlen egyed-tulajdonsg-kapcsolat hrmast
alkalmazzk a fogalmi adatmodell alapkategriiknt [12]. A fogalmi adatmodell teht a sz
generikusan rtelmben is egy, hiszen egysges tnyezkben fogalmazdik meg. Az adott alkal-
mazsi krnyezetben vett specifikus rtelmben is egy, mivel egyetlen integrlt, tetszlegesen
sszetett adatbzist felttelez.
A msodik szint a bels (angolul: internal level). Minden fogalmi szint adatbzisnak van
legalbb egy, de lehet tetszlegesen tbb bels reprezentnsa. (A bels jelz itt a szmtgpen
bellire utal.) Magyarul: ugyanazon tartalm adatbzist illetve annak megfelel rszeit a
klnbz gpeken vagy akr egy szmtgpen bell is eltr mdokon lehet megszervezni.
Igny szerint az adatbzisnak lehet tbb, msfle mdon szerkesztett pldnya vagy rszlete is.
Trtneti okai vannak annak, hogy a bels szintet az ANSI mirt nem tagolta logikaira s
fizikaira. Az ANSI koncepci szletsekor dlt a nevezetes vita a hls s a relcis filozfik
kztt [13]. A kt irnyzat eltr logikai adatbzisszerkezetekkel dolgozott, a relcisnak pedig
mg nem is volt fizikai szerkezeti elkpzelse. Az ANSI szerint helytelen, ha a felhasznlnak
trdnie kell azzal, hogy adatait milyen kezelvel manipulljk. Ez szmra bels, transzparens
gy kellene, hogy legyen. Neknk viszont nem szabad elfeledkeznnk arrl, hogy a relcis, a
hls, a hierarchikus stb. logikai szerkezet egymstl teljesen eltr. Teht azokat msknt kell
megtervezni, s ppen ezrt a logikai s a fizikai adatbzisszerkezet kialaktsa ketts feladat.

64
A harmadik szint a kls (angolul: external level). Minden fogalmi szint adatbzisnak tbb
felhasznlja van. Az egyes felhasznlk az adatbzis klnbz rszleteiben rdekeltek. St,
ugyanaz a felhasznl is tbbfle mdon akarja ltni az adatbzis tartalmt. Az 5.5 bra ltal
tkrztt fogalmi adatbzisnak tbbfle ltsmdja lehet. A fenti sszes tbbi bra megfelelhet
egy-egy kls ltsmdnak. A kls jelzt az indokolja, hogy a felhasznlk egyike sem tudja,
hogy bell a szmtgpen milyen az adatok szerkezete.

D 5/1 Az adatmodellnek a felhasznl ltal kezelsre kivlasztott rszt nzetnek vagy


szemlletnek nevezzk.

A nzetnek (angolul: view) levezethetnek kell lennie az adatmodellbl. Ez azonban nem


jelenti azt, hogy a nzetben foglalt ismeretek szerkezete meg kell, hogy egyezzen az adatmodell
struktrjval. Az 5.1 bra tartalma visszakaphat az 5.5 brbl, de az elbbiben az utbbi tbb
egyedtpusnak a tulajdonsgtpusait egyetlen egysgbe vontk ssze.

D 5/2 Az adatmodellben lv tulajdonsgtpusokbl mestersgesen - vagyis nem a tny-


leges egyedszerkezeteknek megfelelen sszelltott - tulajdonsgsorokat virtulis
egyedeknek nevezzk.

A felhasznl tetszleges szm s szerkezet virtulis egyedet kpezhet. St, azt is meg-
teheti, hogy ugyanazt a nzetet tbb kezelprogramban alkalmazza. Attl teht nem kell flnie,
hogy a kzs adatbzis nem fogja t kiszolglni. Attl sem kell tartania, hogy msok illeglisan
fogjk hasznlni az adatait, mert az adatbzisban tetszleges kombincij zrakat (angolul:
lock) helyezhet el azokra az egyed- s tulajdonsgtpusokra, st -elfordulsokra is, amelyek ilyen
vagy olyan kezelsbl ki akar rekeszteni msokat.
Az ANSI a kls szint esetben is elhanyagolt egy dolgot. Nevezetesen azt, hogy ennek a
szemlletnek is van logikai s fizikai szintje. Elvileg nincs akadlya annak, hogy a valjban X
hosszban trolt Y tpus adatot Z hosszban s Q tpusknt lssa a felhasznl. Ezrt a nzet
megtervezsekor is ketts feladat vr rnk: a tartalmi s formai kialakts.

5.6 A szintek megfeleltetse, modellek s smk

A fogalmi, bels s kls szintek kztt az adatbziskezel rendszer teremt kapcsolatot.


Amikor a felhasznl megadja az ignyt (kls szint), azt a kezel lekpezi az ltalnos kpre
(fogalmi szint), hogy megvizsglja a krs teljesthetsgt s behatrolja az adatbzis rintett
rszeit. Amikor pedig tnyleges kezelsre kerl sor, akkor az adatmodell vonatkoz elemeit
mintegy lekpezi a trolsi szerkezetre (bels szint), vagyis meghatrozza, hogy hol tallhatk a
keresett adatok. Az utbbi mvelet a fizikai adatfggetlensg miatt rejtett a felhasznl szmra.
A korszer kezelknl az elbbi is az, ami alapot ad egy jabb fogalom megvilgtsnak.

D 5/3 Logikai - ms nven adat-program - fggetlensgrl beszlnk akkor, ha az adatok


szerkezetben bekvetkez vltozs nem hat ki a kezelprogramokra.

Mivel az 5.2 bra nzett kpvisel felhasznl nem rdekelt a kocsitulajdonos adataiban, a
tulajdonos cme adat mretnek a vltozsa, a tulajdonos foglalkozsa adat felvtele, vagy akr a
tulajdonos nevnek a trlse nem rinti az ltala hasznlt kezelprogramokat. St, a djttel
vltoztatsa sem fogja rdekelni. Ennek az igen egyszer oka az, hogy - szemben a hagyomnyos

65
adatkezelssel - a modern adatkezel programokban nem kell definilni az adatbzis valamennyi
rintett egyedtpusnak az sszes tulajdonsgtpust. Csak a program ltal tnylegesen kezelt
tnyezkre kell hivatkozni. gy a programban meg nem jellt adatflk trlse vagy mdostsa
illetve brmilyen j adatfle felvtele az adatbzisba nem ignyli a program trst.
Arrl viszont nem szabad elfeledkezni, hogy a program ltal tnylegesen kezelt tnyezk
egyttese nem azonos a felhasznli nzettel (view). Ezrt az ANSI architektrbl hinyzik egy
igen fontos tnyez, amelynek lnyegt egy plda segtsgvel mutatjuk be.
Tegyk fel, hogy valaki az 5.2 brnak megfelel nzetet kvnja generlni az 5.5 bra adat-
bzisnak a tartalmbl gy, hogy csak a budapesti tulajdonosok kocsijaiban rdekelt. Br az
illet nem akarja ltni a tulajdonos cmt, a megfelel kocsik kivlasztshoz a programnak ezt a
tulajdonsgtpust is kezelnie kell. A felhasznl nem rdekelt a tulajdonos kdjban sem, de a
gpkocsikat s tulajdonosokat csak ezen tulajdonsgtpus alapjn tudja sszektni a program.
Ezrt a felhasznl nzete s a felhasznlst kiszolgl program szemllete nem mindig ugyanaz.

D 5/4 Az adatmodellnek a kezelprogram ltal rintett rszt adatalmodellnek nevezzk.

Az adatalmodell megegyezhet a nzettel, de lehet annl bvebb is. Az almodell ktfle tnye-
zvel szokott kiegszlni a nzethez kpest. Elfordulhat, hogy a nzet tbb egyedtpus tulaj-
donsgaibl sszevont gy, hogy azok valamelyiknek azonostjt a virtulis egyed nem
tartalmazza. Ekkor a vals egyedek kztt kapcsolatot teremt tulajdonsgtpus (pldnkban: a
Tulajkd) is az adatalmodell rsze. Ha a felhasznl a teljes egyedelfordulshalmaz (minden
gpkocsi) helyett csak rszhalmazt kvn kezelni (budapesti kocsik), akkor a kivlasztsi ismrv-
knt szolgl tulajdonsgtpus is (Tulajcm) az adatalmodellbe kell, hogy tartozzon, mikzben
nem rsze a virtulis egyednek. (N.B.: Valjban a kapcsolatot teremt tulajdonsg is kivlasztsi
ismrv. Csak nem kls, a felhasznl ltal ltott, hanem bels, a kezel ltal az egyedek kztti
tmenetre hasznlt ttel.)
A kls szint tnyezit az adatbzist kezel programokban kell megadni. Az adatbzis bels
szerkezett az adatok tnyleges betltse eltt kell kzlni az adatkezelvel. Mindkettt
megelzen, az adatbzis hasznlatnak a megkezdse eltt le kell rni a kezel szmra az
adatbzis fogalmi felptst. Most a hangsly a lerni lnyegen van.

D 5/5 Az adatmodell formlis lerst fogalmi smnak hvjuk.

A lers formja a kezelrendszertl fgg. Ezrt klnbz adatkezelk egyttes hasznlata


esetn nem elkpzelhetetlen, hogy egyazon adatbzisnak tbb fogalmi smja is van, noha maga
a fogalmi adatmodell - egy. A fogalmi sma mintjra beszlnk az adatbzis bels s kls
smirl is. Mr csak arra kell visszautalnunk, hogy az adatmodell a struktra s a korltok
egyttese. Ezrt a smk nem pusztn szerkezeti lersok, hanem a korltokat is fellelik.

5.7 Adatmodell-elmlet s adatbzis-gyakorlat

A fentiekben felvzoltuk, hogy az adatbzisok ltalban miknt plnek fel elmletileg. Az


adatbzisnak van egy s csakis egy - minden alkalmazs adatait tfog - fogalmi kpe. Ehhez
tbb - logikai s fizikai szinten meghatrozand - bels szerkezet tartozhat. Az adatbzis hasz-
nlatakor tbb - logikai s fizikai szinten kijellend - kls struktrt (nzetet illetve almodellt)
fogunk meghatrozni. Az adatkezel feladata, hogy a kls, parcilis ignyeket az egyetlen
kzs, globlis nzeten t a bels lehetsgek szerint kielgtse. Ez a kijelents nemcsak lltst,

66
hanem tagadst is tartalmaz. Az elmletileg j adatbzisarchitektrban nincs helye annak, hogy
a felhasznl a fogalmi sma megkerlsvel a kls s a bels szint kztt kzvetlen kapcsolatot
ltestsen.
A vals adatbziskezel rendszerek mg nem jutottak el erre az elmleti szintre. Sok kezel-
ben mg arra sincs md, hogy az egyetlen globlis fogalmi smt megadjuk. A teljes adatbzis-
nak nincs egyetlen smja; a programokban jelljk ki az adatbzis rintett rszeinek a lersait.
Teht valjban eleve csak alsmkkal dolgozunk. A gyengbb kezelkben mg alsma meg-
adsra sincs lehetsg; az adatbzis rintett rsze implicit marad (v. dBASE s trsai). Ms
esetekben meg kell adni az adatbzis egyetlen lerst, de ez a sma nem fogalmi szint, hanem
logikai s fizikai szint tnyezk egyvelege. Ezek utn mr nem csoda, hogy a programokban az
adatokra direkt is lehet hivatkozni. Vagyis a mindent a fogalmi smn keresztl elvvel
ellenttben a kls s a bels szint kztt kzvetlen kapcsolatot is ltre lehet hozni.
Amint ltjuk, a meglehetsen tiszta elmlettel szemben a gyakorlatban kosz uralkodik. Ez
pedig baj, mert az adatbziselmletek nem vletlenl tartalmaznak bizonyos - a gyakorlatra
nagyon is kihat - elveket. Lthattuk, hogy milyen kvetkezmnyekkel jr a fizikai (v. D 4/5) s
a logikai (v. D 5/3) adatfggetlensg kvetelmnyeinek a megsrtse. Ezrt az adatkezel
kivlasztsakor rdemes figyelni arra, hogy a rendszer mennyire tesz eleget az ebben a fejezetben
felvzolt elveknek. Bizonyosak lehetnk abban, hogy hinyossgok esetn meglehetsen komoly
kvetkezmnyekkel kell szmolni.
Mivel a mai kezelk mg nem tkletesek, adatbzisaink kiptsben s hasznlatban nem
szabad csakis a technikra, a szoftverre hagyatkozni. Nagyon-nagyon sok tennival vr magra
az emberre, ha az amgy sem olcs adatbziskezels kltsgeit nem akarjuk rtelmetlenl
megnvelni. Magyarul: a szakembereknek kell ptolniuk az eszkzk hinyossgait. Ehhez pedig
az eddigieknl sokkal alaposabban meg kell ismernik az adatbzisok lelkivilgt.

5.8 Adatmodell-reprezentcik

A kvetkez kt fejezetben majd ltni fogjuk, hogy az adatmodell szerkezete s az ahhoz


tapad korltok nha meglehetsen sszetettek. Emiatt felmerl a krds, hogy milyen mdon
clszer megfogalmazni az adatmodellt. Ezen a tren ugyanis sok visszssgot tapasztalunk. Ez
azrt van, mert sem az adatbziskezel gyrtk, sem az adatkezelk felhasznli nem ltjk az
adatmodell tbbszrs cljt.
Az adatmodell vgs clja az, hogy a leend adatbzis ltrehozshoz szolgl mveleteket
s a programozst elsegtse. Az adatmodell alapjn definiljuk az res szmtgpes adatbzist
s a modell mutatja, hogy a programoz milyen ismereteket s milyen sszefggsben kezelhet.
Azonban az adatbzis bevezetsig mg sok teend van. Az elzetesen felvzolt modell szolgl
arra, hogy a felhasznl ignyeit illetve maguknak a vals jelensgeknek az sszefggseit jobban
megismerhessk. Az adatmodell nem azonnal, hanem tbb ksrlet eredmnyekppen szletik
meg. Az adatbzisalkots nlklzhetetlen lpse a modellelemzs. Ennek sorn a felhasznli
ignyeket amgy mr kiszolglni kpes modellt optimalizljuk. Vagyis megkeressk azt az adat-
modellt, amely nem csak teljes, hanem egyben egyrtelm s minimlis is.
A fenti hrom cl kzl a fejlesztk az elsre - a szinte legkevsb fontosra helyezik a
hangslyt. Ennek kzvetlen kvetkezmnye, hogy az adatmodellt a rendelkezsre ll kezel
kpessgeinek s konvenciinak megfelelen listk halmazban fogalmazzk meg. A listk
szksgesek s hasznosak, de messze nem elegendk az adatmodell h tkrzsre. Szmos olyan
korlt van az adatmodellben, amelyet az adott kezel nem tud figyelembe venni. Ezek rendre

67
kimaradnak a modellbl s csak programspecifikcik szintjn kerlnek meghatrozsra. gy a
felhasznl azokat szinte nem is ltja, nem ellenrizheti.
Kztudott, hogy a fejlesztk nem szeretnek rni. Ennek ellenre igen nagy szksg lenne az
adatmodell tartalmas, de nem b - mert akkor nem olvassk el - verblis lersra. A szveges
modell-lers alapjn gyzdhetne meg a felhasznl arrl, hogy ismeretignyeit - fleg a
listkban nem megadhat korltokat - helyesen rtelmeztk a fejlesztk.
Azt viszont nem rt tudni, hogy a viszonylag egyszer szerkezet adatbzisokban is tbb
tucat egyedtpus szerepel. sszetettebb alkalmazsokban az ismeretekkel tkrzni kvnt
jelensgflk szma szzakra, st ezrekre tehet. Nincs olyan fejleszt vagy felhasznl, aki t
tudn ltni a modell lnyegt s kpes lenne firtatni annak valamelyik knyes pontjt pusztn
listk s lersok alapjn. Az adatmodell ttekint elemzshez msfle megfogalmazsi forma is
szksges.
Ezt a tnyt mr a hetvenes vekben felfedeztk. Amiknt az ptszek s a majdani lakk
sokkal jobban megrtik a leend hz kpt pr bra alapjn, gy a leend adatbzis lnyege is
tmrebben s vilgosabban megfogalmazhat az adatmodelldiagramok segtsgvel. Ezek az
rajzok Bachman nevhez fzdnek [14] s az nyomdokn hvjuk ket Bachman-diagramoknak.
A kvetkez fejezetekben mi is alkalmazni fogjuk ezt az adatmodell-tkrzsi formt. Ezrt most,
elzetesen, bemutatjuk annak legfontosabb konvenciit, vagyis megegyezses jeleit az 5.7 bra
segtsgvel.

Tpuskd

KOCSITPUS

KOCSITPUS - KOCSI

Rendszm

KOCSI

Tpuskd
5.7 bra: Az adatmodell-diagram alapvet konvencii

Az brn tglalapok jellik az egyedtpusokat. A tglalap mrete mindkt irnyban tetsz-


leges. Az eredeti konvenci szerint a tglalap kzepn tallhat az egyedtpus neve. (Mai divat,
hogy az egyedtpusok jellsre legmblytett sark tglalapokat hasznlnak. Ez azrt j, mert
sokkal nehezebb rajzolni - egybknt az gadta vilgon semmi jelentsge sincs. Ezen kvl
mindenki mst rt a lekerektsen.)
A tglalapon bell lehet feltntetni a tulajdonsgtpusokat. Azonban a hossz tulajdonsg-
listk eltorztank a diagramot s megneheztenk az ttekintst. Ezrt ltalban csak az azono-
stt s az rtelmezsi/kapcsolati szempontbl fontos tulajdonsgok nevt szoktk bejegyezni a

68
dobozba. Az azonostt kln is megjellik. Mostanban ezt egy tmr fekete ponttal teszik.
Ennl jobban bevlt a rgi metdus, amelynek alkalmazsa sorn az azonostt a tbbi tulaj-
donsgtl vonal vlasztja el. A legttekinthetbb az 5.7 brn mutatott megolds. Fell szerepel
az azonost, alul a kapcsol s az egyb fontos tulajdonsg.
A tglalapokat sszekt vonalak tkrzik az egyedek kztti kapcsolattpusokat. A vonal
mell rjuk a kapcsolattpus nevt. A kapcsolattpus jellegzetessgeirl, gy pldul a fokrl is,
majd csak a kvetkez fejezetben lesz sz. Itt elre jelezzk, hogy a vonal vgn lv varjlb
(angolul: crowsfoot) mutatja, hogy az egyik egyedtpus (KOCSITPUS) egy elfordulshoz a
varjlbas vgen lv egyedtpusnak (KOCSI) tbb elfordulsa tartozhat. A vonal sima vge az
egyszeressg jele. Magyarul: egy kocsitpushoz tbb kocsi tartozhat (varjlb), de minden
kocsinak csak egy tpusa lehet (sima vonalvg).
Nem fejezhetjk be ezt a tmt kt fontos megllapts nlkl. Az adatmodell reprezentl
erejtl elbvlt kezdk gyakori hibja, hogy egy diagramon nagyon sok tnyezt tntetnek fel.
Pedig a zsfolt rajz nem segti, hanem megnehezti az rtelmezst. Ezrt az sszetettebb brkat
rszekre kell bontani s ki kell dolgozni az bralapok kztti sszefggsek kifejezsnek az
egyezmnyes jeleit. A msik krds az irnyokkal kapcsolatos. Az eurpai ember fellrl-lefel s
balrl-jobbra r. ltalban ennek megfelelen tekinti t az brkat is. Ezrt a jzan sz azt
diktlja, hogy a msoknak flrendelt illetve a fontos egyedeket valahol fell, a tlk fggeket
alul helyezzk el az brn.
Egy kocsitpushoz tbb kocsi tartozik, s ezrt a fenti diagramon a KOCSITPUS doboza a
KOCSI tglalapja felett lthat. Ez az brzols fejezi ki a kt jelensg hierarchikus kapcsolatt
akkor is, ha a KOCSI a fontosabb egyed. A szervezeti brkban a fosztlyt jelentjk meg az
osztly felett, nem pedig megfordtva. Mindezt azrt emltjk, mert egyes mai tervezsi segd-
letek alkalmazsi kziknyveiben pontosan a fordtott logikj reprezentlst ajnljk. Mivel tbb
rendelsttel van, mint rendels, szerepeljen az elbbi egyed doboza az utbbi felett. Ez a
megfontols szmunkra termszetellenes.
Mindezen persze nincs sok rtelme vitatkozni. A lnyeg az, hogy meg kell tallni az egyede-
ket reprezentl dobozok jl ttekinthet elhelyezst. Ha pldul a SZEMLY egyedtpushoz
sok alrendelt egyed (NYELVTUDS, PTLK stb.) kapcsoldik, akkor a baloldalt, alul ma
hirdetett elrs helyett mi a kzpen, fell megoldst javasolnnk. Mert nem a merev fent-lent,
baloldalt-jobboldalt megfontols, hanem az ttekinthetsg a lnyeges.
Az adatmodell brzolsi alapjainak a bemutatsa utn ideje, hogy ttrjnk magnak az
adatmodellnek a rszletesebb taglalsra.

Ellenrz krdsek - 5

5/01 Van egy krrendez s egy biztostsi-dj megllapt rszlegnk. Az egyik arra kvncsi,
hogy egy kresemnyben milyen bajok rtk az abban rsztvev kocsikat. A msik abban,
hogy egy kocsit milyen krok rtek s emiatt miknt szmolja ki a bonus-malus
szzalkt. n hnyfle ismeretekkel lerand jelensget lt e feladat mgtt? Adjon meg
egy szmot.

69
5/02 Mondja meg, hogy melyik megolds a helyes (H) s melyik a rossz (R) az elz feladatok
tmogatsra:

- A kt rszlegnek nincs kze egymshoz. Itt kt adatbzis szksges.


- A feladatok rszben kzs ismeretekre tmaszkodnak. Legjobb lenne kt rszben tfed
adatszerkezetet krelni, gyelve arra, hogy a kzs KR egyed karbantartsa egyszerre
trtnjen meg a kt rszben.
- Itt csak egyetlen adatbzisnak a kt nzetrl van sz.

5/03 Iskolai adatbzist terveznk az ott oktat tanrokrl, a tanulkrl s a bedolgozkrl.


Van aki a tanr ltal oktatott trgyakra, ms a tanul ltal tanulandkra, ismt msok a
tantrgyakhoz a segdeszkzket szllt szemlyekre kvncsiak. A tanrt a kpzettsg-
hez, a dikot a jegyekhez, a bedolgozt az eszkzkhz ktd ismeretek jellemzik. Ezek
az ismeretek klcsnsen kizrak (pl. a tanr nem kap jegyet). A krds az, hogy
milyen mdon lehet az egyetlen SZEMLY egyedhez kapcsold klnbz ismereteket
mindenki rszre a sajt maga ltal ignyelt mdon megjelenteni? Adja meg az albbi
vltozatok kzl a helyesnek tartott vlasz sorszmt:

- Hrom klnbz SZEMLY rekordkpet kell tervezni.


- A sajtos ignynek megfelel szemlletet virtulis egyedben fejezzk ki.
- Sajt programmal sszebogarsszuk az ismereteket.

5/04 A tanrokrl hrom listt ksztnk. Mindegyik a tanr nevt s az ltala oktatott szak-
trgyak megnevezseit tartalmazza. Az egyiken a tanr, a msikon a tantrgy sorrendj-
ben. A harmadik a msodikkal azonos, de a tantrgy teljes neve helyett azon csak a nv
els x jele szerepel. n szerint az albbiak kzl melyik llts igaz (I) s melyik hamis
(H):

- Az ANSI szerint hrom kls nzetet kell megadni.


- Logikai szinten nzve a dolgot valjban csak egy listrl van sz.
- A tantrgynv eltr hossza csak fizikai szint vltozatot jelent..

5/05 Az albbi kittelek kzl melyik igaz (I), melyik hamis (H):

- Az adatmodell nem ms, mint a Bachman-diagram.


- Az adatbzis tervt rekordkpekben kell megadni.
- Az adatbzis tervt j b szvegben le kell rni, hogy a felhasznl rtse.
- Lista, szkszav lers s pr ttekinthet rajz a modell veleje.

70
6. A MODELL ALAPVET SZERKEZETE

6.1 Az adatmodell, mint rendszer

Az adatbzis az alkalmazsi krnyezet egyed-, tulajdonsg- s kapcsolat-elfordulsainak az


adatmodell szerint szervezett egyttese (v. D 4/8). Mindeddig a szervezett jelzn csak
valamifle tudatos elrendezst rtettnk, de nem magyarztuk el, hogy az valjban mit is takar.
Ha az adatbzis lnyegt fel akarjuk trni, akkor az emltett meghatrozsnak arra a kittelre
kell tmaszkodnunk, amely szerint az adatok egyttese az adatmodell szerint szervezett. Ebbl
pedig az kvetkezik, hogy az adatbzis megrtshez az adatmodellt kell jobban megismernnk.
Az adatmodellrl jelenleg csak kt dolgot tudunk. Elszr is azt, hogy a fogalmi modellt
egyed-, tulajdonsg- s kapcsolattpusok alkotjk (v. D 4/7). Msodszor pedig azt, hogy ezek a
tnyezk egymssal viszonyokban llnak. Azonban ezeknek az sszefggseknek a termszett
egyelre mg nem ismerjk. Ezrt az egyetlen biztos tmpontbl kell kiindulnunk: mivel az
adatmodell elemekbl s azok viszonyaibl ll, az adatmodellt rendszerknt kell felfognunk. A
rendszereket pedig ltalban gy ismerhetjk meg, hogy megvizsgljuk azok elemeinek s az
elemek viszonyainak a termszett.

Ebben a fejezetben az adatmodell mint rendszer tnyezivel s e tnyezk sszefggsei-


vel kapcsolatos alapvet tudnivalkat ismertetjk. Vgeredmnyben azt fejtjk ki, hogy mit
kell rteni az adatbzis szervezettsgn.
Az adatmodellt, amelyrl a kvetkez pontok szlnak, tpusok alkotjk. Ezrt a tovbbiakban
- a rvidsg kedvrt - el fogjuk hagyni a tpus s az elforduls megjellseket. Ezeket csak
az olyan sszefggsekben fogjuk alkalmazni, amelyekben az egyrtelmsg azt megkveteli.
Teht az albbiakban pldul az egyed mindig egyedtpust fog jelenteni.
Az adatmodell ebben a knyvben mindig fogalmi szint modellt takar. Ezrt nem trd-
hetnk a mai adatkezel rendszerek logikai illetve fizikai szint adatszerkezeti korltaival s nem
vehetjk t azok terminolgijt. gy elfordulhat, hogy egy konkrt adatkezel ismereteiben
jrtas olvas olyan megoldsokkal s fogalmakkal tallkozik e fejezet sorn, amelyek az ltala
alkalmazott rendszerben nem hasznlatosak. St az is megtrtnhet, hogy sajt kezeljnek a
kpessgei az ltalnos adatmodellezsi elveknek ellentmondanak. Ilyenkor a hibt nem a
fogalmi modellben, hanem az adott rendszer specifikus korltaiban kell keresni.
Az adatmodellezsben jratlanok azt hiszik, hogy az adatmodell egy az egyben megval-
stand strukturlis terv. Ez tveds. Az adatmodell rengeteg nem-szerkezeti korltot is rgzt.
Ezt a tervet le kell kpezni logikai, majd fizikai szintre a tnyleges megvalsts eltt. Elbb
azonban ltnunk kell, hogy mi is az, amit meg kellene tudnunk valstani.

6.2 Az egyedek ktfle struktrja

Az adatmodell hromfle tnyezje (egyed-tulajdonsg-kapcsolat) egyenrang lnyegek.


Egyikrl sem jelenthetjk ki, hogy fontosabb a msiknl. Ezrt ha az albbi kittelekben az
adatmodellt az egyed oldalrl nzzk, annak egyetlen oka az, hogy valamelyik tnyeznl meg
kell ragadnunk ezt a rendszert. Vizsglataink szemlltetse cljbl rdemes visszatrnnk a
nyelvtani analgihoz. Vegyk pldaknt a kvetkez hrom mondatot:

71
6.1 plda

Az X rendszm fehr, Lada tpus kocsi Rzs.


A Lada tpus kocsik tszemlyesek.
A kis Polski tpus kocsik ngyszemlyesek.

Most pedig elemezzk egytt a fenti kijelentseket! Azonnal szrevesszk, hogy a msodik s
a harmadik kittel azonos, az els viszont azoktl eltr mintj. Ezzel egy lpssel mris
kzelebb jutottunk az adatmodell megrtshez, hiszen

a modell minta, az egyedi, konkrt jelensgek kzs, absztrakt vonsainak az egyttese.

A msodik s harmadik pldamondatban ugyan eltr konkrt szavak is szerepelnek, de a


szavak ltalnos elrendezse azonos. gy is mondhatnnk, hogy a kt kittel azonos mondat-
tpusba tartozik. Ezzel szemben az els kzlsben megtalljuk a msik kett nhny konkrt
szavt, de ms a szfzs. Teht az els mondat a msik ketttl klnbz szerkezetet kpvisel.
E felfedezstl mr csak egy lps az adatmodell els szerkezeti aspektusnak a megrtse.
Vonjunk prhuzamot a mondat s az egyed illetve a sz s a tulajdonsg kztt! A mondat
szavakbl ll, mg az egyedet tulajdonsgok jellemzik. A mondattpusok feltrshoz ismernnk
kell a szavak mondaton belli ltalnos rendjt. Ugyangy az egyedek meghatrozsakor ki kell
jellnnk az azokhoz tartoz tulajdonsgok elrendezst.

D 6/1 Az egyed tulajdonsgainak a sort az egyed bels szerkezetnek nevezzk.

Mindennapi kzlseinkben az azonos vagy klnbz jelensgekre vonatkoz ismereteinket


kvetkezetesen egymshoz kapcsoljuk. Ennek sorn meghatrozott logikt kvetnk. Ellenplda-
knt vegyk csak alapul az albbi kt mondatot:

6.2 plda

Az X rendszm fehr, Lada tpus kocsi Rzs.


Az X tpus fehr gzkonvektor ra 36000 forint.

Ennek a kt kittelnek egytt semmi rtelme sincs, br vannak bennk kzs szavak. Viszont
a korbbi pldnk els kt mondatnak egyttese alapjn az olvas pontosan tudhatja, hogy az X
rendszm gpkocsi tszemlyes s nem ngy frhelyes. Amint ltjuk, nem mindig az
nmagban vett mondat hordozza a kzlend ismeret teljes tartalmt. A mondatokat egymsba
fzzk. Ezt nem vletlenszeren, nem ssze-vissza mdon tesszk. A teljes ismeret tadsnak az
rdekben mondattpusainkat logikusan kapcsoljuk egymshoz.
Ez a tny arra int bennnket, hogy az adatmodell tekintetben sem szabad megllnunk az
egyedek s a tulajdonsgok viszonyainak a vizsglatnl. Az egyedek kztti sszefggsekre is
figyelnnk kell, vagyis meg kell hatroznunk az egyedek kapcsolatainak a rendjt.

D 6/2 Az egyed kapcsolatainak az egyttest az egyed kls szerkezetnek hvjuk.

A fentiekbl lthat, hogy az adatmodell hiperstruktra, vagyis szerkezetek szerkezete: az


egyedek bels s kls felptsnek a szervezett egyttese. Ksbb majd kimutatjuk, hogy az
egyed bels s kls szerkezete klcsnsen egymson alapul. Ennek az sszefggsnek a
feltrshoz elszr az egyedek bels szerkezett kell alaposabban megismernnk.

72
6.3 A tulajdonsgok alapvet szerepei

Hasonltsuk ssze a kvetkez kt kittelt formai s tartalmi szempontbl, majd vizsgljuk


meg bennk az egyes mondatrszek feladatt!

6.3 plda

Az X rendszm kocsi szne fehr.


Fehr az X rendszm kocsi szne.

A kt mondatban ms a szrend (forma). A mindennapi kzlsekben a szrend hangslyozsi


clokat szolgl, de ez az aspektus egyelre kvl esik rdekldsi krnkn. Ezrt elmondhatjuk,
hogy a kt kijelents azonos ismeretet kzvett (tartalom). A mondatokban van alany s lltmny
(mondatrszek). Ezek mondaton belli helye, amint ltjuk, nem befolysolja a tulajdonkppeni
ismerettartalmat.
Most pedig trjnk t az adatmodellre! Mondanivalnk szemlltetshez a korbbi 5.5 brt
hasznljuk fel. Lsd a 6.1 brt.
A plda szerint a KOCSI egyed bels szerkezett a Rendszm-Szn-Tpuskd-Tulajkd
tulajdonsgsor alkotja. A 6.3 plda rtelmben a tulajdonsgok egyeden belli sorrendje k-
zmbs, s ezrt pldul a Szn-Rendszm-Tulajkd-Tpuskd tulajdonsgsort az elzvel azo-
nosnak kell tekinteni a fogalmi modellezs szintjn. Br a sorrendet tetszlegesen hatrozhatjuk
meg, egyfle sorrendet le kell rgztennk, hogy a tulajdonsgrtkeket a megfelel tulajdonsg-
tpusokhoz tudjuk rendelni (v. adatszer adatkezels).

KOCSI TULAJDONOS

Rendszm Szn Tpuskd Tulajkd Tulajkd Tulajnv Tulajcm


X Fehr T1 T1 T1 Rzsa C1
Y Zld T1 T2 T2 Gabi C2
Z Fehr T2 T3 T3 Lajos C3
Q Piros T3 T1
W Piros T2 ?

KOCSITPUS

Tpuskd Tpusnv Frhely Fogyaszts Djttel


T1 Lada 5 A II
T2 Polski 4 B I
T3 BMW 5 C IV
6.1 bra: Mintaadatbzisunk

Mivel a sorrend lnyegtelen, a tulajdonsgoknak nem az egyeden belli helyre, hanem az


ismeretkzlsben elltott funkcijra kell gyelnnk (v. mondatrszek). A tulajdonsgnak a
bels egyedszerkezeten belli feladatt a tulajdonsg szerepnek nevezzk. Az alany s az llt-
mny termszetes mondatbeli funkcijnak megfelelen ktfle szereprl beszlhetnk.

73
Felttelezsnk szerint a Rendszm tulajdonsg rtkei a szbanforg gpkocsikat egyrtel-
men elklntik egymstl. Az ilyen hivatkozsi feladatra kpes ttelt, amely minden egyedel-
fordulsra eltr rtket vesz fel (X, Y stb.) s gy az egyedelfordulsokat mintegy helyette-
sti, az egyedtpus azonost szerep (v. D 4/5) tulajdonsgnak nevezzk. Az azonostt ms
nven elsdleges kulcsnak (angolul: primary key) is hvjuk, br a kulcs kifejezs nem ppen
fogalmi szint megjells.
Formai megegyezsnk (konvencink) szerint az azonostt kvr dlt szedettel mutatjuk.
ltalnos szoksknt - ez nem szigor elrs - az azonostt a tulajdonsgsor elejre helyezzk.
Ez megfelel annak a mindennapos gyakorlatnak, hogy ltalban az alannyal kezdjk a mondatot.
(N.B.: Az itt elmondottakkal szemben a fizikai adatszerkezetben nem kzmbs az adatttelek
sorrendje s abban az azonostt szinte mindig a tulajdonsgsor els tagjaknt clszer felvenni.)
A korbbiakban utaltunk arra, hogy az adatszerkezet mindig bizonyos korltokat is hordoz
magban (v. 5.4 pont). Ezek a megktsek a szbanforg adatmodellezsi koncepci sajtjai, gy
teht ms-ms korltokat tmasztanak az eltr adatbzisfilozfik. A ma ltalnosan elterjedt
nzetek szerint az azonost tulajdonsgra a kvetkez felttelek vonatkoznak:

K1 Minden egyednek kell, hogy legyen azonostja.


K2 Az azonost rtke egyetlen egyedelfordulsban sem lehet res/ismeretlen.
K3 Minden egyednek csak egy azonost tulajdonsga lehet.
K4 Ugyanaz a tulajdonsg csak egyetlen egyednek lehet az azonostja.

Hangslyozzuk, hogy a felsorolt korltok a fogalmi szint adatmodellezs megktsei; a


logikai s fizikai adatszerkezet szintjn nem kell felttlenl rvnyeslnik. Az els kt kittel
voltakppen azt mondja ki, hogy minden egyedelfordulst meg kell tudni klnbztetni egy-
mstl. A K2 korlt valjban nmagtl rtetd, hiszen az azonost meghatrozsbl egyene-
sen kvetkezik. A K3-K4 megkts az egyedtpusok s az azonost tulajdonsgtpusok klcsns
s egyrtelm megfeleltetsnek a szablyt rgzti. A tbbszrssg (redundancia) s a kvet-
kezetlensg (inkonzisztencia) elkerlsnek az rdekben a vals jelensgek egyszeres s
ellentmondsmentes tkrzst szolglja.
Most pedig trjnk t a msik alapvet szerepre. Az X s a Z kocsi szne fehr, a Q s
a W kocsi szne piros. Teht a KOCSI egyed Szn tulajdonsga tbb egyedelfordulsban is
azonos rtk lehet. Azokat a tteleket, amelyeknek az rtke az egyedelfordulsokra nzve nem
egyedi, ler szerep tulajdonsgoknak hvjuk. Minden egyedhez tetszleges szm ler tulaj-
donsg kthet. A lerk sorrendje a fogalmi modellezs szintjn teljesen kzmbs. (N.B.: A
fizikai adatszerkezet szintjn ezt a sorrendet is meg kell fontolni.) A ler tulajdonsg rtke res
vagy ismeretlen is lehet. Pldnkban, els megkzeltsben, a Tpuskd s a Tulajkd tulajdonsg
ugyancsak ler. Az utbbi rtke a W egyedelfordulsban ismeretlen.
sszegezzk az eddig elmondottakat: Az egyedtpus bels szerkezete nem homogn. A
termszetes mondatokban megklnbztetjk az alanyt illetve az lltmnyt s egy mondaton
bell lehet tbb lltmnyunk is (v. a 6.1 plda els mondatval). Ugyangy az egyed tulajdon-
sgsorban klnbsget tesznk azonost s ler szerep tulajdonsgok kztt. Az egyednek
mindig van azonostja, csak egy azonostja van, viszont lehet tbb lerja is.

6.4 Abszolt s relatv szerep

A 6.1 bra alapjn knnyen meg tudjuk hatrozni az X rendszm kocsi tulajdonosnak a
cmt. Ehhez a Tulajkd rtkt hasznljuk fel. Megllaptjuk, hogy a ttel tartalma a KOCSI
egyed X sorban T1. Most tlpnk a TULAJDONOS egyedbe. Kivlasztjuk azt a sort,

74
amelyben a Tulajkd rtke szintn T1. Kikeressk az adott sorban a Tulajcm tartalmt. Most
mr tudjuk, hogy a vonatkoz kocsi tulajdonosnak a cme C1.
Az elz bekezdsben utnoztuk az adatbziskezel mkdst. Kpzeletbeli kezelnkkel
hasonl mdon tudnnk kielgteni a fordtott irny krdseket is. Pldul kikereshetnnk azt,
hogy milyen rendszm kocsik vannak Rzsa birtokban. Ennl a feladatnl is arra a tnyre
alapozunk, hogy adatbzisunkban a KOCSI s a TULAJDONOS egyednek van olyan kzs
tulajdonsga (Tulajkd), amely a kt egyed elfordulsaiban azonos rtket (T1) vesz fel.
Az elz kt feladatot azrt tudtuk knnyen megoldani, mert mr az adatbzis felptsnl
gondoskodtunk arrl, hogy a kocsik s a tulajdonosok adatai kztt tmenetet biztostsunk a
Tulajkd ttelen keresztl. Azonban az adatbzisok kialaktsnl aligha tudunk elre megfontol-
ni minden lehetsges krdsvltozatot. Mg szerencse, hogy erre nincs is szksg. Az adatbzist a
krdsek ismeretnek a hinyban is tkletesen meg tudjuk szerkeszteni. Ehhez csak az egyedek
kls szerkezetnek a termszett kell ismernnk.
Bizonyra mr eddig is feltnt, hogy a Tulajkd egyszerre kt funkcit lt el. A KOCSI
egyedben ler, a TULAJDONOS-ban viszont azonost szerep. Most vessk ssze a kocsik
Tulajkd s Szn tulajdonsgt! Eddigi ismereteink szerint mindkt ttel ler, mde a Tulajkd
ttelnek a Sznnel szemben egyb feladata is van. A Szn rtkei nem vezetnek bennnket sehov,
mg a Tulajkd rtkei alapjn kzlekedni tudunk a KOCSI s a TULAJDONOS egyed kztt.
Az olyan tulajdonsgot, amely az egyik egyedben azonost, a msikban ler feladatot tlt
be, az utbbi egyedben kapcsol szerep tulajdonsgnak nevezzk. Az ilyen ttelt kls vagy
idegen kulcsnak (angolul: foreign key) is hvjuk, mert az adott egyedben nem elsdleges kulcs,
de valamelyik msik egyedben az. A kapcsol tulajdonsgokat brinkon dltbetvel mutatjuk.
Most mr rszben rthet az a fentebbi kittel, amely szerint a Tulajkd a KOCSI egyedben
els megkzeltsben ler szerep. Hiszen ez a tulajdonsg a valsgban, a msodik meg-
kzeltsben kapcsol. Mindez nem puszta jtk a szavakkal. A Szn ttel ma ler. Ha holnap
ltrehozunk egy SZN nev egyedet, amelynek kulcsa a Szn tulajdonsg, akkor ennek szerepe a
KOCSI egyedben kapcsolv vlik. Megfordtva: Ha megszntetjk a TULAJDONOS egyedet,
akkor a Tulajkd szerepe a KOCSI-ban lerv minsl vissza.
A fentiekbl kitnik, hogy a szerepek nem azonos fontossgak. Az adatmodell tervezsekor
gondolnunk kell arra, hogy az azonostk nemcsak ezt a funkcit ltjk el, hanem az egyedek
kztti tmenet eszkzei is. Ha a ler tulajdonsgokat megszntetjk vagy sajtossgaikat
mdostjuk, akkor ez a beavatkozs csak az rintett egyed adott tulajdonsgt kezel programokra
lesz kihatssal. Ezzel szemben ha azonost tulajdonsgot szmolunk fel vagy vltoztatunk, akkor
megsznnek illetve mdosulnak az egyedek kztti viszonyok is. Ezrt nemcsak az azonostt
kezel, hanem minden olyan programot t kell rni, amely kapcsolknt hasznlja a krdses
tulajdonsgot.
Ezrt az adatmodell szilrdsgnak az rdekben meg kell klnbztetnnk a tulajdonsgok
szerepeinek a minsgt:

D 6/3 A tulajdonsgnak az egyeden bell elltott funkcijt relatv szerepnek, legfonto-


sabb relatv feladatt pedig abszolt szerepnek nevezzk.

A Szn tulajdonsg relatv szerepe a KOCSI egyeden bell ler. Mivel ez a tulajdonsg a
modellben msutt nem fordul el, az egyetlen szerepe egyben a legfontosabb is. Teht a Szn
abszolt szerepe is ler. Ezzel szemben a Tulajkd ttelnek kt relatv szerepe van. A TULAJ-
DONOS egyedben azonost, a KOCSI egyedben kapcsol. A fontosabb szerep az azonost, s
ezrt a Tulajkd abszolt szerepe is az. A Szn abszolt lerval brmit tehetnk. Viszont a Tulaj-
kd abszolt azonost brmilyen megbolygatsa az adatbzis komoly talaktst s a programok
tekintlyes mdostst vonja maga utn.

75
A kapcsol relatv szerep tulajdonsgok fejezik ki az egyedek kztti viszonyokat. Teht
korbbi sejtsnknek megfelelen az egyedek bels s kls szerkezete szorosan sszefgg. Az
adatmodell hrom tnyezje egymsba fondik, amit jl mutat a kvetkez (korltjelleg) meg-
hatrozs is:

D 6/4 Kt egyed akkor s csak akkor ll kapcsolatban egymssal, ha az egyik kapcsol


szerep tulajdonsgknt tartalmazza a msik azonost szerep tulajdonsgt.

Ezt a defincit a kvetkez fejezetben majd mdostani - pontostani - fogjuk. Most arra
hvjuk fel a figyelmet, hogy az egyed bels s kls szerkezete klcsns viszonyban ll
egymssal. Nem mondhatjuk, hogy a bels szerkezet hatrozza meg a klst, mert sokszor ppen
a kls szerkezet elemzse vezet a bels talaktsra. Az adatbzisalkotk nha elfeledkeznek
errl a fontos tnyrl. Egy pldval vilgtjuk meg tvedsket.
Ttelezzk fel, hogy a tervez elfelejtette betenni a Tulajkd tulajdonsgot a KOCSI egyed
tulajdonsgsorba! Ha tudatos modellez, akkor az egyed kls viszonyainak az elemzsnl
rdbben, hogy a kocsik tulajdonosokhoz tartoznak. Kvetkezskppen a kt egyed kztt
kapcsolatot kell teremteni. Ezt gy tesszk, hogy az egyik egyed azonostjt kapcsolknt a
msik egyed tulajdonsgsorba illesztjk. Teht a KOCSI egyed bels szerkezett a kls
szerkezetnek megfelelen a Tulajkd ttellel bvtjk.
Lm, a fentebb ktellyel fogadott kittelt mris igazoltuk. Korbban azt mondtuk, hogy nem
kell elre ismerni minden lehetsges krdst az adatbzis helyes felptshez. Ez gy is igaz. Ha
megtalljuk a jelensgek vals sszefggseit, akkor azokat konkrt krdsek nlkl is kifejezhet-
jk az adatmodellben. A nem-vals viszonyok pedig sohasem lesznek kezelhetk. Erre a krdsre
majd a 6.6 pontban trnk vissza. Most meg kell fogalmaznunk egy korltot:

K5 Az adatmodellben kell, hogy legyen kapcsol tulajdonsg.

Ez a korlt axiomatikus, mert az adatbzis s a kapcsolat defincijbl kvetkezik. Ugyanis


nem tekintjk adatbzisnak az olyan adatok halmazt, amelyen nem tudunk meghatrozni
legalbb kt olyan egyedtpust, amely egymssal kapcsolattpust ltest a kapcsol tulajdonsg-
tpuson keresztl. Ha van KOCSI s TULAJDONOS llomnyunk, de a kocsik nem kthetk a
tulajdonosokhoz s fordtva, akkor a kt llomny egytt nem tekinthet adatbzisnak.

6.5 Hierarchikus inhomogn kapcsolatok

Mint a ksbbiekben ltni fogjuk, az egyedviszonyoknak szmos vlfaja van. Ezek kzl a
legegyszerbbek s egyben leggyakoribbak a hierarchikus inhomogn kapcsolatok.
Az inhomogn (kln nem) jelz knnyebben rthet. A 6.1 bra alapjn kt kapcsolatot
tudunk meghatrozni. A TULAJDONOS - KOCSI s a KOCSITPUS - KOCSI viszonyokrl van
sz. (N.B.: A kapcsolatokat gy fogjuk jellni, hogy ktjellel fzzk ssze a kapcsolt egyedek
neveit. Ez a konvenci csak a jelenlegi ismertetsben rvnyes. Egybknt a kapcsolatoknak
brmilyen nevet lehet adni.) A kt viszonyban klnnem dolgokat hozunk sszefggsbe: a
kocsikat a tulajdonosaikhoz s tpusaikhoz rendeljk.
A hierarchikus megjells kapcsn mr tbb sajtossgra kell rmutatnunk. Ilyen viszony-
rl akkor beszlnk, amikor az egyik egyedtpus egy-egy elfordulshoz a msik egyedtpusnak
tbb elfordulsa tartozhat, de ez fordtva nem igaz. A hierarchikus jelz egyszerre fejez ki

76
mennyisget s minsget. Az egyik egyed 1 elfordulshoz a msik egyed tbb, N elfordulsa
ktdhet, s emiatt az ilyen kapcsolatokat 1:N foknak (egy-az-enes-nek) is nevezzk. Azt az
egyedet, amelyben a kapcsolatot kifejez kzs tulajdonsg azonost szerep flrendeltnek, azt,
amelyben kapcsol szerep alrendeltnek hvjuk. Vgl az ilyen sszefggsre sokszor
hasznljuk a birtoklsi (angolul: has a) megjellst is.
Pldnk felttelezse szerint egy tulajdonoshoz tbb kocsi tartozhat, de egy kocsinak csak egy
tulajdonosa lehet. Teht ez a viszony ktsgtelenl 1:N fok. A kapcsolatban a TULAJDONOS
egyed a flrendelt, a KOCSI az alrendelt. (N.B.: A kapcsolat megnevezsben a flrendelt
egyed nevt szoks elre helyezni, gy: TULAJDONOS - KOCSI.) Ebben a pldban mg a
birtoklsi megjells is rthet, hiszen a tulajdonos birtokolja a kocsit. A KOCSITPUS - KOCSI
viszonnyal kapcsolatosan a fenti kitteleket megismtelhetnnk. Ez az sszefggs is hierarchi-
kus. Legfeljebb azt furcslljuk, hogy mirt birtokolja a kocsitpus a kocsit. Azonban ezzel a
szakzsargonnal ki kell bklnnk.
A kapcsolat fokra mg vissza kell trnnk. A fok nem ktelez, hanem megenged korlt a
viszony mindkt irnyt tekintve. Az egy tulajdonoshoz tbb kocsi tartozhat kittel nem jelenti
azt, hogy minden tulajdonosnak kell, hogy legyen kocsija. Az N rtke 0,1 ... X lehet. Ez azt
jelenti, hogy az adatbzisban nyilvntarthatunk olyan tulajdonosokat is, akik idlegesen nem
rendelkeznek kocsival. (Ha viszont az adatbzisban sohasem lehet olyan tulajdonos, akinek a
birtokban egynl tbb kocsi van, akkor nyilvnvalan rtelmetlensg 1:N fok - az N lehet
egynl tbb is - kapcsolatrl beszlni.)
A fokot a fordtott irnybl is nzhetjk. A minden kocsit csak egy tulajdonos birtokolhat
kijelents gyakorlatilag s ebben a pldban valban gy is rtend, mert nincs kocsi tulajdonos
nlkl. ltalnosan s elvileg az 1 valjban 0 vagy 1 rtket jelent. Ezt a kittelt a plda
kibvtsbl rthetjk meg. A kocsik adott biztostnl kttt CASCO ktvnyrl van sz. A
BIZTOST - KOCSI viszony hierarchikus, mert egy trsasgnl tbb kocsit biztostanak, de egy
kocsinak legfeljebb egy CASCO ktvnye lehet. Viszont vannak olyan jrmvek is, amelyekre
nem ktttek CASCO-t. Teht ezekhez 0 biztost tartozik.
A fentiek szerint a viszony foka nem tvesztend ssze az n. opcionalitssal. A kapcsolat
mindig ktirny sszefggs, ezrt az opcionalitst is kt oldalrl kell meghatrozni. A viszony
fllrl (a flrendelt fell) s alulrl (az alrendelttl nzve) opcionlis vagy ktelez lehet.
Minden kocsinak van tulajdonosa (alulrl ktelez), de nem mindegyiknek van CASCO-ja
(alulrl opcionlis). Csak olyan kocsitpus ismereteit vezetjk, amelyhez konkrt kocsi tartozik
(fllrl ktelez), ezzel szemben azoknak a tulajdonosoknak az adatait is kezeljk, akiknek
nincs jelenleg kocsijuk (fllrl opcionlis).
Az opcionalits az adatmodell kapcsolati tnyezjnek olyan szerkezeti jellemzje, amely
egyben sajtos modellkorltknt is szolgl. A 6.1 bra pldjnak a tervezje erre a tnyre nem
figyelt, hiszen a W rendszm kocsi tulajdonost nem ismerjk. A tervez elfelejtette, hogy az
opcionalits a majdani tnyleges adatkezelssel fgg ssze. Ha a kapcsolat ktelez, akkor nem
illeszthet az adatbzisba olyan kocsi (bevitel), amelyben a Tulajkd rtke ismeretlen vagy nem
felel meg egy tulajdonos egyedelforduls Tulajkd rtknek. Ha a kapcsolat ktelez s
kivesszk az adatbzisbl a T1 tulajdonost, akkor meg kell szntetnnk minden olyan KOCSI
egyedelfordulst is, amelyben a Tulajkd rtke szintn T1 (trls). Vgl a ktelez kapcso-
latot hordoz tulajdonsg rtke nem vltoztathat resre (mdosts).

77
Tulajkd

TULAJDONOS

TULAJDONOS - KOCSI

Rendszm

KOCSI

Tulajkd
6.2 bra: Hierarchikus inhomogn kapcsolat

A hierarchikus inhomogn kapcsolat ltalnos modelljt a 6.2 bra mutatja. A kt egyed-


tpust jelkpez dobozt sszekt vonal tkrzi magt a kapcsolattpust. A vonal egyik vgn van
csak varjlb - innen tudjuk, hogy a kapcsolat 1:N fok. A viszony opcionalitst folyamatos
illetve szaggatott vonallal mutatjuk. A folyamatos oldalon a kapcsolat ktelez (minden kocsinak
van tulajdonosa), a szaggatott oldalon opcionlis (nyilvntarthatunk olyan tulajdonost is, akihez
nem tartozik aktulisan ismert konkrt kocsi). Az ltalunk alkalmazott konvenciban (ld. 5.8
pont) az azonost tulajdonsg neve az egyed fltt, a kapcsol az alatt szerepel. gy a kapcsolat
vonalt kvetve egyrtelmen megllapthatjuk, hogy melyik tulajdonsg hordozza a viszonyt s
modellnk teljes-e. Egyszeren nem feledkezhetnk meg arrl, hogy a KOCSI egyedben fel kell
tntetni a Tulajkd tulajdonsgot.

6.6 Hls egyedviszonyok - 1

Egy gondolatksrlettel folytatjuk az adatmodell szerkezetnek a megvilgtst. Mi lenne, ha


a kocsik adataira egyltaln nem lennnk kvncsiak s csak azt akarnnk megtudni, hogy a
tulajdonosok milyen tpus kocsikat birtokolnak illetve megfordtva, adott tpus kocsik milyen
tulajdonosoknak a birtokban vannak? Mikppen kellene talaktani a 6.1 bra adatbzisnak a
szerkezett?
A dolgok termszete szerint egy tulajdonosnak klnbz tpus kocsijai lehetnek, mint
pldul Rzsnak. Megfordtva: egy kocsitpus tbb tulajdonoshoz kapcsoldhat, hiszen tbbek-
nek lehet pldul Lada kocsijuk. Szmszeren fogalmazva: a TULAJDONOS s a KOCSITPUS
egyed viszonya mindkt oldalrl nzve 1:N fok. Mivel nem valszn, hogy az N mrtke a
kt irnyban azonos, az ilyen sszefggseket M:N fok viszonyoknak nevezzk. Mg vletlenl
sem hvjuk ket kapcsolatoknak, mert ezt a fogalmat az 1:N fok viszonyok megjellsre

78
tartottuk fenn. Az em-az-ennes viszonyokban nem lteznek fl- s alrendeltek. Az sszefon-
dsok tbbszrsek. Ezrt az ilyen sszefggseket hls viszonyoknak hvjuk.
A krds az, hogy az adatmodellben milyen tnyezre alapozzuk az ilyen viszonyt? A
hierarchikus viszonyoknl (pl. TULAJDONOS - KOCSI) a kzs tulajdonsg (Tulajkd)
testestette meg a kapcsolatot. Vajon mkdik-e ez a megolds a hls viszonyok esetben is? Mi
lenne, ha pldul a TULAJDONOS egyedbe felvennnk a Tpuskd tulajdonsgot azrt, hogy
kikereshessk a tulajdonosok ltal birtokolt kocsitpusokat?
Ez a megolds elmletileg hibs s gyakorlati megvalstsa is nehzsgekbe tkzik. Elvileg
rossz, mert felvetdik a krds, hogy mirt a TULAJDONOS egyedhez ktjk a Tpuskd tulaj-
donsgot s mirt nem a KOCSITPUS egyedhez a Tulajkd ttelt? Brmelyik megoldst is
vlasztjuk, az adatkezels eltletes (angolul: biased) lesz, azaz az egyik irny kezelst a
msik rovsra kedvezmnyezi. Vagy a tulajdonosok kocsitpusait, vagy a kocsitpusok tulaj-
donosait tudjuk hatkonyan kikeresni; a msik irny keress csorbt szenved. Ha viszont mind-
kt megoldst alkalmazzuk, akkor az nyilvnval redundancira vezet, mert ktszer tkrzzk
azt az egyszeres tnyt, hogy a tulajdonos adott tpus kocsival rendelkezik.
A gyakorlati gondot a szmok okozzk. Mivel egy tulajdonosnak klnbz tpus kocsijai
lehetnek, a Tpuskd tulajdonsg ugyanarra az egyedelfordulsra tbb rtket vehetne fel, amint
azt a 6.3 bra mutatja.

TULAJDONOS

Tulajkd Tulajnv Tulajcm Tpuskd


T1 Rzsa C1 T1
T3
T2 Gabi C2 T1
T3 Lajos C3 T2
6.3 bra: Ismtld rtket tartalmaz egyed

D 6/5 Azokat a tulajdonsgokat, amelyek egy egyedelfordulsra tbb rtkkel is rendel-


kezhetnek, ismtld tulajdonsgoknak hvjuk.

A bajt a tbb okozza, mert tbb-knt a maximumot kell megadni. Ez pedig pazarlsra
vezet. Annl a tulajdonosnl, akinek csak egy kocsija van, a msodik s a tovbbi ismtls
tartalma res lesz. Az adat feleslegesen foglal trolhelyet s nveli a feldolgozsi idt. (N.B.:
Egyes szoftverekrl azt lltjk, hogy az res adat nem ignyel trt s nem befolysolja a kezels
idtartalmt. Ez egsz egyszeren ltats.) Radsul ha a maximumot albecsltk, akkor az
adatbzis tszervezsre lesz szksg. Tegyk mindehhez, hogy egyes rendszerek egyltaln nem
tudjk kezelni az ismtld adatokat. Olyan pedig vgleg nincs, amely az ismtlds szlssges
rtkeivel megbirkzna. Pldul azzal a konkrt problmval, hogy csak egy tulajdonosnak van
Lamborghini kocsija, mg pr szzezernek Ladja. Mikppen lehetne gy a Tulajkd adatot
felvenni a KOCSITPUS egyedbe?
Az ismtld tulajdonsg (angolul: repeating attribute) ltal okozott elmleti s gyakorlati
problmk miatt fogalmazzuk meg a kvetkez korltot:

K6 Az egyedekben nem szerepelhetnek ismtld tulajdonsgok.

Most taln mr rthet, hogy a jelensgek kztti M:N fok viszonyokat mirt nem nevezzk
kapcsolatoknak. Az ilyen sszefggsek nem fejezhetk ki kzs tulajdonsg segtsgvel. Ms
megoldshoz kell folyamodnunk. Egszen kzenfekvnek tnik pldul egy jabb egyed alkalma-
zsa a 6.4 brnak megfelel mdon.

79
A 6.4 bra BIRTOKOLJA egyede remekl megoldja kapcsolsi gondjainkat. A KOCSI-
TPUS fell indulva a Tpuskd segtsgvel kikeressk a megfelel BIRTOKOLJA elfordulst.
Megllaptjuk a Tulajkd rtkt, amelynek alapjn kikereshetjk a vonatkoz TULAJDONOS
elfordulst. Analg mdon tudjuk kikeresni a bennnket rdekl tulajdonos kocsitpusainak az
adatait. Teht ez az adatmodell egyenslyos, nem eltletes. Nincs gondunk az ismtld rtkek
darabszmnak a megllaptsval sem. A BIRTOKOLJA egyednek tetszleges szm elfordu-
lsa lehet, abban csak a tnyleges sszefggseket rizzk s az res rtkek nem foglalnak
helyet. Vgl a 6.4 bra modellje minden normlis rendszerrel kezelhet.

KOCSI- TULAJDONOS
TPUS

Tpuskd Tpusnv Frhely Fogyaszts Djttel Tulajkd Tulajnv Tulajcm


T1 Lada 5 A II T1 Rzsa C1
T2 Polski 4 B I T2 Gabi C2
T3 BMW 5 C IV T3 Lajos C3

BIRTOKOLJA

Tpuskd Tulajkd
T1 T1
T1 T2
T2 T3
T3 T1

6.4 bra: Az ismtlds feloldsa j egyedtpussal

A 6.5 bra mutatja az M:N fok viszonyok clszer modellezst. Amint ltjuk, az em-az-
ennes viszonyt egy harmadik egyed kzbeiktatsval kt 1:N fok kapcsolattal valstottuk meg.
Ez a vgs s helyes megolds.

Tpuskd Tulajdonoskd

KOCSITPUS TULAJDONOS

Rendszm

KOCSI
KOCSITPUS - KOCSI TULAJDONOS - KOCSI
Tpuskd
Tulajdonoskd
6.5 bra: Hls egyedviszony

A fentiekbl azt a kvetkeztetst vonhatjuk le, hogy az adatmodellben lv egyedek kztt


ktfle viszony ltezhet. Vannak tulajdonsgon alapul kzvetlen kapcsolatok s vannak harma-
dik egyeden keresztl megvalsul kzvetett viszonyok. Teht amennyiben kt egyed M:N fok
viszonyban ll s sszefggsket ki akarjuk fejezni, akkor esetleg egy tovbbi egyedet kell

80
meghatroznunk. Azrt esetleg, mert ha mr ltezik a kt egyed viszonyt megteremt
harmadik egyednk - mint esetnkben a KOCSI -, akkor persze az j tnyez felesleges.
Azonban az olvasban nyilvn felmerl a krds, hogy amennyiben a fogalmi adatmodell
hls viszonyt nem tartalmazhat, gy mirt beszlnk egyltaln errl a tnyezrl? s miknt
brzolnnk - ha szabadna - az em-az-ennes sszefggseket?

Tpuskd Tulajdonoskd

KOCSITPUS TULAJDONOS

6.6 bra: A hls viszony brzolsa

A vgs adatmodellben nem szerepelhet hls viszony. Azonban az elzetes adatmodell-


vzlatokban mg nem ismerhetjk minden tnyez pontos sszefggst. Azt viszont tudhatjuk,
hogy kt egyedtpusnak majd kapcsolatban kell llnia egymssal. Az elzetes modellben ezt gy
fejezzk ki, hogy mindkt irnyban varjlbas vonallal ktjk ssze a kt egyedet reprezentl
dobozokat (ld. 6.6 bra). Vegyk szre, hogy ilyenkor nincs lehetsg a kapcsol tulajdonsgtpus
feltntetsre, azaz brmelyik egyed azonostjnak a msik egyedben lerknt val megismt-
lsre. Ez logikus is, hiszen a hls viszonyokat nem tulajdonsgtpus, hanem kln egyedtpus
reprezentlja (ld. 6.5 bra) a vgs adatmodellben.

6.7 Hls egyedviszonyok - 2

Az egymssal M:N-es sszefggsben ll egyedek az elz pontban elmondottak szerint


sohasem hozhatk kzvetlen kapcsolatba. Mindig kzvetett, harmadik egyeden keresztl
rvnyestett viszony testesti meg az ilyen egyedek kapcsoldst.
Ennek a kittelnek ellentmondani ltszik a relcis adatkezelk azon kpessge, amely
szerint az egymssal M:N fok elvi viszonyban lv egyedeken is vgre lehet hajtani az
sszekapcsols (angolul: join) mvelett. Ennek lnyegt a 6.7 bra szemllteti. A mvelet sorn
az egyik egyed (DOLGOZ) sorait egyenknt kiegsztjk a msik egyed (GP) azon sorval
vagy soraival, amelyben a kzs tulajdonsg (Kltsghelykd) azonos rtket (pl. K1) vesz fel.
Termszetesen a kzs tulajdonsgot az eredmny-egyedben csak egyszer szerepeltetjk.

DOLGOZ GP

Trzsszm Kltsghelykd Gpazonost Kltsghelykd


T1 K1 G1 K1
T2 K2 G2 K1
G3 K2
G4 K2
G5 K1
6.7 bra: 1. rsz. Kt hls viszony egyedtpus

81
DOLGOZ/GP

Trzsszm Gpazonost Kltsghelykd


T1 G1 K1
T1 G2 K1
T1 G5 K1
T2 G3 K2
T2 G4 K2
6.7 bra: 2. rsz. Az sszekapcsols eredmnye

A T1 trzsszm dolgoznl a kltsghely rtke K1. Ezrt a T1-... rtksort kieg-


sztettk a gp egyed minden olyan elfordulsnak az adataival, amelyben a kltsghely rtke
szintn K1. Ugyangy jrunk el a DOLGOZ tbbi sorval. Vilgos, hogy az eredmny, a
DOLGOZ/GP egyed nem rsze a valdi adatbzisnak. Annak tartalma ugyanis teljes
egszben megtallhat a msik kt egyedben.
Az sszekapcsols ltszlag kitnen sikerlt. Ltszlag. m aki az sszekapcsols ilyen
mdjt is megengedi, az csak a mennyisgekkel van elfoglalva, a minsgekkel nem trdik.
Ktsgtelen, hogy mennyisgileg - kombinatorikusan - semmi akadlya sincs annak, hogy a
dolgozk s a gpek adatait a Kltsghelykd kzs rtkei alapjn egymshoz kssk. Azonban
minsgileg az ilyen kapcsols megengedhetetlen, mert flrevezet, hamis ismereteket eredm-
nyez. Sajnlattal kell ugyanis kzlnnk, hogy a T1 dolgoznak semmi kze sincs a G2
gphez, a T2 dolgoz pedig az letben nem ltta a G3 gpet. Mrpedig az eredmnyegyed
sszefggseket sejtet a megjellt jelensgprosok kztt.
A plda kapcsn levonhatunk egy ltalnos, korltszer kvetkeztetst. Kt egyed kzs ler
szerep tulajdonsgra alapozva sohasem hatrozhatunk meg egyedviszonyt. A Kltsghelykd
rvn a DOLGOZ s a GP egyed nem kapcsolhat egymshoz.
Ha s amennyiben valban kvncsiak vagyunk a dolgozk s a gpek tnyleges viszonyaira,
akkor adatmodellnket t kell alaktanunk. A helyes megoldst a 6.8 bra mutatja.

DOLGOZ GP

Trzsszm Kltsghelykd Gpazonost Kltsghelykd


T1 K1 G1 K1
T2 K2 G2 K1
G3 K2
G4 K2
G5 K1
6.8 bra: 1. rsz. Az eredeti kt hls viszony egyedtpus

HASZNLJA

Trzsszm Gpazonost ... Mszak


T1 G1 M1
T1 G5 M3
T2 G4 M2
6.8 bra: 2. rsz. Az eredeti kt egyedtpus korrekt sszekapcsolsa

82
Szemben a fenti lmegoldssal, most mr tnyleg h kpet nyertnk a dolgok valdi ssze-
fggseirl. Mi tbb, a DOLGOZ s a GP M:N-es viszonyt megtestest HASZNLJA egyed
az eredetieken kvl tovbbi tulajdonsgokkal is lerhat (Mszak), ha erre szksg van. Ezrt a
kzvetett viszony bizonyos esetekben mg kedvezbb is, mint a kzvetlen. A kzvetett viszonyt
egyed valstja meg, teht lehet sajt tulajdonsga. A kzvetlen kapcsolatot pedig tulajdonsg
hordozza, s a tulajdonsgnak nem lehet tulajdonsga.

6.8 jabb tulajdonsg szerepek

A 6.4 bra BIRTOKOLJA s a 6.8 bra HASZNLJA egyedeinek a bels szerkezete eltr a
korbban, a 6.1 bra pldjban megszokott biztos, egyszer s ttekinthet struktrtl. Ott
vilgosan ki tudtuk jelenteni, hogy a KOCSI egyed Rendszm tulajdonsga azonost, Szn tulaj-
donsga ler, mg Tulajkd ttele els megkzeltsben ler, de vgl is kapcsol relatv
szerep. Viszont a HASZNLJA egyed esetben csak a Mszak tulajdonsgrl tudjuk, hogy ler.
Zavarban vagyunk az azonostsi s a kapcsolsi funkcit, valamint a msik kt tulajdonsg
relatv szerept illeten.
Az adatmodellezsi gyakorlatban sokszor alkalmazunk kt egyed kzt sszefggst teremt
n. viszonyegyedeket. Ilyenkor elfordul, hogy az egyednek nincs olyan tulajdonsga, amely be-
tlthetn az azonost szerepkrt. A K1 korlt viszont elrja szmunkra, hogy minden egyednek
kell, hogy legyen azonostja. Az ilyen esetekben a nyelvtani deszkriptv azonosts (ld. 3.6 pont)
mintjra igyeksznk megkeresni a tulajdonsgoknak azon kombincijt, amely minden
egyedelfordulsra nzve egyedi rtk.
A BIRTOKOLJA s a HASZNLJA egyedek esetben megtalltuk ezeket az egytteseket.
Az elbbiben a Tulajkd s a Tpuskd rtkeinek az sszefzsvel az egyedelfordulsokat
pontosan behatrol azonostrtkeket kaptunk. Mr csak az a krds, hogy akkor melyik
tulajdonsg a BIRTOKOLJA egyed azonost szerep ttele? A Tulajkd? A Tpuskd?
Mindkett?
Feledkezznk el a relcis adatkezelk egyik otromba megoldsrl! Az ilyen rendszerekben
mindkt tulajdonsgot elsdleges kulcsnak kell kijellni, ami tbbszrs elmleti hibt jelent.
Elszr: a Tulajkd nem lehet azonost, mert hiszen rtkei nem klnbzek az egyedel-
fordulsokra nzve. Msodszor: minden egyednek csak egy azonost tulajdonsga lehet. Har-
madszor: egyes relcis kezelkben felttelezik, hogy az ilyen mdon, a konkatenci rszeknt
azonost tulajdonsg mindig kapcsol. Ez pedig slyos elmleti s gyakorlati tveds. Igenis
ltezhetnek olyan azonostkombincik, amelyek valamelyik tagja nem mutat msik egyedre.
A fenti zrzavarral ellenttben a modellelmlet nagyon pontosan s tisztn hatrozza meg a
tnyezket. A tbb ttelbl ll tulajdonsgcsoportokat kezelni nem tud rendszerekkel szemben
elismeri az ilyen tnyezk jogosultsgt. Ennek megfelelen az azonostkat kt osztlyba sorolja.
Vannak elemi (angolul: elementary), azaz egyetlen tulajdonsgnak megfelel azonostk,
amilyen pldul a KOCSI egyed Rendszm ttele. Ezek mellett lteznek olyan sszetett kulcsnak
(angolul: compound vagy composite key) nevezett azonostk is, amelyek tbb tagbl llnak.
Az ilyen tulajdonsgokat az sszefztt ttelek neveinek az egyttesvel jelljk gy, hogy a
nevek kz + jelet tesznk. Teht a BIRTOKOLJA egyednek nem a Tulajkd s nem a Tpus-
kd, hanem a Tpuskd+Tulajkd sszetett tulajdonsg az azonostja. (N.B.: Az ilyen neveken
bell a tagok sorrendje kzmbs. Csak a papr termszete miatt knyszerlnk arra, hogy a kon-
katenlt tnyezk valamelyikt elre rjuk. Teht a Tpuskd+Tulajkd s a Tulajkd+Tpuskd
ugyanazt az sszetett kulcsot jelenti.)

83
A fentiek szerint a KOCSI azonost szerep tulajdonsga a Tpuskd+Tulajkd egyttese.
Az azonostt alkot tnyezket az ilyen esetekben, az els megkzeltsben, kulcsrsz (angolul:
key-part) relatv szerepeknek mondjuk. Teht a BIRTOKOLJA egyedben a Tpuskd s a
Tulajkd relatv szerepe kulcsrsz. Azonban szrevesszk, hogy mindkt tulajdonsg ms egyed
fel biztost kapcsolatot. Ennlfogva, msodik megkzeltsben, kapcsol relatv szerepet kellene
nekik tulajdontanunk. Ennek a kettssgnek a feloldsra az adatmodellezsben kt eszkznk is
van. Egyrszt emlkezznk vissza az abszolt szerepre. Mivel a Tulajkd abszolt szerepe azono-
st, mr tudhatjuk, hogy a BIRTOKOLJA egyedben kapcsolsi feladatot is ellt. Msrszt azrt,
hogy a szerepek megadsa ne legyen ilyen implicit, a szerepeket minstjk. A Tulajkd a KOCSI
egyedben lerknt-kapcsol, a BIRTOKOLJA egyedben kulcsrszknt-kapcsol. gy mr a kp
teljesen kerek s vilgos.
Nem bonyolult s felesleges az ilyen sokfle szerep alkalmazsa? Nos, egyrszt azrt mg
igen tvol llunk a bonyolultsgtl, mert egy adatbzis helyes felptse s mkdtetse rdekben
ezt a pr szerepet igazn megjegyezhetjk. Msrszt a megklnbztets egyltaln nem
felesleges. Ezt a kvetkez, axiomatikus (a K2 kittelbl kvetkez) korlt is mutatja:

K7 Az sszetett azonost rszei egyetlen egyedelfordulsra nzve sem lehetnek res


vagy ismeretlen rtkek.

Ebbl a megktsbl termszetesen kvetkezik egy tovbbi modellezsi sszefggs is. A 6.1
bra KOCSI egyedben a Tulajkd lerknt-kapcsol volt. rtke lehetett ismeretlen is. Ezrt
nem volt mdunk pontosan megllaptani, hogy a W rendszm kocsinak ki a tulajdonosa. A
6.4 bra BIRTOKOLJA egyedben a Tulajkd kulcsrszknt-kapcsol. rtke nem lehet ismeret-
len. ltalnosabban fogalmazva: a lerknt-kapcsol tulajdonsgokon alapul kapcsolatok
alulrl lehetnek opcionlisak is, viszont a kulcsrszknt-kapcsol ttelekre pl viszonyok alul-
rl mindig ktelezek.
Mr csak annyit kell megemltennk, hogy nha egy egyedet csak azrt hatrozunk meg az
adatmodellben, hogy kzvetett viszonyt teremtsnk kt msik egyed kztt. Lehet, hogy az ilyen
egyednek egyltaln nem lesz sajt ler tulajdonsga (ld. BIRTOKOLJA). Azokat az egyedeket,
amelyekben csak azonostrsz relatv szerep tulajdonsgok vannak, csupa-kulcs (angolul: all-
key) egyedeknek hvjuk. A gyakorlati tapasztalatok szerint ez a jelleg elbb-utbb elveszik, mert
tallunk valamilyen az egyedhez kapcsoland tbbletismeretet. Ez trtnt a HASZNLJA egyed
esetben.

6.9 A klcsns egyedviszony

Az eddigiekben a hierarchikus (1:N fok) kapcsolatrl s a hls (M:N fok) viszonyrl volt
sz. Most mr csak a klcsnsnek (angolul: mutual) nevezett egyedsszefggst, az 1:1 fok
viszonyt kell bemutatnunk. Feladatunk nem knny, mert az ilyen kapcsolds a gyakorlatban
meglehetsen ritka, de ugyanakkor sok elmleti fejtrst okoz.
Gondjaink megrtshez mdostsuk korbbi pldnkat. ljnk azzal a meglep felttele-
zssel, hogy minden tulajdonosnak legfeljebb csak egy kocsija lehet, mikzben tovbbra is igaz,
hogy minden kocsi csak egy tulajdonoshoz tartozhat. A krds az, hogy mikppen kapcsoldik
egymshoz az gy mdostott TULAJDONOS s KOCSI egyed? Milyen tnyezvel fejezzk ki a
viszonyukat? Hrom megolds knlkozik.
Nhny modellezsi koncepciban az 1:1 fok viszonyt gy, ahogy van, kizrjk. Tessk
sszevonni a kt egyed tulajdonsgait egyetlen egyedbe - hirdetik sokan. Gyakorlatilag - az albb

84
ismertetett gondok miatt - ez bizony vonz megoldsnak tnik. mde a kocsi s a tulajdonos
mgsem azonos lnyegek, ezrt ez az egyszer t elmletileg helytelen. Problmt jelent az is,
hogy ha a tulajdonosba tesszk a kocsi adatait vagy megfordtva, akkor kptelenek lesznk olyan
kocsit illetve tulajdonost nyilvntartani, amelynek nincs tulajdonosa illetve akinek nincs kocsija.
Teht az sszevonst csakis kt esetben rdemes alkalmazni. Elmletileg akkor, ha kt egyedet
hatroztunk meg, a kett lnyegben azonos jelensget tkrz s rjttnk indul tvedsnkre.
Gyakorlatilag esetleg akkor, ha egszen biztosak vagyunk abban, hogy a viszony mindkt
irnyban ktelez s a kvetkez megoldsok nem clszerek.
Vannak, akik azt javasoljk, hogy a fontosabb egyed azonostjt kapcsolknt tegyk a
msik egyedbe. Pldul a KOCSI tulajdonsgsort bvtsk a Tulajkd ttellel. Ez biztos tmene-
tet jelent a kt egyed kztt. Nincs gond a tbbszrs rtkekkel, mint az M:N fok viszonyoknl,
teht a kezelsi eltlet - a kocsi tulajdonost knnyebb kikeresni, mint a tulajdonos kocsijt -
nem jr komoly htrnnyal. A dolog veleje az, hogy a kt egyed kztt olyan mestersges fl-
alrendelt, 1:N fok kapcsolatot ltestnk, amelyben az alrendeltek szmt (N) eleve egyre (1)
korltozzuk. Ez a vltozat roppant gyakorlatias. Viszont elmletileg hibs, mert ebben a tekintet-
ben az adatmodellezs nem ismeri a fontosabb minsget.
A harmadik irnyzat szerint a KOCSI s a TULAJDONOS ppen gy mellrendelt
viszonyban ll, mintha sszefggsk hls termszet lenne. Az M:N-es kapcsoldsok esetben
kln egyedet szoktunk alkalmazni (v. HASZNLJA), amelynek mg az az elnye is megvan,
hogy kln ler tulajdonsgok kthetk hozz. A Vtel-dtuma tulajdonsg azt fejezn ki, hogy
milyen keltezssel kerlt a kocsi a tulajdonos birtokba. Ez az ismeret nem a tulajdonost s nem a
kocsit, hanem a kettjk viszonyt jellemzi. Ezrt elvileg az a helyes, ha a TULAJDONOS s a
KOCSI egyedet a TULAJDONA egyeddel kapcsoljuk ssze, ahhoz ktve a Vtel-dtuma tulaj-
donsgot.
Sajnos ez a megkzelts sem tkletes. Gyakorlatilag vgkppen nem az, mert megnveli az
elrst a tulajdonostl a kocsiig s megfordtva, hiszen egy kln egyedet kell kezelni, amely
kulcsnak a rszei, mint ismeretek, redundnsak s fogyasztjk a trat. Elmletileg pedig rkat
lehetne azon vitatkozni, hogy a Vtel-dtuma tnyleg a tulajdonos s a kocsi viszonyt jellemzi-e,
vagy pedig valjban magt a kocsit. Hiszen a kocsi korbbi letre nem vagyunk kvncsiak. Ha
azok lennnk s a kocsihoz tbb Vtel-dtum rtk is kapcsoldhatna, akkor a tulajdonos-kocsi
viszony eleve nem lehetne 1:1 fok.
Be kell vallanunk, hogy az inhomogn 1:1 fok viszonyok megfelel tkrzse az adatmo-
dellezsi elmlet egyik gyenge pontja. Egyetlen fogdzknt csakis a viszony foknak az idbeli
vltozsra tudunk tmaszkodni. Ha s amennyiben egy tulajdonosnak a ksbbiekben tbb
kocsija is lehet, akkor a msodik vltozat a helyes megolds. Ha pedig egy kocsinak tbb tulajdo-
nosa is lehet majd, akkor a harmadik utat clszer kvetni. Mivel meglehetsen ritka, hogy az 1:1
fok viszony M:N fokra vltozik, viszont az 1:N fok igen gyakori s sokak szmra termszetes,
elmletileg nem tkletesen megalapozva, de a gyakorlatnak megfelelen ebben a knyvben
ltalban a msodik vltozatot tudjuk ajnlani.
A klcsns viszonyok az adatbzis elzetes tervezsi fzisban ugyangy tkrzhetk az
adatmodellben, mint a mellrendelt M:N fok viszonyok (ld. 6.5 bra). A klnbsg csak annyi -
ezrt nem is mutatunk itt kln brt -, hogy a kt egyed dobozt sszekt vonal mindkt vgn
sima lesz. Teht nem alkalmazunk egyik irnyban sem tbbszrssget mutat varjlbat.

85
6.10 Gyorsmrleg az adatszerkezetrl

Jl mkd (ismeretignyeinket kiszolgl), hatkony (trban s kezelsi idben takarkos),


rugalmas (a szerkezeti mdostsokat knnyen elvisel), robusztus (a kezelt ttelek szmnak a
drasztikus vltozsaitl nem befolysolt) adatbzist kell ptennk. Erre nem lehetnk kpesek
akkor, ha nem hatrozzuk meg igen nagy tudatossggal az adatbzis ltalnos elvi szerkezett, az
adatmodellt.
Az adatbzis nem az sztnsen megfogalmazott rekordkpek szerint llomnyokba zdtott
ismeretek kazla. Az adatbzis szervezettsge azt jelenti, hogy roppant figyelemmel, fradsgos
mrlegelssel meghatrozzuk az egyedtpusokat. Kijelljk azok bels szerkezett (a tulajdonsg-
tpusok sorait) s kls szerkezett (a kapcsolattpusok egyttest). A kt szerkezet sszefgg. Ha
kt egyedtpus kapcsoldna egymshoz (kls szerkezet), de ez nem fejezdik ki a modellnkben,
akkor j egyed- vagy tulajdonsgtpust kell bevezetnnk (bels szerkezet). Ha egy egyedtpusnak
van egy kapcsol tulajdonsga (bels szerkezet), de nem hatroztuk meg az ltala hordozott
kapcsolatot (kls szerkezet), akkor azt ptolnunk kell. Mindig abban a tudatban kell eljrnunk,
hogy az egyed-, a tulajdonsg- s a kapcsolattpusok egymstl elvlaszthatatlanok. Csakis ezen
tnyezknek a fegyelmezett elrendezse eredmnyez j adatmodellt s annak megfelel adat-
bzist.

Ellenrz krdsek - 6

6/01 n szerint az albbi lltsok kzl melyik igaz (I) s melyik hamis (H):

- Van egy MAGNSZALAG s egy HANGLEMEZ llomnyom. Mivel mind a kettben


szerepelnek ugyanazok a zeneszmok, van egy j adatbzisom.
- A fenti kt llomnyomat brmikor sszevlogathatom pl. a Richard nv szerint s
ezzel megfelel ismeretekhez jutok.
- A kt egyedtpus bels s kls szerkezete sszefgg. Ha van egy kln SZEMLY
llomnyom, akkor abbl indulva lekrdezhetem azokat a szalagokat s lemezeket,
amelyeken Cliff Richard nekel.

6/02 n szerint milyen viszonyban llnak egymssal a kvetkez jelensgek? Hierarchikus


(H), hls (S) vagy lineris (L) megjellst alkalmazzon a viszony 1:N, M:N illetve 1:1
foka szerint.

- Kocsi s CASCO-biztostsa.
- Szemlyek s nyelvek.
- Szmla s az azon lv ttelsorok.

86
6/03 Adott a RENDELS egyedtpus a Rendelsszm, -dtum s Szmlaszm tulajdonsg-
tpusokkal, valamint a SZMLA egyedtpus a Szmlaszm s Szmlaegyenleg tulajdon-
sgtpusokkal. Adja meg a tulajdonsgok relatv s abszolt szerepeinek a prosait. Az
azonostt A, a lert L, a kapcsolt K jellje. Pldul a SZEMLY egyedben a Szemly-
nv szerepprosa LL lenne.

- RENDELS/Rendelsszm
- RENDELS/Rendelsdtum
- RENDELS/Szmlaszm
- SZMLA/Szmlaszm
- SZMLA/Szmlaegyenleg

6/04 n szerint milyen a szmla s az azon lv ttelsorok kztti viszony? Az albbi szmok
egyikt adja meg:

- A szmla fell ktelez, a sor fell nem az (1).


- A sor fell ktelez, a szmla fell nem az (2).
- Mindkt oldalrl ktelez (3).
- Mindkt oldalrl opcionlis (4).

6/05 n szerepeltetn-e a SZEMLY egyedtpusban a Kpzettsg tulajdonsgot az albbiak


szerint? A helyes vlasz sorszmt adja meg.

- Nem, mert egy szemlynek tbb kpzettsge is lehet.


- Ismtld csoporttal megoldhat a dolog.
- Mindez nem problma, ha csak a legmagasabb kpzettsget veszem fel.

6/06 Adja meg a vlasz sorszmval, hogy milyen kvetkeztetst vonna le n abbl, ha a
SZEMLY egyedet annak Dtum (rtsd: szletsi dtum) tulajdonsgn sszekapcsolva
a RENDELS egyedet (Rendelsdtum) kiderlne, hogy mindig Kovcs szletsnapjn
rendelnek eperfagyit:

- Kovcs szereti a fagylaltot.


- Kovcs csakis az eperfagylaltot szereti.
- Lehet, hogy Kovcs epres, de kt egyedet lern nem szabad kapcsolni.

6/07 Adott a SZMLA egyedtpus Szmlaszm azonostja, amely voltakppen a Vevkd


rtkbl s egy Sorszm-bl ll. Legyen kedves s adja meg a hrom ttel abszolt s
relatv szerepjelt az azonost (A), kulcsrsz (R) s kapcsol (K) megjellsekkel.
Pldul a RENDELSTTEL Rendelsszm s Cikkszm sszetett azonostjban az
utbbi jele AK lenne, mivel azonost a CIKK egyedben, de ugyanakkor kapcsol is fel a
RENDELSTTEL-ben.

6/08 Mit tenne n akkor, ha olyan szmla rkezne be, amelyen a Szmlaszm rtke rszben
elmosdott? A helyes vlasz sorszmt adja meg.

- Kidobnm a szmlt.
- A felismerhet karakterekkel vinnm be a szmlt.
- Mestersges azonostt- pldul napi dtumot s sorszmot - alkalmaznk.
- Kln llomnyba tennm a ktsges ttelt annak tisztzsig.

87
7. SZERKEZETI FINOMSGOK

7.1 Az adatmodell soksznsge

Az elz fejezet sorn megismertk az adatmodellek ltalnos felptst. Az adatmodellt


egyedtpusok alkotjk gy, hogy meghatrozott tulajdonsgtpus-sorokkal rendelkeznek. A
kapcsol szerep tulajdonsgokon keresztl az egyedtpusok kztt kapcsolattpusokat jellnk
ki. Az adatbzisok ennek a szerkezetnek megfelelen plnek fel. Az egyedelfordulsokat
tulajdonsg-rtksorok rjk le. A kapcsolk rtkein t az egyedelfordulsok egymssal
kapcsolatelfordulsokat ltestenek.
Az adatmodell tnyezi kzl a tulajdonsgokat a szerepeikkel, az egyedviszonyokat az
sszefggs fokval s opcionalitsval minstettk. Amint lthattuk, az osztlyozs mindig
valamilyen modellszerkezeti korlto(ka)t eredmnyezett. ltalnosabban fogalmazva gy is
mondhatjuk, hogy a tnyez minsge mindig valamilyen mennyisgi vonzattal is jr. A besoro-
ls miatt az adatmodell nmikppen sszetettebb vlik, viszont ennek rn sokkal de sokkal
pontosabb kpet tudunk rgzteni a valsgrl. Ez pedig a korrekt adatkezels felttele, amint azt
pldul a kapcsolatok opcionalitsval sszefggsben tapasztaltuk (ld. a 6.5 pontot).
Az adatmodell tnyezit rdemes mg ersebb nagyt al venni a valsg mg pontosabb
tkrzse rdekben. Erre sztnz bennnket az a tny is, hogy az elz fejezetben nyitva hagy-
tunk nhny krdst. Az ismtlds kapcsn nhnyan esetleg gy gondoljk, hogy k ismernek
ltalunk eddig be nem mutatott megoldst is az adatrtkek tbbszrzsnek a problmjra.
Teht ezt a krdskrt jra el kell vennnk. A 6.5 pontban inhomogn kapcsolatrl beszl-
tnk. Az olvas joggal vrja, hogy indokoljuk a megklnbztet jelz hasznlatt, azaz
kitrjnk a homogn kapcsolatokra is. Vgl az elbbieknl rejtettebben s csak ltalnossg-
ban vetdtt fel az res vagy ismeretlen rtk problmja. Nem ugyanazt jelenten a kt dolog?
Ezt a dilemmt is fel kell oldanunk.

Ennek a fejezetnek az a clja, hogy az adatmodellel kapcsolatos alapvet ismereteinket


tovbb finomtsuk s jabb szerkezeti tnyezk feltrsval gazdagtsuk.

Az elz fejezetben bemutatott strukturlis sszefggsekre alapozva gyakorlatilag brmilyen


alkalmazsi krnyezet adatmodelljt ssze tudjuk lltani. Ezrt egyesek megelgednek az egyed-
tulajdonsg-kapcsolat hrmasra vonatkoz alapszint tudssal. Ez nem is csoda, mivel egyes
kezelrendszerek mg az alapvet struktra lehetsgeit sem aknzzk ki. Mi viszont nem llha-
tunk meg az adatmodellezs alfjnl. Br az omegig ebben a knyvben egyltaln nem fogunk
eljutni, a fejezet vgre mr igen gazdag adatmodell-kp fog sszellni bennnk. Elszr azt
vizsgljuk meg, hogy mirt szksges tbbet tudnunk az adatmodell szerkezetrl.

7.2 A szz-szzalkos elv

Eddig nem beszltnk egy nagyon mindennapinak (trivilisnak) ltsz korltrl, amelynek
szmos vonzatt jelenleg nem hajtjuk taglalni s amelyet ppen ezrt szigor kittelknt most
nem is fogalmazunk meg. Arrl van sz, hogy az adatmodellben minden tnyeznek a sajt

88
fajtjn bell egyrtelm nevet kell adni. Magyarul: nem lehet kt egyed-, tulajdonsg- vagy
kapcsolattpusnak azonos a neve. Viszont az nem kizrt - legfeljebb zavar -, hogy pldul egy
egyedtpusnak s egy tulajdonsgtpusnak ugyanaz legyen a megjellse.
A jelzett megkts szigort a mindennapi ismeretkezels sorn nem igazn rezzk. Az
albbi plda igazolni ltszik gondtalansgunkat:

7.1 plda

Az N. szm megrendels X keltezssel rkezett. Y dtumra kell teljesteni.


Q napon fogadtuk az M. rendelst. A szlltst Z idpontra krik.

A tnylegesen hasznlt szavak s azok sorrendjei nem tvesztik meg az adatbzistervezt.


Felfedezi a kt kijelentsben a kzset s elll a kvetkez modellrszlettel:

RENDELS

Rendelsazonost Rendelsdtum Szlltsdtum


M X Y
N Q Z
7.1 bra: Egy megfelelnek ltsz modellrszlet

Els rnzsre a plda megoldsa tkletes. A tervez tudta, hogy az egyedhez nem kthet
kt azonos (Dtum) nev tulajdonsgot. Ezrt - helyesen - kt eltr megjellst alkalmazott a
keltezsekre. Az tlagos szemll semmi kivetnivalt sem tall a 7.1 bra szerkezetben. Nem is
azzal van a baj, ami az brn lthat, hanem azzal, ami azon nem szerepel. Prbljuk csak meg
mlyebben elemezni ezt a minimodellt!
A RENDELS egyed kt ler tulajdonsgnak a minst jelzi (Rendels s Szllts) jl
mutatjk, hogy nem azonos lnyegekrl van sz. Ugyanakkor a kzs szrsz (dtum) azt sejteti
velnk, hogy mgiscsak valamilyen mdon rokon jelensgeket jellnek e tulajdonsgok nevei. A
kt ttel nem pnz, nem nv, nem azonost, nem kd, hanem keltezs jelleg rtket tartalmaz.
Csakgy, mint pldul az itt nem mutatott SZEMLY egyed esetleges Szlets- vagy Hzassgi-
dtum nev tulajdonsga. Az azonos jelleg miatt a Rendelsdtum rtkt ssze lehet vetni a
Szlltsdtum-val, st - br ennek nincs sok rtelme - a Szletsdtum-val is. A Rendels-
azonost rtkvel viszont soha.
Nagy gy, mondjk erre a tapasztalatlanok. A tulajdonsgok adattpust (v. D 4/4) dtum-
nak deklarljuk a vonatkoz ttelek esetben, s ezzel mr le is zrtuk a krdst. Az adatkezel az
adattpus alapjn el tudja vgezni a szksges mveleteket (validls, hasonlts stb.). Csakhogy a
megolds nem ilyen egyszer. Tegyk fel, hogy a Rendels- s a Szlltsdtum nem eshet vasr-
s nnepnapra. Viszont a szlets s a hzasods ilyen napokon sem tiltott... Amint ltjuk, az
adattpus (dtum) ugyan j gyakorlati fogdz, de nem hatrolja be kell pontossggal a
tulajdonsgok megengedett rtkeit.
Mirt gond ez? A vlaszt akkor kapjuk meg, ha ismerjk az adatkezels ktfle elvi mdjt.
A fejletlen adatkezelsre az volt a jellemz, hogy a programoz ltal rt programsorok szolgltak
az adatbzis-korltok (v. 5.4 pont) rvnyestsre. A kezdetek kezdetn a programnak kellett
ellenriznie az azonostk egyedisgt; azt, hogy az adat tartalma res-e; mivel pedig mg nem
volt dtum-adattpus, azt is, hogy a keltezsnek sznt adatban nincs-e 13. hnap. Mivel a
felhasznli programba illesztett eljrsok vgeztk ezeket a mveleteket, az ilyen adatkezelst
procedurlis jellegnek mondjuk.
Az ilyen kezels nem kvnatos, mert adat-program fggsget okoz (v. D 5/3). Ha hsz
programban kezeljk a Rendelsdtum adatot, akkor ennyiben kell lerni azt a procedrt, amely

89
kizrja a vasr- s nnepnap dtum-rtkeket. Vltozs esetn - a vasrnap megengedett rtk
lesz - ennyi programot kell trni. A kzsen hasznlt - egyszer megrt, de tbb programhoz
kttt - eljrs nmileg javt a helyzeten. Csakhogy a procedrt akkor is a programoznak kell
megrnia; nem szabad elfelejtenie a megfelel programokhoz ktnie; vltozs esetn pedig
tovbbra is elkerlhetetlen a programmdosts. A kzs eljrsnak az is alapvet felttele, hogy
az adat - esetnkben a Rendelsdtum - formjt mindig azonos mdon hatrozzk meg. Ehhez
pedig valahol - mgpedig csakis egy helyen - le kellene rgzteni ezt a formt.
Ma mr a legtbb kezel tmogatja a dtum adattpust. A 13. hnap kizrsra nem kell
programsort rni: az ellenrzsi eljrst maga az adatkezel tartalmazza. Azt akkor hajtja vgre,
ha az adatrl (Rendelsdtum) tudja, hogy az dtum tpus. Ezt a tnyt elre ki kell jelenteni,
meg kell hatrozni az adatkezel rszre. Ezrt az ilyen jelleg adatkezelst deklaratv vagy
definitv jellegnek nevezzk. Deklarlhatjuk, hogy egy adat rtke nem lehet res; az rtknek
egyedinek kell lennie stb. Az adatkezelbe beptett eljrs automatikusan elindul, ha az adat-
kezel a definilt korlttal tallkozik.
A korltokat csak egyszer, a smban (v. 5.6 pont) kell megadni. Vltozs esetn nem kell a
felhasznli programokhoz nylni; csak a smt kell mdostani, egyetlen egy helyen. Ezrt a
definitv adatkezels a procedurlisnl sokkal nagyobb adat-program-fggetlensget biztost.
Tegyk mindehhez, hogy a korlt eleve generikus, teht egyetlen rutint felttelez minden dtum
tpus adat ellenrzsekor, fggetlenl az adatnevektl. (Ezzel szemben procedurlis kezelskor
adatnevenknt kln-kln kell vgrehajtatni a kapcsold ellenrzsi eljrst.)
A definitv kezels elnyei miatt fogalmaztk meg az n. szz-szzalkos elvet [15]. Ennek
rtelmben - az adatfggetlensg rdekben - minden az adatokra vonatkoz ismeretet az
adatbzis fogalmi smjban - teht a felhasznli programon kvl - kell megadni. Az elv cljt
jl mutatja pldnk folytatsa.
A Rendels- s Szlltsdtum adattpusa dtum. A kezel ellenrizni tudja, hogy az rtk
vals keltezsnek felel-e meg. Arra azonban nem kpes, hogy kizrja a vasr- s nnepnap rt-
keket. Teht erre a clra felhasznli procedrt kellene kszteni, megsrtve a szz-szzalkos
elvet (angolul: 100% principle). Nincs valamilyen clszerbb megolds? A kvetkez pont erre a
krdsre ad vlaszt.

7.3 Az rtktartomny

A korszer adatbzisok alapvet strukturlsi tnyezje az rtktartomny (angolul: domain,


ejtsd: domjn).

D 7/1 Az rtktartomny a tulajdonsgtpus ltalnosan felvehet rtkeinek a halmaza.

A meghatrozsban az ltalnos sz mutatja a lnyeget. A tulajdonsgtpusok nem pusztn


az egyedtpusok tartozkai, hanem nll fontossg tnyezk. Ez abbl a tnybl is kvetkezik,
hogy ugyanaz a tulajdonsgtpus tbb egyedtpushoz kapcsoldhat. A domjn a tulajdonsgtpus
egyedtpustl fggetlen - ltalnos - rtkeinek a halmazt jelenti. Plda: A Dtum ltalnos
rtkhalmaz minden egyedtl fggetlenl az ismert keltezseket tartalmazza, mikzben szmos
egyedben szerepelhet Dtum nev tulajdonsgunk.
Csak rviden trnk ki arra, hogy az rtktartomny mint halmaz tteleit eltr mdokon
lehet meghatrozni. Vannak viszonyt jelleg tartomnyok. Pldul: A Rendelsazonost rtke
nagyobb mint 1, de kisebb mint 999999. Minta fajtjak. Pldul: A Telefonszm ltalnos

90
felptse feleljen meg az (X99)-9-999-999 etalonnak. Gyakori a lista tpus domjn. Pldul a
Szemly-nem csak N vagy Frfi rtket vehet fel. Vgl a tartomny algoritmus alap is
lehet. Fenti pldnk esetben a domjnhez kthetjk azt az eljrst, amely kizrja a vasr- s
nnepnap rtkeket a Rendelsszm tartalmnak a kezelsekor.
A j adatkezelk megengedik, a mg jobbak megkvetelik azt, hogy az egyedtpusok tulaj-
donsgtpusait rtktartomnyoknak feleltessk meg. gy az rtkkorltokat egy helyen kell csak
definitv mdon megadnunk, s nincs szksg vltozsnak kitett programsorok rsra. Csak a
tulajdonsg rtktartomnyba val besorolsnak a problmjval kell szembenznnk.
A Rendelsdtum s a Szletsdtum egyarnt keltezs. Ha mindkt tulajdonsgot az
ltalnos Dtum domjnhez rendeljk, akkor nem zrjuk ki a vasr- s nnepnapi rendelseket.
Ezrt a Szletsdtum-ot a Dtum tartomnyhoz ktjk, viszont a Rendelsdtum esetben
meghatrozunk egy - algoritmus jelleg - szigorbb Munkanap rtktartomnyt. Ebbe a domjnbe
fog tartozni a Szlltsdtum is. Ha a rendelsek/szlltsok korltait feloldjuk, akkor nincs ms
dolgunk, mint a tulajdonsgok tttele a Munkanap domjnbl az ltalnosabb Dtum-ba.
Az elmletileg igazn fejlett adatkezels esetben mg azt is ki kellene tudnunk jelenteni,
hogy a Munkanap a Dtum alhalmaza. Mivel a gyakorlati rendszerek tbbsge mg az elz
ignyeknek sem tesz eleget, a domjn tovbbi elvi lehetsgeinek a boncolgatst itt lezrjuk.

7.4 A szerepnv

A tiszta adatmodellezsi elmlet szerint vannak egyedek (RENDELS), tartomnyok - azaz


egyedtl fggetlen ltalnos tulajdonsgok - (Munkanap) s a ktfle tnyez kztti viszony a
tulajdonkppeni attribtum (Rendelsdtum). Egyes gyakorlati adatkezelkben nem tesznek
klnbsget az ltalnos (domjn) s az egyedspecifikus (attribtum) tulajdonsg kztt. Msok a
kt tnyezt elismerik ugyan, de nem kvetelik meg azok megfeleltetst. Vagyis pldul a
Rendelsazonost attribtumhoz nem ktelez kijellni a megfelel tartomnyt.
Most ne firtassuk tovbb a gyakorlati kezelk korltait! Inkbb csak azt tekintsk t, hogy
milyen krlmnyek kztt van mindenkppen szksg az ltalnos s a specifikus tulajdonsg
meghatrozsra s egymshoz rendelsre. A magyarzat kedvrt feledkezznk el pldnk
korbbi specilis korltozsrl s ttelezzk fel azt, hogy a Rendels- (s a Szllts-) dtum
brmelyik napot jellheti. Gondolatmenetnk a kvetkez:
Szksgnk van a RENDELS egyedtpusra. Kijelljk annak elsdleges kulcst, a Rende-
lsazonost-t. (Ennek rtktartomnya mondanivalnk szempontjbl lnyegtelen, ezrt arra
nem trnk ki.) Felfedezzk, hogy a rendelseket adott napon adjk fel. Ezrt felvennnk a
Dtum tulajdonsgot, amely rtkei a Dtum domjnbl szrmaznak. Majd szksgnk van a
szllts idejnek a megjellsre is. Ezrt ismtelten a Dtum tulajdonsgot alkalmaznnk,
hiszen a szlltsi keltezsek is a Dtum domjnhez ktdnek.
Csakhogy egy egyed tulajdonsgsorban nem szerepelhet kt azonos nev tnyez. Miknt
oldhatjuk meg gy ezt a problmt, hogy a kt egyedi, specifikus tartalmat elklntjk, de mgis
utalunk a kzs, generikus dtum lnyegre? Ennek a kettssgnek a feloldsra szolgl a szerep-
nv fogalma.

D 7/2 Az rtktartomny szerepneveinek hvjuk azokat a tulajdonsgokat, amelyek


specifikus, egyeden belli tartalma a tartomny ltalnos korltainak felel meg.

91
Mr az adatmodellezsi elmlet gyermekkorban felfedeztk ezt a tnyezt. Azrt hvtk
szerepnvnek, mert kezdetben valban a megnevezs formjhoz kapcsoldott. Az egyedhez
kapcsolt tulajdonsg nevt (Rendelsdtum) gy alaktottk ki, hogy az ltalnos tulajdonsg, a
domjn megjellst (Dtum) ellrl kiegsztettk a specifikus tartalmi rtelmezs (Rendels)
minst jelzjvel.
Megjegyzs: A tulajdonsgnak az egyeden belli szemantikai szerept, vagyis mondani-
valjt nem szabad sszetveszteni a korbban trgyalt szerkezeti szereppel (ld. 6.3 pont). A
Rendels- s a Szlltsdtum rtelme s ezrt szerepneve ms, mg strukturlis szerepe azonos,
egyarnt ler.
Az ember nem a szavak, hanem az azok mgtti fogalmak alapjn szerez ismeretet. Fel-
ismeri a dtum s a keltezs azonossgt. Ennyire mg a szmtgpet is meg lehet tantani.
Ezrt mr csak az elavult rendszerek ragaszkodnak ahhoz, hogy a tulajdonsgok specilis
lnyegt a generikus tartalomra utal nv jelzs szerkezetvel jelljk (Rendels - Dtum). A
korszerbb elmletben s gyakorlatban nem a nv rsmdja a fontos.
Most ismt ttelezzk fel, hogy rendelst nem lehet feladni s szlltst nem lehet teljesteni
vasr- s nnepnapokon. A modern adatkezelkben semmi akadlya sincs, hogy kijelentsk: a
Rendels- s Szlltsdtum a Munkanap domjn szerepneve. Ezzel a formlis megkts - a
szerepnv a domjn jelzs neve - megsznt. A lnyeg megmaradt: a szerepnv az ltalnos
tulajdonsg rtkt az egyeden bell specifikusan, tartalmilag minsti.
Az adatmodellek vltoznak. Ma a RENDELS egyedben csak egyetlen mennyisgre utalunk,
felttelezve, hogy a krt mennyisget le is szlltjuk. Ezrt Mennyisg nven vesszk fel a vonat-
koz tulajdonsgot. Holnap kiderl, hogy a szlltott s az ignyelt mennyisg nem mindig
azonos. Ezrt szksgnk lenne egy jabb mennyisg tulajdonsgra, amit viszont mr csak ms
nvvel jellhetnk. Az egyedben lesz egy Mennyisg s egy Szlltott-mennyisg nev adat. Ez
nem elegns, st - annak szmra, aki csak az els adatot ltja, de tud a msodikrl is - meg-
tveszt is lehet. Ezrt vannak olyan modellezsi irnyzatok [16], amelyek minden esetben
elrjk a szerepnevek hasznlatt.
Utols gondolatknt felhvjuk a figyelmet a szerepnv-domjn viszony egyoldalsgra. Az
adott rtktartomnyhoz kapcsold szerepnv-tulajdonsg csak olyan rtket vehet fel, amely a
domjn rtkhalmaznak a rsze. Arra nzve viszont nincs megkts, hogy az rtkhalmaz sszes
ttele valban alkalmazsra is kerljn. Magyarul: nem biztos (st!), hogy minden munkanapon
fel is adnak rendelst. Ezzel szemben aligha fogjuk alkalmazni a Szemly-neme tulajdonsgot
illetve domjnt, ha olyan egyedtpust terveznk, amelyben vagy csak nk, vagy csak frfiak
adatait vezetjk. Vgeredmnyben az egyed-specifikus tulajdonsg rtkkszlete megegyezhet a
generikus domjn rtkeinek teljes halmazval, de lehet annak valdi alhalmaza is.
A szerepnv segtsgvel a valsgot pontosabban reprezentl adatmodelleket tudunk
pteni a fejezet els pontjban felvzolt clnak megfelelen. Ezrt kell visszatrnnk a 7.1 bra
pldjra. Az ott ismertetett adatmodell j, de nem tkletes. Azrt nem az, mert nem tkrzi azt
a valsgbeli tnyt, hogy a Rendelsdtum s a Szlltsdtum ugyanabba az rtktartomnyba
tartozik, de mgis eltr lnyeg. Teht az brbl hinyzik a Munkanap domjn s a kt dtum
annak val megfeleltetse.
Az egyedtpus, a generikus (domjn) s specifikus (attribtum) tulajdonsgtpus ssze-
fggseit a 7.2 bra mutatja.

92
EGYEDTPUS ATTRIBTUM DOMJN

RENDELS Rendelsdtum Munkanap

X
X
N
Q
O Q W
P X

7.2 bra: Hrom ismereti tnyez sszefggse

7.5 Ismtlds s szerepnv

A 6.6 pontban az ismtld adatok gondjval kellett szembenznnk. Ott csak egyetlen
megoldst talltunk. Ha egy egyedtpus (TULAJDONOS) adott tulajdonsgtpusa (Kocsitpus) az
egyedelfordulsokra tbb rtket is felvehet, akkor kln egyedtpust kell alkalmaznunk.
Viszont a most trgyalt szerepnv konstrukci lehetsge egyeseket arra sztnzhet, hogy egy
msfle ismtlssel kerljk meg az rtktbbszrzs problmjt.
Pldaknt tegyk fel, hogy a szemlyek nyelvtudsait kvnjuk rgzteni! Azt mr belttuk,
hogy az egyed (SZEMLY) tulajdonsgnak (Nyelvtuds) az rtke nem lehet ismtld.
Azonban mi trtnne, ha a SZEMLY egyedben - mondjuk - hrom tulajdonsgot alkalmaznnk
a Nyelvtuds kzs domjn szerepneveiknt? Az egyednek lenne Nyelvtuds-1, -2 s -3 nev
tulajdonsga gy, hogy ezek mindegyike csakis a Nyelvtuds tartomnybl vehetn az rtkt.
Az olvas mris rzkeli a csapdk sorozatt. Nem tudjuk kezelni a szemly ltal ismert
esetleges negyedik nyelvet. A hromnl kevesebb nyelvet rtknl fellp az res rtk gondja.
Hinyzik az elrendezettsg is, mert az egyik szemlynl az angol a Nyelvtuds-1, a msiknl a
Nyelvtuds-2 tartalma lesz. Ha viszont a szerepneveket adott nyelvekhez ktjk, akkor nemcsak
szemlyenknt, hanem generikusan is csak hrom nyelv kimutatsra lesz lehetsgnk.
A tanulsg egyrtelm. A szerepnv eltr szemantikai tartalm (rtsd: az egyedtpus szem-
pontjbl ms-ms jelents), de ugyanakkor az rtkek szerint azonos domjnbe tartoz tulaj-
donsgok (v. Rendels- s Szlltsdtum) megklnbztetsre szolgl. Sohasem alkalmazhat
az azonos szemantikai lnyeg - azonos tartalmi jelents - ismeret (Nyelvtuds) tbbszrssg-
nek a feloldsra. Az adatbzis mlysge - egy szemly tbb nyelven beszl, teht a Nyelvtuds
adatnak tbb tartalma van - az ilyen esetekben sohasem vlthat ki az adatbzis szlessgnek -
a tulajdonsgtpusok szmnak - a nvelsvel, lszerepnevek alkalmazsval. A szemly s a
nyelv viszonya - a 6.6 pontban jelzett mdon - csakis egy tovbbi egyed (SZEMLY NYELV-
TUDSA) bevezetsvel fejezhet ki.
A szerepnv nem alkalmas az ismtlds gondjnak a megoldsra. Viszont ugyanakkor kt
nagyon fontos adatbziskonstrukci elvi alapjaknt szolgl. A kvetkez pontokban ezeket fogjuk
ttekinteni.

93
7.6 A visszamutat egyedviszony

Az elz fejezetben az egyedek inhomogn sszefggseit boncolgattuk. Az egyedek olyan


viszonyaival foglalkoztunk, amelyekben kt eltr egyedtpus (pl. KOCSI s TULAJDONOS)
elfordulsai kapcsoldtak egymshoz. Ezzel szemben a gyakorlatban srn megesik, hogy isme-
retkzlseink alanya s lltmnya ugyanabba a jelensgkrbe tartozik. Lssuk csak a kvetkez
hrom pldamondatot:

7.2 plda

Jska fnke Laci.


Feri fnke Laci.
Laci fnke Peti.

A hrom kittel ugyanabba a mondattpusba tartozik. Ezrt a 7.2 plda megfelel adat-
modelljt ltszlag igen knny meghatrozni. me az eredmny:

SZEMLY

Szemlynv Fnknv
Jska Laci
Feri Laci
Laci Peti
7.3 bra: Beosztottak s fnkk ismeretei

A szerkezet az els pillanatban korrektnek tnik. m az adatkezelsi mveletek tgondolsa


utn kezdeti biztonsgunk elveszik. Mert mi is trtnik akkor, ha a Laci azonostotta sort
trljk azrt, mert Laci kilp a cgtl? Nyilvnval, hogy tvozsa utn Laci nem lehet a
msik kt munkatrs fnke. Teht az els kt sorral tennnk kell valamit azzal kapcsolatosan,
hogy a harmadikat megszntetjk.
Azonban honnan tudjuk azt, hogy mi legyen az els kt ttel sorsa s mibl is sejtjk, hogy
azokkal egyltaln trdnnk kell, amikor a harmadik egyedelfordulst kezeljk? A gyakorlati
adatkezelk tbbsge csak procedurlis megoldst knl. Ezrt a programoznak vagy eszbe jut a
harmadik sor trlse kapcsn rteni a fnk nevt az els kt sorban, vagy sem. A mveletet
vagy jl programozza, vagy sem. Az adatbzis konzisztencija teljes mrtkben rajta mlik - ami
igen veszlyes.
Mi teht a clszer megolds? A definitv adatkezels. Az adatkezelvel elre tudatnunk kell,
hogy a Laci adatsor trlse esetn mit tegyen az rintett tbbiekkel. Ehhez pedig mg elbb azt
kell leszgeznnk az adatmodellben, hogy a SZEMLY egyedtpus elfordulsai egymshoz
kapcsoldnak.
Ezen a ponton zavarba jvnk. Mindeddig gy sejtettk, hogy a viszony kt eltr egyed-
tpust (pl. GPKOCSI s TULAJDONOS) kapcsol ssze. (Annak ellenre, hogy az eddigi feje-
zetek sorn a megfogalmazsokban igyekeztnk kerlni ezt a ltszatot.) Most r kell dbbennnk
arra, hogy van olyan viszony is, amely egyazon egyedtpus klnbz elfordulsait kti egyms-
hoz. A fentebb jelzett adatkezelsi problmt nem tudjuk kikerlni a SZEMLY - FNKE
viszony meghatrozsa nlkl. Hiszen Jska s Feri Lacihoz, Laci pedig Petihez kapcsoldik.

94
D 7/3 Visszamutat viszonyrl beszlnk akkor, ha egy egyedtpus elfordulsai ugyan-
annak az egyedtpusnak ms elfordulsaival llnak sszefggsben.

A visszamutat (angolul: involuted vagy recursive) viszonyokat homogn sszefggseknek


is nevezzk, mert a kapcsolt egyedelfordulsok egynemek. Pldnkban szemlyek ktdnek
ms szemlyekhez. Azt teht mr elknyvelhetjk, hogy az inhomogn viszonyokon kvl figyel-
nnk kell a homogn jellegekre is. Mr csak arrl nem szabad elfeledkeznnk, hogy az utbbiak
esetben is tekintetbe kell venni a viszony fokt, opcionalitst s termszett. Errl a kvetkez
pontokban lesz sz.
Az adatmodell-diagramokban a visszamutat viszonyokat gy tkrzzk, hogy az egyedtpust
jell dobozbl kiindul vonalat oda hajltjuk vissza. Lsd a 7.4 brt.

Szemlynv

SZEMLY
SZEMLY - FNKE
Fn knv

7.4 bra: A visszamutat kapcsolat brzolsa

7.7 A hierarchikus homogn viszonyok

A homogn viszonyok mind birtoklsi (van neki - angolul: has a) termszetek. A mun-
katrsnak van fnke, a vezetnek van beosztottja. Ezrt csak a fokkal s az opcionalitssal kell
foglalkoznunk.
A 7.4 bra 1:N fok viszonyt mutat, hiszen azzal a felttelezssel lnk, hogy egy vezetnek
lehet tbb beosztottja is, viszont minden munkatrs csak egy fnkhz tartozhat. Knnyen
belthat, hogy az ilyen viszonyok mindig trvnyszeren alulrl s fellrl is opcionlisak. Az
ugyanis elkpzelhetetlen, hogy minden munkatrsnak legyen beosztottja s minden vezetnek
legyen fnke. A SZEMLY - FNKE munkatrsi viszonyban a sz szoros rtelmben joggal
beszlhetnk flrendeltrl s alrendeltrl, az 1:N fok viszonyok kt tnyezjrl. Szemben az
inhomogn viszonyokkal, a homognekben ugyanaz az egyedelforduls egyidejleg fl- s
alrendelt is lehet (ld. Laci).
Az inhomogn kapcsolat (pl. TULAJDONOS - KOCSI) kt eltr egyedtpus olyan kzs
tulajdonsgtpusn (Tulajkd) alapult, amelyek kzs rtkekkel (T1) rendelkeznek. Viszont a
jelenlegi pldban csak egy egyedtpusunk van s ezrt nem beszlhetnk kzs tulajdonsgrl.
Ezrt felmerl a krds, hogy milyen tnyezre pl a SZEMLY - FNKE kapcsolat?
A 7.3 brban felfedezzk, hogy a Szemlynv s a Fnknv ugyanabbl a Szemlynv
rtktartomnybl szrmazik. Hiszen a fnk neve is egy szemly neve. Ezrt a kt tulajdonsg
rtkei kzsek, s ez alapjn bizonyos szemlyek adatai ms egynekhez kthetk. Tudjuk,
hogy Jska fnke Laci, aki viszont Peti beosztottja.
A specifikus pldbl ltalnos kvetkeztetst is levonhatunk:

95
D 7/4 Az egyedtpus kapcsolatban ll sajt magval, ha van olyan ler tulajdonsgtpusa,
amely az azonost korltoz szerepneve.
A SZEMLY egyed azonostja a Szemlynv. Ennek szerepneve a Fnknv. Minden fnk
szemly, de nem minden szemly fnk. Ezrt ebben az esetben a szerepnv nemcsak minst,
hanem egyben korltoz jelleg is. A Fnknv a Szemlynv valdi alhalmaza. jabb ismere-
teinket a 7.5 bra mutatja:
SZEMLY

Szemlynv Fnknv
Jska Laci
Feri Laci
Laci Peti
7.5 bra: Beosztottak s fnkk kapcsolt ismeretei
Ez az bra tartalmban nem tr el a 7.3 brtl. Azonban a dltbets szedet mutatja, hogy a
Fnknv az adott egyedben nem pusztn ler, hanem kapcsol relatv szerep tulajdonsg,
amelynek alapjn a megfelel sorokat tudatosan ktjk egymshoz.
Ma mg kevs gyakorlati adatkezel ad mdot a visszamutat kapcsolatok automatikus
rvnyestsre. Azok a rendszerek, amelyekben ez lehetsges, konzisztensebb adatbzisokat
biztostanak a szmunkra. Ugyanis nem a programozn mlik a korltok rvnyestse. Maga az
adatkezel garantlja a szablyok betartst. Az adatbzis tervezje kijelli a visszamutat kap-
csolatot s megadja annak opcionalitst. Ha a SZEMLY - FNKE kapcsolat opcionlis,
akkor Laci trlse esetn a msik kt sorban rti a Fnknv tartalmt. Ha ktelez lenne -
mint tudjuk, nem lehet az - akkor azokat is trln. St, ha Feri valakinek a fnke, akkor az
ttelt is megszntetn. (A vltozsok sszetett hatsainak az automatikus rvnyestst
tovbbvezetsnek - angolul: propagation - nevezzk.)

7.8 Csaldfa s hzastrs viszonyok

Kt egyedtpus elfordulsai egymssal nemcsak 1:N fok al-flrendeltsgi, hanem M:N


vagy 1:1 fok mellrendeltsgi viszonyban is lehetnek. Az inhomogn M:N-es egyedviszonyok
ttekintse sorn (ld. 6.7 pont) egyrtelmen a tovbbi egyedtpus bevezetse mellett tettk le a
voksot. Az 1:1 fok klcsns viszonyokra (ld. 6.9 pont) tbbfle megoldst knltunk, de vgl
is a kvzi-hierarchikus megoldst tartottuk clravezetnek.
Most teht az a feladat vr rnk, hogy ttekintsk a mellrendelt homogn viszonyokat s
megnzzk, hogy milyen mdon tudjuk azokat clszeren tkrzni az adatmodellben. Elszr a
homogn hlk esett fogjuk vizsglni.
Szemlltetsre a termelsirnyts egyik ismert adatszerkezett fogjuk alkalmazni. Egy-egy
termk - pldul a kocsi - tbb msikbl pl fel. A kocsinak vannak fszerelvnyei, azoknak
szerelvnyei, amelyek viszont alkatrszekbl llnak. A termkek ilyen felptst csaldfnak
(angolul: family-tree) vagy darabjegyzknek (parts-list) hvjuk. A modulris termkfelpts
rdekben ugyanazt a mlyebb szint darabot - amit (termelsi) ttelnek neveznk - tbbfle
magasabb szintben hasznljk fel. Pldul tbb karosszriban is azonos ajtt alkalmaznak; az
ajtcsavarok szabvnyostottak stb. A ttelek felhasznlsnak a listjt beplsi jegyzknek
(angolul: goes-into list) nevezzk. A 7.6 bra mutatja plda-adatbzisunkat.

96
TTEL CSALDFA

Ttelkd Ttelnv . Ttelkd-1 Ttelkd-2 Darab


T1 A T1 T2 2
T2 B T1 T3 2
T3 C T2 T4 12
T4 D T3 T4 8
7.6 bra: Tipikus csaldfa modellrszlet

A TTEL egyed rja le nmagukban a kocsi alkotrszeit, idertve magt a kocsit is. Mivel
egy ttelbe tbb msik plhet be s egy ttel tbb msiknak lehet a rsze, a viszony M:N fok.
Ezrt ennek reprezentlsra kln egyedet kell alkalmaznunk. A homogn viszonyokat tkrz
egyedeket ltalban csaldfa jellegeknek nevezzk. Nem vletlenl. Ha a TTEL helyett SZE-
MLY lenne az els egyednk, akkor a szlk s gyerekek kapcsolatait (akr tbb genercin
keresztl is) a sz szoros rtelmben a szemlyek csaldfjval tudnnk kifejezni.
A csaldfa jelleg egyedek igen gyakoriak. Ilyenekkel tkrzzk a nem-hierarchikus szer-
vezetek felptst, az egymshoz hlzatosan kapcsold homogn objektumok viszonyait (t-,
csatorna-, villany- stb. hlzatokat) s gy tovbb. A csaldfa egyedek kt 1:N fok, alulrl-
fellrl egyarnt opcionlis kapcsolattal ktdnek az alapegyedhez. A kapcsolatok kt oldalrl
opcionlisak, mert maga a vgtermk mr semmibe sem pl bele (nincs flrendeltje), alul pedig
az alapanyagoknak mr nincs tovbbi alkotelemk (alrendeltjk).
A csaldfa egyed azonostja mindig sszetett. rtkei az alapegyed (TTEL) elsdleges
kulcsa (Ttelkd) rtkeinek a prosai. Teht ezeknek az adott egyeden (CSALDFA) belli
relatv szerepe (kulcsrszknt) kapcsol. Mivel egy egyedhez kt azonos nev tulajdonsgot nem
kthetnk, a csaldfa egyed azonostjt az alapegyed azonostjnak a szerepnevei (Ttelkd-1
s Ttelkd-2) alkotjk. Itt ismt tallkozunk azzal a problmval, hogy ezek a szerepnevek
nemcsak minst, hanem egyben korltoz jellegek is. A Ttelkd-1 nem vehet fel minden
Ttelkd rtket a viszony opcionalitsa miatt.
A 7.7 bra mutatja a csaldfa-sszefggsek tipikus adatmodellezsi rszlett:

Ttelkd

TTEL

FELPL BEPL

Ttelkd-1
Ttelkd-2

CSALDFA

7.7 bra: A csaldfa-viszony modelldiagramja

97
A homogn hls viszonyoknl tbb gondot okoznak az 1:1 fok sszefggsek. Tipikus
ilyen viszony a szemlyek kztti hzassg, s ezrt az ilyen kapcsoldsokat hzastrsi (angolul:
marriage) viszonyoknak is hvjuk. Hiszen - eurpai krnyezetet felttelezve - egy frjnek csak egy
felesge lehet egyidben s megfordtva. Szemben az 1:N s az M:N fok homogn viszonyokkal,
az 1:1 fok lehet ktelez is. Kijelenthetjk, hogy csak hzas szemlyekrl vezetnk ismereteket.
Az sszefggs elvileg egyszer, de gyakorlati megvalstsa problmkat okoz.
A legrosszabb megolds, ha ltrehozunk egy-egy kln FRJ s FELESG egyedet. Ebben az
esetben csak nehzkesen tudjuk kikeresni a szemlyekre az azok nemtl fggetlen kzs
ismereteket. Pldul azt, hogy kik - frj s felesg egyarnt - szlettek adott napon. Radsul a
homogn viszony inhomognn vlna, mert hiszen mr kt egyedtpus kapcsoldna egymshoz.
Ezrt vlogatnunk kellene az inhomogn viszonyok megoldsai (ld. 6.9 pont) kzl, amelyek
egyike sem felelne meg igazn cljainknak.

SZEMLY

Szemlynv Hzastrsnv
Jska Panni
Feri Kati
Panni Jska
7.8 bra: A hzastrs-viszony rossz megoldsa

A msodik t az, hogy egyetlen SZEMLY egyedet kpzelnk el s a szemlyek kztti


hzastrsi kapcsolatokat az 1:N fok homogn viszonyok mdjra fejezzk ki. Ez azt jelenti,
hogy a SZEMLY egyedben felvesszk az azonost (Szemlynv) szerepnevt (Hzastrsnv),
amely kapcsol tulajdonsgknt szolgl, egymshoz ktve a hzastrsi viszonyban ll szem-
lyeket. Ezt a megoldst szemllteti a 7.8 bra.
A megolds tkletlensgt kt tnyez is mutatja. Egyrszt azonos ismeretsor-rszeket kell
megismtelnnk. (A sorrend a fogalmi szinten kzmbs. Ezrt a Jska-Panni ill. a Panni-Jska
rszleteket azonosnak kell tekintennk.) Msrszt ppen ez a kettssg adatkezelsi gondokhoz s
inkonzisztencihoz vezet. A 7.8 bra hinyos, mert nincs benne a Kati-Feri pros. Mi tbb, a
hzassg megsznse esetn kt ttelt kell karbantartani.
A fentiek miatt az 1:1 fok homogn kapcsolatoknl leginkbb a harmadik vltozat a
clszer. A csaldfa egyed mintjra ltrehozunk egy hzastrs egyedet a 7.9 bra szerint.

SZEMLY HZAST
RS

Szemlykd Szemlynv ... Frjkd Felesgkd


S1 Jska S1 S2
S2 Panni S3 S4
S3 Feri
S4 Kati
7.9 bra: A hzastrsi viszony clszerbb megoldsa

Mit vesztnk s mit nyernk a legutbbi megoldssal? A kt egyed kezelse miatt nmi
kezelsi idtbblettel kell majd szmolnunk. (Nem sokkal, mivel az egyszeres trols miatt a
kezelsi id cskken.) Ugyanakkor adatstruktrnk biztostja a konzisztens sszefggseket; nem

98
kvethetnk el beviteli s egyb kezelsi hibkat. Pldul nem felejthetjk el, hogy amennyiben
Feri felesge Kati, gy Kati frje Feri.
A 7.9 bra megoldsnak legnagyobb elnye a rugalmassg. Szemben a msik kt vltozattal
ez a szerkezet ktfle bvtst is elvisel. Ha nemcsak a jelenleg rvnyes, hanem a mindenkori
hzassgokat is ki akarjuk mutatni, a kapcsolat M:N fokv vlik. Ez a 7.9 megolds esetben
nem jelent gondot. Ha j tulajdonsgot akarunk bevezetni, az sem lehet akadly. Vegyk pldul
a Hzassgi-dtum adatot. Ez a keltezs nem az egyik vagy msik flre, hanem magra a
viszonyra jellemz. A 7.9 bra HZASTRS egyede ezzel a tulajdonsggal minden gond nlkl
kibvthet. Viszont a 7.8 bra esetben a SZEMLY egyed kiegsztse az adatttellel
redundancit s adatkezelsi problmkat okozna. A fentiek kvetkeztben az 1:1 fok homogn
viszonyoknl a hzastrs jelleg egyed tnik a legclszerbb megoldsnak.
Ezzel a homogn viszonyok trgyalst majdnem befejeztk. Mr csak kt momentumra kell
felhvnunk a figyelmet. Az egyik az, hogy a fogalmi modell szintjn kell meghatrozni a viszony
inhomogn-homogn tpust illetve az egyed sajtos (csaldfa, hzastrsi) jellegt. Ha az
adatkezel kptelen a tpus s a jelleg rvnyestsre, akkor magunknak kell procedurlis
programsorokat rnunk az inkonzisztens adattartalom feltrsra. Pldul arra, hogy kizrjuk a
kvetkez eseteket: Feri Ferinek a fnke; a T1 ttel a T1 ttelbe pl be; Feri Ferinek a hzas-
trsa. (Ilyen tartalmi ciklusok az inhomogn viszonyoknl nem lphetnek fel.)
A msik tnyez a szerepnevekkel kapcsolatos. A homogn viszonyokban az sszefggseket
mindig szerepnv kapcsol tulajdonsgok tkrzik (Fnknv, Ttelkd-1, Frjkd). Ezek a
szerepnevek mindig korltoz jellegek. Ezrt magban az alapegyedben (pl. SZEMLY) fel kell
venni azt a tulajdonsgot (pl. Nem), amely a kapcsoldst behatrolja. Csak gy kerlhetjk el a
tves adatviszonyok kialakulst. Ha nem volna a SZEMLY egyedben a Nem tulajdonsg s
nem ktnnk ahhoz a Frjkd s Felesgkd szerepnv korltozst, akkor a HZASTRS
egyedben feltnhetne a Feri - Jska pros.

7.9 Hromfle res rtk

Az adatbziskezels egyik leginkbb elhanyagolt s legjobban flrertett tnyezje az res


(numerikus adatoknl: nulla) tulajdonsgrtk. A kapcsold problmkat a kvetkez ngy
krds-vlasz prossal vilgtjuk meg:

7.3 plda

Hnyszor szlt Panni? - Ktszer.


Hnyszor szlt Zska? - Egyszer sem.
Hnyszor szlt Kati? - Nem tudom.
Hnyszor szlt Feri? - Hahaha...

Az els prbeszd nem szorul magyarzatra. nmagban vve a msodik sem. Azonban az
utbbit a harmadikkal sszevetve mr gondolataink tmadhatnak. A mai korszernek mondott
adatkezelk hasznlatakor ki lehet jelenteni, hogy az adat rtke lehet-e res vagy sem. Viszont a
ktfle res tartalom (egyszer sem - nem tudom) sztvlasztsra nincs md. Ezrt az
adatbzisban lv Szlsszm tulajdonsg nulla rtke jelentheti azt is, hogy Zska mg fiatal,
nem volt ideje, lehetsge stb. a szlsre, no meg azt is, hogy Kati adatainak a bevitelekor nem
ismertk az adat tartalmt vagy elfeledtk azt kitlteni.

99
A fentiek alapjn ktfle reset kell megklnbztetnnk. A valdit, amit szignifiknsnak
neveznk (egyszer sem) s az ismeretlen rtket, az inszignifikns nullt (nem tudom).
Gondoljuk csak t a ktfle res hallatlan tartalmi klnbsgt! ttrve egy msik pldra:
rkezik a szmlnkra X forint. Ezt az sszeget Y klnbz partnernk fizette a rsznkre.
Egyesek tutalsain a forint-rovat elmosdott, ezrt nem tudtuk az adattartalmat kitlteni. Az
ilyenkor resen maradt mez nem nullt jelent - hiszen a forint mr nlunk van -, hanem azt,
hogy nem ismeretes annak pontos tartalma. Az pedig teljesen vilgos, hogy msknt kell azt az
gyfelet kezelni, aki valban nem fizetett s azt, aki azt megtette, de akrki hibjbl a konkrt
rtk rejtve maradt.
Mivel a mai adatkezelk s adatkezelsi mdszerek nem nyjtanak lehetsget a szignifikns
s inszignifikns resek sztvlasztsra (pldul gy, hogy az utbbit egy kln karakterrel
jellik), adatbzisainkban s adatkezel programjainkban kisegt adatokat kell alkalmaznunk,
amelyek mutatjk az res jellegt. Ha ezt nem tesszk, helytelen ismereteket kapunk s a
kommunikci is tvtra vezet. Pldul megsrtnk egy fontos gyfelet.
A negyedik prbeszd mg tovbb vezet bennnket. Feri esetben nem lehet a szlsek szma
adott rtk, de szignifikns vagy inszignifikns nulla sem. Feri ugyanis nem nnem. Ezrt az
adat tartalma az esetben nem ilyen vagy olyan res, hanem egyltaln nincs rtelme. A
tulajdonsg Ferire nzve nem-rtelmezhet, nem-alkalmazhat (angolul: not-applicable, n. a.). A
statisztikai gyakorlatban sokszor tallkozunk ezzel az n. a. megjellssel, amely eredetileg
valban az ismeret lehetetlensgre (frfi nem szlhet) utalt. Ksbb azok, akik keveset rtenek
az ismeretekhez, nlunk sszemostk a kt lnyeget. Szellemesnek vlve az tfordtst, az n. a.
betprost a nincs adat rvidtsre hasznljk. Ez nagy hiba.
Statisztikai szempontbl valban csak az a fontos, hogy a nem-valdi reseket meg tudjuk
klnbztetni a valdiaktl. Ha tlagos szlsszmot szmtunk, kiemeljk a szemlyek kzl
azokat, akiknl a Szlsszm tartalma ismeretlen s azokat is, akikre nzve nem rtelmezhet.
Ezrt a statisztika szempontjbl lnyegtelen az inszignifikns nulla s a nem-rtelmezhet rtk
sztvlasztsa.
Arrl viszont szinte teljesen felesleges gyzkdni brkit is, hogy hrom klnbz jelensg a
n, aki nem szlt, a n, akirl nem tudjuk, hogy hny gyermeket szlt s a frfi, aki eleve
kptelen erre a kemny s szp feladatra. Mrpedig az adatbzis szerkezeti kialaktsakor nem az
idben s trben korltos (pl. statisztikai) ignyek, az n. kls szemlletek (ld. 5.3 pont) a
meghatrozak. A cl a vals jelensgek lehet legtermszetesebb tkrzse. Ezrt a fogalmi
adatmodellben nagyon pontosan szt kell vlasztani a szignifikns, inszignifikns s nem-rtel-
mezhet res rtkeket felvev tulajdonsgtpusokat. Erre azrt is szksg van, mert a harmadik
fajta res egy igen fontos modellezsi tnyeznek az alapja.

7.10 Egyedaltpusok

Az 1:1 fok homogn viszonyok ttekintse kapcsn lttuk, hogy nem clszer kln FRJ
s FELESG egyedet kijellnnk az adatbzisban. Az egyetlen elvi SZEMLY egyed ilyesfle
megbontsnak szmos negatv kvetkezmnye van. Viszonyt kell meghatrozni s kezelni a kt
egyedtpus kztt. Bonyolultabb vlik az emberekre - a frjekre s a felesgekre egyarnt -
vonatkoz ismeretek kikeresse pldul a szletsi dtum, lakhely, foglalkozs stb. szerint. Meg
kell duplzni a karbantartsi funkcikat stb.
Az egyedekhez szmos ler tulajdonsg kapcsoldhat. Ezek az egyedelfordulsokra eltr
rtkeket vehetnek fel. A konkrt egyedek nem egyformk; sokfle mdon osztlyozhatk. Ez a

100
tny mg nem elg alap az egyedtpus ilyen vagy olyan sztdarabolsra. Mert ha valaki ma frj
s felesg egyedtpust krel, akkor holnap msnak eszbe juthat kovcs, sznsz, kiskeresked
egyedtpusokat alkotni. Holnaputn pedig valaki a januri, februri stb. szlets egynek
egyedtpusait fogja meghatrozni. Mindebbl risi kosz keletkezhet.
Az egyedtpusok megbontsval csnjn kell bnnunk. Vannak azonban olyan helyzetek,
amelyekben az elre elkpzelt egyedtpus tulajdonsgtpusait mgiscsak rdemes felosztani tbb
egyedtpus kztt. A 7.10 bra mutat egy ilyen pldt.

RENDELS

Rendelsszm Rendelsirny Devizanem Devizaszorz


1 hazai
2 export dollr X
3 export mrka Y
4 hazai
7.10 bra: Egy megbonthat egyedtpus

Amint ltjuk, vannak hazai s export rendelsek. Az elbbieknl a devizval kapcsolatos


adatok nem resek - mint mr tudjuk -, hanem rtelmezhetetlenek. Az adatkezel ezek helyre
nullt r, ami - a hresztelsekkel ellenttben - trt foglal s nveli a kezelsi idt.
Ha egy egyednek sok olyan tulajdonsga van, amely valamilyen tovbbi tulajdonsgtl
fggen nem-rtelmezhet tartalm, akkor megfontolhatjuk az egyed megbontst. Tudjuk, hogy
a sok nem ppen egzakt megjells. Azonban a megbonts nem knyszer, hanem csak lehet-
sges adatmodellezsi megolds. Gyakorlati tmutats: Megbontst akkor szoktak alkalmazni, ha
az egyed tulajdonsgainak a szma meghaladja a tzet s azoknak legalbb egyharmada nem-
rtelmezhet jelleg.

D 7/5 Az egyedtpusnak a nem-rtelmezhet tulajdonsgtpusok szerinti megbontst spe-


cializcinak, az eredmny-egyedtpusokat az eredeti egyed altpusainak nevezzk.

A 7.10 bra megbontsnak az eredmnyt a 7.11 bra mutatja. A specializlt EXPORT-


RENDELS egyedtpus a RENDELS altpusa. (Az altpus-egyed nevnek nem kell az eredeti
egyed nevbl szrmaznia, br az segti az rtelmezst.) Az egyedaltpus az eredeti egyed nem-
rtelmezhet tulajdonsgait tartalmazza ler ttelekknt gy, hogy azok tartalma mr mindig
rtelmezhet. A megbonts mdja egyszer, csak a kt egyed viszonyt kell jl meghatrozni.

RENDELS EXPORT-
RENDELS

Rendelsszm Rendelsirny E-Rendelsszm Devizanem Devizaszorz


1 hazai 2 dollr X
2 export 3 mrka Y
3 export
4 hazai
7.11 bra: Egyedtpus s -altpus

A specializci rtelmbl kvetkezik, hogy az egyedaltpus ugyanazt a lnyeget fejezi ki,


mint a megbontott egyed. Ezrt trvnyszer, hogy az j egyed elsdleges kulcsnak az eredeti-
vel elvileg azonosnak kellene lennie. Azonban az azonostkra vonatkoz korlt (v. K4) ezt a

101
lehetsget kizrja. A problmt ismt a szerepnv oldja fel: a specializlt egyed azonostja az
eredeti egyed kulcsnak a tipizl szerepneve. Az ilyen szerepnv minst, korltoz az alapegyed
valamelyik tulajdonsga szerint (itt: Rendelsirny) s egyben sztvlasztja az altpusokat.
Az utbbi kittellel kapcsolatosan megjegyzend, hogy a specializci ltalban tbb altpust
eredmnyez. Pldul: vllalatunknak vannak partnerei, akiket a standard adatokon kvl olyan
tulajdonsgok is jellemeznek, amelyek csak a vevkre vagy csak a szlltkra vonatkoztathatk.
Ekkor a Vev-partnerkd s a Szllt-partnerkd az eredeti PARTNER egyed kt altpust
valban sztvlasztja.
A specializci felttele, hogy az egyedaltpusok egyedelfordulsainak halmazai egymst
kizrjk. Ellenkez esetben ugyanis redundancia lpne fel. Ez a korlt sokszor kellemetlen. Ha
valamelyik partnernk egyszerre vev s szllt, akkor bizony hromfle altpust kellene
kijellni: vev, szllt s vev/szllt. Ebben az esetben a kezels igen nehzkess vlna. Ezrt
ltalban csak akkor alkalmazunk specializcit, ha az altpusok tnyleg kln vals jelensgeket
tkrznek.
Csak rviden trhetnk ki arra a korltra, amely szerint az altpus csak egy eredeti egyedhez
kapcsoldhat. Szmos ok miatt a mai modellezsi elmlet kizrja, hogy egy jelensget tbb msik
altpusaknt hatrozzunk meg. Emiatt a motorcsnak vagy csak a motoros-, vagy csak a vzi-
jrmvek altpusa lehet, a kett egyszerre nem. (Pedig a valsgban mindkett altpusa.)
Az egyedaltpus az eredeti egyedtpushoz 1:1 fok, alulrl ktelez, fellrl opcionlis
kapcsolattal ktdik. Minden rendelshez csak egy export-rendels kiegszts tartozhat s meg-
fordtva. Minden export-rendels meg kell, hogy feleljen egy rendelsnek, de ez fordtva nem
igaz. Az ilyen viszony nem birtoklsi, hanem altpus termszet, amit is-egy (angolul: is-a)
kapcsolatnak hvunk. Mert hiszen az export-rendels is egy rendels.
Az altpus termszet kapcsolatokat nemcsak a sajtos kapcsolds, hanem az n. rklds
(angolul: inheritance) miatt is meg kell klnbztetnnk a birtoklsiaktl. Az egyedaltpust
nemcsak a sajt tulajdonsgsora jellemzi, hanem az eredeti egyedtpus is. Plda: a VEV a
PARTNER altpusa. Ezrt specilis tulajdonsgain kvl jellemzi a vevre s szlltra egyarnt
vonatkoz kzs Partnernv is.
A fentiekben a rszleges specializcirl volt sz, amelyben az eredeti egyed leadja egyes
tulajdonsgait egy vagy (ltalban) tbb altpus egyednek, mikzben sajt maga is fennmarad.
Ritkn, de elfordul a teljes specializci is. Ebben az esetben az eredeti egyedben csak az
azonost s a tipizl tulajdonsg maradna meg. Az ilyen egyednek nincs ltjogosultsga, teht a
specializci kvetkeztben az eredeti egyed megsznik. Ettl fogva nem is beszlhetnk egyed-
altpusokrl, kapcsolatrl, rklsrl stb. Nha mestersgesen is alkalmazzuk a teljes speciali-
zcit. Pldul a gpkocsik tulajdonosainak az esetben. Termszetk szerint CG s SZEMLY
egyedtpusokat kpeznk az eredeti egyetlen TULAJDONOS egyedbl annak ellenre, hogy a
cgeknek s a szemlyeknek egyarnt van pldul neve.
Az ilyen mestersges specializcival vigyzni kell, amint a FRJ s FELESG pldjn
lttuk. Nagyon sokszor ppen az ellenttes mveletet kell vgrehajtanunk. Ha azt ltjuk, hogy kt
egyedtpus tulajdonsgsora nagymrtkben tfed, akkor meg kell fontolnunk azok sszevonst.
A mveletet generalizcinak nevezzk. Ez is lehet teljes vagy rszleges. A FRJ s a FELESG
egyed teljesen megsznik a SZEMLY-be val sszevonskor. Viszont a VEV s a SZLLT
kzs adatainak a PARTNER-be val emelse utn azokban is maradhatnak tulajdonsgok, teht
a rszleges generalizcival valdi egyedaltpusok kpzdnek.

102
RENDELS

EXPORT-RENDELS

X-FLE EXPORT

Y-FLE EXPORT

7.12 bra: Az egyedtpus s -altpus egyik brzolsa diagramon

Az adatmodelldiagramokon kln illik jellni az egyedaltpusokat. Erre kt konvencit


alaktottak ki. jabban az a szoks, hogy a specializlt alapegyedet (pl. RENDELS) jelkpez
dobozon bell tntetik fel az altpus-egyedt (pl. EXPORT-RENDELS). Lsd a 7.12 brt.
Ennek a megoldsnak szmos htrnya van. Egy tpusnak szmos altpusa lehet. Altpuson-
knt nyilvn eltrek a fontos tulajdonsgok. Nagyon gyakran az altpus egyednek ms a kls
szerkezete - kapcsolattpusainak az egyttese - mint a tpus. Az altpusnak is lehet altpusa.
Mindezeket a viszonyokat egy dobozon bell ttekintheten brzolni gyakorlatilag lehetetlen.
Arrl nem is beszlve, hogy miknt tkrznnk azt a - jelenleg meg nem engedett - struktrt,
amelyben egy altpus tbb egyednek lehetne a specializltja.
A fentiek miatt mi egy msik konvencit rszestnk elnyben. Az egyedaltpusok dobozait
szaggatott vonallal jelljk, egybknt pedig az altpust a szoksos mdon tkrzzk. Lsd a 7.13
brt.

Rendelsszm E-rendelsszm

EXPORT-
RENDELS
RENDELS
IS-EGY

7.13 bra: Az egyedtpus s -altpus msik brzolsa diagramon

7.11 Szerkezeti sszefoglals

Az adatbzisok szerkezeti felptst lassan kezdjk megismerni. Egyrszt lthattuk, hogy az


adatmodell valban az egyedek, tulajdonsgok s kapcsolatok tudatosan szervezett egyttese.
Msrszt viszont r kellett dbbennnk arra, hogy a tudatos szervezs rengeteg tnyez kzs
tgondolst s meghatrozst ignyli. Az egyed tulajdonsgsort nem knynk-kedvnk szerint

103
lltjuk ssze. A tulajdonsgokat ltalnos rtk-tartomnyoknak kell megfeleltetnnk, ha a
tulajdonsgokban nemcsak a klnbsgeket, hanem az azonossgokat is ltni akarjuk. Kiderlt az
is, hogy az egyedviszonyok meglehetsen bonyolult tnyezk. Mr egyltaln nem arrl van sz,
hogy kt egyed brmilyen kzs tulajdonsga szerint sszekapcsolhat (amint azt a relcis
modellben felttelezik). Kt egyed viszonyt sokszor egy harmadik valstja meg. Egy egyedtpus
sajt magval is kapcsolatba hozhat. Nem kzmbs a viszony foka, opcionalitsa s termszete.
Mivel idkzben jabb sszefggseket is felfedeztnk, gy illik, hogy a kapcsolat lnyegt
vgleg tisztzzuk:

D 7/6 Kt egyedtpus kapcsolattpusban ll, ha az egyik azonost tulajdonsga vagy


annak szerepneve a msik egyed kapcsol tulajdonsga. Kapcsolattpust ltest az
egyedtpus sajt magval, ha kapcsolknt tartalmazza azonostja szerepnevt.

A korbbiakban lttuk, hogy a kapcsol tulajdonsg eredetileg ler vagy kulcsrsz szerep
lehet. Az altpus termszet kapcsolatban a kapcsol tulajdonsg azonost szerep s - szemben
a birtoklsi kapcsolattal - mindig szerepnv.
Az utols kittel is mutatja, hogy az adatmodell struktrja igen pontos szablyokon alapul.
Mg szmos sszefggst lenne rdemes megvilgtanunk, de a fraszt ismertetst ideje abba-
hagynunk. A fejezetre sznt helynkbl csak egy utols gondolatfutamra telik.
Az elz fejezetben s a jelenlegiben az adatmodell elmleti szerkezeti tnyezivel s azok
viszonyaival foglalkoztunk. Gyakorlatilag a mai adatbziskezelk zme a bemutatott struktrk
felt sem tudja kezelni. Mi rtelme van akkor a bonyolult elmletnek? Erre a krdsre tbbfle
vlaszt kell adnunk.
Elszr: Nem hisszk, hogy az eddig elmondottak olyan nagyon bonyolultak lennnek. Ne
vllalkozzon adatbzistervezsre az, aki ezt a pr alapvet sszefggst sem ltja t, mert rossz
adatbzist fog pteni.
Msodszor: A gyakorlati adatkezelsben idnknt trtntek elmleti visszalpsek. Pldul a
relcis modell elvi kpessgei messze alulmljk a sokkal korbbi hls modell ugyancsak
elvi adatszerkesztsi lehetsgeit. Ennek dacra a gyakorlati kezelk fejldnek s egyre jabb
meg jabb vonsokat vesznek t a fentiekben felsorolt kpessgekbl. Teht az elmlet elhanya-
golsa egyet jelentene azzal, hogy nem kszlnk fel a jvbeli gyakorlatra.
Harmadszor: A fogalmi adatmodell nem (csak) arra val, hogy azt valamilyen adatkezel
alatt egy az egyben megvalstsk. Hanem arra (is), hogy feltrjuk ismereteink termszett. A
tnyek pedig makacs dolgok. Ha az adatkezel nem kpes automatikusan rvnyesteni egy-egy
korltot (pldul a visszamutat kapcsolatot), akkor magunknak kell megrnunk a megfelel
programrszletet. m mikppen tehetnnk ezt, ha nem ismerjk magukat a jelensgeket s nem
tudjuk, hogy egy tipikus vons esetben ltalban mi a teend? Ezrt a fogalmi adatmodell pontos
lersra akkor is szksg van, ha az adatkezelnk korltos kpessg.

Ellenrz krdsek - 7

7/01 Helyes (H) gyakorlatot jelentenek-e vagy sem (N) az albbi megoldsok:

- A RENDELSTTEL-ben a rendelsszmnak T-Rendelsszm a neve.


- A RENDELSTTEL-ben a mennyisget az R-Mennyisg, a SZLLTSTTEL-ben
az S-Mennyisg nvvel illetjk.
- A RENDELS s a SZEMLY egyedben egyarnt van Dtum nev adat.

104
7/02 Melyik igaz (I) s melyik hamis (H) megllapts:

- A Rendelsdtum s a Szlltsdtum egyms szerepnevei.


- Ha ltezik a Dtum tartomny, akkor az elz kt adat annak a szerepneve.
- A Szlets-kelte lehet a Dtum tartomny szerepneve.
- A Hossz nem biztos, hogy a Mret tartomny szerepneve.

7/03 Melyik igaz (I) s melyik hamis (H) kittel:

- A Dtum validl rutinjt a sma Dtum tartomnyhoz kell ktni.


- A Dtum validl rutinjt az egyedi programokban kell megadni.
- A Dtum validl eljrst rutinknt megrjuk, majd a programokba visszk.

7/04 Az albbiak kzl melyik j (J) s melyik rossz (R) megolds. Van szlls-kltsg,
napidj s dologi kltsg.

- KIKLDETS (Szemly, Kltsg-1, Kltsg-2, Kltsg-3)


- KIKLDETS (Szemly, Szllskltsg, Napidj, Dologi)
- KIKLDETS (Szemly+Kltsgtpus, Kltsg)

7/05 Hogyan tkrzn az osztlyfnk s a dikok viszonyt? Az albbiak kzl melyik


megolds j (J) s melyik rossz (R)? Vigyzzon!

- SZEMLY (Szemly, Tanr/Dik-jel, Of) az Of a Szemly szerepneve


- TANR (Tanrazonost, ...)
DIK (Dikazonost, ...)
OSZTLY (Tanrazonost+Dikazonost, ...)
- SZEMLY (Szemly, Tanr/Dik-jel)
OSZTLY (Tanrazonost+Dikazonost, Ofjel)
A kt azonostrsz a Szemly szerepneve.

7/06 Az albbi kt megolds kzl melyik tkrzi helyesen a fix szervezetek (S) s az egy-
msba fond projektek (P) ismereteit. Mindkett rszeit egysgnek nevezzk.

- EGYSG (Egysgkd, ..., Flrendelt-egysgkd)


- EGYSG (Egysgkd, ...)
KAPCSOLAT (Egysgkd-1+Egysgkd-2, ...)

7/07 Mi a teend a kvetkez tervvel? A helyes vlasz szmt adja meg. Kt j vlasz is van.

ZENESZERZ (Szerzkd, Szerznv, Szerzcm, Sz-adatok)


SZVEGR (rkd, rnv, rcm, -adatok)
Az Sz-adatok csak a szerzt, az -adatok csak az rt jellemzik.

- A terv gy kifejez, ezrt j.


- A kt egyed els hrom adata generalizlhat a SZEMLY egyedbe.
- A kt egyed mindig teljesen generalizlhat.
- A kt egyed teljesen generalizlhat a SZEMLY egyedbe, ha az Sz- s -adatok szma
nem nagyobb hromnl.

105
7/08 n tanr s nyilvntartst vezet a dikjairl illetve a bartairl. A dikok kztt is
vannak bartai ill. megfordtva. Adja meg a helyes vlasz(ok) szmt:

- Ksztek egy DIK s egy BART llomnyt.


- Egyetlen SZEMLY egyedet kpzelek el n.a. rtkekkel.
- Az elbbit teszem, ha a dikspecifikus jellemzk szma nem jelents.
- Ksztek egy SZEMLY egyedtpust, meg egy DIK s BART altpust, ha a specifi-
kus jellemzk szma jelents.
- Hrom llomnyom lesz: DIK, BART s DIKKNT-BART.

106
8. ADATBZISKEZELS

8.1 Az ismeretek termszete

Az elz fejezetekben szmtalanszor hasznltuk az adatkezels s adatkezel rendszer


kifejezseket anlkl, hogy megmagyarztuk volna azok mibenltt. gy gondoljuk, hogy ezen
fogalmak lnyege mindenki szmra ismert, s ezrt pontos defincijuk hinya nem zavarta az
eddigiek megrtst. Most azonban r kell mutatnunk az adatkezels s az adatfeldolgozs
klnbsgre, viszonyra illetve az ismeretszerzsben betlttt szerepre.
Az 1. fejezetben rszletesen taglaltuk az ismeretszerzs kzvetlen mdjt (szlels, rzkels
stb.). A msodik md az eddig elmondottakbl addik: ismeretre tehetnk szert az adatbzisban
trolt adatok lekrdezsvel is. Ehhez viszont arra van szksg, hogy az adatokat betltsk,
azokat frissen tartsuk, elrendezzk, szelektljuk stb. - egyszval: kezeljk. Azonban az ismeret-
szerzsnek van egy harmadik mindennapos mdja is: a mr meglv adatainkon mveleteket
hajtunk vgre, vagyis adatfeldolgozst vgznk.
A fentiekbl kvetkezik, hogy az adatoknak kt fajtjt kell megklnbztetnnk. Vannak
n. alapadatok, mint pldul a termk megrendelt mennyisge s egysgra. Ha az alapadatokon
mveleteket hajtunk vgre - pldul megszorozzuk a mennyisget s az egysgrat - akkor j, n.
szrmaztatott adatot kapunk. Az elgg vilgos, hogy az alapadatoknak az adatbzisban van a
helye. Viszont krds, hogy miknt viszonyul egymshoz az adatbzis s a szrmaztatott adat.

Ennek a fejezetnek az a clja, hogy az adatkezels s az adatfeldolgozs elhatrolsa


utn bemutassa a szrmaztatott adatok s az adatbzis viszonyt.

A mindennapos gyakorlatban sokszor elfordul kt hiba. A fejlesztk arra knyszertik a


felhasznlkat, hogy olyan adatokat vigyenek az adatbzisba, amelyek termszetk szerint szr-
maztatottak. Magyarul: a szmtgp helyett kzzel kell elvgezni az adatokon bizonyos elzetes
mveleteket. Ennek ltalban az az oka, hogy az adatbzis ptst nem a megfelel ponton
kezdtk el s gy nem llnak rendelkezsre a szmtgpen a kell alapadatok. A tma bvebb
kifejtse nlkl most csak utalni tudunk arra, hogy az adatbzis kialaktsnak van egy sszer
sorrendje.
A msik gyakori hiba az, hogy az adatfeldolgozst nem visszk vgig a megfelel pontig.
Nem dolgoztatjuk meg elgg a szmtgpet s nem produklunk knnyen informciv
rtelmezhet ismeretet a felhasznl rszre.
A fejezetben arra is r fogunk mutatni, hogy a fejlesztk elszeretettel hasznlnak n.
technikai adatokat. Ezek nem a felhasznl szmra fontos ismereteket tkrznek. Ezrt
krdses, hogy szabad-e ket alkalmazni az adatbzisban s ha igen, akkor miknt.

8.2 Az adatkezels szintjei

Az adatszer ismeretkezels alapja az, hogy adatainkat cmkzett - tulajdonsgnvvel elltott


- dobozokban troltan kpzeljk el. Egy-egy jelensgcsoporthoz - egyedtpushoz - tbb ilyen

107
skatulya tartozhat. Pldul a KOCSI egyed kt tulajdonsga a Szn s a Kocsitpus. A fehr
ismeretet az elbbi dobozba tesszk, a Lada rtket pedig az utbbihoz rendeljk. gy olyan
tblzatot kapunk, amely oszlopokbl (tulajdonsgtpusok) s sorokbl (egyedelfordulsok) ll.
Egy ilyen tblarszletet mutat a 8.1 bra a korbbi konvenciinknak megfelel formban:

KOCSI

Rendszm Szn Kocsitpus


X fehr Lada
Y zld Lada
Z fehr Polski
Q piros BMW
W piros Polski
8.1 bra: Egy teljesen szokvnyos adattblzat

A tblkban vertiklisan helyezkednek el a tulajdonsgtpusok. Ezek sorozatt (Rendszm,


Szn, Kocsitpus) a tbla fogalmi tartalmnak (angolul: intension) nevezzk. A tbla sorainak a
horizontlis egyttest fogalmi kiterjedsnek (angolul: extension) hvjuk. Termszetesen a kt
irnyt csak kpszeren kell rteni; azokat fel is lehetne cserlni. Mivel a kiterjeds mrete (az
egyedelfordulsok szma) ltalban nagyobb, mint a tartalom (a tulajdonsgtpusok szma), az
adatmodellezsi szhasznlatban a fenti irnyjelzs terjedt el. Mert hiszen a papr hossza is
ltalban nagyobb, mint a szlte.
A 8.1 bra ltal mutatott kp csak az emberben l, s mint az elbbi meghatrozsok is
mutattk, fogalmi szint elkpzels. A tnyleges adatbzis elrendezse sokszor mg csak nem is
emlkeztet az itteni struktrra. Gyakran elfordul, hogy a logikai tervezs sorn a tblzatokat
ilyen vagy olyan okok miatt (ld. 4.4 pont) sztdaraboljuk. Ezt a megbontst logikai particio-
nlsnak nevezzk. Ez a megbonts tartalom s/vagy kiterjeds szerint trtnhet.
A 8.2 bra a ritkbb intenzionlis, a 8.3 bra a gyakoribb extenzionlis particionlst
mutatja. Az is elfordul, hogy a kt megoldst kombinljk. A megbonts a tpus szinten adat-
ismtlssel (angolul: data replication) jr, hiszen az azonostt (Rendszm) mr tbb llomny
tartalmazza. Az intenzionlis particionlsnl viszont kerlni kell az rtk szint adatrepliklst,
mert az kellemetlen kezelsi gondokat okoz redundancit jelent (ld. a Z rendszm kocsi adatait
a 8.3 brban).
A tulajdonsgsor megbontsnak egyik gyakori oka az, hogy az adatkezel rendszer nem
szereti a szles - sok tulajdonsgtpust tartalmaz - tblt, kezelsi hatkonysga romlik egy
bizonyos mret felett. A msik ok, amely az elfordulsok szerinti megbontsnak is a f indoka, a
(fldrajzi) elosztottsg. Egyes gpkocsik adatait az X, msokt az Y helyen kell kezelni.

KOCSI-1 KOCSI-2

Rendszm Szn Rendszm Kocsitpus


X fehr X Lada
Y zld Y Lada
Z fehr Z Polski
Q piros Q BMW
W piros W Polski
8.2 bra: Tartalom szerinti megbonts

108
KOCSI-3

Rendszm Szn Kocsitpus


X fehr Lada
Y zld Lada
Z fehr Polski

KOCSI-4

Rendszm Szn Kocsitpus


Z fehr Polski
Q piros BMW
W piros Polski
8.3 bra: Terjedelem szerinti megbonts

A tblzatok tartalma a valsgban sem horizontlisan, sem vertiklisan nem gy kerl


elrendezsre a szmtgpen, mint ahogyan azt ltjuk. Az adatkezel rendszerek a tblkat mind-
kt irnyban megbontjk. A troln a Kocsitpus tartalmnak karaktersora a Szn rtktl tvol
is elhelyezkedhet s egyltaln nem biztos, hogy a Q kocsi adatai a Z kocsi ismereteit kzvetlenl
kvetik. Teht a tblk nemcsak logikailag - tartalmilag - bonthatk meg, hanem a konkrt
ismeretek is sztdaraboltan foglalnak helyet a tron, azaz fizikailag particionltak.
Vgeredmnyben van egy fogalmilag egysges adatbzisunk (8.1 bra), amelyet logikailag
megbontunk (8.2 s 8.3 bra) - tbbnyire a fldrajzi krlmnyek miatt - s amelynek rszei
szanaszt szrva tallhatk a tnyleges fizikai adathordozkon. Ha teht az adatkezels lnyegt
akarjuk firtatni, akkor egy percre sem szabad elfeledkeznnk a hrom szintrl s arrl a tnyrl,
hogy ismereteink kezelsben kt vagy hrom alaprendszer mkdik kzre.
Adatainkat a fizikai trakon tnylegesen az opercis rendszer helyezi el s onnan az keresi
vissza. Ha nem hasznlunk adatkezelt, akkor az elhelyezsi- s hozzfrsi md (ld. 4.6 pont)
kivlasztsval magunk utastjuk programjainkban a mkdtet rendszert az adatok adott mdon
ltszd elhelyezsre. Ezzel a mlyszint adatkezelssel nem foglalkozunk.
Szerencsre ma (specilis feladatoktl eltekintve) nincs szksgnk arra, hogy kzvetlenl
rintkezznk az opercis rendszerrel. Az adatkezel rendszerek (angolul: data management
system) garmadja ll a rendelkezsnkre. Programjainkban ezt az eszkzt krjk fel az isme-
retek elhelyezsre s visszakeressre. Az adatkezel utastja az opercis rendszert ignyeink
teljestsre.
Amennyiben adataink fldrajzilag elosztottak - vagyis nem egy gpen tallhatk -, gy
szksg van a harmadik eszkz kzremkdsre is. Az adattviteli rendszer (angolul: data
communication system) segt bennnket az adatok tvoli elhelyezsben s onnan val vissza-
keressben. Ezzel a szoftverrel sem rintkeznk kzvetlenl: ez az adatkezel feladata. Kny-
vnkben az adattviteli rendszer ltal vgrehajtott adatkezelsi funkcikrl nem lesz sz. Vg-
eredmnyben a tovbbiakban csak azt fogjuk vizsglni, hogy miknt hasznljuk az adatkezel
rendszert s az milyen feladatokat vgez el a szmunkra.

109
8.3 Trtneti kitekints: Az adatbzisgpek

A korszer adatkezel rendszerek osztott (angolul: shared) hasznlatak, vagyis egyidejleg


tbb felhasznlt is kiszolglnak. A legmodernebbek tbbfonalas (angolul: multi-thread) mdon
mkdnek. Ez azt jelenti, hogy nem a kezelsi ignyeket (a tranzakcikat) lltjk sorba, hanem
az elemi be/kimeneti mveleteket. A W gpkocsi adatait az Y felhasznl azonnal (a msodperc
tredke alatt) elrheti, miutn azokat az X felhasznl kezelte feltve, hogy az utbbi nem
alkalmazott valamilyen specilis zrat (ld. 5.5 pont).
Ily mdon a mai adatkezelk megismtlik az opercis rendszer feladat-, tr-, erforrs- stb.
menedzselsi funkciit a maguk szintjn. Ez nyilvnvalan pazarl megolds. (Nem szlva arrl,
hogy a rosszul tesztelt adatkezelk ilyen repliklt funkcii sszeakadhatnak az opercis
rendszervel.)
Ezrt a hetvenes vek vge ta ksrleteznek olyan rendszerekkel, amelyekben a kt alap-
szoftver - az opercis rendszer s az adatkezel - funkciit egyestik. A szmtgpnek nincs
kln opercis s adatkezel szoftvere: az utbbi ltja el az elbbi feladatait is. Az ilyen mdon
mkd technikt nevezik adatbzisgpnek. Felteheten piaci okok miatt nem terjedt el ez a
megolds, hiszen csak igen nagymret s egy helyen trolt adatbzis esetn fizetdik ki.
Azonban szmtanunk kell arra, hogy nem is hossz idn bell az opercis, az adatkezel s a
kommunikcis szoftverek kpessgeit egyesteni fogjk, mert e tnyezk sszehangolatlansga
lassan mr vilgra szl skandalum.

8.4 Adatkezels s adatfeldolgozs

A mindennapos felhasznl s a kezd szakember sok bajjal kell, hogy megkzdjn, amg
meg nem rti az alcmben jelzett kt lnyeg klnbsgt. Megveszik valahol az X adatkezel
rendszert, majd megdbbennek azon, hogy a beszerzett szoftverrel nem kpesek j informci
ltrehozsra tbb-kevsb sszetett alkalmazsi programok megrsa nlkl. Ezrt nagyon
fontos, hogy vilgosan lssuk az adatkezels s adatfeldolgozs klnbsgt s sszefggst.
Az adatkezel rendszerek az ismeretek dimenziival (ld. 2.2 pont) foglalkoznak s nincs
kzk az ismeret tartalmi mondanivaljhoz. Kpletesen szlva az adatkezelnek mindegy,
hogy Rzsa kocsija fehr vagy rzsaszn. Csak annyit kell tudnia, hogy van KOCSI egyedtpus,
amelynek a Szn az egyik tulajdonsgtpusa, ami bizonyos rtkeket vehet fel. Vagyis az adat-
kezel kizrlag adatszerkezeteken dolgozik.
Adatkezelsi mvelet az ismeret bevitele, mdostsa, trlse, kpernyn val megjelentse,
nyomtatra trtn kirsa, vlogatsa, rendezse, msolsa, kimentse, ttltse stb. Az ilyen
mveletek sorn nem szletik j ismeret, csak a meglevk elrendezsre kerl sor.
Nhnyan megtkznek ezen a kijelentsen s felvetik a krdst: Ha beviszem egy j kocsi
adatsort, mdostom a Szn tartalmt, trlm az egyik kocsi adatait - ez nem jelent j
ismeretet? Nem! A felhasznl mr birtokban volt az ismeretnek, klnben nem tudta volna azt
bevinni, mdostani vagy trlni. Nem az adatkezel szlte az ismeretet. csak elrendezte azt
a ngy dimenzinak megfelelen.

D 8/1 Adatkezelsi mveleteknek hvjuk azokat az adatokon vgrehajtott (szmtgpes)


tevkenysgeket, amelyek sorn j ismeret nem szletik.

110
A fentiekben nem vletlenl hasznltuk az ismeret szt. Ha valaki lekrdezi az adatbzist -
adatkezelsi mvelettel -, akkor informcit nyerhet pusztn a megjelents, az elrendezs, a
vlogats kvetkeztben. Az egyn informcira tehet szert az ismeretek pusztn formai tlalsi
mdjn keresztl, mindenfle tartalmi adattalaktsi mvelet nlkl is.
Most vessnk egy pillantst a 8.4 brra!

RENDELSTTEL

Rendelsszm Cikkszm Mennyisg r


X A 80 50
X B 70 25
Y A 30 50
8.4 bra: RENDELSTTEL egyedtpus

A krds az, hogy mennyit kell fizetni az els rendelsttelrt? A Ttelrtk nev tulajdonsg
nem szerepel az adatbzisban. Ezrt tartalmt nem kaphatjuk meg az adatbzis trendezsvel s
valamilyen mdon val megjelentsvel, vagyis adatkezelsi mvelettel. Az els rendelsttel
Mennyisg s r tulajdonsgnak a tartalmt ssze kell szoroznunk ahhoz, hogy a kvnt
ismerethez jussunk. A Ttelrtk az adott esetben 4000 (Ft).
Most mr lehetsgnk van az adatfeldolgozs meghatrozsra:

D 8/2 Adatfeldolgozsi mveleteknek hvjuk azokat az adatokon vgrehajtott (szmt-


gpes) tevkenysgeket, amelyek sorn j ismeret szletik.

A fentiek rtelmben az ismeretek kt osztlyba sorolhatk azok megszerzsi mdja szerint.


Egyrszt vannak megfigyels vagy kzls ltal nyert ismeretek. Rnznk a kocsira s meg-
llaptjuk, hogy a szne fehr. Bellt az gyfl s kzli, hogy a neve Rzsa. Msrszt vannak
feldolgozsi mvelet eredmnyekppen kapott adatok, mint a Ttelrtk.

D 8/3 Az szlels vagy kzls ltal nyert ismereteket alapadatoknak, a matematikai


s/vagy logikai mveletekkel kapottakat szrmaztatott adatoknak hvjuk.

Az itteni alapadat meghatrozs nem azonos a programozsban megszokottal. Nem az adott


program szempontjbl tnyeznek tekintett ttelt nevezzk alapadatnak. Nem a mveleti szerep,
hanem az ismeret megszerzsi mdja az osztlyozs szempontja. Ezrt a Rendelsszm is
alapadat, noha nem hajtunk vgre rajta feldolgozsi mveletet. A Ttelrtk pedig szrmaztatott
adat annak dacra, hogy pldul a Rendelsrtk kiszmtsi mveletben alaptnyez. Ez a
megklnbztets a kvetkez pontban felvetett krdskr miatt fontos.
Az adatkezels s az adatfeldolgozs viszonya egyrtelm az adatbzisok hasznlatakor.
Adatkezels ltezhet feldolgozs nlkl, de ez fordtva nem igaz. Vannak olyan adatbzisok,
amelyeknek egyetlen clja a nyilvntarts s semmifle szrmaztatsi mveletet nem vgeznek az
adatbzis tartalmn. Ilyen adatbzisok a tg rtelemben vett lexikonok: a nyelvi sztrak, a
lelhely kimutatsok, a knyv-, hanglemez-, szalag- regiszterek, a cmjegyzkek stb. Viszont a
Rendelsttel rtkt sohasem tudjuk kiszmtani, ha az r s Mennyisg adatot nem troljuk az
adatbzisban s nem keressk el a szorzsi mvelet vgrehajtsa eltt.
A fenti gondolatmenetbl egy roppant fontos kvetkeztetst kell levonnunk.

Az adatbzison alapul informcis rendszerben nem az adatfeldolgozs mikntje,


hanem az adatkezels mdja a fontos.

111
Ha az adatbzis jl szerkesztett, akkor abbl minden ismeret elkereshet s szksg szerint
feldolgozhat. Ha az adatbzis szerkezete rossz, akkor brmilyen ragyogak is a feldolgozsi
elkpzelseink, azokat nem fogjuk tudni megvalstani.

8.5 Szabad-e ...?

Az adatbzisokkal kapcsolatosan mindig felvetdik az a visszatr krds, hogy szabad-e az


adatbzisban szrmaztatott adatokat trolni? Megengedhet-e a 8.5 bra szerinti megolds?
Amennyiben az r nem alku s egyb krlmnyek trgya, hanem rgztett, gy az Egysgr
mr nem a RENDELSTTEL, hanem a CIKK tulajdonsga. Hiszen a 8.4 bra jl mutatja, hogy
ellenkez esetben redundancival kellene szmolni: tbbszr trolnnk az A cikk ra 50 sort.
Mrmost ha a RENDELSTTEL nem tartalmazn a Ttelrtk tulajdonsgot s ki
akarnnk szmolni annak rtkt, akkor a megfelel ttelbl a Cikkszm alapjn el kellene
mennnk az azonos cikkszm CIKK elfordulshoz s ki kellene keresnnk az egysgrat. Az
egyedtpusok kztti tmenet - amelyrl albb mg bvebben is szlunk - nyilvn idt ignyl
adatkezelsi mvelet. Ezrt jogos a pont elejn felvetett krds.

RENDELSTTEL CIKK

Rendelsszm Cikkszm Mennyisg Ttelrtk Cikkszm Egysgr


X A 80 4000 A 50
X B 70 1750 B 25
Y A 30 1500
8.5 bra: Rendels adatbzis rszlete

A vlasz az els megkzeltsben teljesen hatrozott. A szrmaztatott adat redundancit


jelent s ezrt elvileg nem trolhat az adatbzisban. Gondoljuk csak meg, hogy visszamen-
legesen vgrehajtunk egy remelst az A cikk rt 50-rl 60-ra nvelve! A redundancia miatt
ekkor az adatbzis tbbszrs karbantartsa szksges: a RENDELSTTEL minden A
cikkszm sorban mdostani kell a Ttelrtk tartalmt.
Az elv vilgos, de a gyakorlat msknt fest. Tegyk fel, hogy a Fnk tz msodpercen bell
tudni akarja megrendelseink sszrtkt. Ehhez ki kell szmtani minden rendelsttel rtket s
azt summzni kell rendelsek szerint. Az adatbzis mrettl s a gp kpessgeitl fggen ez a
feldolgozs tz msodpercnl hosszabb idt is ignyelhet. Ezrt nincs ms t, mint trolni a
Rendels-sszrtk adatot, amit minden rendelsttel karbantartskor jra ki kell szmtanunk.
Persze magt a Ttelrtket nem fogjuk trolni, aminek az okt mindjrt megvilgtjuk.
Mivel az adatbzisok mrete s a gpek teljestmnye klnbz, nem lehet ltalnos szablyt
megfogalmazni arra nzve, hogy melyik szrmaztatott adatot rdemes az adatbzisban tartani.
Viszont meglehetsen vilgos, hogy melyik szrmaztatott adatot nem rdemes trolni. Erre a
plusz egy szably ad eligaztst. Nem clszer a szrmaztatott adatot az adatbzis rsznek
tekinteni, ha alaptnyezi az amgy is kezelt ttelben vannak vagy plusz egy hozzfrssel
elrhetk. A 8.4 bra esetben a Ttelrtk nem szerepelhet a RENDELSTTEL egyedben,
hiszen az abban lv Mennyisg s r adatokbl azonnal kiszmthat. A 8.5 bra megoldsa
rossz, mert a ttel elrse utn a vonatkoz cikk egy plusz hozzfrssel megkaphat.
A plusz egy vagy tbb hozzfrs krdse figyelmnket az adatbziskezels sajtos von-
saira irnytja. Mieltt rtrnnk a hagyomnyos llomnykezels s az adatbziskezels

112
klnbsgeinek a megvilgtsra, felhvjuk a figyelmet a trolt szrmaztatott adatok egyik
klnleges vonsra.
A 8.4 bra pldjban nem volt lehetsg a Ttelrtk adatkezelsre. Az ismeretet csakis
adatfeldolgozs tjn szerezhettk meg. Ha a Ttelrtk az adatbzis rsze, mint a 8.5 bra
pldjban, akkor az ismeret adatfeldolgozs nlkl, egyszer adatkezelssel is megkaphat. Arra
azonban gondosan gyelni kell, hogy a szrmaztatott ismeretek adatkezelst a megjelents
klnbz mdozataira korltozzuk. Koszra vezetne, ha a Ttelrtk tulajdonsg tartalmt a
felhasznl kzvetlenl - a mennyisgtl s az rtl fggetlenl - bevihetn, mdosthatn,
trlhetn. Ezrt gyenge adatkezelnek kell titullnunk azt a rendszert, amelyben nem lehet
deklarlni a tulajdonsg szrmaztatott voltt s a szrmaztats automatikus mdjt, ezzel
megakadlyozva a szrmaztatott adat karbantartst.
Itt emltjk meg, hogy mr a 70-es vek elejn ltezett olyan adatbziskezel (lsd pl. [17]),
amelyben deklarlni lehetett szrmaztatott adattpust is. A fggvnynek hvott adattpushoz ki
kellett jellni a mveletet: pldul Ttelrtk = Mennyisg*r. A Ttelrtk nem kerlt trolsra.
Az ismeret lekrdezse sorn az adatkezel a fggvny alapjn mindig automatikusan szmolta
ki a megfelel rtket.

8.6 llomny- s adatbziskezels

Az adatkezelsnek kt mdja van. Errl mr tettnk emltst a 3.1 pontban. Most a ktfle
kezels klnbsgeit alaposabban is megvilgtjuk.
Az llomnykezels sorn az egy egyedtpusba tartoz, egy logikai llomnyt kpez ttelek
halmazn dolgozunk. Ha az ruk ismereteire vagyunk kvncsiak, akkor a CIKK llomnyban
bogarszunk; ha a rendelt mennyisgek adatait kezeljk, akkor a RENDELSTTEL llomny
elfordulsaival csinlunk valamit. A lnyeg az, hogy a kezels mindig egyfle tblt rint.
Kpletesen szlva az ilyen kezels vertiklis, az adott tbla kiterjedse (extension) mentn
halad. Kikeressk az els cikket, majd a msodikat stb.
A hagyomnyos llomnykezels ltalban ktegelt jelleg. Ha arra vagyunk kvncsiak,
hogy mennyi az X rendels sszrtke, akkor a RENDELSTTEL llomnyt vgigtallzva
kikeressk azokat a sorokat, amelyekben a Rendelsszm rtke X. Ksztnk egy n. tmeneti
llomnyt, amit majd a CIKK llomnnyal sszevlogatunk a Cikkszm szerint s kibvtnk az
Egysgr s Ttelrtk adattal. Lsd a 8.6 brt. Ismtelt llomnykezelssel az tmeneti fjl
ttelein vgigballagva sszestjk a Ttelrtk tartalmt. Esetnkben 5750 lesz a Rendelsrtk
szrmaztatott tulajdonsgnak az sszege.

RENDELSTTEL-1

Rendelsszm Cikkszm Mennyisg Egysgr Ttelrtk


X A 80 50 4000
X B 70 25 1750
8.6 bra: Egy tmeneti llomny

Megjegyzs: Ha a Ttelrtket troljuk, akkor megtakartjuk a ktegelt kezels els mvelett


s az tmeneti llomnyt. Ezen takarkossg jegyben hajlamosak tervezink a szrmaztatott
adatok trolsra.

113
Lehet, hogy a fenti feladatot ma mr csak nagyon kevesen hajtank vgre a lert mdon.
Azonban mg ma is gyakran alkalmaznak ktegelt feldolgozst s tmeneti llomnyokat olyan
krnyezetben is, ahol mr adatbziskezelvel dolgoznak. Teszik ezt annak ellenre, hogy az
adatbziskezels logikja nem azonos az llomnykezelsvel. Az elbbi tbb lehetsget nyjt
gy, hogy magban foglalja az utbbi kpessgeit is.
A valdi adatbziskezels tranzakciorientlt. Ez azt jelenti, hogy a bemenetbl kiindulva
tmeneti llomny kpzse nlkl vezetjk vgig a kezelst a kimenetig. Pldnk esetben a
feldolgozs logikja a kvetkez: Az X rendels sszrtkre van szksg. Ezrt keresni
kezdjk a RENDELSTTEL llomnyban azokat a sorokat, amelyekben a Rendelsszm rtke
X. Ezt a mveletet llomnykezelsi mdon, extenzionlisan vgezzk. Amikor elrjk az els
megfelel sort, azt nem msoljuk ki tmeneti llomnyba, hanem felhasznljuk a CIKK -
RENDELSTTEL kapcsolatot, amely a kzs Cikkszm kapcsol tulajdonsgon alapul. A
RENDELSTTEL llomnybl a CIKK-be tlpve kikeressk a cikk egysgrt s rgtn
megllaptjuk az adott rendelsttel rtkt. Ismereteinket azonnal a kimenetbe visszk s csak
azutn megynk a kvetkez rendelsttelre.
Teht az llomnykezelssel szemben, amely extenzionlis, az llomny kiterjedse szerint -
vertiklisan - halad, az adatbziskezels intenzionlis. A kzs tartalm tulajdonsg mentn
horizontlis - klnbz llomnyok kztti - irnyt vesz.
Az l-adatbziskezelk hasznlatnl ezt az llomnyok kztti kimutatst kln kell
programozni. Az adott rendelsttelhez rve neknk kell megllaptanunk a Cikkszm rtkt,
majd azt felhasznlva mi programozzuk a megfelel cikk kikeresst (miutn magunk nyitottuk
meg a CIKK llomnyt). Ezrt ebben az esetben valjban llomnykezelsrl van sz, amely
procedurlis jelleg (v. dBASE). Ezzel szemben a valdi adatbziskezelnek csak annyit kell
mondani, hogy keresse ki az aktulis rendelsttel flrendeltjt a CIKK - RENDELSTTEL
kapcsolat mentn. A Cikkszm rtkt nem a program, hanem az adatbziskezel hatrozza meg.
Az nyitja meg a CIKK llomnyt s az keresi ki automatikusan a megfelel cikket. Teht az ilyen
kezels deklaratv, az elre meghatrozott tnyezn - a kapcsolaton - alapul.
Mindenesetre az l-adatbziskezelsre is jellemz az, hogy az llomnyon belli kezelst
llomnyok kztti kezelsi mveletek szaktjk meg.

D 8/4 Az egyedtpusok kztti, a kzs tulajdonsgon alapul (automatikus) tmenetet


naviglsnak nevezzk.

A navigls kifejezs rgi kelet s eredeti rtelmben az n. hls adatbzisokhoz


ktdik. Ha kikeressk az els cljainknak megfelel rendelsttelt (Rendelsszm=X) s
onnan tvltunk a vonatkoz cikk (Cikkszm=A) kezelsre, akkor jelzbjt kell elhelyez-
nnk. Ez mutatja, hogy melyik RENDELSTTEL sorhoz kell majd visszatrnnk a CIKK
megfelel sornak a kezelse utn. sszetettebb, tbbfle egyedet rint keresseknl
egyedtpusonknt kell kijellnnk a bjkat. Pldul akkor, ha nemcsak az X, hanem az sszes
rendels rtkt akarjuk kiszmtani. Ekkor az brkon nem mutatott RENDELS egyedbl
indulunk el. Keressk az els (X) rendels els ttelt, de megjegyezzk, hogy melyik
rendelsnl tartunk, mert majd r kell trnnk a msodikra (Y). A RENDELSTTEL egyed-
bl a cikk fel kilpve elknyveljk, hogy melyik ttelnl vagyunk (XA), hogy majd a folyta-
tsban tlphessnk a kvetkezre (XB). E bjk mentn haladva - vagyis naviglva - talljuk
meg a visszafel vezet helyes utat az adatbzis szerkezetben.
Valamikor rgen a bja az adat fizikai elhelyezsi mdjnak megfelel fizikai mutatt
jelentett. Teht ha az elhelyezsi md (ld. 4.6 pont) megvltozott, akkor t kellett rni azt a
programrszt, amely a bjk mentn az llomnyok kztt naviglt. Ez a tny srtette a fizikai
adatfggetlensg elvt (ld. 4.7 pont). Ezrt a relcis adatkezelkben kikszbltk a navigci
s az azzal szorosan sszefggnek hitt kapcsolat tnyezjt. Ma mr tudjuk, hogy ez az

114
elrehalads valjban kt lpst jelentett htra. Lehetetlenn tette a kapcsolattpusokon alapul
logikai szint deklaratv adatkezelst, amelynek lehetsge mr rgta ismert. Kiknyszerti a
procedurlis programozst, amely radsul igen sokszor fizikai fggsggel jr (indexelt/nem-
indexelt-e a kapcsol adat).

8.7 A termszetes adatfeldolgozsi lnc

Most rkeztnk el az adat, az adatbzis s az informci sszefggsnek a megvilgt-


shoz. Az adatbzisok eltti korszakban a fejlesztk s felhasznlk a szmtgpes alkalmazst a
bemenet (input), a feldolgozs (processing) s a kimenet (output) hrmasaknt kpzeltk el. Ez
az IPO-nzet szorosan kapcsoldott azzal a felfogssal, amely szerint az alkalmazsokat a
kimenetbl kiindulva kell megtervezni. Br ez a szemllet mr rges-rg elavult, mg mindig
akadnak olyan krnyezetek, amelyekben az IPO-megkzelts uralkodik.
Az IPO-felfogs azrt kros, mert egoista, azaz nrdek. Egy felhasznl (vagy egy szk
alkalmazi csoport) szempontjbl rtelmezi a bemenetet s a kimenetet. Teljesen figyelmen
kvl hagyja azt a tnyt, hogy az adatbzis kzs tulajdon. Az adatbzisra, mint az informcis
rendszer legfontosabb tnyezjre mg maga az IPO betsz sem utal.
Mirt veszlyes ez a szemllet? Azrt, mert termszetellenessge miatt felesleges munkkhoz
vezet mind a bemeneti, mind a kimeneti oldalon. Ezt az lltst kt pldval szemlltetjk.
Elszr a bemeneti oldalt vizsgljuk meg.
Valamikor a hetvenes vekben ptipari termelsirnytsi rendszert akartak kszteni
valahol. A felsbb szervek ukza szerint az adatfeldolgozs gpestst az n. durva-programo-
zssal - vagyis az ptipari erforrsoknak a megalkotand pletekhez val globlis hozz-
rendelsvel - kellett volna kezdeni. A volna mutatja, hogy - szerencsre - ebbl a projektbl
sem lett semmi... m mi trtnt volna, ha megvalsul?
Egy ngyzetmternyi X tpus falhoz mondjuk Y darab falazanyag szksges. Az ilyesfajta
ismeretet normnak szoktuk nevezni. Ha egy pletben Z ngyzetmter fal van, akkor ahhoz Z*Y
darab X tpus anyag szksges. Vagyis a clmrtket (Z) meg kell szoroznunk a norma mrtk-
egysgvel (Y). Ez evidens. Viszont az adott plda esetben a felsbb szervek nem rendelkeztek
sem a clmrtk, sem a norma adatbzisban trolt adataival. Mi kvetkezik mindebbl a
bemenetre nzve?
A felhasznlnak minden egyes esetben kln bemenetben kellene megadnia a clmrtket.
Vagyis a falazanyag-szksglet, a habarcs-mennyisg, a munkara stb. megllaptshoz kln-
kln be kellene tnie a Z szmot. Ez nyilvn felesleges munka s igen nagy a hiba eslye. Az
adatrgzt Q-t fog tni Z helyett. Ugyanez a megllapts a normra is vonatkozik. A Z s a W
clmrtk esetn kln-kln el kell venni a kzi normaknyvet s abbl kilesni, hogy Y a
norma. Az pedig teljesen vilgos, hogy Szab a normaknyv A, Kovcs pedig annak B vltozatt
fogja hasznlni.
Az eset a 70-es vekben trtnt. m nehogy azt higgyk, hogy ma ms a helyzet. Az nfej
vezetk nem ismerik az informcis rendszerek lnyegt. Akarnok mdon az ltaluk meg-
lmodott rszrendszerrel kezdik a gpestst. Ezzel iszonyatos tbbletmunkra knyszertik
sajt beosztottjaikat s slyosan veszlyeztetik az ismeretek konzisztencijt.
Az els tanulsg az, hogy a termszetes adatfeldolgozsi lncot nem szabad ellrl megtrni.
Ha a norma s a clmrtk termszetesen, lnyegknl fogva megelzik a vgs mennyisget,
mert annak alapadatai, akkor a gpestst csakis ezen adatok szmtgpes kezelsvel
szabadna kezdeni.

115
A kimeneti plda szintn az akkori korbl szrmazik. A szmtgpet is gyrt (!) cgben a
termelsirnytsi program ontotta a tonnnyi tablkat. Pldul mjus 2-n kzlte, hogy
prilis 3-n elromlott az meg az a gp. Persze prilis 3-n ugyanezt nem tette meg. Termszetes,
hogy erre a megksett informcira mr senki sem volt kvncsi. Radsul pontosan ugyanazt a
tabltmeget kapta a mrnk, a knyvel, a mszakvezet, a karbantart, a raktros stb.
Az ilyen tablkban mindenki tallhat magnak hasznos ismeretet. Pldul a karbantart
kibngszheti, hogy mindig az X-tpus gp romlik el s tbbnyire olyan mdon, hogy ...
Csakhogy a mindennapi let hajtsban kinek van ideje tablkat lapozgatni? gy ht - idzet - A
tablkat a sarokba toltuk, amg csak el nem vittk a kukba..
Ma mr szupermodern adatbziskezelket hasznlunk. Ennek ellenre nap mint nap tall-
kozunk a tabl-szindrmval. A legtipikusabb plda az egyeztets. A tervez rossz adatbzis-
szerkezetet kszt, amely emiatt kptelen az nellenrzsre. Emlkezznk csak arra, hogy az
adatmodell szerkezete egyben korlt is, teht alkalmas bizonyos fok automatikus ellenrzsre. A
msik hiba az, hogy nem hasznljk ki a mai kezelk validlsi kpessgeit. A hibs adatok
tmegt engedik be az adatbzisba. Emiatt nlklzhetetlen a bevitt adatok egyeztetse.
Sikerlt-e helyesen bevinni az adatot vagy sem?
Br a j adatbzisszerkezettel, a megfelelen alkalmazott validlsi rutinokkal s fleg a
beviteli fegyelem szigortsval a mai hibs adatbevitel mrtkt a tizedre lehetne cskkenteni,
valamilyen egyeztetsre mindig szksg lesz. Csak az a baj, hogy nem Irnknek s Mariknak
adjuk az ket illet prtucatnyi ttelt egyeztetsre, hanem tbb szz oldalnyi tablt zdtunk egy-
egy szervezeti egysghez. A szelektivits teljes hinya jellemzi a mai gondolkodsmdot.
Az egyeztets csak plda volt arra, hogy a termszetes adatfeldolgozsi lncot htulrl is
megtrjk. Nem testreszabott ismereteket adunk a felhasznlnak. Sajnos nagyon is jellemz,
hogy a tervez nem Marikt s Irnkt ltja a szeme eltt, amikor valamit kifundl, hanem egy
jellegtelen szrke tmeg szmra kszt leporellkat. Megfordtva: Irnke s Marika mr annyira
megszokta a tabllapozst, hogy szentl hiszi: ez a szmtgpes adatfeldolgozs lnyege.
A vezetknek, fejlesztknek s felhasznlknak vgre tudomsul kellene vennik, hogy

az adatok feldolgozsnak van egy optimlis lnca.

Ez az adatok termszetes sszefggsein alapul. Az ismeretek logikailag s idben elrende-


zettek. Azaz az egyik ismeret a msiknak az alapja. A normt (Y) mr tudni kell, amikor a cl-
mrtk (Z) szerinti tglaszksgletet ki akarjuk szmolni. Ezt a vastrvnyt nem lehet bntetlenl
megszegni. A szmtgppel foglalkozk gyakran elfeledkeznek arrl, hogy az adatbzis mindig
alapadatbzist jelent. A szrmaztatott adatok trolsnak a fentebb trgyalt eseteit kivve az
adatbzisban csak alapadatokat trolunk, viszont azokat trolnunk is kell.
Az adatfeldolgozs termszetes fonalnak a kezdett viszonylag knny felismerni. A vgt
sokkal nehezebb megtallni. Ahhoz alaposan ismerni kellene a felhasznlt. Mi tbb, a felhasz-
nlnak is sszhangban kellene lennie sajt magval. Tudnia kellene, hogy melyek a vals
feladatai s azok teljestshez milyen informcikra van szksg. A bajok ott kezddnek, hogy
maga a felhasznl nincs tisztban a sajt funkcijval, a szmra fontos ismeretekkel s azok
sszefggseivel. Mivel elre nem is tudja, hogy mit keres, ilyen meg olyan vetlet tablkat kr.
Majd csak rbukkan valami fontosra. Amennyire a vezet s a tervez a felels az optimlis
feldolgozsi lnc ellrl val megtrsrt, ugyanannyira a felhasznl a ludas abban, hogy a
szmtgpet nem lehet okosan megdolgoztatni s a valdi vgig vinni a feldolgozst.

116
8.8 Technikai adatok

Mint mr ismeretes, az adatbzisnak hrom szintje van: fogalmi, logikai s fizikai. Az


adatbzisban az ltalunk fontosnak tartott jelensgek lnyeges ismereteit s azok viszonyait
akarjuk rgzteni (fogalmi szint). Az alkalmazsi/technikai krnyezet miatt tvlati ignyeinkkel
megalkuszunk s tartalmilag ilyen-olyan mdon elrendezett korltos adatbzist hozunk ltre
(logikai szint). Elknyveljk, hogy a szmunkra fontos ismerettartalom mindenfle szmunkra
rejtlyes adattrolsi s -brzolsi mdokon valsul meg (fizikai szint).
Mindeddig csak azokrl az adatokrl szltunk, amelyek az alkalmazsi krnyezet szmra
lnyeges ismereteket tkrzik, amelyek a felhasznl szmra fontosak. Magban a fizikai
adatbzisban lesznek olyan bels technikai adatok (indexek, mutatk, bels kulcsok), amelyeket a
felhasznl nem lt, de a szmra lnyeges ismeretek kezelse szempontjbl vgl is az
szmra lnyegesek.
Az alcmben jelzett technikai adat kifejezs nem ezekre a titkos, bels, szksges adatokra
vonatkozik. A kvlrl is lthat, msodlagos cl adatokrl van sz. Mindezt persze leginkbb
egy pldn keresztl lehet megrteni.
A vgs-felhasznl szmra fontos - elsdleges - adat a Szerzdskts-dtuma. adja meg
ennek tartalmt, kezeli az adatot, amit akkor s gy lt, ahogy akar. Viszont itt van a Szerz-
dsrgzts-dtuma. Ez azt mutatja, hogy mikor vittk be sikeresen a szerzds adatait a szmt-
gpre. Ha tetszik, ha nem, be kell ltnunk, hogy ehhez a vgs-felhasznlnak elvileg semmi
kze sincs. A szerzds adott naptl fogva l fggetlenl attl, hogy a gpesek annak adataival
miknt bvszkednek. Ezrt a Szerzdsrgzts-dtuma msodlagos adat. A felhasznl ltal
nem kezelhet, st esetleg nem is lthat. Nos, ezeket a msodlagos adatokat nevezzk techni-
kaiaknak.
A mai adatbzistervezk kedvelt szoksa, hogy az adatbzis llomnyait teletzkdik olyan
msodlagos adatokkal, amelyek csakis a fejleszt szmra fontosak. Bevittem, trltem, elkld-
tem a csekket, rtestettem az gyintzt, tadtam stb. Amint ltjuk, ezek az ismeretek tbbnyire
arra szolglnak, hogy a fejleszt s a feldolgoz igazolja magt a felhasznlval folytatott - sajnos
egyre gyakoribb - vitkban. Br szomoran, de be kell ltnunk, hogy az ilyen msodlagos
ismeretek trolsra is szksg van. A krds az, hogy hol van a technikai adatok megfelel
helye?
A rossz tervez a rekordkpekben - az elsdlegesekkel teljesen sszekeverten - tnteti fel a
sajt msodlagos technikai adatait is. (Mentsgre szolgl, hogy a mai adatkezelk egyltaln
nem tmogatjk az elsdleges/msodlagos minstst. Szmukra a Szerzdskts-dtuma s a
Szerzdsrgzts-dtuma ugyanolyan lnyeg.)
Ez a pont a fejlesztk szmra kt zenetet akar kzvetteni. Egyrszt azt, hogy ne ljenek
vissza helyzetkkel. Azzal, hogy k kzelebb llnak az adatbzishoz, mint a felhasznlk.
Erklcstelen dolog a msodlagos adatoknak az elsdlegesekkel egytt trtn trolsa, mert
lelasstja a felhasznli adatkezelst. Msrszt azt, hogy a kzs trols amgy is csacsisg. A
technikai, msodlagos adatok ltalban tbbszrs rtkek. (Ebben az idszakban is kldtem
csekket, az elzben is stb.) Ezrt az a clszer megolds, ha a technikai adatokat kln technikai
egyedtpusokban troljk.

117
8.9 Az adatbzis alapvet titka

A bemenet-feldolgozs-kimenet egyszer hrmasban val gondolkods ideje rg lejrt.


Persze mg rhatunk programot, amelyek a kzvetlen bemenetbl nmi feldolgozsi mveletsor
utn azonnal produklja a kimenetet. Azonban ma mr - az adatbzis korszakban - a korai
bemenet s a ksleltetett kimenet kellene, hogy jellemz legyen.
Korai bemenet: Amint tudomst szerznk egy tnyrl, annak ismereteit azonnal rgztjk az
adatbzisban. Akkor is, ha nem tudjuk, hogy ki s mikor fogja azt felhasznlni. Teht az alap-
adatot nem akkor visszk a szmtgpre, amikor abbl majd konkrt kimenetre lesz szksgnk.
El kell knyvelnnk, hogy minden adatbzis telis-tele van sohasem rtkestett ismeretekkel. Ez a
felfogs az alapja annak, hogy amikor komoly informcikra van szksgnk, nem kell a
bevitellel bajldni. Minden alapadat elre tlalva van.
Ksleltetett kimenet: Mivel az adatbzisban minden fontos ismeret rendelkezsre ll, nincs
szksg szrmaztatott adatok bevitelre, elfeldolgozsokra, kapkodsokra. Majd (de csakis
akkor), ha a vonatkoz ismeret fontoss vlik, azt elkeressk az adatbzisbl. gy nincs szksg
elhamarkodottan jravarilt bemenetekre s elre t nem ltott feldolgozsokra. Nem a bemenet,
nem a feldolgozs, hanem a szilrdan meghatrozott adatbzisszerkezet a j kimenetek alapja.
A fentiek utn megfogalmazhatjuk az adatbzis egyik legfontosabb trvnyt:

Az informcis rendszereknek nem az adatfeldolgozs, hanem a gondosan meghatrozott


adatbzisszerkezeten alapul adatkezels a motorja.

Azt az ismeretet, amit egyszer - helyesen - az adatbzisban rgztettnk, brmikor s br-


milyen variciban el tudjuk keresni s ssze tudjuk illeszteni a tbbi adattal. Ha viszont az
adatbzisunk tartalma rossz vagy az ismeretek a helytelen szerkezet miatt nem hozhatk
sszhangba, akkor brmennyire is knldunk, nem tesznk szert informcira.
A hetvenes vekben a jelsz a gpests volt. A szmtgp majd megoldja az informci
ignyeinket. A szmtgppel elre bedrtozott adatfeldolgozsi folyamatokat vgeztettek. gy a
bemenet, a kimenet, az sszefggsek legkisebb vltozsa esetn azonnali jradrtozsra volt
szksg. Azrt, mert az akkori fejlesztk mg nem lthattk, hogy a feldolgozs roppant vltoz-
kony, az adatbzis viszont stabil. Vgeredmnyben a szmtgpeket oszt-szorz, adatfeldolgoz
masinkknt kpzeltk el s hasznltk. Sajnos ez a szemllet mg sok mai fejlesztt s
felhasznlt is megfertz.
Pedig a mai igazi jelsz az alapismeret-trols. A szmtgpet arra illik hasznlni, hogy
jl meghatrozott szerkezetben - egyrtelmen, egyszeresen s teljesen - trolja alapvet ismere-
teinket. Ezek egy j adatkezel segtsgvel brmikor elvehetk, megnzhetk, sszedolgoz-
hatk. A feldolgozs szinte mellkes; a megfelel ismeretszerkeszts a lnyeg. Ezrt ma a sz-
mtgpeket az ismereteket adatbzisszer mdon trol, elssorban adatkezelsi feladatokat
ellt eszkzkknt kellene elkpzelnnk.
Tegyk fel, hogy a rendelsttel vagy a cikk adatait helytelenl visszk be, mert nem tudjuk
rvnyesteni az adatkezelsi szinten meghatrozhat korltokat. Tegyk fel, hogy a Rendelt-
mennyisg s az Egysgr tartalmt helyesen troljuk, csak ppen a kapcsol tulajdonsg bajai
miatt a rendelsttel nem kapcsolhat a megfelel cikkhez. Vgl tegyk fel, hogy alapveten
rosszul hatroztuk meg a rendels s a cikk viszonyt. Mi hasznunk van abbl, ha elvileg tudjuk,
hogy a Ttelrtk a Rendelt-mennyisg s az Egysgr szorzata? A szorzs legfeljebb az ltalnos
iskols alss gyerek gondja. A megfelel adatbzisszerkezet kialaktsa, a korltok helyes
meghatrozsa s rvnyestse - az adatmodellezs - a valban felntt informatikus feladata.
Mert az adatkezels az adatmodellben rgztett szerkezeten s korltokon alapul.

118
Ellenrz krdsek - 8

8/01 Az albbi lltsok kzl melyik igaz (I) s melyik hamis (H)? Mindegyik llts ezzel a
kittellel kezddik: Vannak X, Y s Z tpus szerzdseink.

- A hromfle szerzdsnek sok kzs adatflesge van. Ha hrom llomnyt krelunk,


az nem-tudatos particionlst jelent.
- Az X tpus szerzdseket tven klnbz fikban kezelik. Ez az adatbzis fizikai
particionlst jelenti.
- A hromfle szerzds kzs adatairl tudunk. Fogalmi szinten azokat egytt
hatrozzuk meg. Majd az egyetlen SZERZDS egyedet a szerzdsfajta specilis
tulajdonsgainak megfelelen hrom llomnyban valstjuk meg. Ez az adatbzis
logikai particionlst jelenti.

8/02 Az albbiak kzl melyik adatkezelsi (K) s melyik adatfeldolgozsi (F) mvelet?

- Kikeressk a Lada tpus kocsik tulajdonosait.


- Mdostjuk a cikk rt 50-rl 60-ra.
- Megllaptjuk a szmla vgsszegt a szmlattelek trolt rtke alapjn.
- A Vevkd trolsi sorrend helyett Vevnv sorrend listt ksztnk.

8/03 Az albbi kittelek kzl melyik igaz (I) s melyik hamis (H)? A bevteli szmlk
nyilvntartsrl van sz gy, hogy a szmlk tbbttelesek.

- A Szmlattel-rtk a Mennyisg s r alapjn szrmaztatott adat.


- Ezt az adatot mindig a SZMLATTEL egyedben kell trolni.
- Ez az adat mindig a SZMLATTEL egyedet jellemzi.
- Ezt az adatot sohasem kell trolni.
- A Szmlartk adatot troljuk, ha a fnk azt gyorsan akarja visszakeresni.
- Az ssztartozs ( Szmlartk) adatot troljuk, ha a fnk azt gyorsan meg akarja
ismerni.

8/04 Hol troln n a szerzdsekre vonatkoz Vltozs-oka s a Vltozs-dtuma adatokat,


ha a vltozs technikai jelleg (bevitel, trls stb.)? Szmmal adja meg a helyes vlaszt.

- Sehol. A vltozs tnyt papron kell rgzteni.


- A SZERZDS egyedben, hiszen a vltozs arra vonatkozik.
- Mivel tbb vltozs is vonatkozhat egy szerzdsre s ez csak technikai adat, terveznk
egy kln SZERZDSVLTOZS technikai egyedet.

8/05 Mondja el szavakban sajt magnak, hogy mirt helytelen, ha a Fnk a gpestst a
knyvels gpreltetsvel kezdi.

119
8/06 Marcsa s Julcsa ugyanazon a rszlegen dolgozik. Marcsa az X, Julcsa az Y krzetrt
felels. Felttelezheten hibs ismereteket visznek be a szmtgpre. n mit tenne?
Adja meg a teendk sorszmt az albbiak szerint. Ha valamit nem tenne, akkor 0 legyen
a szm.

- tnznm a beviteli programok validlsi rutinjait.


- Ellenriztetnm szemmelverssel Marcsa s Julcsa adatbevitelt.
- Fellvizsglnm az adatbzis szerkezett s korltait.
- A rszlegnek adnk egy egyeztet tablt.
- Marcsnak s Julcsnak kln-kln adnk egyeztet listt.

120
9. A METAADATBZIS

9.1 Az adatbzisok kt szemlleti skja

Az adatbzis az ismeretek tudatosan szervezett egyttese. A 4. fejezetben rmutattunk, hogy


az adatbzisokat hrom - fogalmi, logikai s fizikai - szemlleti szinten kell meghatrozni. Ez a
zloga az n. vertiklis adatfggetlensgnek (ld. 4.8 pont). Annak, hogy az alsbb szinteken
bekvetkez vltozsok kvetkeztben ne kelljen teljesen jratervezni az adatbzis szerkezett.
Az 5. fejezetben az adatbzisok - globlis s parcilis - szemlleti vetleteivel foglalkoztunk. Az
egyni felhasznli nzetek definilsnak a kpessge ad alapot az n. horizontlis vagy logikai
adatfggetlensgnek (ld. D 5/3). Az adatbzis szerkezetnek a vltozsai nem hatnak ki az
alkalmazsra, amennyiben azok nem rintik az adott nzetbe tartoz tnyezket.
A vltozsokra nem rzkeny adatbzis kiptsnek a jl meghatrozott fogalmi adatmodell
az alapvet felttele. Ezrt kt fejezetet szenteltnk az adatmodell, mint rendszer tnyezinek s
azok sszefggseinek az ismertetsre (ld. 6. s 7. fejezet). Ennek kapcsn taln mr r-
dbbentnk arra, hogy a szinteken s vetleteken kvl az adatbzisoknak egyb vizsglati
aspektusai is vannak. Tbbszr hasznltuk azt a kittelt, hogy az adatbzis az adatmodell szerint
szervezett. Ez azt mutatja, hogy nem egy lnyeggel, hanem kt - egymsnak megfeleltetett -
rendszerrel kell foglalkoznunk.
A felhasznl szmra lnyeges ismeretek szervezett egyttest alkalmazsi adatbzisnak
nevezzk. Ez trolja a fontos vals jelensgek - pldul a kocsik, tulajdonosok stb. - tnyleges
adatait. Az adatbzis ltrehozshoz meg kell hatroznunk annak tervt. Ha jobban meggondol-
juk, a terv is ismeretek szervezett egyttese, teht valjban - adatbzis. Csakhogy ezek az isme-
retek nem kzvetlenl a felhasznl, hanem a fejleszt rszre lnyegesek. Ezrt teljesen logikus,
ha az adatbzistervet fejlesztsi adatbzisnak tekintjk. Teht az adatbzisnak mindig kt
szemlleti skja van: alkalmazsi s fejlesztsi. A kett teljes harmnija a sikeres adatbzispts
s -mkdtets zloga.

Ebben a fejezetben az adatbzisok kt szemlleti skjnak az sszefggseit, ezen tl-


menen pedig elssorban a fejlesztsi adatbzis sajtossgait s kezelst fogjuk ismertetni.

A vargnak a cipje .... Elgondolkodtat, hogy mikzben a szakemberek msok szmra


szmtgpes adatbzisokat ptenek, a sajt maguk szmra fontos ismereteket papr-adat-
bzisban tartjk s kezelik. Hogyan lehet kpes a fejleszt jl tgondolt alkalmazsi adatbzist
ltrehozni, ha a sajt dolgait is kptelen rendbentartani? Mert az mr bebizonyosodott, hogy a
kzi adatbzis-dokumentcik minsge - finoman szlva - kritikn aluli. Persze a szmtgpes
adatbzis-dokumentci sem vezet sokra, hiba vannak csodlatos eszkzeink, ha nem ismerjk a
fejlesztsi adatbzis termszett.

121
9.2 A metaadatbzis lnyege

Az adatbzis az adatmodellnek megfelelen pl fel. Az adatmodell egyed-, tulajdonsg- s


kapcsolattpusok szervezett egyttese. Ezrt az adatbzis tervben valamilyen mdon le kell rni
ezeket a tnyezket, azok viszonyait s a tnyezk illetve viszonyok korltait. Ebben a pontban
ennek a lersnak az elvi alapjairl lesz sz. Mondanivalnkat a kvetkez pldamondatokkal
szemlltetjk:

9.1 plda

Rzsa kocsija Lada tpus.


A Lada tpus kocsik tszemlyesek.
A Kocsitpus tulajdonsg karakteres adat.
A Kocsitpus tulajdonsg a KOCSI egyedet jellemzi.

Az els kt mondat a vals jelensgekrl kzl ismereteket. A msik kett viszont az elz
adatokkal kapcsolatos ismereteket ad t. Az els kittel elmondja, hogy milyen tpus Rzsa
kocsija. A harmadik pedig leszgezi, hogy a Kocsitpus - az els mondat ismerettartalma -
karakteres adattpus.

D 9/1 Az ismeretekre vonatkoz ismereteket metaadatoknak hvjuk.

A definci magyarzata eltt ki kell trnnk a fenti vals jelzre. Rgebben a vals vilg
s a vals rendszer (angolul: real-world s real-system) megjellssel illettk az alkalmazs
lnyegt, hogy azt elvlasszk az informcis rendszertl. A jelz nem szerencss, mert hiszen
nemcsak a kocsi vals, hanem az t tkrz egyedtpus is az. Nemcsak a kocsi tekinthet
ismeretekkel lerand jelensgnek, hanem a KOCSI egyedtpus is. Az ellentmonds feloldsra
bevezettk a nagyon filozofikus az, amikrl sz van (angolul: university of discourse, amit gy
rvidtenek - UoD) megjellst. Ez jobban tkrzi a lnyeget. Mert sz lehet a kocsikrl, tulaj-
donosaikrl stb. ppen gy, mint az egyed-, tulajdonsg- s kapcsolattpusokrl. Mindez nzpont
- szemlleti sk - krdse.
Most trjnk vissza a metaadathoz! Emlkezznk arra, hogy az adatnak ngy dimenzija van
(ld. 2.2 pont). Az alkalmazsi ismereteknl az egyedtpus (KOCSI) adott tulajdonsg-tpusnak
(Kocsitpus) a meghatrozott egyedelfordulsra (Rzsa) felvett rtke (Lada) jelenti ezt a ngy
dimenzit. A metaadat is adat - csak ms a szemlleti skja. Ezrt a fejlesztsi adatoknl is ngy
dimenziban kell gondolkodnunk.
Szoksunkkal szemben most nem az egyed, hanem a tulajdonsg oldalrl fogunk kiindulni.
A 9.1 plda harmadik mondatban a Kocsitpus lnyeg egyik jellemzjt adtuk meg. Korbbi
defincink szerint (ld. D 3/3) azt a valamit, amivel a jelensget lerjuk, tulajdonsgnak hvjuk.
Teht a karakteres adat a Kocsitpus tulajdonsga. A tulajdonsgokat tipizljuk, vagyis nevet
adunk nekik (Adattpus) azrt, hogy annak majd kijellhessk az rtkeit (karakteres). Hiszen
nemcsak a Kocsitpusnak, hanem minden tulajdonsgnak van adattpusa.
Mivel jelen esetben a tulajdonsg ismeretrl szl ismeretet hordoz, az Adattpus-t joggal
nevezzk meta-tulajdonsgtpusnak, a karakteres-t pedig metatulajdonsg-rtknek. Knny
beltni, hogy az Adattpus tulajdonsgnak szmos egyb metatulajdonsga lehet. Ilyen az adat-
hossz, a validls stb. Mr kicsit nehezebb felismerni, hogy az egyedtpusok is lerhatk meta-
tulajdonsgokkal. Pldul a KOCSI egyedtpus jellemezhet a Darabszmmal, amely megadja,

122
hogy hny jrmrl kell nyilvntartst vezetni. A msik metatulajdonsg pedig csaknem kiti a
szemnket: a KOCSI nem ms, mint az Egyedtpus-nv egyik rtke.
Az alkalmazsi adatbzisban klnbz jelensgek (kocsi, tulajdonos, kocsitpus stb.) adatait
kezeljk. Korbbi defincink szerint (D 3/1) a ismeretekkel lerand jelensgeket egyedeknek
hvtuk. Ezeket egyedtpusokba (pl. KOCSI) osztlyoztuk, hogy a konkrt jelensgeket majd azok
elfordulsaiknt (Rzsa kocsija) reprezentlhassuk. gy van ez a fejlesztsi adatbzis esetben is.
A metaismeretekkel lerand jelensgeket (egyed, tulajdonsg, kapcsolat stb.) meta-egyedtpusok-
ba (pl. EGYEDTPUS) osztlyozzuk, hogy a konkrtumokat majd azok meta-elfordulsaiknt
(KOCSI) adjuk meg.
me, elttnk ll a metaadat ngy dimenzija. A meta-egyedtpus (TULAJDONSG-TPUS)
adott meta-tulajdonsgtpusnak (Adattpus) az adott elfordulsra (Kocsitpus) felvett rtke
(karakteres) adja a ngy dimenzit.
A ngy tnyez az adatbzisnak szksges, de nem elgsges felttele. Az alkalmazsi
adatbzis egyedtpusai kapcsolattpusokban llnak, klnben nem is beszlhetnnk adatbzisrl.
Ehhez hasonlan a fejlesztsi adatbzis meta-egyedtpusai kztt meta-viszonytpusok lteznek.
Jl mutatja ezt a 9.1 plda negyedik mondata. A Kocsitpus tulajdonsg (metaegyed) a KOCSI
egyedet (msik metaegyed) jellemzi, ezrt a kett kztt metaviszony ll fenn. ltalban a tulaj-
donsgok egyedekhez ktdnek, teht a metaviszony tipizlhat. Az EGYEDTPUS - TULAJ-
DONSGTPUS meta-viszonytpusnak egyik elfordulsa a KOCSI - Kocsitpus konkrt meta-
viszony.
Azok, akik eddig rekordkpben gondolkodtak, nehezen rtik meg, hogy mirt van szksg
hrom tnyezre. Pldnkban a KOCSI egyedtpusra, a Kocsitpus tulajdonsgtpusra s radsul
mg a KOCSI - Kocsitpus viszonytpusra is. Pedig a lnyeg egyszer: az egyed- s a tulajdonsg-
tpus nem azonos, hanem csak kapcsolatban ll jelensgek. Az egyednek vannak tulajdonsgai -
s ez a kifejezs egyrtelmen utal az n. birtoklsi viszonyra (ld. 6.5 pont). St, a fentiekben
nem vletlenl hasznltuk a viszony szt a kapcsolat helyett. Az egyed- s tulajdonsgtpusok
M:N fok viszonyban llnak egymssal. Ezrt sszefggseiket kln meta-egyedtpussal kell
tkrzni (ld. 6.7 pont).
Most mr sszell a kp a metaismeretek szervezsrl. A fejlesztsi adatbzis pontosan gy
pl fel, mint az alkalmazsi, csak ms ismereti skot reprezentl. Ezrt kijelenthetjk:

D 9/2 A metaadatbzis a meta-egyed-, tulajdonsg- s kapcsolatelfordulsok szervezett


egyttese.

Eddigi ismereteink szerint a metaadatbzis nem ms, mint az alkalmazsi adatbzis modell-
je. Mert hiszen a meta-egyedelfordulsok megegyeznek az alkalmazsi adatbzis egyedtpusai-
val. Amiknt az alkalmazsi adatbzis ltalnos felptst az adatmodell rja le, gy a fejlesztsi
adatbzis ltalnos struktrjt a metamodell, a modell modellje rgzti.

D 9/3 A metaadatmodell a meta-egyed-, tulajdonsg- s kapcsolattpusok szervezett


egyttese.

A fejlesztsi s az alkalmazsi adatbzis viszonyt a 9.1 bra szemllteti. Ezen jl ltszik a


kt egymssal tfed szemlleti sk:

123
Kapcsolattp.
Egyedtpus
META-EGYEDTPUSOK

FEJLESZTSI SK

Gpkocsi
META-ELFORDULSOK
Tulajdonos v. EGYEDTPUSOK

ALKALMAZSI SK

Gabi
EGYED-ELFORDULSOK
Rzsa

9.1 bra: Az adatbzisok kt szemlleti skja

Rzsa a TULAJDONOS egyedtpus egyik elfordulsa. Viszont a TULAJDONOS az


EGYEDTPUS meta-egyedtpus egyik meta-elfordulsa. Vagyis az alkalmazsi szint tpus
mindig megfelel a fejlesztsi szint elfordulsnak. Amint ltjuk, a ktfle adatbzis logikja
teljesen analg, s ebbl a tnybl a fejezet sorn tbb kvetkeztetst fogunk levonni.
A metamodell tbb, mint az alkalmazsi adatbzis modelljnek a modellje. A meta-adatbzis
az ismeretekrl szl ismeretek trhza. Ezrt nem csupn az alkalmazsi adatbzis szerkezett
rgzti, hanem az adatbzisra vonatkoz minden tudnivalt fellel. Trolja a fejlesztssel s a
hasznlattal kapcsolatos adatokat is. Bennnket ugyan - ebben a knyvben - elssorban maga az
adatbzis rdekel, egy rvid ismertet erejig rdemes kitrnnk a meta-adatbzisok fejldsre.

9.3 Trtneti kitekints: Az adatsztr

A metaadatbzis fogalmt mindeddig bizonyra kevesen ismertk. Sokkal tbben tallkoztak


az adatsztr kifejezssel. Az elz pont olvastn nhnyan taln gy szltak magukban: Hm,
adatsztrrl beszl, de mirt emleget fejlesztsi adatbzist vagy metaadatbzist? Azrt, mert
nem ugyanazokrl a dolgokrl van sz. A korszer adatkezels megrtshez nem rt ismerni a
kt lnyeg klnbsgt, vagyis ttekinteni a metaismeretek kezelsnek rvid trtnett.
Az els adatsztr-rendszerek mr a hetvenes vekben megjelentek. Nemcsak adatsztrnak
(data dictionary), hanem adatkatalgusnak, -lexikonnak, -kszletnek, st -kincstrnak is neveztk
ket. Ezek a megjellsek nagyjbl jl mutatjk a kezdeti clt. A sztr az egysges rtelmezs

124
eszkze, amely a cmszhoz kapcsoltan ktetlen szveges lersban adja meg az ltala kifejezett
tartalmat. Pldul: A Kocsitpus tulajdonsg azt jelenti, hogy ....
Az ilyen adatkincstrak - ez a kifejezs fejezi ki leginkbb az adat rtkt - annyiban trtek el
a valdi sztraktl, hogy a metaismereteket nem szvegszeren, hanem adatszeren kezeltk (ld.
2. fejezet). gy lehetsg volt arra is, hogy az adat bizonyos metaismereteit (tpus, hossz,
brzols stb.) beskatulyzzk s valamilyen kdolt formban kezeljk. Az akkori llapotnak
megfelelen az adatsztrakon a mveleteket llomnykezelvel hajtottk vgre (lsd 3.1 pont).
Mr ismertk a metaegyedtpus lnyegt - pl. nemcsak adatokat, hanem csoportokat, rekordokat
stb. is kpesek voltak lerni. Viszont az ezek kztti keresgls procedurlis ton trtnt, hiszen
nem volt mg adatbzis s a metaegyedek kztt nem lehetett metakapcsolatokat meghatrozni.
A hls adatbzisok elterjedsvel az adatsztr kifejezs j rtelmet kapott. Mindaddig a
sztrrendszerek fggetlenek voltak az adatbziskezelktl. Csak a tervezsben illetve a tudatos
dokumentlsban kaptak szerepet. Mi tagads, a kimondottan szveges rszektl eltekintve gy
nzett ki az adatsztr, mint egy risi COBOL Data Divison gyjtemny. Viszont a hls
adatbzisokban meg kellett adni azok formalizlt lerst, az adatbzis-smt (v. D 5/5). Nem
pusztn csak a globlis fogalmi smt, hanem - ksbb - a bels s kls smt is. Ez a tny kt
gondolatot bresztett a szakemberekben.
Az egyik a kettssg kikszblsvel kapcsolatos. Ha kln sztrrendszert alkalmaznnak,
akkor az adatokra vonatkoz ismereteket meg kellene duplzni, hiszen az adatsztr s a sma
tartalma nagyrszt tfed. Klnben is minek kt szoftverrel bbeldni, amikor ott van maga az
adatbziskezel? Viszont ugyanakkor ezek a rendszerek nem voltak felksztve a valban sztr-
szer szvegek kezelsre, hiszen azoknak nincs semmi keresnivaljuk a smban. Termsze-
tesen ezt a gondot knnyen t lehetett hidalni.
A msik gondolat a smk - akkor szinte vrl-vre vltoz - tartalmval fggtt ssze. A
bels smkban egy id utn meg kellett jellni az elhelyezs paramtereiknt a troleszkzt
illetve annak egyes sajtossgait is. Ebbl nknt addott a lehetsg: nmi talakts rn
ltalnosan is vissza lehetne keresni az adatok s az eszkzk sszefggseit. Teht nemcsak az
adatokat, hanem az azokat trol, kezel eszkzket is le lehetne rni az adatsztrban. Ugyan-
akkor a fogalmi smban globlisan, a kls smkban parcilisan meg kellett adni a felhaszn-
lnknti hozzfrsi jogot. Ksbb azt konkrt feldolgozshoz is lehetett ktni. Ezrt kszen llt
az alap a felhasznlk, az adatok s a programok egyes (sszefgg) ismereteinek a
visszakeressre is.
Itt eljutottunk arra a pontra, amikor az adatsztr mr rgen nem csak az adatokra
vonatkoz ismereteket trolta. A sztr alkalmas lett az eszkzknek, a felhasznlknak, a
programoknak s ezen tnyezk viszonyainak a dokumentlsra is. Ettl fogva az informcis
rendszer mindenfajta tnyezjnek a metaismereteit rz adattrakat informcis erforrs
sztraknak (angolul: information resource dictionary, IRD) neveztk.
Az ilyen sztrakban mr nem egymstl fggetlen metaismereteket troltak. Meghatroztk
a metajelensgek - adatok, eszkzk, felhasznlk, feldolgozsok stb. - sszefggseit is, vagyis
valdi adatbzisokat alaktottak ki. Az adatsztr kezdeti llomnyszer kezelst felvltotta az
adatbzisszer kezels, ami annl is rthetbb, mert hiszen kznl volt maga az adatbziskezel
rendszer. Tekintettel arra, hogy az adatot trol eszkz, az informcit ignyl felhasznl, az
ismeretet kezel eljrs lersa maga is ismerettel kapcsolatos ismeret, az gy kialakult sztra-
kat mr joggal nevezhetjk meta-adatbzisoknak.
Az adatsztrak fejldsnek eddigi utols fejezethez rkeztnk. A nyolcvanas vekben sok
olyan fejlesztrendszer szletett, amelyekben nemcsak a fejleszts eredmnyeit, hanem annak
krlmnyeit is dokumentlni lehetett, st: kellett. Pldul meg lehetett adni a projekt cljt,
erforrsait, temezst stb. Md volt annak lersra, hogy ki, mikor, hogyan s mirt gy ter-
vezte meg az adatbzis valamelyik rszlett. Csakhogy gy a fejleszt- s az adatkezel-rendszer
sztra nagymrtkben tfedett. A redundancia elkerlsre a fejlesztrendszert az adatkezelhz

125
igaztottk s sztrnak tartalmt beleolvasztottk az adatkezelbe. Ezzel megteremtdtt a
fejlesztsi folyamatot s annak eredmnyeit egyttesen dokumentl sztr.
Mr csak egy krdsre kell vlaszt adnunk. Az elz pontban a fejlesztsi- s a meta-
adatbzis fogalmt szinonimaknt hasznltuk. Valban azonos lnyegekrl van sz? Alapjban
vve igen. A fejlesztsi jelz azt emeli ki, hogy nem alkalmazi, nem a vgs-felhasznl
ltal kezelt ismeretekrl van sz. Vagyis a relativitst hangslyozza. Ezzel szemben a meta az
ismeretek abszolt termszetre, kzvetett voltra utal. Ezrt taln egy picit jobban fejezi ki a
lnyeget.

9.4 A metarendszerek termszete

Eddig nem volt sz az adatbzis-rendszerek ktfle jellegrl. Vannak olyan alkalmazsok,


amelyek egy-egy elre meghatrozott clfeladat kiszolglsra szlettek. Ezek esetben az
adatmodell tnyezi s az azokat kezel programok egymshoz vannak cementezve. Az egyed-,
tulajdonsg- s kapcsolattpusok eleve adottak; azokat semmilyen mdon sem lehet vltoztatni.
Minden mdosts esetn magnak az adatkezel rendszernek az trsa szksges. Az ilyen
rendszereket testreszabottaknak (angolul: tailored) nevezzk. A feladatra val behangols miatt
az effajta alkalmazsok nagyon hatkonyak, de ugyanakkor roppant rugalmatlanok. ppen ezrt -
a specilis irnytsi folyamatoktl eltekintve - manapsg mr kihalban vannak.
A htkznapi letben elterjedt alkalmazsi adatbzisok tartalma tetszleges. Ezen azt kell
rteni, hogy a vgs-felhasznl maga dnti el, hogy milyen jelensgek (kocsik, knyvek,
szemlyek stb.) milyen ismereteit kvnja trolni s kezelni az adatbzisban. Az adatmodellt
tetszlegesen vltoztathatja anlkl, hogy az kihatna magra az adatkezel rendszerre. Az ilyen
rendszereket ltalnostottaknak (angolul: generalized) hvjuk. Az ltalnos kezelrutinok miatt
ezek sohasem lesznek olyan hatkonyak, mint a testreszabott alkalmazsok. Viszont roppant
rugalmasak - s a mindennapi felhasznlsban ltalban ez a fontosabb kritrium.
A ktfle jellegre nem vletlenl utaltunk gondolatmenetnknek ezen a pontjn. A fejleszti
adatbzisok fejldse elmaradt az alkalmazsi adatbzisoktl. Taln azrt, mert a szakemberek a
vgs-felhasznlknl is konokabban ragaszkodnak a megszokott megoldsokhoz. Ennek kvet-
keztben a fejleszti adatbzisok tern mg ma is nagyon elterjedtek a testreszabott rendszerek. A
fejleszt szmra adottak a metaadatbzis tbbnyire igen korltos, a clszoftver kpessgeihez -
s nem az ignyekhez - szabott tnyezi s azok sszefggsei. Nincs lehetsg a meta-adat-
modell vltoztatsra.
Ezzel szemben vannak mr - klnbz fokon - generalizlt adatsztr-rendszerek is. Ezek
szinte kivtel nlkl ketts termszetek. A testreszabott sztraknl elre kttt a metamodell
felptse, vagyis szigoran adottak a meta-egyed-, tulajdonsg- s kapcsolat-tpusok. A teljesen
ltalnostott rendszer csak hj; a fejleszt maga hatrozza meg mr a metamodellt is. Teht
eldntheti pldul, hogy egyedeket, relcikat, rekordokat akar-e lerni metaegyedekknt s
milyen metatulajdonsgokkal. A mai sztrrendszerek tbbsge nem ilyen. A metamodell elre
adott, de a fejlesztnek bvtsekre van lehetsge. Mit jelent ez?
A sztrrendszerek ltalban nem engedik meg az elre definilt metatnyezk trlst vagy
mdostst. Csak azt teszik lehetv - klnbz mrtkben -, hogy az eredeti korltokat a
fejleszt sajt mg szigorbb szabvnyokkal tovbb finomtsa. Viszont lehetsg van a modell
bvtsre, vagyis j metatnyezk meghatrozsra. Az mr ms krds, hogy mennyire tmo-
gatja a rendszer az ilyen specilis s a standard elemek szerves sszhangjt. (ltalban jelenleg
mg semennyire sem.)

126
Vgeredmnyben a sztrrendszerek ma mg meglehetsen merevek. A clrendszer - a majd
hasznlt adatbziskezel - terminolgija s korltai ltal behatroltak. Ezrt felmerl a krds,
hogy a konkrt rendszer ismerete nlkl egyltaln rdemes-e tovbb firtatni a metaadatbzisok
tartalmt? A vlasz felttlen igen. Ugyanis a metaismereteknek vannak olyan sajtos csoportjai,
amelyek ltvel s termszetvel nem rt tisztban lenni. Fleg azrt nem, mert az alkalmazi
adatbzisokkal szemben a metaadatbzis kezelsekor kisebb a szabadsgfokunk.

9.5 A metaismeretek fajti

A metaegyedek metatulajdonsgait tbb csoportba sorolhatjuk. Ebben az sszefggsben is


beszlhetnk a tulajdonsgok azonost, ler s kapcsol szerepeirl. E szerepeken bell pedig
rdemes megklnbztetni a tovbbi specifikus feladatokat.
A metaegyed azonostjt nem tetszlegesen vlasztjuk ki. Az azonost ltalban ketts. Az
egyik ttel a nv, amit ltalban a metaegyed nevvel minstenek. Pldul: Egyedtpus-nv. A
nv szigoran korltozott mind a mrett, mind a benne hasznlhat jeleket illeten. A msik
ttel a tulajdonkppeni azonost, amit rvid-nvnek vagy kdnak is hvnak. Ez is minstett.
Pldul: Egyedtpus-azonost. Ez a tnyez mg a nvnl is jobban korltozott. A nv az emberi,
kvzi-termszetes hivatkozs eszkze. Nem teljesen termszetes, mert a szigor mretkorlt azt
nem teszi lehetv. Az azonostt egyrszt majd az adatkezel hasznlja hivatkozsra, msrszt
ezen alapul a metatnyez msokkal val kapcsolata.
Mivel a nv hossza korltos, opcionlisan megadhat az ltalban lersnak hvott metaadat
tartalma. Ezen elvileg a teljes termszetes megnevezst kell rteni, de valjban brmi berhat
ebbe az egy-kt soros rovatba. A valdi szveges lersra a meghatrozs mez szolgl, az
adott kezel nagyvonalsgtl fgg mretben. Amint ltjuk, ez a pros hordozza az adatsztr
valban sztr-jelleg ismerettartalmt: az ismeret valdi nevt s annak rtelmezst.
A ler szerep tulajdonsgok kvetkez csoportja majdani adatkezelsi korltknt szolgl.
gy adhatjuk meg az alkalmazsi tulajdonsg (pl. Kocsitpus) adattpust, mrett, validlst,
sajtos mintjt s gy tovbb. Nmely esetben az rtket (pl. a mretnl) viszonylag szabadon
hatrozhatjuk meg. Ms tteleknl csak szigoran megszabott vlasztkbl vlogathatunk. Ritka
esetben a rendszer mdot ad a kszlet bvtsre; pldul meghatrozhatunk j adattpust.
A sztrrendszerek igen kevs minst jelleg metatulajdonsgot alkalmaznak. Ez rszben
rthet is. Az ilyen tulajdonsg nem pl be a tnyleges adatbzisba. Szerepe az, hogy segtse a
fejlesztt a helyes szerkezetek kialaktsban. Egy plda: sok mai rendszer nem tudja expliciten
kezelni a csaldfa szerkezetet (ld. 7.8 pont). Procedurlisan kell megoldani az ilyen struktrval
jr sajtos ellenrzseket. Hasznos lenne, ha a sztrban utalni lehetne a metaegyed csaldfa
jellegre s ahhoz kapcsoltan le lehetne rni magt az ellenrzsi rutint is. Ilyesmire igen kevs
sztrrendszer nyjt lehetsget.
A mai sztrkezelk az rtkel metatulajdonsgok tern a legfukarabbak. Az adatbzis
szerkezetben a sz szoros rtelmben minden mindennel sszefgg. Ezrt a teljes kiptsig a
struktrban mindig lesznek hinyok, redundancik, ellentmondsok. Ha mr az adatsztrak
tvettk a fejlesztsi adatbzisok szerept is, elvrhat lenne, hogy jelzseket helyezzenek el az
idlegesen tkletlennek mutatkoz, ksbb felttlenl vagy esetlegesen javtand tnyezknl.

127
9.6 Passzv, flaktv s aktv adatsztr

A metaadatbzis annyit r, amennyire sszhangban ll az alkalmazsi adatbzissal. Ez pedig


az adatsztr hasznlatn mlik. Ha az adatbzis terve csak papron ltezik, akkor egszen
bizonyos, hogy a tervnek csak halvny kze lesz a valsgos adatbzishoz. A szmtgpes
adatsztr hasznlata a tudatos adatbzispts nlklzhetetlen felttele. Az ilyen rendszerek
hrom klnbz mrtkben szolgljk ki a fejlesztsi ignyeket.
Vannak nll (angolul: stand-alone), a hasznlt adatkezeltl fggetlen sztr-rendszerek.
Nha - egyre ritkbban - az is elfordul, hogy a fejlesztsi s az alkalmazsi adatbzist ugyanaz a
szoftver kezeli, de gy, hogy a kt adathalmaznak semmi kze sincs egymshoz. Ilyenkor a
metaadatbzis nem jtszik szerepet a tnyleges adatok kezelsben. Ezrt ezek esetben passzv
adatsztrrl beszlnk. A kzi metaadatbzishoz kpest ez is risi elrehalads. Minden
ilyen rendszer kiszri a nyilvnval tfedseket s ellentmondsokat. Teljessgre knyszert. A
jobbak intelligensebb elemzseket is biztostanak. gy a passzv sztr az azonos rtelmezsen
tlmenen a konzisztens tervezst is tmogatja. Azt viszont nem tudja megakadlyozni, hogy a
felptett metaadatbzist semmibe vve teljesen ms szerkezet/tartalm valdi alkalmazsi
adatbzist valstsanak meg.
A mai adatkezelk tbbsgnl a meta- s az alkalmazsi adatbzist bizonyos mrtkig
sszehangoljk. Lehetsg van az alkalmazsi programok olyan (el)fordtsra, amelynek sorn
hasznlatba kerl az adatsztr. A fordt ellenrzi, hogy a program ltal krt tnyezk a
felttelezett nvvel, formban, sszefggsben stb. kerltek-e meghatrozsra az adatbzisban.
Ellentmonds esetn a programot visszautastja. Az ilyen mdon mkd rendszereket hvjuk
flaktvaknak. Azrt, mert a sztr az alkalmazsi program vgrehajtsa kzben nem mkdik.
gy a program hibtlan lefutsnak az eslye nem tl nagy. Tudniillik a fordts vgrehajtsa
utn, de a program x-dik futtatsa eltt brki tdefinilhatja az adatbzis szerkezett. (Arrl nem
is beszlve, hogy nincs md az olyan programok futsnak a kizrsra, amelyeket nem ford-
tottak le a fenti mdon.)
Az elvileg igazn j megolds az aktv sztr. Ennek hasznlata szervesen bepl magba az
adatbziskezel rendszerbe. A sztrt nemcsak a fordtsnl, hanem a program futsa kzben is
hasznlja a kezel. Amikor az alkalmazsi program az adatbzis valamelyik tnyezjt ignyli, a
kezel az hajt a metaadatbzissal elbb egyezteti s csak azutn hajtja vgre a krdses
mveletet. gy a meta- s az alkalmazi adatbzis kztt tkletes az sszhang. A programozsi
hiba egyszeren kizrt.
Ernyeik ellenre az aktv sztrak nem terjedtek el. Ennek tbb oka van. A metaadatbzis
programfuts kzbeni rtelmez-md (interpretatv) hasznlata ma mg idignyes. Az ilyes-
mire kpes szoftvernek a kialaktsa sem egyszer feladat. A legfbb gond azonban a
vltoztatsok menedzselse. Ha a programfordts s -futtats kzben az adatbzis szerkezett
mdostjk, akkor az intelligens sztrkezelnek vgig kellene vizsglnia, hogy milyen progra-
mokat rint ez a vltozs s ki kellene knyszertenie azok jrafordtst. Nyilvn ez lenne a cl-
szer megolds. Azonban megvalstsnak mg technikai s fleg menedzselsi akadlyai
vannak.

128
9.7 Tervezs bra alapjn

A 9.3 pontban emltettk, hogy a korszer sztrrendszerek magukba olvasztottk a


fejlesztrendszerek kpessgeit. Ezzel jelents vltozs llt be a metaadatbzisok kezelsben.
Az adatsztrak kezelse kezdetben kizrlag formaorientlt volt. A fejlesztnek tervezsi
bizonylatokat kellett kitltenie, csak ppen ezek a formanyomtatvnyok szmtgpes
kpernykn jelentek meg. (Ezeknek a tipikus rovatairl volt sz a 9.5 pontban.) Vagyis a
fejleszt lnyegben pontosan gy kezelte a metaadatbzist, mint a felhasznl az alkalmazsit.
A CASE (Computer Aided Systems Engineering, azaz szmtgppel tmogatott rendszer-
tervezs) eszkzk megjelensvel terjedt el az braorientlt tervezs. Az ember hajlamos arra,
hogy a szerkezeti sszefggseket jobban tlssa egy jl szerkesztett bra, mint akrhny sornyi
jl megfogalmazott szveges lers alapjn. A CASE eszkzk lehetv teszik, hogy az adatbzis
struktrjt kpernys diagramok segtsgvel hatrozzk meg s mdostsk. (Most nem trnk
ki arra, hogy nemcsak az adatszerkezetet, hanem sok egyb tnyezt is meg lehet tervezni ezen a
mdon.)
Az adatbzis modellje a rajzos kezelsnl ktfle alapon kerl meghatrozsra. A tervez a
rendelkezsre ll ikonkszlet alapjn megrajzolja az adatmodellt. A rendszer a kivlasztott
ikonok s azok sszefggsei alapjn automatikusan sszelltja az adatmodellrszt a vonatkoz
korltokkal kiegsztve. Pldul: Ha kt dobozt rajzolunk s azt az egyik vgn varjlbas
vonallal ktjk ssze, akkor felismeri, hogy kt, egymssal 1:N fok kapcsolatban ll egyedet
kvnunk kijellni. Ezutn az brt a diagramba, a mell s/vagy kln megnyitott ablakokba rt
nevekkel s szvegekkel egszthetjk ki. Termszetesen ennek sorn hasznlhatjuk magt a mr
korbban feltlttt adatsztrt is.
Br mr vannak igen szp megoldsok, az bra alapjn val tervezs mg nem igazn terjedt
el. Ennek tbb oka van. Az egyik az, hogy az ilyen eszkzk roppant drgk s kltsges hardvert
ignyelnek. Msrszt brmekkora kpernyt hasznlunk is s brmennyi ablakot tudunk nyitni,
az ttekints nehzkes s a hasznlat knyelmetlen. Vgl sok rajzos terveznek nagyon szks
az ikonkszlete s ezrt a legtbb metatulajdonsgot - fleg a korltjellegeket - tovbbra is
szvegesen kell megadni. Az ilyen problmk dacra is az bra alapjn val tervezs a jv tja.
A metaadatbzissal - adatsztrral - prosult rajzos tervezs lehetsge elre vetti azt a kor-
szakot, amelyben az adatbzis-konstruls tnyleg a mrnki munkra fog hasonltani. A valban
korszer lehetsgektl elbvlve a szmtstechnikusok elfeledkeznek arrl, hogy az eszkzket
nem csak technikailag kell tudni hasznlni. Amint az alkalmazsi adatbzisnak is vannak
menedzselsi aspektusai, ugyangy trdni kellene a fejlesztsi adatbzis hasznlati mdjval is.
Errl is lesz sz a kvetkez fejezetben.
Elbb azonban a 9.2 brn megadjuk az informcis erforrs sztr modelljnek azt a
rszlett, amely kimondottan az ismeretekre vonatkozik. Teht ezen az brn nem tntetjk fel
az informcis rendszer egyb tnyezit - felhasznlk, eszkzk, feldolgozsok -, hanem
csakis az adatmodell metamodelljt, az egyed-, tulajdonsg- s kapcsolattpusok viszonyait
mutatjuk be.

129
EGYED TULAJDONSG

EGYED-
TULAJDONSG
VISZONY

KAPCSOLAT TULAJDONSG
STRUKTRA

9.2 bra: A metamodell diagramja

Az bra magyarzata a kvetkez: Az adatmodell egyedtpusaihoz tulajdonsgtpusok


kapcsoldnak. Egy egyednek tbb tulajdonsga lehet s egy tulajdonsg tbb egyedet jellemezhet.
Az M:N fok viszony miatt ezt az sszefggst kln metaegyed (egyed-tulajdonsg viszony) rja
le. Ennek kapcsolata az egyedhez klcsnsen ktelez. Nincs egyed tulajdonsg nlkl s nincs
tulajdonsgviszony egyed nlkl. Viszont az adatmodellben ltezhetnek olyan tulajdonsgok,
amelyek nem kapcsoldnak egyedekhez. Ilyen ismeretek pldul a konstansok. Ezrt a tulajdon-
sgoknak az egyedekhez val viszonya fellrl opcionlis.
Az egyedek kapcsolatokban llnak. Ez a viszony csaldfa jelleg, ketts kapcsolat. Mert egy
egyednek lehetnek al- s flrendeltjei. Minden kapcsolat egyedtpusok kztt ltezik, ezrt e
viszonyok alulrl ktelezek (folyamatos vonal). Nem minden egyednek van fl- s alrendeltje,
ezrt e ktdsek fellrl opcionlisak (szaggatott vonal). Sajnos, azt nem lehet kifejezni ilyen
brn, hogy a kt kapcsolat kzl valamelyik fellrl ktelez, azaz nem ltezhet az adatmodell-
ben ms egyedhez nem kttt egyed.
A kapcsolat s az egyed-tulajdonsg viszony kzti vonal azt fejezi ki, hogy egyes attrib-
tumok kapcsol tulajdonsgknt szolglnak. Minden kapcsolat ilyen viszonyon alapul, de nem
minden attribtum kapcsol tulajdonsg.
Vgl a tulajdonsgok csaldfa jelleg struktrkat alkotnak. Ha a Rendelsttel-rtk a
Rendelt-mennyisg s az Egysgr szorzata, akkor ebbl a kt tulajdonsgbl pl fel. A
kapcsolat azrt ketts, mert van beplsi vetlet is. A Rendelt-mennyisg nemcsak a Rendels-
ttel-rtk kiszmtshoz szksges. Felhasznlhatjuk a Rendelsttel-sly szmtshoz is, az
Egysgsly segtsgvel. Egy msik fajta tulajdonsg-struktra a csoport. Pldul a Dtum
tulajdonsg az v, H s Nap ttelekbl pl fel.

130
10. ADATBZIS-MENEDZSELS

10.1 Mitl lehet rossz az adatbzis?

Egyre korszerbb szmtgpeket alkalmazunk. Egyre sszetettebb s drgbb adatkezelket


vsrolunk. Mind tbb s tbb ismeretet trolunk adatbzisban. rdekes mdon mintha
mgsem szletne tbb informcink. Vajon mi lehet ennek az oka?
Br mg ma is sok problmt okoz a hardver helytelen kivlasztsa, az adatkezel korltos
kpessge s nem megfelel alkalmazsa, mgsem a ver-ekben kell keresni a hibt. Br-
mennyire is el tudunk kpzelni tkletesebb eszkzket, be kell ltnunk, hogy mg a maiak lehe-
tsgeit sem vagyunk kpesek megfelelen kihasznlni. Az tlagos szakember a korszer
adatbziskezel lehetsgeinek mindssze 20 szzalkt veszi ignybe...
Az igazsg az, hogy mi magunk vagyunk a bajok okai. Nem ismerjk az adatok termszett
s csak halvny elkpzelsnk van arrl, hogy mi is az az adatbzis. Az elz fejezetekben arra
vilgtottunk r, hogy az adatbzis nem pusztn ismereteink ltalunk ilyen-olyan mdon elkpzelt
halmaza, hanem egy nagyon pontosan meghatrozand rendszer. Ha az adatbzis nem szolglja
ki ismeretignyeinket, annak elsdleges oka minden valsznsg szerint az az egyszer tny,
hogy adathalmazunk nem rendszerezett, teht nem valdi adatbzis.
m tegyk fel, hogy a szakember az ismereteket tudatosan, adatmodellt ptve, az egyed-
tulajdonsg-kapcsolat hrmasra figyelve rendezi el. A gyakorlatban mgsem minden gy sikerl,
ahogy elgondolja. A trols redundns, a kezels nehzkes s nem elgg hatkony. Mi okozza
ezt? A tervezk elfeledkeznek arrl, hogy nem pusztn egy lehetsges adatbzist, hanem a lehet
legjobbat kellene megterveznik. Nagyon rossz, tgondolatlan struktrj adathalmazokat is lehet
adatbzisszeren kezeltetni. A mai adatbzisok nagy rsze azrt nem-hatkony, mert a tervez
nem kereste a strukturlis optimumot.
Az adatmodell-elemzs s -optimalizls komoly felkszltsget ignyl rsz-szakma.
Ezekrl a tmkrl a msodik rszben lesz majd sz.. Viszont minden adatmodellel szemben
vannak olyan minimlis - ltszlag pusztn formai - kvetelmnyek, amelyeknek az elhanyago-
lsa komolyan megbosszulja magt. Adatbzisaink sokszor azrt tkletlenek, nehzkesen kezel-
hetk, mert tervezsk sszehangolatlan s helytelen szemllet.

Ebben a fejezetben az utbbi problmra irnytjuk a figyelmet s azon keresztl bemu-


tatjuk az adatbzisok menedzselsnek a szervezeti-technikai kvetelmnyeit illetve mdjait.

A fejezetben arra is kitrnk, hogy a legtkletesebb szerkezet sem garancia arra, hogy az
adatbzisbl megfelel ismereteket szerezznk. Az adatbzis leggyakrabban attl rossz, hogy
nem megfelel az abban trolt adatok minsge. Mint majd kiderl, kzvetve ez a problma is az
adatmodell helytelen meghatrozsval fgg ssze.

131
10.2 Hny az adatbzis?

A mindennapi letben gyakran halljuk, hogy valaki ltrehozott egy ilyen, egy olyan, no meg
egy amolyan adatbzist. Pldul az gyfelek adatbzist, a vllalati dolgozk adatbzist, a
szakrtk adatbzist, a pnzgyi adatbzist stb.
Aki az adatbzis szt adott szervezeten bell tbbes szmban hasznlja - adatbzisaink -
az semmit sem tud az adatbzis lnyegrl. A vezetk, felhasznlk s fejlesztk nem hajlandk
megrteni s felfogni a legfontosabb informatikai ttelt, amely szerint

ADATBZIS CSAK EGY VAN!

Meglep, kemny s az els rnzsre rthetetlen ez a kijelents. Hiszen brki megeskdne


r, hogy nluk tbb adatbzis is van. Ezrt a kittel nmi magyarzatot ignyel.
A vezetk, fejlesztk s felhasznlk mg mindig abban a tvhitben lnek, hogy az adatbzis
a fizikailag egytt trolt, az adatbziskezelvel kzsen manipullt adatok halmaza. Ezt sugalljk
az elmleti szakknyvek s a szoftvereladk flszakmai szint kiadvnyai is. Ha teht kt vagy
tbb olyan adathalmazuk van, amelyeket fizikailag nem egytt trolnak s/vagy kln kezelnek,
akkor jogosan beszlnek kt vagy tbb adatbzisrl.
E tves felfogs alapja az, hogy a szakemberek nem veszik figyelembe az adatbzis hrom
szintjt (ld. 4. fejezet), s az adatbzist csak a logikai-fizikai szinteken szemllik. Elfeledkeznek
arrl az alapvet tnyrl, hogy fogalmi szinten

MINDEN ISMERET MINDEN MSIKKAL SSZEFGG.

Persze ez a kittel nem azt jelenti, hogy minden adat minden msikkal kzvetlen kapcsolat-
ban ll. Hanem azt, hogy az ismeretek - legalbbis kzvetve - egymsra plnek, s ezrt nem
szabad elfeledkezni fogalmi sszefggseik vizsglatrl akkor sem, ha azokat kln logikai-
fizikai adatbzis-rszekben troljuk s kezeljk. Egy pldval szemlltetjk, hogy mi a
kvetkezmnye annak, ha tbb adatbzisban gondolkodunk.
E pont bevezetjben emltettk az gyfl, a dolgoz, a szakrt s a pnzgyi adatbzist.
Mrmost Kovcs Lajos olyan dolgoznk, aki egyben gyfelnk is s egyes, a munkakrt
meghalad feladatokban szakrti munkt is vgez nlunk (pl. szuahli tolmcs). Mivel hrom
fggetlen adatbzisrl van sz, egszen termszetes, hogy Kovcs r nevt mindhromban ms
mdon rjuk. Pldul: KOVACS Lajos, Kovacs Lajos dr., Dr. Kovcs Lajos. Kovcs r kap brt, a
kln munkrt djazst. gyflknt pnzgyi tranzakcikban ll vllalatunkkal. Ki fogja tudni
kiderteni, hogy miknt is llunk Kovcs rral anyagilag, hiszen a hrom adatbzis Kovcs-a
semmikppen sem hozhat egymssal sszefggsbe?
Kovcs Lajos egy - a vllalatunk szmra fontos - jelensg, vagyis egyetlen egyed. Evidens,
hogy fogalmilag csak egy informatikai tkrkpe lehet: a SZEMLY egyed egyik elfordulsa.
Logikai s fizikai szinten a Kovcsra vonatkoz ismereteket tbb adategysgben is trolhatjuk
(DOLGOZ, SZAKRT, GYFL), de csak azutn, hogy Kovcs r nmagval val azonos-
sgt elzetesen mr tisztztuk.
Ha gy gondolkodunk, akkor gyelni fogunk arra, hogy Kovcs r becsletes nevt minden
adatbzisban azonos mdon tntessk fel s ezrt a logikailag megosztott egyetlen adatbzis
rszei kztt mindig megtalljuk az sszhangot. Viszont akkor, ha az adatbzisokat egymstl
fggetlenl kln-kln csoportok hozzk ltre, akkor halvny esly sincs arra, hogy a Kovcs
rra, mint egyetlen jelensgre vonatkoz sszes ismeret egymssal harmonizljon.

132
A fentiekbl egyenesen kvetkezik, hogy egy szervezet csak akkor tudja megfelelen kezelni
az ismereteit, ha a konkrt logikai-fizikai szint adatbzisok kialaktsakor nem feledkezik meg
az alapvet szablyrl, amely szerint fogalmi szinten csakis egyetlen adatbzis ltezik. A fejezet
sszes tbbi pontja a jelzett ttelre pl illetve azt tmasztja al.

10.3 Alkalmazsi adatszabvnyok

Az egy az adatbzis ttelt kevesen ismerik fel. A vezet egyszerre csak egy-egy terlet
szmtgpes tmogatst tudja elindtani. A felhasznlt termszetesen csak a sajt funkcija
rdekli s nem fog trdni a msok szmra fontos ismeretekkel. A fejleszt pedig rl, ha a
szmra kirtt feladatnak eleget tud tenni; nem lesz ideje arra, hogy szttekintsen. Ezrt gy
tnik, hogy Kovcs rra az a sors vr, hogy nevt hrom adatbzisban hromfle mdon rjk. A
krds az, hogy amennyiben a vezet, a felhasznl s a fejleszt egyike sem kpes tltni az
egyetlen elvi adatbzist, akkor milyen mdon harmonizlhatk a szttagolt adatbzisrszekben
trolt ismeretek?
A vlasz egyetlen sz: adatszabvny. Az adatszabvnyok olyan megegyezsek (konvencik),
amelyek az ismeretek tartalmt s megjelentsi formjt szablyozzk. Fontossgukat a fejlett
informatikai krnyezetekben mr rgen felismertk. Magyarorszgon az informatika pontosan
olyan mrtkben marad el a korszer sznvonaltl, amilyen mrtkben hinyoznak e szabvnyok.
Az alkalmazsi adatokkal kapcsolatos szabvnyoknak szmos vlfaja van. Ezek kzl most
csak prat akarunk kiemelni.
Azonost-szabvnyok. Knyvnk korbbi fejezeteiben szmtalanszor utaltunk arra, hogy az
azonost abszolt szerep tulajdonsgok relatv szerepeiken keresztl sokszor az egyedek kzti
kapcsolatok megteremtsre szolglnak. (Az alapvet szerepeket a 6. fejezetben trgyaltuk.) Ha
tudni akarjuk, hogy ki adta fel az X rendelst, akkor a rendelsben szerepelnie kell a Vevkd
megfelel rtknek. Mindez felttelezi, hogy a Vevkd a VEV s a RENDELS egyedekben
azonos lnyeg, felpts, formj legyen. Sajt adatbzisunk is egy pillanat alatt hasznlha-
tatlann vlna, ha e szablyt nem tartannk be.
mde mi a helyzet akkor, ha a szervezetben tbb adatbzis van? Pldul akkor, ha a szerz-
dst Szegeden sszetett terleti jelzszmmal, Bajn ktvnyszmmal, Budapesten pedig folya-
matos sorszmmal jellik? Mint tudjuk, a szerzdsek mozognak. Pldul az gyfl kltzse
miatt tkerlnek Szegedrl Bajra. Nos ekkor a bajai adatbzisban s paprokon mindentt t kell
rni a terleti jelzszmot az j ktvnyszm azonostra. Az ABC ismeretbl gy 1234 adat
lesz. Ez a munka mg hagyjn, de holnap jn egy brsgi per. El kell keresni, hogy mi trtnt a
szerzds kapcsn mg Szegeden. Csakhogy az ABC azonost mr nincs az adatbzisban. Az
n. trtneti adatok visszakeresshez arra lenne szksg, hogy az j azonost (1234) mellett
megrizzk a rgit (ABC) is. Teht ngyszeres tads esetn mr hrom volt azonostt kellene
vezetnnk...
Ebbl a csapdbl csak egy kit van: az azonostk tisztessges szabvnyostsa. A cgnek
elre le kell szgeznie, hogy a szerzdseket az egsz szervezetben a Szerzdsszm azonostja,
amelynek lnyege, szerkezete, formja ez meg ez... Mindez praktikusan azt jelenti, hogy minden
azonost bevezetst egy szabvny-krlevlnek kellene megelznie. Ezzel szemben a magyar
gyakorlat az, hogy az azonostkat a felhasznlk s a fejlesztk zls szerint jellik ki s
vltogatjk.
Kdszabvnyok. Most nem a feldolgozsi kdokrl van sz, br az sem egszen ildomos,
hogy az egyik programban B (bevitel), a msikban A (angol add), a harmadikban 1 stb.
jelli az adatbetltst. Azokrl a felhasznli rdemi kdokrl beszlnk, amelyek bizonyra tbb

133
adatbzisban is elfordulnak. Ilyen pldul a Megyekd, a Valutakd, a Mrtkegysgkd stb. Ma
a klnbz adatbzisokban teljesen eltr kd-rtkkszletekkel dolgoznak. Ezrt ha az X
adatbzisbl nyert ismereteket az Y adatbzis adataival ssze kell kapcsolni valamelyik kd
alapjn, akkor konvertl-trtelmez tblzatokra s programokra van szksg. Pldul az
123 mdon jellt foglalkozs valjban megfelel a msutt AB rtkkel troltnak.
A konverzi felesleges munka. m nem ez az egyetlen problma. A kdokhoz megnevezsek
is prosulnak. Pldul: 123 = cipsz. A jobbik esetben a msik adatbzisban AB = cipsz
szerepel. Rosszabb esetben pedig AB = varga. Nap mint nap tapasztalhatjuk az azonos szerve-
zeten belli adatbzisok ilyen ellentmondsait. Tipikus plda az irnytszm-jegyzk, amely
rdekes mdon minden - ms adatbzist hasznl - szervezeti egysgnl eltr tartalm.
Az ilyen kvetkezetlensgek kikszblsnek egyetlen mdja a kdszabvny. Minden egyes
kdolt ismeret meghatrozst meg kellene, hogy elzze a szabvny kihirdetse. Pldul: mtl
fogva az irnytszmot mindenki ilyen formban, az X felels ltal aktualizlt tartalommal
kteles hasznlni.
rsszabvnyok. Gyakran elfordul, hogy ugyanaz az adatbzis ugyanannak a jelensgnek
tbbszrs ismereti tkrkpt trolja. Pldul a SZEMLY adatbzisban Kovcs Lajosnak tbb
rekordja van. Az adatbzis-elmlet ezt a redundancit kizrja, viszont a gyakorlatban sokszor
nem tudjuk elkerlni. Mi ennek az oka s miknt lehetne a nyilvnval bajt megelzni? Mert ha
Kovcs rnak mint gyflnek tbb ismeretsora is van, akkor abbl tbb gond fakadhat. Vagy
nemltez tartozst fogjuk kvetelni tle (Kovcs r befizetett, de a msik rekordhoz ktdik ez
az ismeret), vagy valdi befizetsi ktelezettsgrl is elfeledkeznk (Kovcs r nem fizetett, de
az aktulis rekord szerint nem is kell fizetnie, csak a msik szerint). Teht minden attl fgg,
hogy melyik Kovcs-rekordra tallunk a kezels sorn.
A problma gykert az azonostsban kell keresnnk. A 3.6 pontban utaltunk az azonosts
nominlis s deszkriptv mdjra. Mindaddig, ameddig Kovcsnak volt egy kvzi-nominlis
szemlyi szma, azonostsa nem okozott gondot. A flig-termszetes szemlyi szmukat sokan
meg tudtk jegyezni s be tudtk diktlni. E nominlis azonost szerencstlen megszntetse
utn az adatbzisokban mestersges azonostkat kellett felvenni. Persze az gyfl ennek rtkt
nem tartja fejben, azt a paprt pedig, amire fel van rva a Trzsszm rtke, otthon felejti. Ekkor
kezddik a vadszs az adatbzisban - vagyis a deszkriptv azonosts. Neve? Anyja neve?
Szletett? stb.
Persze dr. Kovcs Lajos-t nehezen fogjuk megtallni, ha az adatbzisban KOVCS
LAJOS DR. megjells szerepel s nem ismerjk ezt az rsmdot. Mivel az gyfl fontos, a
pnze pedig mg inkbb az, nem tallvn a mr trolt ismeretet ltrehozunk egy j rekordot j
azonostval s a Kovcs Lajos, dr. mdon rott nvvel. Pr hnap mlva mr t Kovcsunk
lesz az adatbzisban, mert idkzben ttrtnk az egyik kezetes rsmdrl a msikra ...
Ezt az egszen mindennapos, de igen komoly gondokat okoz problmt ismt csak
szabvnyostssal lehet kikszblni. A deszkriptv azonostst tmogat tulajdonsgtpusokra
(nv, megnevezs, cm, dtum stb.) az rsmdot szablyoz konvencikat kell kidolgozni s
ktelezv tenni.
A fentiekbl lthat, hogy az alkalmazsi adatokra vonatkoz szabvnyok olyan sajtos
adatmodellezsi korltok, amelyek nlkl hasznlhat adatbzis nem ltezhet. Ezt a tnyt egyre
tbben felismerik s meghatrozzk az alkalmazsi adatszabvnyokat. Majd csodlkoznak azon,
hogy a recept mgsem vlik be s adatbzisuk tovbbra is kezelhetetlen ismereteket tartalmaz.
Ennek a jelensgnek tbb oka van.
Az egyik az, hogy a szabvny papr-malaszt marad. A szabvny ellenrzst nem ptik be az
adatkezel programokba. A msik az, hogy a szabvny programmal nem ellenrizhet. Teht a
vezetnek oda kellene mennie s meg kellene nznie, hogy az adatrgzt helyesen viszi-e be az
adatot. Csakhogy erre a vezet nem r r; no meg egybknt sem szokta gyakorolni ellenrzsi
funkcijt. A harmadik problma az idfaktorral fgg ssze. Mr van adatbzisunk - illetve adat-

134
massznk, amit az adatbzisba zdtottunk - amikor felfedezzk a szabvnyt. Az j adatok
bevitelnl rvnyestjk a koncepcit, de a rgi adatokat nincs energink tdolgozni. Ilyen
esetben a szabvny persze tkletesen felesleges. Mert tovbbra is lesz egy KOVACS LAJOS s
egy Kovcs Lajos, dr. rekordunk ...

10.4 Fejlesztsi adatszabvnyok

A 9. fejezetben beszltnk a metaadatbzisokrl. Remlhetleg sikerlt kimutatnunk, hogy az


alkalmazsi s a fejlesztsi adatbzis felptse teljesen analg. Az alkalmazsi adatbzisban meg
kell klnbztetni az egyik Kovcs Lajos adatsort a msik, vele nem azonos Kovcs Lajos
adatsortl gy, hogy egyikkre nzve se troljunk ketts ismeret-sorozatot. Ez a megllapts a
fejlesztsi adatbzisra is vonatkozik. A Rendelsszm tulajdonsgtpus megjelenseit el kell
vlasztanunk egymstl, ha nem azonos lnyegrl van sz (vevi s szllti rendelsszm) gy,
hogy a vevi rendelsszm minden adatbzisrszben azonos mdon jelenjk meg.
A vezetk, felhasznlk s fejlesztk nem ismerik az egyetlen adatbzis elvt. Az utbbia-
kat kivve nem szoktak adatkonvencikat alkalmazni. Ez a kisebbik baj. Sokkal komolyabb gond
az, hogy a fejleszt senki ms ltal nem rthet magnszabvnyokat kezd hasznlni, fittyet
hnyva okos megoldsainak a kvetkezmnyeire. Pillantsunk csak be pldul az A s a B
fejleszt lelkivilgba!
Az A fejleszt mnija, hogy a tulajdonsgtpusnak az egyedtpus nevnek a kezd-
betjvel minstett megnevezst ad. gy a KOCSITPUS egyedben lv Kocsitpus tulajdonsg a
K_Kocsitipus nevet fogja nyerni. Csakhogy a tulajdonsg a KOCSI egyedben is szerepel. Ott mr
nem lehet K_Kocsitipus a neve - a fejleszt szerint. Ezrt hallatlan munkba fogva az elz egyed
minden viszonylatban trja a K_Kocsitipus nevet T_Kocsitipusra (a kocsiTpus egyszer meg-
fontols alapjn) s a KOCSI kocsitpust fogja K_Kocsitipus nvvel jellni. Ekkor lp be a KR
egyed, amelyben szintn szerepel a kocsitpus, amelynek neve R_Kocsitipus (kR) lesz. A
kifizets pedig F_Kocsitipus stb. A fejleszt mr rg elfeledkezett arrl, hogy az egyedtpus
nevnek a kezdbetje volt a vezrlelv. Ngy K-val mr sem tud mit kezdeni...
Ugyanakkor a B fejleszt irtzik a minstsektl. a nemesen egyszer Nev meg-
jellssel illeti a szemly, cikk, eszkz, vev, szllt stb. megnevezst. Szmra nem ltezik
megrendelsi-, szlltsi-, szletsi-, hzassgi- stb. dtum, csak Datum.
A fejlesztsi adatbzisokban egszen kaotikus llapotok uralkodnak. Az abban tkrztt
jelensgek nem azonosthatk. Mert ugyanaz a lnyeg (kocsitpus) klnbz neveken fut
(K_Kocsitipus, T_Kocsitipus stb.) s klnbz jelensgeknek (hzassgi- s szlltsi-dtum)
azonos megnevezst adnak. Persze ezek utn a felhasznl sem ltja t az adatbzis lnyegt s
az adatkezel programokban is mindenfle csavarintsokat kell alkalmazni. Hogy az X s az Y
most valjban azonos, de azon felttel esetn az X s az X teljesen ms...
Ez nem informatika - ez kuruzsls. Informatika az, ha a metaadatbzisban - az adatbzis
tervben - az azonos lnyegeket egyetlen mdon jelljk s kizrjuk a klnbz jelensgek
azonos mdon val hivatkozst. Ezrt a metaadatbzisban is be kell vezetni az azonostkra s a
nevek rsmdjra vonatkoz szabvnyokat. Informatikailag gyengcske szervezet az, amelyben
a programoz az adatbzis tteleit a sajt maga feje szerint jelli meg.
Az elz kittel az adatbzisterv kdoltan minstett tteleire is vonatkozik. Lehetetlen
llapot, hogy az egyik adatbzis tervben C, a msikban K jellje a karakteres adatot. Ezrt a
fejlesztsi adatbzisok tern is rvnyesteni kell az adatszabvnyok harmadik fajtjt, a tervezsi
kdszabvnyokat.

135
Az adatbzistervezsi segdeszkzk - a clnak megfelelen - meglehetsen szigorak a fenti
hrom szabvny tekintetben. Megktik az adatbzis tnyezinek az azonostst, a nevek rst
s a kdok alkalmazst is. Viszont ugyanakkor rugalmasak is, amennyiben nem rjk el pldul
a nevek formjt. Ezrt nem kizrt, hogy pldul az egyik egyedben K_Kocsitipus, a msikban
Kocsitip_K nevet hasznljanak ugyanannak a tulajdonsgnak a jellsre. A sztrkezelk rugal-
massga abban is megnyilvnul, hogy lehetv teszik a klnbz adatbzisrszek eltr rszle-
tezettsg s mlysg dokumentlst. Ez a tervezsi folyamat sorn gy is clszer. Viszont a
vgs tervnek nyilvn homognnek kell lennie.
Mivel a sztrkezelk lehetsgei tgasak, a szervezetek el nem hanyagolhat feladata az n.
metaszabvnyok kidolgozsa.

D 10/1 A metaadatbzis tnyezire, azok viszonyaira (a szerkezetre), illetve a metaismere-


tek tartalmra s formjra vonatkoz egyezmnyeket metaszabvnyoknak nevez-
zk.

Az alkalmazsiakkal szemben a metaszabvnyok ltalnos rvnyek, vagyis azokat minden


informcis fejlesztsnl be kell tartani. El kell rni a dokumentcik szerkezett, ltalnos
tartalmt, a listk s diagramok formjt, a metaadatok megnevezsi s egyb konvenciit.
Vilgos, hogy a metaszabvnyoknak a fejlesztsek megkezdse eltt kell rendelkezsre llniuk.
Mivel pedig a szabvny annyit r, amennyire betartjk, gondoskodni kell arrl, hogy az elkszl
adatbzisterveket ellenrizzk a szabvnyossg szempontjbl. A szabvnyok rvnyeslst
biztost szervezeti megoldsrl majd az albbiakban lesz sz.

10.5 Fejlesztsi eljrsszabvnyok

A fejlett informatikj szervezetekben szabvnyok s szabvnyos eljrsok (angolul:


standards & procedures) segtik s korltozzk a fejlesztk munkjt. Teht nemcsak tartalmi s
formai adatszabvnyokat, hanem a fejlesztsi lpsek tevkenysgeire vonatkoz szabvnyokat is
alkalmaznak.
Most nem az informcis rendszerek fejlesztsirnytsi (angolul: project management)
mdszerrl s az ahhoz kapcsold konvencikrl van sz. Ezek az irnytsi szabvnyok s
eljrsok kzismertek. Mdszerekkel s eszkzkkel jl tmogatottak. Kiemelked pldaknt
emltjk az SSADM mdszert [18]. A project management nem ennek a knyvnek a trgya.
Arra sem fogunk kitrni, hogy nlunk mirt nem kpesek a szervezetek elfogadni, elsajttani s
tudatosan alkalmazni egy ilyen irnytsi mdszert. Minket most msfle eljrsok rdekelnek.
A modern fejlesztsirnytsi mdszerek termkorientltak. Mit kell ezen rteni? Az angol
informatikban tervtermknek (angolul: design product) nevezik a rendszertervet. Persze ez a
termk, amely a tervezsi munka eredmnye, igen sszetett. A mdszerek pontosan elrjk, hogy
a tervtermknek milyen elemei vannak; azok hogyan fggenek ssze egymssal; milyen tartalmi
s formai konvencik szerint kell dokumentlni ket stb. A tervtermk elemeit leszlltand
dolgoknak (angolul: deliverables) hvjk. Amikor azt mondjuk, hogy a modern mdszerek
termkorientltak, azon azt rtjk, hogy a mdszerek a leszlltand dolgokra koncentrlnak.
Meg kell hatrozni a tblakpeket, a tblk kapcsolatait, az indexeket stb.
Az elbbi llts egy implicit tagadst is tartalmaz. Ha egy rendszertervben szerepelnie kell
pldul a rekordkpeknek, akkor a rekordkpek leszlltand, tadand dolgok. Teht a tervez
egyik feladata (angolul: task) a rekordkpek megalkotsa. Ezrt a mdszerek elrjk a fel-
adatokat s az tadand dolgokat (tasks & deliverables). Viszont ltalban nem tartalmaznak

136
eligaztst a tervezsi folyamatra (angolul: design process). Pldul az SSADM kimondottan
hangslyozza, hogy nem kvn tervezsi eljrsi technolgit rgzteni. gy teht a korszer
mdszertanok nem folyamatorientltak.
A tervezsi mdszereknek a tervezsi folyamattal kapcsolatos tartzkodst sokan flrertik.
Nem arrl van sz, hogy ne lenne szksg egy tudatosan meghatrozott tervezsi eljrsra. A
szmtgpes eszkzkkel tmogatott korszer mdszerek hallatlan rugalmassgot nyjtanak. A
terv rszleteit szinte tetszleges sorrendben, klnbz pontossggal megadott mdon lehet meg-
hatrozni. Ez a hajlkonysg kt elnnyel jr. Egyrszt segti a ksrletezst. Az ember a papron
lert tervet nem szvesen alaktgatja, mert az munks. Szmtgppel knnyebben lehet talak-
tsokat vgezni a terven. Msrszt az eszkzk tmogatjk azt is, hogy amint valami bizonyosat
tud a tervez vagy mihelyst valamilyen elkpzelse tmadt, azt azonnal szmtgpen rgztse.
Teht a mai tervezsi mdszerek azrt nem rnak el tervezsi eljrsokat, mert nem akarjk
megktni a fejlesztk kezt. Az egyik szervezet ilyen, a msik amolyan szoksok szerint fejleszt.
Az egyik rendszerhez ez, a msikhoz az a mdszer illik jobban.
A fentiek miatt nem szabad abban a tvhitben lni, hogy nincs szksg tervezsi eljrsra.
ppen ellenkezleg. Mivel a mdszerek a tervezsi folyamatot nem szablyozzk, azt magnak a
szervezetnek kell megtennie fejlesztsi eljrsszabvnyok formjban. A krds az, hogy mirt?
A korszer mdszerek eszkzeinek a rugalmassga egy igen nagy veszlyt hordoz magban:
az sszehangolatlansgt. Ha mindenkit csak gy odaengednk a CASE-eszkzhz (ld. 9.7 pont),
akkor abbl csak kosz keletkezhet. A legkorszerbb technikval tmogatjuk a legelavultabb
(individualista) fejlesztsi szemlletet. A mai CASE-ek nem zrjk ki az egynieskedst. Az
egyik tervez itt, a msok ott - fizikailag is ms gpen - ptgetheti a sajt adatsztrt. Az se
kizrt, hogy sztraik azonos gpen vannak, de logikailag teljesen szeparltak. Mindez teljesen
ellentmond az adatbzis egy elvnek. Ugyanis igen kicsi az esly arra, hogy az ssze nem fgg
sztrrszekben ugyanazt a lnyeget (pl. Kocsitpus) azonos mdon tkrzzk.
A vgs-felhasznl nem akkor s nem gy nyl az alkalmazsi adatbzishoz, amikor s
ahogyan akar. Kovcs gyintz s Szab gyintz nem pthet kt kln szerzds llomnyt.
A vgs-felhasznl mveleti lehetsgeit felhasznli eljrsok szablyozzk. Mirt lenne ez
msknt a fejleszti adatbzis esetben? A mai mdszerek nem rjk el a fejlesztsi adatbzissal
kapcsolatos eljrsokat. Kovcs fejleszt s Szab fejleszt egszen nyugodtan szerkeszthet kt
kln szerzds adatbzist. Egymstl fggetlenl, egymsnak ellentmondan. Nem kellene ezt
megakadlyozni fejlesztsi szabvnyokkal?

10.6 Menedzselsi szabvnyok

Az eddigi fejezetek sorn az adatbzis felptsvel foglalkoztunk, vagyis az adatbzis elvi


szerkezetnek, modelljnek a megalkotsra koncentrltunk. Azonban vilgos, hogy a modellt
azrt ksztjk, hogy azt majd megtltsk tartalommal, teht letet adjunk az adatbzisnak, amit
majd hosszan s knyelmesen kvnunk mkdtetni. Azonban - mint a fejezet els pontjban
emltettk - a j struktra nem garancia az adatbzis hasznlhatsgra. Ha az adatbzisban
trolt adatok minsge nem megfelel, akkor hibavalak a tervezsi erfesztsek. A szerkezet
s a tartalom elvlaszthatatlan egymstl, s ezrt beszlnnk kell az adatbzis letnek a
veszlyes idszakairl.
Az adatbzis letnek taln a legkritikusabb pillanata a megszlets, az adatbzis ltre-
hozsa. Ez kt momentumot lel fel. Az els az adatbzis szerkezetnek a gpen val definilsa,
ami egyben fizikai helynek a kijellst is jelenti. Magyarorszgon e tren nem alakult ki mg a
msutt mr szoksos munkamegoszts. A szmtgp erforrsaival ltalban a programfejleszt,

137
nem pedig az ismeretek valdi tulajdonosnak, a felhasznlnak a kpviselje gazdlkodik. gy
elfordul, hogy a gpeket, szoftvereket, az adatelhelyezseket ad-hoc mdon cserlgetik s ezzel
rontjk az adatbzis hozzfrhetsgt. Minden vllalatban illenk alkalmazni olyan szabvnyos
eljrsokat, amelyek a felhasznl rdekben szablyoznk a technikai vltsokat.
A bevezets msik momentuma az adatkonverzi. Manapsg mr nem az jellemz, hogy
olyan j tartalm adatbzisokat hoznak ltre, amelyeket papr adathordozkon lv ismeretekkel
kell fokozatosan feltlteni. Sokkal gyakoribb, hogy mr meglv szmtgpes llomnyokat kell
az j adatbzis szerkezetnek megfelelen ttlteni. Ez nagyobb mret adatbzis esetben
sszetett s hosszadalmas munka. Vezetni kell, hogy milyen adatok kerltek mr ttltsre.
Lehet, hogy ktszeres karbantartsra van szksg az llomnyok rgi s j pldnyn. Formai,
tartalmi s szerkezeti sszehangolsi ignyek is fellphetnek. Formai: A rgi adatok mg nem
kezetesen voltak rva, teht az j adatbzisban mdostsokat kell vgrehajtani. Tartalmi: A rgi
ismeretet csak 3 szempontbl osztlyoztuk, most pedig mr 5 szempontunk van. Ezrt ttltskor
szksg lehet az tkdolsra. Nagyon gyakran elfordul az is, hogy az j rendszerben ms
azonostt alkalmazunk. Szerkezeti: A rgi llomnyok adattteleit ltalban tbb egyedtpus
kztt kell sztdarabolni az j adatbzisban.
Mindezt azrt mondjuk el, hogy felhvjuk a figyelmet az adatbzis puberts korra. Sokszor
elfeledkeznek arrl, hogy a rgi ismereteket majd t kell tlteni az j adatbzisba. Csak akkor
gondolkoznak el ezen a problmn, amikor maga az ttlts aktuliss vlik. ltalban az ilyen
konverzi nem valsthat meg bizonyos, idlegesen vezetett, az j adatbzisban trolt s kezelt
technikai adatok nlkl (ld. 9.8 pont). Ezek nem az adatbzis szerves rszei. Ha a konverzit
nem gondoltk t elre, akkor az amgy j adatstruktrt korrumplva (lerontva), kapkod
mdon, az utols pillanatokban hatroznak meg mindenfle technikai adatot. Nem gondolva arra,
hogy ezek majd megsznnek s csakis az adatbzis tindzser korban jtszanak szerepet.
Ezt a problmt elkerlend minden szervezetben be kellene vezetni a konverzi menedzse-
lsi szabvnyait. Ez szablyozn az adatkonverzi folyamatt. Elrn, hogy mikor, milyen for-
mban kell elkszteni a konverzis trkpet, amely megfelelteti a rgi s az j adatszerkezetet.
Rgzten, hogy melyek azok a konverzis technikai adatok, amelyek csak az ttlts vgig
szksgesek s elrn azok kezelst illetve majdani megszntetsnek mdjt.
A felntt vlt - a konverzis adatoktl megtiszttott - adatbzissal kapcsolatosan is szmos
menedzselsi feladat lp fel. Ezek a tevkenysgek rszben folyamatosak, rszben idszakosak.
Szerencsre mg nem vagyunk teljesen gpiesek, vagyis az ismeretek j rsze automatikusan nem
ellenrizhet a szmtgp ltal. Ezrt minden vllalatban szksg lenne a kommunikcis
monitor funkcira: a bemenetek, az adatbzis s a kimenetek emberi ellenrzsre. Csakis emberi
kontrollal llapthat meg, hogy helyesen viszik-e be a fradtsguk miatt slampossgra hajlamos
adatrgztk az ismereteket. Idszakosan futtatott, netn automatikusan indul monitor-
programokkal kellene vizsglni az adatbzis psgt, n. integritst. Van-e az adatbzisban
olyan rekord, amely a szerkezet szerint mshoz kellene kapcsoldjon, de mg sincs aktulis
viszonya (lncait vesztette). Nem kerlt-e az adatbzisba mgis a tartalmi/formai alkalmazsi
szabvnyt srt ttel, amely esetben a bemeneti validlsi programokat kell fellvizsglni. Nem
lenne szabad elhanyagolni a kimenetek szemmelverst, emberi ttekintst sem. A formai
hibkon - pldul a helytelen magyarsggal rt kimenetcmeken - kvl fel fogunk fedezni szm-
szaki pontatlansgokat is. Mert a fejlesztk gyakran elfeledkeznek arrl, hogy nemcsak a beme-
neteket, hanem a kimeneteket is lehet, st kell validlni. Teht minden vllalatnak feladata, hogy
kidolgozza a monitorfunkci szabvnyait.
Ezzel a menedzselsi feladatok sora mg messze nem zrult le. Az adatbzis psge (angolul:
integrity) mellett figyelmet kell szentelni a biztonsgnak (angolul: security). Ki kell dolgozni az
adatbzis mentsnek, az esetleges lerobbans utni visszatltsnek s jrafeldolgozsnak a
szabvnyos eljrsait. Azutn nem feledkezhetnk el a szemlyeket rint adatbzisok esetben a
szemlyisgi jog (angolul: privacy) vdelmrl, aminek kapcsn tfogbban is gondolkoznunk

138
kell a hozzfrsi jogok (angolul: access rights) kijellsrl. (Nha - tvesen - az irodalom ezt az
aspektust nevezi biztonsgnak.) s akkor mg mindig nem beszltnk az adatok archv meg-
rzsrl, vagy a fejlett krnyezetekben szoksos - nlunk egyelre mg nem bevett - az adatbzis
mretvel, llapotval, hasznlatval kapcsolatos sttuszjelentsekrl. Ezeket nyilvn nem a
vgs-felhasznl, hanem az adatbzis egszt tlt valaki kszti. Egyetlen adatbzis ltrehoz-
sba sem lenne szabad belefogni e menedzselsi feladatok szabvnyostsa eltt.
Vegyk szre, hogy az adatbzis tartalmval - hasznlhatsgval - kapcsolatos fenti
krdsek egyike sem fggetlen az adatbzis szerkezettl. Az adatbzist tele kell tzkdnnk
technikai-menedzselsi adatokkal. Ezek helyes meghatrozsn s kezelsn rengeteg mlik.
Azonban knyvnknek nem clja a technikai ismeretek kezelsi mvszetnek a trgyalsa. Itt s
most csak a menedzselsi funkcik felismersnek s azok szabvnyostsnak a szksgessgre
akartuk felhvni a figyelmet. Ezen funkcik legfontosabbikt a kvetkez pontban ismertetjk.

10.7 Vltozsmenedzsels

Magyarorszgon az informcis rendszerek fejlesztsre a fegyelem teljes hinya a jellemz.


A vezetk vratlanul, ad-hoc mdon, a kapcsoldsokat t nem gondolva jellik ki a gpesten-
d funkcikat. Eszkbe sem jut, hogy az informcis rendszer fejlesztse nem gpestst jelent.
Az ismeretek logikailag s idben meghatrozott rend szerint fggenek ssze egymssal. Ezrt az
alkalmazsok fejlesztsnek van egy clszer, szinte ktelez erej sorrendje. Ha valaki erre
nincs tekintettel, akkor az a bemeneti s/vagy a kimeneti oldalon tbbletmunkra knyszerti a
felhasznlt (ld. 8.7 pont). Az elbbi megllapts a vltoztatsokra is vonatkozik. A vltoztats
beavatkozs a mr nagy nehezen megteremtett rendbe. Ezrt nem lenne szabad azt nknyesen,
az sszefggsekre nem figyelve s azokat felbortva vgrehajtani.
A felhasznlkra is az tletszer vltoztatsi igny a jellemz. Teljesen vratlan idpontok-
ban kitallnak egy-egy j bizonylatot; kicserlik a korbbi azonostt; msfle kdok alkalma-
zsra trnek t; a korbban X-karakteres nv az j bizonylaton mr Y karakter hossz lesz stb.
Senki nem trdik azzal, hogy mindez mennyi plusz paprmunkt jelent; milyen erfesztsbe
kerl a vltoztats tvezetse az adatbzison; megmarad-e vagy elveszik az egyb alkalmazsok-
kal val sszhang. A fejleszt pedig idnknt visszakri a mr zemeltetsre tadott rendszerrszt
s jaj, valamit elfelejtettem alapon abba gyorsan, elhamarkodottan belenylkl.
A hazai fejlesztsekre ez a kapkods a jellemz. A bajok ott kezddnek, hogy a szervezetek
mg az tadsmenedzsels lnyegt sem ismerik. Nem alkotnak szabvnyokat arra nzve, hogy
mikor, hogyan s milyen felttelek mellett tekinthet egy rendszer kvzi-ksznek, zemeltetsre
tadhatnak. (Mint tudjuk, a rendszer soha sincs teljesen ksz.) Nem ismert a tesztmenedzsels
sem. A rendszert ad-hoc mdon prblgatjk, mert a tesztelsre nincsenek szabvnyos eljrsok.
Az egyedi, az integrcis s az tadsi teszt hrmasrl pedig a legtbben mg csak nem is
hallottak.
Most azonban nem a tesztelsrl s tadsrl van sz. Ezeket a menedzselend, szab-
vnyokkal tmogatand eljrsokat csak a vltozsokkal val sszefggseik miatt emltettk. Ha
senki sem tudja, hogy mikor tekintend tadsra ksznek egy rendszerrsz, akkor persze azt sem
lehet eldnteni, hogy egy vltoztats hibajavtst, kisebb helyesbtst vagy kiegsztst, netn
pedig nagyobb szerkezeti talaktst jelent-e. Pedig a vltozs termszete egyltaln nem kzm-
bs.
zemeltetsre mr tadott rendszer esetben a javts s kiegszts az zemeltet munkja.
Viszont a szerkezeti talakts (angolul: restructuring) olyan feladat, amelyet vgig kell vezetni
az sszes fejlesztsi szakaszon. Mivel a ktfle tevkenysget ms szervezet vgzi, el kell tudni

139
dnteni, hogy a vltoztatsnak mi a hatsa. Nlunk ezt a mrlegelst nem veszik komolyan, mert
minden mdostst gyorsan akarnak vgrehajtani. A kvetkezmnyek ismertek: egy dolgot javta-
nak - tt elrontanak. Pedig vilgos, hogy a vltoztats hatst sem az zemeltet, sem a fejlesz-
t, sem a felhasznl nem tudja igazn felmrni. Az egy adatbzisban minden ismeret minden
msikkal sszefgg. Ezrt igen hamar kiderlhet, hogy az aprnak vlt talakts a vgn
tbbhnapos munkval jr.
A fentiek miatt minden vllalatban be kellene vezetni a vltozsmenedzsels szabvnyait.
Ezekben le kellene rgzteni, hogy ki, milyen mdon - milyen vltozskr bizonylaton - indthat
vltoztatst. Ki az, aki megvizsglja a tervezett mdosts hatsait s eldnti, hogy a vltoztats
javtst, kisebb kiegsztst vagy strukturlis talaktst jelent-e. A szabvny lerja azt is, hogy a
vltozs termszettl fggen ki a felels annak vgrehajtsrt, az ismtelt tesztelsrt s adott
esetben az jbli tadsrt.
A General Motors-ban trtnt esettel prbljuk meggyzni azokat, akik tiltakoznak a vltoz-
tats ilyen nehzkes mdja ellen. Egy fejleszt apr vltoztatst vgzett egy bizonylaton.
Ezzel vllalata tbb tzmilli dollrt takartott meg; kapott is szp summa prmiumot. Majd
kiderlt, hogy a mdosts tvezetse az adatokon, programokon, a felhasznli eligaztsokon
stb. ktszer annyiba kerlt, mint maga a megtakarts...

10.8 Szervezeti felttelek

Az elz pontokban csupa olyan tnyezrl volt sz, amely az adatbzis egszt rinti s
ezrt nem tartozik a fejleszts kzismert szereplinek a kzvetlen hatskrbe. A vezet elrendeli
s betartatja a fejlesztvel s a felhasznlval a szabvnyokat, de azok kidolgozsa s ellenrzse
nem a vezet, a felhasznl vagy a fejleszt feladata. A fejlett informatikj szervezetekben az
adatbzis egsznek a menedzselsvel kapcsolatos sajtos funkcikat kln szervezeti egysgek
ltjk el. Az albbiakban ezeket a nlklzhetetlen menedzselsi funkcikat fogjuk ismertetni. A
hangslyt nem a kln egysgre, hanem a funkcira fektetjk. Kisebb szervezetben elkpzelhet,
hogy tbb funkcit is ugyanaz a szervezeti egysg vagy szemly lt el.
Adatbzist alkalmaz krnyezetben felttlenl be kell vezetni az adatadminisztrtori (ango-
lul: data administrator) funkcit. Ezt a feladatot nagyon sokan flrertik. Egyrszt nem tudjk,
hogy az angolban az adminisztrls nem aktatologatst jelent, mint nlunk, hanem irnytst.
Pldul a mai amerikai kormnyt Clinton-administration-nek nevezik. Msrszt a fl-szakmai
irodalomban tvesen hasznljk az adat- illetve adatbzisadminisztrtor kifejezst: az adatkezel
rendszer bitjeivel-bjtjaival bbeld szoftverzsenit rtenek rajta. A valsgban egszen msrl
van sz.
A szervezetekben minden erforrsnak (ember, pnz, anyag, eszkz stb.) egy kzponti gazd-
ja van. Az erforrsokat mindenki felhasznlhatja, de csakis a kzpontilag szablyozott mdon.
Pldul az X-elad nem adhat ki tbb millit beruhzsra. Az erforrs gazdja az elsdleges
felels az erforrs elosztsrt. Ezrt nyilvntartst vezet magukrl az erforrsokrl (v.
pldul anyagnyilvntarts) s azok felhasznlsrl. A fejlett informatikj szervezetekben rg
tudjk, hogy az adat - erforrs. Pnzbe kerl s felhasznlsa ltal pnzt hoz. Nem mindegy,
hogy mi az ra s mennyit fial. Ezrt kinevezik az adatadminisztrtort, a kzponti adatgazdt.
Az adatgazdnak szmos feladata van. Ezek kzl most csak a legfontosabbakat s rviden
emlthetjk. Az adatadminisztrtor nyilvntartst vezet az ismeretekrl. Mint mr tudjuk, ez a
nyilvntarts nem ms, mint a metaadatbzis (ld. 9. fejezet). Ezrt az adatgazda tltja, hogy az
adatokat melyik felhasznl, milyen eszkzn, milyen programmal kezeli. Ismeri az adatbzisok
szerkezett, a bizonylatokat, a kdokat, a be- s kimeneteket, a feldolgozsokat stb. Feladata ezen

140
tnyezk harmonizlsa, sszhangjuk biztostsa azrt, hogy ne legyen kltsges tfeds vagy
ellentmonds kzttk. Az adatadminisztrtor modertorknt is mkdik. Az adatbzist sokan
hasznljk. A felhasznlk ignyei ellenttesek, mert az egyiknek ez, a msiknak az a megolds
lenne kedvezbb, mint ahogyan a pnz felhasznlsa is vitkat szlhet. Ilyenkor az adat-
adminisztrtor keresi azt a megegyezses megoldst, amely a szervezet egsze szmra a legked-
vezbb. Pontosan gy, ahogyan pldul a fknyvel gazdlkodik a pnzzel.
A szervezetekben termszetes ellenttek feszlnek az erforrsok hasznlata krl. Ezeket
clszeren s okosan meg kell oldani. De ki alkalmas erre a feladatra? A vezet nem informatikai
szakember. A fejlesztk s felhasznlk rdekei pedig sohasem azonosak. E hromfle szerepl
egyike sem kpes tltni a szervezet ismereteinek az egyttest. Mivel pedig erre az ttekintsre
szksg van, meg kell teremteni az adatadminisztrtori funkcit.
A msodik feladatkr az elzvel rokon s felttelezi az azzal val szoros egyttmkdst.
Az informatikai szabvnyok kidolgozsrl s ellenrzsrl van sz. Ez nem a vezet, fejleszt
vagy felhasznl feladata. Ezrt a fejlett szervezetekben kln szabvny-csoport mkdik. Ennek
feladatai tbbrtek. A fejlesztsek megkezdse eltt meghatrozza, nyilvntartja, kzzteszi az
ltalnos informatikai szabvnyokat s szabvnyos eljrsokat. A konkrt adatbzisrsz elzetes
tervezse - a modellezs - sorn az adatadminisztrtorral karltve meghatrozza a specilis
adatszabvnyokat. A csoport a szabvnyos eljrsrszek lettemnyese is. A jobb szervezetekben
ugyanis felismertk, hogy a standard rutinokkal - pldul hiba-, men-, validlskezels - risi
kltsgeket lehet megtakartani. Vgl a szabvnyrszleg minsgellenrz funkcit is betlt.
Ellenrzi a tervezsi folyamatot s a tervtermkeket abbl a szempontbl, hogy megfelelnek-e az
elrt szabvnyoknak. Mert semmit sem rnek a szp szabvnyelkpzelsek, ha nem tartjk be
azokat.
Kisebb szervezetben az adatgazda s a szabvnyfelels lehet ugyanaz az egysg vagy szemly
is. Nagyobb szervezetben a kt funkcit rdemes sztvlasztani, mert az adatadminisztrtornak
ppen elg gondja lesz az adatbzis korrekt strukturlsval.
Amint a korbbiak sorn lttuk, minden adatbzisnak kt skja van: a modell, a meta-adat-
bzis s a tnyleges ismereteket trol alkalmazsi adatbzis. Az elbbirt az adatadminisztrtor
felel, de ki az utbbi gazdja? Nem a felhasznl, hiszen ugyanazt az adatbzist tbben hasz-
nljk. Nem a fejleszt, mert az zemeltetsre val tads utn a felelssg mr nem az v. Nem
is a szoros rtelemben vett zemeltet, amelynek a bemenetek fogadsa, a futtats s a kimenetek
sztosztsa - az adatbzis mindennapos hasznlatnak a biztostsa - a tulajdonkppeni feladata.
Ha minden a meghatrozott tervek szerint halad, akkor az zemeltet nem felelhet pldul azrt,
hogy a felhasznlk inkorrekt ismereteket visznek az adatbzisba.
A vitkat s problmkat elkerlend a konkrt adatbzisnak kell, hogy legyen egy elsdleges
felelse. Ezt a funkcit nevezzk adatbzis- vagy rendszergazdnak. Nagyobb szervezetekben a
kt tevkenysg sztvlik. Az adatbzisgazda felels az adatbzissal sszefgg menedzselsi
feladatokrt. A kisebb mdostsokrt; az adatbzis integritst ellenrz programok idszakos
futtatsrt; a mentsekrt s visszatltsekrt; a hozzfrsi jogok kiadsrt/mdostsrt; a
szemlyi jogok vdelmrt; az archivlsrt; a hasznlati statisztikk ksztsrt. Mindezek
mellett gyelnie kell a programmal nem ellenrizhet bemenetek s kimenetek megfelelsgre.
Vgl vannak olyan ismeretignyek, amelyek klnleges programozsi erfesztsek nlkl is
kielgthetk pldul egy jelentskszt (angolul: report writer) segtsgvel. Az ad-hoc ignyek
kiszolglsa - vagyis az adatbzis-segdletek alkalmazsa - is az adatbzisgazda feladata. Teht
ez a funkci kimondottan ismeret- s alkalmazsorientlt.
A mai adatbziskezel rendszerek igen sszetettek. Az adatok fizikai helynek a kijellse,
az elhelyezsnek a hatkonysg fokozsa rdekben vagy a mret vltozsa miatti mdostsa
nem-trivilis, specilis szakrtelmet ignyl feladat. A hardvert idnknt karbantartjk, korsze-
rbbre cserlik. Ezrt az adatbzist t kell plntlni msik gpre. j szoftververzit bocstanak ki
s a megvltozott vagy jabb szoftverelemek cserje illetve integrlsa technikai tszerkesztseket

141
tesz szksgess. Az is elfordul, hogy az j kezelvltozat kedvezbb fizikai trolsi-hozzfrsi
megoldsokat knl. Ekkor az adatbzis fizikai tszervezsre (angolul: reorganisation) kerlhet
sor. A felsorolt feladatok miatt felttlenl szksg van a szoftver- vagy (kezel) rendszergazda
funkcijra. Szemben az adatbzisgazdval, a rendszergazda kimondottan technika-orientlt.
Mivel igen ritkn fordul el, hogy egy szakember ppen gy rt az alkalmazsokhoz, mint az
eszkzkhz, a nagyobb szervezetekben a kt funkcit rdemes sztvlasztani.
Az adat- s rendszergazda funkci kapcsn meg kell emlkeznnk a rossz hazai gyakorlatrl.
Nlunk igen sokszor a fejlesztk egyikt teszik meg rendszergazdnak. Mivel a fejleszts s a
rendszerfelgyelet egyenknt is teljes embert ignyel, vilgos, hogy a hazai megoldsnak vagy a
fejleszts, vagy a mkdtets ltja a krt.
Ezzel a szervezeti felttelek ismertetsnek a vgre rtnk. Azonban a pontot nem zrhatjuk
le kt fontos, egymssal sszefgg megjegyzs nlkl. Nlunk abban a tvedsben lnek, hogy
akinek funkci adatott, ahhoz sz is jr. Ezzel szemben a gyakorlati helyzet az, hogy ma
nagyon kevesen tudnk betlteni a fent ismertetett funkcikat. A szakemberek kpzetlenek, s
ezrt nem igazn bznak meg bennk. Emiatt a szbanforg kulcspozcikat - ha azok egyltaln
lteznek - gy tltik be, hogy nem adjk meg a vonatkoz szemlyeknek a kell jogkrt. Ugyan ki
veszi komolyan azt az adatadminisztrtort, aki a fejlesztsi rszleg msodrang gyintzje?
Hogyan tud az rendelkezni, intzkedni? A felsorolt funkciknak csak akkor van rtelme, ha a
feladat megfelel jogkrrel - mondjuk ki: hatalommal, ranggal - prosul. A fejlett informatikai
szervezetekben az adatadminisztrtornak minimum fosztlyvezeti rang dukl...

142
11. AZ T

11.1 Elrehozott zrsz

Bartaim, ismerseim, tantvnyaim s akikkel tallkozom mind az adatbzistervezs


titkairl faggatnak. rdekldsk egy bizonyos rtelemben jogos. Az adatbzisok clszer
hasznlatban, az adatbzison alapul ismeretek megszerzsben 60 szzalkos szerepet jtszik az
adatbzis j megtervezse, a megfelelen kialaktott adatmodell. Csak 30 szzalkra teszem a
valsgh adatok trolsnak a szerept azrt, mert a j adatmodell eleve kiknyszerti a
nagyrszt konzisztens ismeretbevitelt. Az adatbzissal kapcsolatos sszes tbbi faktor legfeljebb
10 szzalkban hatrozza meg az ismeretszerzs sikert.
A fentiekkel szemben a mindennapi letben azt tapasztalom, hogy az adatbzis-projekt
rsztvevi legfeljebb 10 szzalkban trdnek az adatmodellel. 20 szzalknyi figyelmet ford-
tanak a konzisztens adattrolsra. Erfesztseik 70 szzalka a krlmnyekre - a hardverre, a
szoftverre, a fejleszti s felhasznli lelkivilgokra illetve ellenttekre - nem pedig az
adatszerkezetre (adatmodell) s az adattartalomra (adatbzis) irnyul.
A legtbben gy rdekldnek az adatbzistervezsrl, hogy nem ltjk az adatmodell igen
szleskr sszefggseit. A fejleszt szintvaksgban szenved, mert valjban nem fogalmi
szint adatmodellt akar. Hanem gygyreceptet arra nzve, hogy miknt is lehetne knnyen s
gyorsan meghatrozni egy sem logikai, sem fizikai, hanem valamifle vegyes adatbzis-szerke-
zetet az kezeljnek megfelelen. Olyasmit akar, amit nem szabad, vagy legalbbis nincs
nmagban rtelme. A felhasznlt nzetvaksg knozza. A fejleszt nem foglalkozik bizony-
latokkal s hasonl dolgokkal. A felhasznl viszont csak a sajt - bemeneti s kimeneti - bizony-
lataiban gondolkozik. Eszbe sem jut, hogy nem a bizonylatokon alapul az adatbzis, hanem
ppen megfordtva. Ezrt szletnek merev, prhuzamos, szk clokat kiszolgl adatbzisok. A
fejleszt s a felhasznl egyarnt nehezen fogadja el a valban kzs adatbzis gondolatt.
Vgl a vezet szerepvaksggal knldik. Nagy figyelmet szentel az eszkzknek, a feldolgozs
s az adatbzis egyes rszleteinek. Viszont nem elgg trdik a valdi menedzselsi funkcik-
kal. A szabvnyok kijellsvel; az adatstruktra s az adatbzistartalom minsgnek ellen-
rzsvel; a tmogat funkcik (pl. adatadminisztrtor) megszervezsvel stb.

Ennek a fejezetnek az a clja, hogy eddigi mondanivalnkat sszegezve megmutassa az


ismeret tjt az adattl az adatbzison t az informciig, s ezltal sztnzze az adatbzis-
fejleszts rsztvevit sajt vals feladataiknak a felismersben.

Ez a knyv nem az informcis rendszerek fejlesztsrl ltalnosan szl kiadvny. Ezrt


nem feladata a bizonylatok, kdok, bemenetek, kimenetek - az ismeretkezelsben oly fontos
tnyezk - tervezsnek a kifejtse. Arra viszont r kell mutatnunk, hogy az adatbzis nmagban
nem foghat meg. Csakis az informcis rendszer valamennyi tnyezjvel sszhangban kpzel-
het el. Ez a harmnia nemcsak szerkezeti, hanem idbeli sszefggseket is felttelez. Ezrt
ebben a fejezetben az adat tjt az informciig mindkt szempontbl nyomon fogjuk ksrni.

143
11.2 Fogalom szletik

Brmennyire is meglep, az adatbzis legfontosabb trvnye gy hangzik:

Az a j adatfle, ami nincs.

Ez a kittel murisnak tnik az els olvassra. Azonban tessk csak meggondolni, hogy ha
nem alkalmazzuk pldul a Cikk-rvid-megnevezs adatot, akkor azt nem kell rgzteni,
validlni (ellenrizni egyedisgt, a teljes megnevezsnek val megfelelst), trolni, kezelni stb.
Nem foglal helyet a papron, nem kerl pnzbe s nem viszi az idnket.
Mindezt azrt kell elmondanunk, mert egyes fejlesztk - taln sajt fontossgukat igazoland
- azon fradoznak, hogy minl tbb adatflt gymszljenek az adatbzisba. Nem egyszer
hallani ilyen kittelt: J lenne ide mg felvenni azt az adatot .... A tervezket s az gyint-
zket szemmel lthatan nem zavarja, hogy ez a plusz adat a valban vgs-felhasznlnak - az
llampolgrnak - mennyi fejtrst, utnjrst, kalamajkt okoz.
Az alkalmazknak s a tervezknek sokkal tbb nmrskletet kellene tanstaniuk az j
ismeretflk kitallsban s termszetesen a meglvk talaktsban. Ezzel az elvvel szemben
naponta azt tapasztaljuk, hogy mr megint egy j formtum s tartalm szmlt kapunk, pedig
mg az elzvel is alig bartkoztunk meg. A valdi problmk megoldsa helyett sokan azzal
bbeldnek, hogy j bizonylatokat, rovatokat, kdokat, azonostkat tallnak ki s vezettetnek be
a kvetkezmnyek tgondolsa nlkl.
Pedig az ismeret szletse hosszadalmas s fjdalmas. Nagyon sok gondossgot ignyel e
szls levezetse. Pldaknt ttelezzk fel, hogy az orvosi receptek ismereteit akarjuk szmt-
gpes adatbzisban trolni. Nzzk meg, hogy ebbl az ltalnos vgyunkbl miknt vlik
konkrt megolds.
Szndkosan vlasztottuk ezt a szlssges esetet, mert jl mutatja a kezdeti nehzsgeket.
Mert az hagyjn, hogy az orvosi hieroglifkat az rdg tudja elolvasni. A baj ott kezddik, hogy a
recepten nincsenek rovatok. (Illetve van egy-kt ismeretdoboz, de ltalban azok ltvel s
helyvel nem szoks trdni.) A vny kzps rovata a legtbb esetben termszetes - mr-
mint az orvosnak termszetes - nyelv szveg. Minipress, 2*1, jelentkezni. Minipr, reggel s
este, mellkhats esetn... Nincs kt orvos, aki ugyangy rn le ugyanazt az ismeretet.
Az adatbzis felttelezi az adatszer kezelst. Ehhez pedig fogalmi modellt kell alkotni. Az
adat valamilyen nvvel elltott adatdoboz tartalma lesz. Csakhogy ppen maguk a nevek, az
alapfogalmak nem tisztzottak. J, a recepten felfedezhetjk a Gygyszer-neve ismeretflt, mire
azonnal rnkfrmedhetnek, hogy egyes vnyeken nem gygyszer szerepel, teht az adatmeg-
nevezs rossz. Azutn mit jelent az, hogy 2*1 illetve reggel s este? Adagols, dzis, hasz-
nlati utasts? Szegny adat mg meg sem szletett, mris sok bajunk van vele. A szlets eltt
kell tartanunk a keresztelt. Nvvel kell elltni a leend fogalmat. Olyan nvvel, amely a
tartalmat tveszts-mentesen tkrzi.
Az ismeret szletsnek els momentuma a fogalomalkots. A 2*1 s a reggel s este
ugyanazt mondja. De mit mond? A Magyar Televziban vgeztnk modellezst, amikor szembe-
tallkoztunk egy papron a kvetkez rovattal: Sznes vagy fekete-fehr?. A rovat mellett egy
eligazt szveg: Sznes = 1, Fekete-fehr = 2. Azonnal belpett a minek nevezzelek
problmja. Mert sznes/fekete-fehr lehet a kszlk, a felvtel s az ads (szneset is lehet
msknt adni). A kt rtk tartozzon az Adstpus nev rovatba? Ez a fogalom mr mst jelentett.
Adsfajta, adsszn stb. mind-mind rossz megnevezsek. Amint ha Dzis nevet alkalmaznnk a
receptnl, tven orvos azonnal tiltakozna. A nv ruln el a fogalom lnyegt, de roppant nehz
j fogalmi adatneveket tallni.

144
A keresztel, a nvads a fogalomalkotsnak csak az egyik oldala. Fel kell mrni a fogalom
terjedelmt, rtkkszlett is. Mit kell rteni azon, hogy a Gygyszer-neve? A Radipon a
gygyszernv, vagy a Radipon - 1.5? A nevek nem mindig tkrzik az rtkkszlet lehetsges
tartalmt (v. domjn). Amikor a hd magassgrl van sz, valjban annak mlysgrl - a
vzhez legkzelebbi pontjrl - beszlnk. Ezrt a fogalomalkots tnyleg kt dolgot jelent: a
fogalom megnevezst s rtkkszletnek a definilst.
A gygyszernv (Radipon) pldjbl azt is lthatjuk, hogy adott esetben az egy fogalom-
bl tbbet kellhet generlnunk. Mert gondolkodhatunk gy is, hogy a Radipon - 1.5 a gygy-
szer neve, meg gy is, hogy a Radipon a medikmentum neve, az 1.5 pedig a Gygyszer-
hatsfoka vagy valami hasonl elnevezs msik tulajdonsg.
Az informcis rendszerek sikertelensgei vagy bosszant hibi ott kezddnek, amikor a
tervez nem tisztzza kellkppen a fogalmakat, illetve a sajt vilgba zrt felhasznlra
hallgatva elfeledkezik arrl, hogy az adatbzis egy, felhasznli viszont tbben is vannak.
Mindez az ismeretek pragmatikai aspektusval (ld. 1.5 pont) fgg ssze.
Ha rgi pldnkra visszatrve iderjuk a Kocsitpus nevet, akkor az olvask mst s mst
fognak rteni a nv mgtti fogalmon. Az egyik nagy projektnkben trtnt, hogy az A felhasz-
nl kocsitpusok szerinti kimutatst krt a jrmvekrl. A mrnk r teljesen hasznlhatatlan
tablkat kapott. Csak lassan derlt ki, hogy a fejleszt a B felhasznl - a fknyvel asszony -
kocsitpus-fogalmt vette t. A nem mszaki, hanem pnzgyi szempontt. Nem volt elgg
krltekint.

11.3 Tbb szem ...

A rgi informcis rendszerfejlesztsi szakknyvek igen nagy hangslyt fektettek a rendszer-


felmrsre s azon bell is az interj-technikkra. Nem akarjuk ezt a fontos megismersi
mdszert alsni, viszont ktelyeinket nem rejthetjk vka al.
A szemlyes interj nagyon hasznos annak feltrsban, hogy mit gondol az X megkrdezett
szemly a sajt ismeretignyeirl. Termszete miatt az interj idignyes. A fejlesztnek nem
lesz ideje arra, hogy az adatbzis minden potencilis felhasznljt kikrdezze. Egy pr rdek-
lds utn abban a bks tudatban lt neki az adatbzis tervezsnek, hogy mr mindent lt.
Kzben csak a megkrdezettek vlemnyeit vette t. A tbbi felhasznl nzett (ld. 5. fejezet)
nem ismerheti. Beszlt az X osztlyon Rzsikval, de az ugyanott dolgoz - s specilis gyekkel
foglalkoz - Julikt mr nem hallgatta meg.
E knyv szerzje is beleesett ebbe a csapdba. Rzsika megeskdtt, hogy minden szerzds
csak egy gyflhez ktdik. Csak ksbb derlt ki, hogy vannak specilis csald-biztostsok is,
amelyek hzasprokra - teht kt szemlyre - vonatkoznak.
Mikppen lehet az ilyen kelepcket elkerlni? Hiszen a fejlesztnek nincs lehetsge - ideje -
arra, hogy minden felhasznlt vgigltogasson?
Nos a huszonkettes csapdja kivdhet a megfelel mdszerekkel. Minden j adatflesgrl
elzetes szletsi anyaknyvi kivonatot kell kszteni. A metaadatbzisban (ld. 9. fejezet) kell
rgzteni az j adatfle, mint fogalom nevt, megengedett rtkkszlett s a szksg szerinti
terjedelm szveges lerst. Ezt az egyttest el kell kldeni minden rdekelt felhasznlhoz.
Azokhoz is, akiket - id hinyban - nem lehetett kikrdezni. Egy pillanat alatt fejnkre olvassk
tvedseinket, rmutatnak a kivtelekre stb. Persze ha nincs reflexi, akkor a fejleszt mr
valban nyugodtan aludhat, mert megtette a magt.
Tbb szem tbbet lt. Az viszont a fentiekbl mr vilgos, hogy az egyes adatflk szletst
messze megelzen kell ltalnosan felkszlni az esemnyre. Ki kell alaktani a metaadatbzist.

145
Tmr s egyrtelm - homonima- s szinonimamentes - megnevezsi konvencikat kell beve-
zetni. Meg kell hatrozni azt, hogy milyen mdon tudatjk a felhasznlkkal az j adat majdani
szletst s mikppen korrigljk az adatflt mg annak bevezetse eltt a felhasznli
szrevtelek alapjn.
Az ismeret szletsnek a msodik momentuma az elzetes s szleskr egyeztets. Ezt a
szleskr jelzt sokan nem veszik komolyan. A tervezt az X rszleg bzta meg, teht csakis
annl rdekldik arrl, hogy mit is jelent a Befizets. Hetek-hnapok mlva derl ki, hogy az Y
rszlegnl is ltezik ez a fogalom, csak nansznyi rtelmezsbeli eltrssel. A kt rszleg
pthetett volna egytt egy j adatbzist. Kialakthatott volna jl hasznlhat kzs bizonylatokat,
adatbeviteli s -ellenrzsi, lekrdezsi, knyvelsi stb. eljrsokat. Olcsbban, jobban, rende-
sebben. Mivel a fejleszt s a felhasznl a fejlett technikval tmogatott metaadatbzis
hasznlata esetben sem hajland vagy kpes a valban ttekint egyeztetsre, az ismeretek
szletsnl elengedhetetlen a specilis szervezetek (ld. elz fejezet) bbskodsa.

11.4 Adat szletik

A fogalomtl az adatig mg hossz t vezet. Tegyk fel, hogy a fogalomnak mr van


egyrtelm neve, jl meghatrozott rtkkszlete s kellkppen tjkoztat lersa. A j tervez
mg osztlyozsokat is alkalmaz. Rmutat arra, hogy az ismeret alap vagy szrmaztatott jelleg-e
(ld. 8.1 pont). Az utbbi esetben a lers nyilvn tartalmazza a szrmaztatsi tnyezket s magt
az algoritmust. Az rtkkszlet kzrettelben szerepelnek az rvnyestsi (validlsi) kritriu-
mok is. A tervez nem feledkezik el arrl sem, hogy a fogalom elemi vagy csoportos ismeretet
(pl. dtum) tkrz-e.
Csakhogy a fogalmi szinten mg vannak nem tisztzott rszletek. Az egyik az ltalnos
(nem-fizikai) brzolssal, a msik az ismeret szerepvel kapcsolatos.
A naponta ktszer-egy mindig azt jelenti, hogy az orvossgot reggel s este kell bevenni?
Ezt az ismeretet a 2 s az 1, a reggel s az este vagy az R s E prosaknt brzol-
juk? A Szemly-neme csak n s frfi rtk lehet. Ehhez nincs szksg klnsebb fogalmi
tisztzsra. Azonban a konkrt ismeret felveheti a frfi-n, F-N vagy az 1-2 alakokat is. Az
elvileg tisztzott fogalmakat az rtkek brzolsval kell prostani ahhoz, hogy a fogalombl
adatttel szlessen (v. a D 4/3 defincival).
Ilyenkor sokszor felmerl az a krds, hogy termszetes vagy kdolt adatrtkeket alkal-
mazzunk-e. A fogalmunk (Szemly-neme) mr ltezik. Megengedett tartalmait is tudjuk - elvileg.
Viszont a fogalombl akkor lesz adatszer adat, ha tudsunk gyakorlati. Meg kell hatroznunk,
hogy milyen karaktersor vihet a Szemly-neme adatba. Amg ezt nem tesszk meg, addig van -
felteheten egyeztetett - fogalmunk, de nincs adatflnk.
A fogalmak elvi ismeretek s ekknt teljesen egyenrangak. A Szemly-azonostja s a
Szemly-neme kztt nincs elvi klnbsg. A gyakorlati adatkezelsi differencia annl nagyobb.
Mieltt megalkotnnk az adatbzis szerkezett, mr tudnunk kell, hogy egy ismeret termszetnl
fogva majd azonostsi vagy csak lersi szerepet (ld. 6.3 pont) fog elltni. Egyltaln milyen
szerepre lesz majd alkalmas illetve milyent sznunk neki.
Ez a szerep tbbszrsen nem kzmbs. Ha egy ismeretet azonostsi feladattal akarunk
megbzni, akkor gondoskodnunk kell rtkeinek egyszeressgrl, egyrtelmsgrl, kzrt-
hetsgrl s az utbbi clt szolgl feltnsgrl. Az azonostnak majd a bizonylatokon, a
bevitelben s magban az adatbzisban is szembetlnek kell lennie. Ha viszont az ismeretnek
csak lersi funkcit sznunk, akkor tudnunk kell, hogy mi lesz a vrhat azonostja. Vegyk
csak alapul korbbi gygyszer-pldnkat! Ha a Radipon nv nem pontosan jell meg egy

146
gygyszert, akkor ler tulajdonsg. Viszont ekkor mi magnak a ksztmnynek az azonostja?
Lehet, hogy j tulajdonsgot kell felvenni? Vagy a Gygyszernv (Radipon) s a Hatsfok
(1.5) egytt azonostja a termket?
Az ismeretnek ngy dimenzija van (ld. 2.2 pont). Meg kell tudnunk jellni a specifikus
dolgot - a konkrt gygyszert - amirl sz van. A fogalombl akkor lesz adat, ha a ngy
dimenzit vilgosan krvonalazzuk.
Ezrt az ismeret szletsnek a harmadik momentuma a nem-fizikai brzols s a leend
adatszerep meghatrozsa.
Mivel egy picit visszaltnk az olvas trelmvel, ksztnk egy gyorssszegzst. A recepten
mindenfle ismeretek tallhatk. A Radipon s a Bilagit szvegeket olvasva, az adatbzis-
tervez alkotott magban egy Gygyszernv fogalmat (11.2 pont). Termszetesen nem volt
alkalma minden receptet vgignzni. Szletsi anyaknyvi kivonatba vette, hogy a Gygyszernv
azt jelenti, hogy... Ezt az els megrzst kzlte az rdekelt orvosokkal (11.3 pont). Mire k
megllaptottk, hogy a gygyszernv ebben a formban egyltaln nem kifejez, mert hiszen
Radipon van ilyen, meg olyan. Terveznk vgl megegyezik a felhasznlkkal, hogy a
Gygyszernv (Radipon) s a Hatsfok (1.5) azonostsa a ksztmnyeket gy, hogy nem
alkalmaznak kdokat s - sajnos - a Hatsfok nv nem igazn szerencss. No de mr mindenki
tudja, hogy azon mit kell rteni. gy teht a kt fogalom - ha gytrelmesen is - vgl adatt vlt.

11.5 Az ismeretek szerkesztse s els betltse

A konkrt ismeretek adatbzisba vitele eltt meg kell hatrozni az adatbzis szerkezett. Ha
az adatbzisban nem szerepel a KOCSITPUS egyed, akkor a Lada 1300 tpus kocsinak a
frhelyt nem ismerhetjk ltalnosan. A Frhely tartalmt minden egyes kocsinl egyenknt
kellene megadni, ami felesleges munka, trpazarls s ellentmondsokhoz vezethet.
Az alkalmazsi adatbzisnak az adatmodell a mintja. Az adatmodell tulajdonkppen nem
ms, mint egy sszetett, struktrkban s lersokban meghatrozott korltrendszer. Ez hatrolja
be, hogy milyen adatokat tudunk egymssal sszefggsbe hozni kzvetlenl vagy kzvetett
mdon (naviglssal - ld. D 8/4). Az adatbzison csak olyan nzet generlhat, amely a globlis
struktrbl levezethet. Ezrt a struktra kzvetetten meghatrozza a kimeneti lehetsgeket.
Ugyanakkor a korltokon keresztl a szerkezet bizonyos mrtkig behatrolja a bemeneti kpeket
is. Hiszen pldul addig nem trolhatjuk a rendelsek ismereteit, amg nem ismerjk a vevket.
Ezrt az ismeretkezels negyedik momentuma az adatmodellezs. Ez adott esetben meg-
lehetsen sszetett feladat, amit ppen ezrt kln, knyvnk msodik rszben fejtnk ki. Itt
csak a fbb aspektusokra hvjuk fel a figyelmet. Az adatmodellezs nem azt jelenti, hogy a kezel
korltos kpessgeinek megfelelen sszelltunk amgy rzs szerint pr rekordkpet. Az
ismeretek valsgh tkrkpt kell megkomponlnunk. Ha a kezel nem kpes egy-egy korlt
automatikus rvnyestsre, akkor arrl magunknak kell gondoskodnunk, mert klnben hamis
ismeretek kerlnek az adatbzisba. Ezrt az adatmodell nemcsak az adatbzis strukturlis
mintja, hanem egyben validlsi tervknt is szolgl.
A valsg hiteles tkrzsn tlmenen az adatmodellezsnek az a clja, hogy megtalljuk az
adatbzis optimlis tervt. Az egyrtelm (homonimktl s szinonimktl mentes), teljes (a
tkletesen kapcsolhat ismeretek trolst biztost) s minimlis (redundancikkal nem terhelt)
szerkezetet. Ehhez adott esetben igen komoly matematikai s szemantikai elemzseket kell vgre-
hajtanunk.
Vgl a szakknyvek kevs szt ejtenek arrl, hogy az adatmodellnek nemcsak statikus,
hanem dinamikus aspektusa is van. Az adatbzisban tkrztt egyedtpusok idben is ssze-

147
fggenek egymssal. Egyms precedensei (elzmnyei). Bizonyos egyedtpusok elfordulsait
ismernnk kell ahhoz, hogy ms egyedtpusok tartalmt kezelni tudjuk. Ezrt nem rtana ksz-
teni az adatmodell rszeknt egy precedenciatervet, amely az egyedtpusok idbeli sszefggseit
rgzti.
Itt mr el is jutottunk az ismeret szletsnek az tdik momentumhoz, az n. adat-
konverzihoz. Az sszetettebb adatbzisok tnyleges tartalmi feltltse nem vgs-felhasznli
adatbevitellel kezddik. A felhasznl csak igen ritka esetben kezd dolgozni res adatbzissal. A
legtbb alkalommal vagy ms szmtgpes formtumbl alaktjk t (konvertljk) az adatokat
vagy pedig gyorsbetlt programokat ksztenek. Az utbbiak esetben az adatbevitel sokszor
nem szp formtum - teht drga - bizonylatok alapjn, hanem kln erre a clra ksztett
konverzis bizonylatokrl trtnik. Fleg a tbb msikkal is kapcsold segdegyedeket -
irnytszm trzset, djtblzatokat, orszglistkat stb. - clszer az utbbi mdon bevinni, ha
azok nem llnak rendelkezsre a gpen.
Az adatbzis els feltltse sszeren a precedenciaterv szerint trtnik. Ez a biztostk arra,
hogy ne kelljen az els betlts utn a konzisztencit helyrellt - a korltokat rvnyest -
kln programokat futtatni. Ha pldul elbb vinnnk be a vevk ismereteit s csak utna a
teleplsekt, akkor utlag kellene ellenrizni az irnytszmok helyessgt a vevcmekben.
Amint ltjuk, a konverzi nem egyszer feladat. Ha mr az els feltltsnl is rossz ismere-
teket engednk az adatbzisba, akkor annak konzisztencijt sohasem fogjuk tudni helyrelltani.
Ezrt a konverzi sorn rengeteg validl programot kell futtatnunk. Az automatikusan nem
validlhat ismereteket - de csakis azokat! - konverzis listkon jelentjk meg s szemmel
egyeztettetjk, lehetleg tbb szemly ltal. Mindezek a feladatok csak akkor hajthatk vgre
sikeresen, ha nagyon tudatosan vgezzk ket. Ennek pedig az a felttele, hogy mr az adatbzis-
tervezssel prhuzamosan elkezdjk sszelltani az n. konverzis tervet.

11.6 Bizonylatok

Az alkalmazsi ismeretek ltalban elszr paprokon, alapbizonylatokon jelennek meg.


Nlunk kialakult az a rossz szoks, hogy az adatbzis kpt formljk a bizonylatokhoz, nem
pedig megfordtva. Ebbl addik azutn, hogy ugyanaz az ismeret, amely az adatbzisban csak
egy egysget jelent, tbbfle papron s sokszor eltr formban tnik fel.
E helytelen felfogs miatt a bizonylatok tartalmilag rosszul szerkesztettek. Tele vannak
felesleges adatokkal. Pldul minden kresemnynl le kell rni a paprra, hogy hny kbcentis az
X tpus kocsi motorja s mekkora az aut slya, jllehet ez az ismeret mr az adatbzisban van
s sohasem vltozik. Termszetesen az A szemly mst fog megadni a gpkocsi slyaknt, mint a
B szemly. Ha az ismeretet gy az adatbzisba visszk, akkor abban hamis adatokat trolunk. Ha
validlssal kiszrjk, akkor feleslegesen vgznk egy ellenrzst. Ha pedig nem visszk be,
akkor minek azt paprra ratni?
A rossz bizonylat predesztinlja a helytelen adatbevitelt. A magyar bizonylatok kzs
jellemzje, hogy formailag is rosszul szerkesztettek. Tz centimteres helyet hagynak pldul a
dtumra, hrmat a nvre. Vilgos, hogy az olvashatatlan lesz. A bizonylatokon igen rossz adat-
nevek szerepelnek s nagyon kevesen tallhat rtelmes kitltsi utasts. Sem elrendezssel, sem
nyomdai megoldsokkal nem emelik ki a lnyeges tteleket, pldul az azonostkat.
Az ismeret szletsnek a hatodik momentuma a bizonylattervezs. Ezt az aspektust ma
teljesen elhanyagoljk. A szmtgpeseknek - rthetetlen okokbl - a bizonylat kvl esik az
rdekldsi krn. Az elsdleges adathordozkat laikusok - felhasznlk - lmodjk meg, holott a
bizonylattervezs komoly tudst ignyl kln szakterlet. Mi tbb, a bizonylatot elbb tervezik

148
meg, mint az adatbzist. Teht a bizonylat megalkotja elvileg sem vehet rszt a fogalom-, meg-
nevezs-, rtkkszlet-, brzols-, mret- stb. egyeztetsekben, hiszen azokra csak ksbb kerl
sor. Ez termszetesen predesztinlja a fogalmi, rtkbeli stb. eltrseket a bizonylat s az
adatbzis kztt. gy fordulhat el, hogy a bizonylatra a Szemlynv rovatba egyetlen ktjel
kerl. A mindig pontosan 24-karakteres Alvzszm rovat pedig az egyik bizonylaton 25-
karakteresre sikerl. Ami azrt mindegy, mert mindkettn nha csak 10 karaktert tltenek ki...
Az ismeretkezels alapvet szablya, hogy a bizonylatokat csak az adatmodell megalkotsa
utn szabad megtervezni. Ha pedig mr ltezik az elsdleges adathordoz, akkor azt az
adatmodellnek megfelelen t kell alaktani. Az aktulis ismeret a bizonylat kitltsvel kezdi
meg lett. Ha a kitlts eleve hibkra ksztet, akkor milyen lesz az adatbzis?

11.7 Adatbevitel

Elrkeztnk az ismeret szletsnek a hetedik momentumhoz, az adatrgztshez vagy


adatbevitelhez. Ma mr ezt a munkt nem annyira a kln hivats adatrgztk, hanem maguk a
felhasznlk vgzik. Az adatbevitel kpernyformk segtsgvel trtnik. Sokan nem veszik
szre, hogy a kpernyforma is bizonylat. Ezrt tervezsnl s kitltsnl pontosan ugyan-
azokat a hibkat lehet elkvetni, amiket az elz pontban emltettnk. Illetve mg sokkal tbbet,
mert az on-line kezelsi eligaztsokban is bven akadnak bajok.
A kpernyforma jabb lehetsget ad az egyrtelmsgi kvetelmnyek megsrtsre.
Ugyanannak az adatnak eddig csak kt eltr neve volt: A az adatbzisban s B - illetve sok
klnbz B - a bizonylatokon. A kpernyn - helyhiny miatt - mr csak a sokkal rvidebb
C nv szerepel. ltalban tervezink nem villognak a kpernyk szp, a korrekt bevitelt
tmogat formai elrendezsvel sem.
Az adatbevitel lelke a troland ismeret megfeleltetse az adatmodellben elrt korltoknak.
Az rvnyests, vagyis a validls. A tapasztalatlan fejlesztk ezt a mozzanatot szmtgpes
programrszletekre redukltan kpzelik el. Holott ktfle validls ltezik: automatikus (progra-
mozhat) s menedzselsi. Az gyfl cmben lv irnytszm az elbbi krbe tartozik, mert az
elre trolt irnytszm-trzs alapjn validlhat. Arrl is tudunk gondoskodni, hogy az gyfl
nevt nagybetvel kezdden vigyk be. Ha szrmaztatott adatot trolunk az adatbzisban, akkor
evidens, hogy nem kvetjk el azt a hibt, hogy az ismeret tartalmt a felhasznlval rgzttetjk,
hanem az adatbevitelkor automatikusan szmtjuk/aktualizljuk az rtket.
Vannak programmal nem validlhat tnyezk is. Ezeket adatszabvnyokkal (ld. 10.3 pont)
kell megfogni, mert minden bevitt ismeretet validlni kell. Pldul az gyfl cmben mindig
vagy ki kell rni az utca szt, vagy mindig az u. rvidtst kell alkalmazni. A vlaszts most
mindegy; a lnyeg az egyfle mdon van. Nlunk kptelenek megfogni az ilyen adatok valid-
lst, mert hinyzik az ahhoz szksges akarat s fegyelem. A fejleszt nem kutatja-keresi a
megoldsokat, megmarad az egyszer, szinte sablonos ellenrzsek mellett. A felhasznl
fradtsg vagy egyb ok miatt nem trekszik a pontos adatbevitelre.
A vezet pedig nem vgez(tet) ad-hoc adatbeviteli fellvizsglatot, amelynek sorn fny
derlhetne az adatrgztsi hinyossgok tpusaira s okaira.
A fentiek miatt mondtuk, hogy a validls msodik fajtja menedzselsi jelleg. Ha a vezet-
nek valban nincs ideje az ellenrzsre vagy pldul j alkalmazs kezdetn vagyunk s mg a
lelkiismeretes adatrgztk sem tudtak mindent betanulni, akkor lni kell a rg bevlt ktszeres
adatrgzts technikjval, ami szintn menedzselsi megolds.
Az adatbevitellel kapcsolatosan mg egy ltalnos hibra kell felhvni a figyelmet. Nlunk
elterjedt az a rossz nzet is, hogy minden adatot a szmtgpre kell vinni. Azt is, amely szemmel

149
lthatan helytelen, nem-teljes, ellentmond stb. Az gyfl ugyan nem adta meg a cmt, de azrt
az egyb adatokat csak bevisszk!
Mindenkit va intnk ettl a szemllettl. Klnsen azon ismeretek esetben, amelyek
valamilyen mdon a jelensg azonostsban rszt vesznek. Ha az gyfl jra jelentkezik, akkor
nem a rgi - a rosszul bevitt - ismereteit fogjuk korriglni, hanem j ttelt nyitunk az gyfl
rszre - hiszen a rgit mr nem is tudjuk azonostani. gy lesz egy pillanat alatt redundns s
inkonzisztens az adatbzisunk. Utlag prblkozunk az egyeztetssel, holott azt megtehettk
volna az els helytelen adatbevitel eltt is.

11.8 j ismeret szletik

Az ismeretszerzs nyolcadik momentumhoz rkeztnk. A 8.4 pontban mr kifejtettk az


adatkezels s az adatfeldolgozs klnbsgt illetve viszonyt. Most rviden sszegezzk azt,
hogy e kt mveletflvel miknt tehetnk szert j ismeretre. Mieltt ezt megtennnk, felhvjuk
a figyelmet arra, hogy az j jelzt objektv s szubjektv szempontbl kell majd mrlegelnnk.
Az ismeretszerzs legalapvetbb mdja a kzvetlen szlels vagy kzls. Rnznk a kocsira:
j, ez piros szn. Vagy Marika kzli velnk, hogy az X kocsi piros. Az adatbzisban
bogarszhatunk a legegyszerbb, pusztn megtekintst szolgl adatkezelsi mveletekkel s j
ismeretre tehetnk szert. Eddig nem sejtettk, hogy Kovcs Lajosnak piros kocsija van, most mr
tudjuk. Rnznk az adatbzisra, az adatbzis kzli velnk ezt az ismeretet. Amely objekt-
ven nzve egyltaln nem j, hiszen mr rgen az adatbzisban troldott. Csak szubjektven -
vagyis a mi szmunkra - j.
Kevesen veszik szre a kzs adatbzisnak ezt a lexikon szerept. A lexikonba X s Y is r
ismereteket - egymstl fggetlenl. Ezek azonnal kzs kinccs vlnak. Mert ha fellapozzk a
lexikont, akkor X s Y megtallja benne a sajt tteleit is, de a msik partnert is. Azt az
ismeretet, amelynek addig nem volt birtokban. St, van aki egyltaln nem tesz ismeretet ebbe a
lexikonba, mgis mindent megtudhat belle. A tallz adatkezels segtsgvel gy tgul ki a
kzvetlen szlels vagy kzls rtelme.
Persze az adatbzis hasznlatra nem a vletlen tallzs jellemz, mint ahogyan a lexikont
sem az elejrl kezdjk olvasni. Itt ismt figyelmeztetnnk kell az adatbzis tartalmi (intenzio-
nlis) s kiterjedsi (extenzionlis) aspektusaira. Arra, hogy az adatbzis egyetlen nagy tblaknt
kpzelhet el, amelyben vannak tulajdonsgtpusok s egyedelfordulsok. Az adatbzis olvas-
ja adott esetben a jelensgeknek csak nhny sajtossgra kvncsi (pl. az gyfl cmre igen,
de nemre nem). Mskor az gyfelek minden tulajdonsgtpusban rdekelt, de csak meghatro-
zott egyedelfordulsok esetben (pl. a budapesti gyfelekre kvncsi). A kt aspektus egymssal
sszefgghet, hiszen amikor a hlgy gyfeleket keressk, akkor az intenzi (gyflnem = N)
alapjn hatroljuk be az extenzit (nem a teljes terjedelemben vagyunk rdekeltek).
Az adatbzisban trolt, objektven nzve egyltaln nem j adatokbl szelektv adatkezelssel
tehetnk szert szubjektven j ismeretekre. A tallzssal vletlenl szerzett ismeretekkel szemben
itt tudatos keressrl van sz. A fejlesztknek az lenne az alapvet feladata, hogy feltrjk az
egyes felhasznlk szemlyes intenzionlis s extenzionlis adatkeressi ignyeit, s azoknak
megfelel nzeteket illetve kimeneteket tervezzenek.
Az adatkezel rendszerekkel az objektven rgi, vagyis mr trolt adatokat mindenfle
kombinciban el lehet bogarszni a szubjektven j ismeretek szolgltatsa rdekben.
Feltve, hogy az adatbzis szerkezete megfelel s a trolt adatok egyszeresek, nem-hinyosak, a
valsgot hen tkrzik. Ezrt a hatkonysg - egyltaln nem mellkes, viszont nem az

150
informatika szfrjba tartoz - momentumtl eltekintve valban kijelenthetjk, hogy nem az
adatkezels mikntje a fontos, hanem az, hogy mit kezelnk.
A szrmaztatott ismereteket csak ritka esetben troljuk az adatbzisban. Ha ezt tesszk,
akkor a szrmaztatott adat alapadatknt viselkedik, vagyis tisztn adatkezelsi mvelettel
nyerhet vissza. Ms a helyzet akkor, ha az objektven rgi - mr trolt - adatokon matematikai
s/vagy logikai mveletekkel kvnunk szubjektven j ismeretre szert tenni. Ha pl. kvncsiak
vagyunk a Ttelrtkre, ami a Rendelt-mennyisg s az Egysgr szorzata.
Vegyk szre, hogy a Ttelrtk objektven nem j ismeret. Ha az adatbzisban nem is
troljuk ezt az adatot, az adatmodellben akkor is le kellett rjuk a Ttelrtk szmtsi kplett. A
szrmaztatott tulajdonsgok tartalmai mindig csak szubjektven jelentenek j ismeretet. Ahhoz,
hogy ezeket megismertessk a felhasznlval, adatfeldolgozsi mveleteket kell vgrehajtanunk.
Vagyis aktulisan ssze kell szoroznunk a Rendelt-mennyisg s az Egysgr rtkt, miutn
ennek a kt tnyeznek a tartalmt kikeressk (adatkezelsi mvelettel).
Az adatfeldolgozs - gyerekjtk. Mert mikor lehet sikertelen a feldolgozs? Hrom esetben.
Akkor, ha rossz az adatbzis szerkezete (a rendelsttelek s cikkek nincsenek kapcsolatban).
Akkor, ha az adatbzisban rossz adatokat trolunk (nem is annyi a cikk ra, vagy nem is annyit
rendeltek belle). No meg akkor, ha a felhasznl tvesen adta meg a szrmaztats lnyegt (nem
az egysgrat, hanem a kialkudott rat kellene hasznlni).
A fejleszt a hrom felttel kzl csak az els kettrt felels. Persze azrt is, hogy a fel-
hasznl ltal megfogalmazott szrmaztatst jl vezesse le. Viszont azrt, hogy a szrmaztatsi
tnyezket s a szrmaztats mdjt helyesen hatroztk-e meg, csakis a felhasznl felelhet.
Hiszen tudja, hogy szubjektven milyen ismereteket akar ltni.
Sajnos nha a felhasznlk kptelenek kifejteni ismeretignyeiket. Leginkbb ennek a
tnynek tudhat be, hogy a termszetes adatfeldolgozsi lncot (ld. 8.7 pont) mg a tjkozott s
jszndk fejleszt is knytelen a vgn megtrni s szemlytelen, nem vgigvitt feldolgozs
tmegkimeneteket produklni a felhasznl szmra. Ezzel pedig kis ciklusunk bezrdik, mert
nem marad ms megolds, mint a gpi vagy kzi tallzs.

11.9 Adatkimenet s behangols

A levlogatsnak is nevezett szelektv adatkezels illetve a szrmaztatsi mveleteket


fellel adatfeldolgozs eredmnyei kpernys s/vagy nyomtatott formj kimeneteken jelennek
meg. Ha az ismeretszerzs vgtelen ciklust nem ismernnk - a kimenet megtekintse utn j
ignyek keletkeznek s az ebben a fejezetben lert krforgs ellrl kezddik, - akkor azt
mondannk, hogy az adatkimenet az ismeretszerzs utols momentuma.
Igen, mg mindig ismeretszerzsrl kell beszlnnk. Kifejtettk az ismeretszerzs
szlelsi, rzkelsi stb. aspektusait. Kimondtuk, hogy mi csak az rott nyelv szerinti ismeretekkel
foglalkozunk. A Fehr a Rzsa kocsija s a Rzsa kocsija fehr pldkkal arrl akartuk meg-
gyzni az olvast, hogy a kt kzls azonos lnyeget tartalmaz, a hangsly pedig nem tkrzhet
magban az adatbzisban.
A kimenet a bizonylat egyik specilis fajtja. Abban az rtelemben, hogy nemcsak ltalnos
tartalmval, hanem formai aspektusaival is trdnnk kell. J kimenetet tervezni nem kisebb
feladat, mint j bizonylatot alkotni. St, nha nehezebb.
A kimenet cme, a kijelzett ismeretek egyrtelm neve mellett gyelnnk kell a vertiklis
(tartalmi) s a horizontlis (terjedelmi) elrendezsre is. A tulajdonsgtpusok s az egyed-
elfordulsok sorrendjre. Mert - szemben az ebbl a szempontbl semleges bemenetekkel - a

151
kimeneteken maga az elrendezs is szubjektven j ismereteket tkrzhet. Pldul gy, hogy az
els sorban jelenik meg a legtbbel tartoz vevnk.
A kimenetekben sokkal tbbet kellene trdnnk a kimondottan formlis aspektusokkal. A
helybeosztsokkal, a betszedetekkel s az egyb figyelemfelkelt eszkzkkel. Lthatunk olyan
felmrsi kimutatsokat, amelyek nem szzalkok szerinti sorrendben listzzk fel a tteleket;
nem is emelik ki kvr szedettel a kiemelked szzalkokat; radsul a lnyegtelen tnyez
rszletezsre t, a lnyegesre csak egy sort tartanak fenn, merthogy a trdels gy addik.
Az adatbzis - formasemleges. Hangslyok nlkl, egyszeresen kell rgztenie az objektv
tnyeket. Nem lehet elre tudni, hogy ki milyen szubjektv ismeretek birtokba akar jutni az
adatbzis hasznlata ltal. Ha ez elre fixlva volna, akkor nem is beszlhetnnk ltalnostott
adatbzisrl. Az adatbzis felhasznlsakor a megjelentend ismeret nem fggetlen a formtl.
A lnyegeset s a lnyegtelent alakilag is el kell vlasztanunk egymstl, ha ezzel teljesthetjk ki
alapvet feladatunkat. Aminek a lnyege az, hogy tmogatjuk a felhasznlt az ismeretek infor-
mciv trtn rtelmezsben.
Mg egy tnyezt kell megemltennk. Bonyolultabb adatbzisok esetben nem kezdjk meg
azonnal azok hasznlatt. Egy erre a clra kijellt felhasznli csoporttal elvgeztetjk a legtipi-
kusabb adatkezelsi mveleteket. Fleg a tmegszereket, amelyek az adatbzis robusztussgt
tesztelik illetve azokat, amelyek kritikus vlaszidket ignyelnek, teht a hatkonysg prbjra
alkalmasak.
A fejlesztk sokszor elfeledkeznek errl a tesztrl. Egyedi programokat, programcsoportokat
tesztelnek - ez is fontos -, de nem vizsgljk az adatbzis teljestkpessgt. gy az les hasznlat
sorn lesz szksg az adatbzis talaktsra, amely sokkal tbb bajjal jr. Ezrt az okos fejlesz-
tk a tnyleges hasznlatbavtel eltt megrzzk egy kicsit az adatbzist. A nyert tapasztalatok
alapjn az les ignyekhez igaztjk, azaz behangoljk (angolul: tuning).

11.10 A hossz s kanyargs t

Nem tudok a leend adatbzistervezk szmra knny munkt grni. Hossz s kanyargs
t vezet az adattl az adatbzison t az informciig. Egy minipldn keresztl foglaljuk ssze
ennek az utazsnak az llomsait. Tegyk fel, hogy a felhasznl a nagybani vevk olyan
rendelstteleinek az rtkeire kvncsi, amelyek az X cikkszm cikkre vonatkoznak. Azrt,
hogy a teljes utat tlssuk, ttelezzk fel, hogy nullrl kell indulni. Vagyis nincs semmi httr-
tudsunk. Tekintsk t, hogy mik is lesznek a teendink.

ad 1) Tisztzni kell, hogy mit jelentenek az alapfogalmak. A nagybani vev, egyltaln a


vev, a rendels, a rendelsttel s a cikk, mint ismerettel lerand jelensgek (egyedek). Mivel
ezeket majd kezelni kell, fel kell trni azonost tulajdonsgaikat. Meg kell tudni, hogy milyen
ismereteket kell a vevre, rendelsre stb. vonatkozan megjelenteni a ttelrtken tlmenen.
Persze azt is ki kell derteni, hogy miknt szmtjk a ttelrtket s tnyezinek (r s
mennyisg) mi a tartalma. Az r egysgr-e, ami a cikket jellemzi, vagy ttelenknt eltrhet az
rtke, mert pldul kialkudott r. A fogalmaknak nevet kell adni s meg kell hatrozni
elforduls- illetve rtkhalmazukat (11.2 pont).

ad 2) Mindezt elzetesen lerjuk a metaadatbzisban. Majd egyeztetnk minden olyan


felhasznlval, aki eladssal foglalkozik. Eladhatunk autkat is s azok alkatrszeit is. Az egyik
keresked rszre a nagybani teljesen mst jelenthet, mint a msiknak. Korrigljuk meta-
adatbzisunkat a berkez informcik szerint (11.3 pont).

152
ad 3) Pontostjuk fogalmaink brzolst, vagyis azokbl adatokat alkotunk. Mindig ugyan-
gy brzoljk a rendelsszmot? Vagy netn tbb helyen alkalmaznak ilyen adatot eltr brzo-
lssal? Melyik a helyes? j kzset kell alkotni (11.4 pont)?

ad 4) Meg kell terveznnk az adatmodellt. Majd azt kell vizsglnunk, hogy annak mely
tnyezi ltalnos hasznlatak. gy, hogy azokat nem minden bevitelkor kln fogjk betni,
hanem elre sszellthat az egyedtpus tartalma. Ha pldul a mrtkegysget is meg kell
jelenteni, ltezik-e mr a szmtgpen a megengedett rtkek kszlete s az egyrtelm-e? Ha
nem, ki fogja azt neknk tadni? Mi a konverzis teend (11.5 pont)?

ad 5) A feladat ltal rintett adatok milyen meglv bizonylatokon jelennek meg? Nevk,
brzolsuk, megengedett rtkkszletk megegyezik-e az ltalunk felttelezettel? Ha valamelyik
tnyezben eltrs van, akkor - felttelezve azt, hogy az elz lpsekben gondosan jrtunk el - t
kell alaktani a helytelen bizonylatokat (11.6 pont).

ad 6) Meg kell terveznnk minden egyes beviend adat validlst. El kell dntennk, hogy
melyik adatflesg validlhat programmal, melyikre kell szabvnyt ksztennk. Ezt a szabvnyt
meg is kell alkotnunk (11.7 pont).

ad 7) sszelltjuk az adatkezels s az adatfeldolgozs egyttes tervt. Ez azt jelenti, hogy a


vonatkoz lekrdezsre meghatrozzuk a szelekci mdjt, az egyedek kztti naviglst s azt,
hogy az egyedek kezelse kzben mikor hajtjuk vgre a szrmaztatsi mveleteket (11.8 pont).

ad 8) Prototpus kimeneteket ksztnk. Egyeztetjk a felhasznlval a kimenet vgleges


tartalmt s formjt. A kimeneteket az ignyeknek megfelelen csinostjuk (11.9 pont).

Termszetesen a felsorolt tevkenysgeknek nem mindegyike tartozik a szoros rtelemben


vett adatbzistervezs feladatkrbe. Azonban az adatbzisterveznek kzremkdknt rszt
kell vennie valamennyi fejlesztsi rszfeladatban. Hiszen az adatbzis sikere nemcsak a korrekt
terven, hanem a megfelel hasznlaton is mlik.

Ezzel az adatbzis kialaktsra vonatkoz alapvet tudnivalk ismertetst lezrjuk s


rtrnk az adatbzistervezs titkainak a feltrsra.

153
II. RSZ

Az adatbzistervezs
titkai

154
BEVEZETS - II.

Az adatbzistervezsnek szmos titka van. Ha nem lenne, akkor mindig tkletes vagy
majdnem j adatbzisokkal tallkozhatnnk. Ezzel szemben a szomor gyakorlat az, hogy
nehezen bukkanunk egy akr csak kzeltleg elfogadhat adatmodellre is. Vajon mi lehet ennek
az oka? Valban ennyire kptelenek lennnk j adatbzisok krelsra?
Jl tervezni csak az tud, aki tisztban van a terv lehetsges ltalnos hibival s azok
elkerlhetetlen kvetkezmnyeivel. A 12. fejezetben ismertetjk az adatmodellek tipikus hibit.
Az adott rszben lert problmkat a mai fejlesztk s felhasznlk nagy rsze nem veszi komo-
lyan. Ugyan mirt baj az, hogy kt eltr jelensgnek azonos nevet adnak vagy ugyanazt itt meg
ott mskppen nevezik? Tbbszrsen trolunk egy ismeretet? sse k; elg nagy a szmtgp.
Ha a tervez nem ismeri fel a nagyon komoly msodlagos hatsokat, akkor szakmailag nem
alkalmas a munkjra. Ha pedig tud a hibkrl s mgis rossz tervet alkot, akkor erklcsileg nem
az.
Az adatbzis tervben elfordulhatnak olyan hinyossgok, amelyek nmi kis utnjrssal
kikszblhetk. A 13. fejezet mutatja be a tulajdonsgok alapvet fggseit s a normalizls
alapjait. A tervez ltal els heves felindulsban megalkotott kezdeti tblakpek nrevzij-
nak a matematikai-technikai httert ismerteti ez a rsz, amely a kvetkez pr fejezetet is
megalapozza.
Az adatbzisok egyik leggyakoribb - noha egyltaln nem a legslyosabb - hibja a felesleges
adattbszrzs. A redundancia, amely karbantartsi visszssgokhoz, az adatbzis tartalmnak
az ellentmondshoz (inkonzisztencihoz) vezet. A 14. fejezet trja fel az alapvet norml-
formkat. Olyan tblaszerkezet-ellenrzsi s -talaktsi (normalizlsi), ezen a szinten mg
tbbnyire mechanikus tervezsi megoldsokrl van sz, amelyek nagyon knnyen elsajtthatk
s segtenek elkerlni a legdurvbb redundancia problmkat.
Mg a 15. fejezet is elssorban a feleslegesen tbbszrs adattrolsrl szl. Rejtetten rafinlt
redundancikrl van sz, amelyek kikszblse, a magasabb normlformk megkeresse mr
komoly nehzsgeket okozhat. Radsul szembe kell nznnk a trolsi s a kezelsi hatkonysg
rk dilemmjval is. A trolsi szempontbl kedvezbb alakra hozott tblink kezelse nehz-
kesebb vlhat.
A valdi tervezsi problmkat a 16. fejezetben kezdjk el feszegetni. Egyes kezelk nem
engedik meg a csoportok explicit meghatrozst. Emiatt a tervezk mr az elemzs szakaszban
sem figyelnek az sszetett tulajdonsgok, a csoportok implicit alkalmazsbl fakad igen ko-
moly problmkra. A fejezetben nemcsak ezeket a gondokat ecseteljk, hanem arra is rmuta-
tunk, hogy azok feloldsa csak szemantikai modellezssel, a jelensgek s sszefggseik alapos
tgondolsval lehetsges.
Nem csak a csoportok modellezsnek a hinya vezet oda, hogy a hagyomnyos normali-
zlsi eljrsok csdt mondottak. A szleskren, a mai modern tervezrendszerek ltal
alkalmazott normlforma-dekompozci s -szintzis mdszerei elmletileg hibsak. Ezrt a 17.
fejezetben olyan szemantikus normalizlsi eljrst fogunk bemutatni, amely kikszbli a mai
tervezsi mdszerek elvi s gyakorlati hinyossgait.
A mai tervezk legnagyobb hibja, hogy nem kellkppen minstik az adatbzisterv
tnyezit. Ezt azrt nem teszik, mert a kezel gymond gysem kpes az osztlyozs automatikus
validlsra. Hiba is rja le a tervez a modellben, hogy az A egyedtpus csaldfa jelleg, ami
azzal meg azzal jr, hogy..., ha az adatkezel nem ismeri az ilyen fajtj egyedet. Ez a felfogs-
md tves. Ha a rendszer nem rvnyesti automatikusan a korltokat, akkor neknk kell azt
megtennnk. De mikppen lennnk kpesek erre, ha az adatmodellben nem hatrozzuk meg az

155
adatbzisterv tnyezinek a specilis jellegt? Ezrt a 18. fejezetben az adatmodell specilis
szerkezeteire hvjuk fel a figyelmet.
A kvetkez, a 19. fejezet sszefoglal jelleg. A knyv msodik rsznek bevezet, 12.
fejezett mintegy kiegsztve a tipikus tervezsi hibkat sszegzi. Ez a szakasz arrl is szl, hogy
mikppen nem szabad s miknt clszer lni a tervezsi sablonokkal.
A nagyon rvid 20. fejezet egy tervezsi minipldt mutat be. Ezzel kt clunk van. Egyrszt
ismertetni akarjuk az elemzs mindenkor szksges, elemi lpseit. Msrszt az adatmodell
helyes dokumentlsnak a mdjt szeretnnk felvzolni.
A knyv a 21. fejezet mretben kicsi, de ahhoz kpest meglehetsen kompliklt modellezsi
esettanulmnyval zrul.
Most beszljnk mg egy keveset arrl, hogy mit nem rul el ez a knyv? Kt dolgot. Az
adatmodellezsnek vannak szemlyes apr, nehezen tadhat titkai. Nagyon kompliklt lenne azt
elmondani, hogy a szerz mikppen kvetkeztet egyes alkalmazand megoldsokra vagy ppen
kerlend hibkra. Egy brban miknt fedezi fel a generalizci vagy ppen a specializci
szksgessgt. Egy lersbl mikppen kvetkeztet az egyed-, tulajdonsg- s kapcsolattpusok-
ra. St, hogyan ltja meg ezeket az sszefggseket egyetlen kdolt csoportos adatban is. Egy
bizonylat struktrja alapjn miknt sejlik fel a szmra a vonatkoz modellrszlet. Az orvosi
diagnosztikt lehet ltalban tantani; viszont a sajtos megrzsek, amelyek alapjn egy doktor
j diagnoszta lesz, nem adhatk t.
Vannak olyan nehz-fajsly titkok is, amelyekkel az r nem akarja terhelni az olvast - s
segteni a konkurencit. Az automatikus adatbzistervez eszkzk bels lelkivilgrl s alkal-
mazsrl van sz. Br maguknak az ilyen segdleteknek a tervezsrl rengeteget tudnnk
meslni, ezek a titkok nem igazn szolglnnak az olvas dvre. Alkalmazsuk rszleteirl
pedig lehetetlen s felesleges beszlni, ha nem ruljuk el a szoftver lnyegt. E megjegyzseket
pedig nem bosszantsnak, hanem tjkoztatsnak szntuk. Az adatmodellezsnek vannak a
profik ltal el nem ruland titkai is.
A j adatbzistervez szmtgpes szoftversegdlet nagy kincset r. De nem abban rejlik az
adatmodellezs legfbb titka. Hanem a szemlletben. Nemrgiben alkalmunk volt rszt venni egy
mutogats, nigazols tancskozson. A felhasznl a fejlesztre mutogatott, az pedig vissza.
Kzs nigazolsi vgyuk oda vezetett, hogy a fejleszts harmadik rsztvevje, a vezet is mente-
getdzni kezdett. Nem errl a - sajnos - szoksos krkprl akartunk itt szlni.
A felhasznl az adatbzis hibirt az informatikusokat vdolta. Az informatikusok
vdekeztek, a vezet pedig egyenslyozni hajtott a felhasznlk s az informatikusok kztt.
Nos, itt van az alapvet baj! A hrom rsztvev partinak - felhasznl, fejleszt s vezet -
fogalma sem volt arrl, hogy mi is az az informatika. Azt kvetkezetesen sszetvesztettk a
szmtstechnikval, a szmtgpes adatbzisokkal.
Az informatika az ismeretek tudomnya. Ma mr elvlaszthatatlanul kapcsoldik a szm-
tstechnikhoz, de nem azonos azzal. Adatbzisaink legfkppen attl rosszak, hogy szmts-
technikai - s nem informatikai - szemlletben kszlnek. Az ismeret szmtgpen kvli s
belli lett egymstl mestersgesen elvlasztjk. Pedig az ismeret egy, akr szmtgpen, akr
azon kvl kezeljk. Ezrt a j adatbzistervezs egyik legfbb titka az ismeret ketts letnek a
felismerse s sszehangolsa. Annak elismerse, hogy j adatbzis csak a felhasznl, a fejleszt
s a vezet korrekt egyttmkdsvel tervezhet.

156
12. AZ ADATMODELLEK HIBI

12.1 Az adatbzis hibinak a forrsai

A krds nem gy hangzik, hogy mirt nem nyernk megfelel ismereteket adatbzisainkbl.
Ha ez lenne a felvets, akkor ki kellene trnnk az adatbziskezels momentumaira is. Hiszen a
nem megfelel kezel vagy a j kezelrendszer gyetlen hasznlata is okozhatja azt, hogy
ismerethsgnk nem csillapodik. Azonban ebben a knyvben nem kvnunk a konkrt adat-
kezelssel foglalkozni. Ezrt kimondottan csak arra vagyunk kvncsiak, hogy mi okozhatja az
adatbzis ltal nyjtott szolgltatsok hinyossgait akkor, ha kezelstechnikai problmkat nem
feltteleznk.
Az adatbzis mindig ketts rendszer. A konkrt ismeretek alkotjk az alkalmazsi adat-
bzist, amely egyedelfordulsok, tulajdonsgrtkek s kapcsolat-elfordulsok szervezett
egyttese. Az alkalmazsi adatbzis az adatmodell szerint elrendezett, amely viszont egyed-,
tulajdonsg- s kapcsolattpusok szervezett egyttese.
E kettssgbl kvetkezik, hogy az adatbzis kt ok miatt lehet hibs. Elfordulhat, hogy az
adatmodell j, de a konkrt adatbzis rossz a helytelen adatbevitel, -mdosts s egyb mveletek
kvetkeztben. Most nem az adatkezels mikntjrl beszlnk, hanem egyszeren csak arrl,
hogy az X adat helyett az Y ismeretet viszik be. Az adatbzis attl is lehet inkorrekt, hogy
tvesen hatroztk meg ltalnos szerkezett, az adatmodellt.
A kt hiba nem azonos sly. Az adattveszts egyszeres, nem hat ki a teljes adatbzisra.
Ezzel szemben a rossz adatszerkezet szksgszeren maga utn vonja azt, hogy a hibk tovbb-
terjedjenek az egsz adatbzisban, vagyis a hiba megtbbszrzdjn. Nem szabad arrl sem
elfeledkezni, hogy az adatmodell nemcsak a struktrt, hanem a korltokat is felleli. A hibs
adatbevitel egyik leggyakoribb oka az, hogy ezeket a megktseket vagy nem hatrozzk meg
elgg pontosan az adatbzis tervben, vagy elfelejtik rvnyesteni azokat a programokban.
Amint ltjuk az adatbzis alapveten attl lehet rossz, hogy rosszul alaktjk ki annak
ltalnos kpt, mintjt, az adatmodellt.

Ennek a fejezetnek az a clja, hogy bemutassa az adatmodell ltalnos, tipikus hibit,


rvilgtson e bajoknak a tervezsi szemlletben rejtz okaira s ezek tkrben sszegezze az
adatmodellezs cljait.

Mieltt a lnyegi mondanivalba vgnnk, sszefoglaljuk az adatmodell leglnyegesebb


tnyezit. Az ismtl ttekints utn ismertetni fogjuk brink s pldink formai konvenciit,
vagyis a tovbbiakban alkalmazott egyezmnyes jellseket.
A hibk rszletezse s kvetkezmnyeik feltrsa adja a fejezet lnyegi mondanivaljt.
Csak rviden trnk ki a problmk egyltaln nem elhanyagolhat szemlleti htterre. A
fejezet az adatmodellezs tbbszrs cljnak a megvilgtsval zrul.

157
12.2 Az adatmodell lnyege

Az adatmodell a ltrehozand alkalmazsi adatbzis fogalmi szint szerkezeti tkrkpe. A


modell vges szm egyedtpusnak, valamint azok egyenknt is vges szm tulajdonsg- s
kapcsolattpusnak a szervezett egyttese (ld. D 3.9). Az egyedtpusok a bennnket rdekl
jelensgeknek, a tulajdonsgtpusok e jelensgek sajtossgainak, a kapcsolattpusok pedig azok
viszonyainak az absztrakt fogalmi tkrkpei.
Pldul: A TULAJDONOS s a KOCSI egy-egy egyedtpus; a konkrt tulajdonosok illetve
kocsik (egyedelfordulsok) ismereti absztrakcii. A Tulajdonoskd, Tulajdonosnv, Rendszm
s Kocsitpus olyan tulajdonsgtpusok, amelyek a konkrt tulajdonoskdok, - nevek stb. (tulaj-
donsgrtkek) absztrakt osztlyai. Vgl a kocsik a tulajdonosok birtokban vannak, s ezeket a
konkrt viszonyokat (kapcsolatelfordulsokat) a TULAJDONOS - KOCSI kapcsolattpussal
tudjuk egyttesen s absztrakt mdon kifejezni.
Az adatmodell hrom tnyezje meghatrozott logikai rend szerint fgg ssze egymssal. A
tulajdonsgtpusokat ltalnosan is szemllhetjk, s ekkor rtktartomnyoknak (domjn)
nevezzk ket. Pldul ilyen rtktartomny a Dtum. A tulajdonsgokat az egyedekhez
kapcsoljuk (attribtum), s ezzel kialaktjuk az egyed tulajdonsgsort. Ezt gyakran gy tesszk,
hogy az egyedhez rendelt tulajdonsgot szerepnvvel ltjuk el. Pldul: amikor a RENDELS
egyedhez ktjk a Dtum ltalnos tulajdonsgot, akkor annak a Rendelsdtum nevet adjuk.
Az egyed tulajdonsgsort mskppen az egyed bels szerkezetnek is nevezzk. Azrt lehet
sz szerkezetrl, mert a tulajdonsgok az egyeden bell klnbz feladatokat ltnak el. A tulaj-
donsgnak az egyeden belli funkcijt relatv, a modell egszt tekintve legfontosabb feladatt
pedig abszolt szerepnek hvjuk. Pldul a Tulajdonoskd relatv szerepe a KOCSI egyedben
ler, a TULAJDONOS egyedben azonost, s ezrt abszolt szerepe is az utbbi.
Az egyedek kapcsolatokat ltestenek egymssal. Az egyed kapcsolatainak az egyttest az
egyed kls szerkezetnek nevezzk. Megklnbztetnk inhomogn s homogn (ms nven
visszamutat) kapcsolatokat. Mindkt fajta sszefggs tulajdonsgon alapul. Kt egyedtpus
homogn kapcsolatban ll, ha az egyik tartalmazza a msik azonostjt vagy annak szerepnevt.
Pldul a TULAJDONOS s a KOCSI azrt kapcsoldik, mert az utbbi lerknt tartalmazza a
Tulajdonoskd tulajdonsgot, amely az elbbi azonostja. Az egyedtpus homogn viszonyt
ltest nmagval, ha szerepnvknt tartalmazza sajt azonostjt. Plda: a SZEMLY egyeden
meghatrozhat a FNK - SZEMLY kapcsolat akkor, ha a Fnkkd ler tulajdonsg a
Trzsszm azonost szerepneve.
A kapcsolattpusokat alapveten hrom szempont szerint osztlyozzuk. A kapcsolat foka
mondja meg, hogy az egyik egyedtpus adott elfordulshoz tartozhat-e a msik egyedtpusnak
tbb elfordulsa vagy sem. Pldul a TULAJDONOS - KOCSI foka 1:N, ha minden kocsi csak
egy (1) tulajdonos birtokban lehet, de a tulajdonosnak lehet tbb (N) kocsija is. Az opcionalits
azt mutatja, hogy az egyedelfordulsok hozzrendelse ktelez-e. Pldul minden kocsinak
kell, hogy legyen tulajdonosa (ktelez), de nyilvntarthatunk olyan tulajdonost is, akinek nem
ismerjk az aktulis kocsijt (opcionlis). Vgl a kapcsolat termszete birtoklsi vagy is-egy
lehet. A TULAJDONOS - KOCSI kapcsolat birtoklsi viszony, mert a tulajdonosoknak van
kocsijuk. Viszont abban az esetben, ha a VEV egyedtpus a PARTNER egyed altpusa, akkor a
PARTNER - VEV viszony is-egy termszet, mert a vev is egy partner.
Az adatmodellnek kt aspektusa van. A fentiekben az adatmodell szerkezeti nzpontjrl volt sz.
Azonban az adatmodell tnyezire s azok viszonyaira vonatkozhatnak olyan megktsek is, amelyek
nem kvetkeznek magbl a szerkezetbl. Ezek a felttelek jelentik az adatmodell korlt aspektust. A
korltoknak szmos vlfajuk van. Itt csak egy pldt emltnk: az adattpust. A Tulajdonoskd
tulajdonsgrl el kell dnteni, hogy az karakteres vagy numerikus tpus adat legyen-e.

158
12.3 brzolsi konvenciink

A modell szerkezett adatmodell-diagrammal szemlltetjk. Ebben dobozok jellik az


egyedtpusokat gy, hogy a dobozban - az egyedtpus nevn tlmenen - megadjuk az egyed
legfontosabb tulajdonsgtpusainak a megnevezst is. A dobozok kztti vonalak reprezentljk
a kapcsolattpusokat. A vonal varjlbas vge N-es, sima vge 1-es kapcsolatot mutat (v. fok).
A folytonos vonal ktelez, a szaggatott opcionlis kapcsolati oldalt jelez. Diagram-konvenciin-
kat az 5.7 bra ismertette, amit itt megismtelnk:

Tpuskd

KOCSITPUS

KOCSITPUS - KOCSI

Rendszm

KOCSI

Tpuskd
12.1 bra: Az adatmodell-diagram alapvet konvencii

Lesznek esetek, amikor nem diagrammal, hanem szerkezeti lerssal szemlltetjk majd
mondanivalnkat. Az ilyen smkban (ld. 12.1 plda) nagybet jelli az egyedtpust. A kapcso-
latokban a kt egyedtpus nevt ktjellel vlasztjuk el egymstl gy, hogy ell szerepel a fl-
rendelt egyed neve. A nevet kveti a fok s az opcionalits (O = opcionlis, K = ktelez). Az
egyed bels szerkezett zrjelen bell mutatjuk. Az azonost vastag s dlt szedet. Ha tbb
tagbl ll, akkor a tnyezket plusz jel kti ssze. A kapcsol tulajdonsg dltbets. Ha az egyed-
ben ms, a mondanivalnk szempontjbl lnyegtelen tulajdonsg is szerepel, gy azt a ... jel
mutatja. gy a 12.1 plda pontosan ugyanazt az adatmodellrszletet rja le, mint a 12.1 bra.

12.1 plda

KOCSITPUS (Tpuskd, ...)


KOCSI (Rendszm, ..., Tpuskd)

KOCSITPUS - KOCSI 1:N, K-K

159
A j tervez az adatmodell egyedeit mintval is reprezentlja, azaz felsorol nhny tipikus s
kivteles egyedelfordulst. Ezzel segti az ttekintst. Meglehet, hogy a plda ltal olyan hibra
bukkanunk, amit nem fedezhetnk fel az ltalnos szerkezet alapjn.
Az ilyen mintk bri tblzatok. Amint tudjuk, a tblknak van tartalmi (extenzionlis) s
terjedelmi (intenzionlis) vetlete. Az elbbit a tulajdonsgtpusok alkotjk, amelyek vertiklisan
egyms mellett jelennek meg a vastag vonal fltt. Az utbbiak az egyedelfordulsokat jelentik,
amelyek horizontlisan egyms alatt tallhatk a vastag vonal alatt. Ha a tbla als szle egyenes,
akkor felsoroltunk minden egyed-elfordulst. Ha trdelt, akkor azt mutatja, hogy vannak
szmunkra rdektelen tovbbi ttelek is a tblban. A 12.2 bra mutat egy ilyen mintt.

KOCSITPUS
Tpuskd ... Frhely
Lada 5 szemly
Polski 4 szemly

12.2 bra: Az adatmodell-minta egyezmnyes jellsei

Az adatmodellben a tulajdonsgok rtktartomnyt is illenk megadni. Ezrt a fenti plda s


a kt bra valjban nem teljes. Pldinkban s brinkban a helytakarkossg miatt csak akkor
tntetjk fel a domjneket, ha szerepnevek alkalmazsra kerl sor. Vagyis ha az ltalnos
(domjn) s az egyedhez kttt (attribtum) tulajdonsg neve eltr egymstl. Egybknt nem
mutatjuk az brn az rtktartomnyokat: azokat oda kell kpzelni.

12.4 Tipikus adatmodellezsi hibk

Az adatmodellezs s a modellelemzs valjban szinonim fogalmak. Nem tekinthetjk


adatmodellnek azt az adatbzistervet, amely csak a formai kritriumoknak felel meg. Ugyanis
semmi akadlya sincs annak, hogy az egyed-, tulajdonsg- s kapcsolattpus hrmast pusztn
formailag alkalmazva hasznlhatatlan vagy nagyon rossz adatbzistervet ksztsnk. Az adat-
modellezs a pontosan meghatrozhat tartalmi kvetelmnyek szerinti optimlis tervnek a
kialaktst jelenti.
A kritriumok ttekintshez az szksges, hogy megrtsk az adatbzistervben fellp hibk
termszett. Az albbiakban egy pldn keresztl fogjuk bemutatni azt, hogy valban lehet
formailag megfelel, de tartalmilag igen rossz modellt kszteni. A plda rvilgt az ltalnos
adatmodellezsi problmkra s ezzel kzvetve az alapvet kritriumokat is felvzolja. Lsd a
12.3 brt.

160
TULAJDONOS
Trzsszm Tpus Tulajdonosnv Foglalkozs Telephely Felgyelet
134567 Maszek Kovcs Rzsa Keramikus 11 Budapest -
134568 Kft AB Kft - Szeged -
136567 Maszek Kovcs Rzsa Mrnk 32 Pcs -
144567 Vllalat XY vllalat - Budapest Z

KOCSI
Rendszm Tpus Tulajdonosnv Foglalkozs Telephely Fhatsg Frhely
ABC 134 Lada Kovcs Rzsa Keramikus K Budapest - 5 f
BCD 265 BMW AB Kft - Szeged - 5 f
DEF 896 Polski Kovcs Rzsa Mrnk M Pcs - 4 f
FGH 333 Lada XY vllalat - Budapest Z 5 f

KR
Krszm Dtum Tpus Tulajkd Krsszeg
23456 05.14 Lada 134567 X
23456 05.14 BMW 134568 Y
23656 06.06 Polski 136567 Z
24456 06.31 Lada 134567 Q

12.3 bra: Beteg l minta-adatbzisunk rszlete

12.4.1 Nylt logikai tfeds

A 12.3 bra mindhrom egyedt jellemzi a Tpus nev tulajdonsg. Mgpedig olyan mdon,
hogy egyik egyedben sem azonost szerep. A KOCSI s a KR egyedekben a Tpus rtelme
azonos: a kocsi fajtjt jelenti.

D 12/1 Ha egy tulajdonsgtpus tbb egyedtpushoz is azonos tartalommal ktdik gy,


hogy egyikben sem azonost szerep, akkor nylt logikai tfedsrl beszlnk.

A meghatrozs alapjn a Tpus tulajdonsg nylt logikai tfedsben van a KOCSI s a KR


egyed vonatkozsban. A nylt jelzre a kvetkez alpontok adnak majd magyarzatot. Mivel a
Tpus tartalma a TULAJDONOS s a KOCSI egyedben nem azonos rtelm, ez a kt egyed nincs
ilyen tfedsben, mert nem teljesl a meghatrozs els felttele (azonos tartalom). Errl a
jelensgrl akkor sem beszlhetnnk, ha lenne egy KOCSITPUS egyednk a Tpus azonostval,
mert akkor nem teljeslne a meghatrozs msodik kittele (egyikben sem azonost).
Megjegyzs: Az azonos tartalom kittelt csak didaktikai szempontbl hangslyoztuk.
Egybknt felttelezzk, hogy az azonos nev tulajdonsgtpus mindig azonos tartalm. A kvet-

161
kez alpontban mutatunk r, hogy - sajnos - ez a teljesen normlis felttelezs nem mindig
rvnyesl a gyakorlatban.
Az ilyen tfeds - kzismert idegen szval: redundancia - tbb nehzsget okoz. Mivel fizikai
redundancival (ld. 12.4.6) jr, feleslegesen fogyasztja a trolt. Tbbszrsen kell az adatot
bevinni s kezelni. Az tfed adatok karbantartst egyidejleg, tbbszrsen kell vgrehajtani.
Ha a klnbz egyedtpusokban nem egyszerre trtnik meg az aktualizls, akkor az adatbzis
bels ellentmondst fog tartalmazni. Vagyis - idegen szval - inkonzisztenss vlik. Ha valaki
nem a frissebb egyedbl krdezi le az ismeretet, hamis informcihoz jut.
Persze a kocsi Tpus tulajdonsgnak az rtke nem vltozik, ezrt annak esetben mindezek
a gondok nem mutatkoznak annyira pregnnsan. Viszont a Tulajdonosnv is nyltan tfed tulaj-
donsg. Ennek rtkeinek tbbszrs trolsa, bevitele, mdostsa mr aligha lenne kvnatos.
Ezrt leszgezhetjk az els modellezsi szablyt:

Sz1 Az adatmodellben kerlni kell a nylt logikai tfedseket.

Ez a szably nem szigor. Az ilyen redundancikat kerlni kell. Ez nem azt jelenti, hogy
minden ilyen jelensget ki kell kszblni. Hiszen elfordulhat, hogy tbb egyedben is szerepel
pldul a Mrtkegysg tulajdonsg, mgpedig teljesen azonos tartalommal. A szablyt ezrt kt
kittellel finomtjuk.
Elszr: Azonost szerep tulajdonsg sohasem lehet nyltan tfed. Azaz kt egyedtpusnak
nem lehet ugyanaz az azonost tulajdonsga. Nem lehet pldul kt Szmlaszm nev
azonostnk. Msodszor: A ler szerep tulajdonsgok nylt logikai tfedse nem kizrt, de
nagyon gyelni kell arra, hogy valban nylt tfedsrl van-e sz, nehogy a kvetkez alpontban
lert problmba tkzznk.

12.4.2 Ltszlagos logikai tfeds

A Tpus tulajdonsg mindhrom egyedben ugyanezzel a nvvel szerepel. A KOCSI s a KR


egyedekben a kocsi fajtjt, a TULAJDONOS egyedben viszont a birtokos termszetes vagy jogi
szemly jellegt (az utbbin bell is a konkrt cgformt) jelli.

D 12/2 Ha egy tulajdonsgtpus azonos nvvel, de eltr tartalommal ktdik tbb egyed-
tpushoz, akkor ltszlagos logikai tfedsrl beszlnk.

Itt nyilvn az n. homonimkrl van sz. Ha kt dolognak azonos a neve, de eltr a


lnyege, akkor az ismeret nem kezelhet egyrtelmen a nv alapjn. Ezt jl mutatja a kvetkez
mondat: Ksztsen kimutatst a kocsikrl s tulajdonosaikrl tpus szerint!. Lehet ezen igny
alapjn tudni, hogy mi lesz a jelents tartalma? Kocsitpus vagy tulajdonostpus szerint kszl-e a
kimenet?
A homonimk tbb bajt okozhatnak. Egyrszt az elemz a formai azonossg - kzs nv -
alapjn sszetvesztheti a helyzetet a nylt logikai tfedssel. (Ezrt adtuk a jelensgnek a
ltszlagos tfeds jelzt.) Ebben az egyedben is szerepel egy Mennyisg nev tulajdonsg,
meg abban is. Nosza, szntessk meg valamelyiket, mert a redundancia nem j dolog! Ekkor, ha
a kt mennyisg tartalma lnyegben nem azonos, a tervez ismeretet veszt.
Itt egy kitrt kell tennnk. A tervezk tbbsge gy gondolja magrl, hogy el tudja
kerlni az ilyen tves dntseket. Nos hisznk neki, amennyiben az adatbzis szerkezete
egyszer. m egy bonyolult struktra esetben az ember kptelen tltni a tnyezk valamennyi
kapcsoldst. A tapasztalatok szerint a 40-50 egyed- s/vagy 4-500 tulajdonsgtpus mrethatrt
tllpve az emberi tvedsnek igen nagy a valsznsge. Ezrt a problmkra vonatkoz

162
megllaptsainkat nem pusztn a kis, direkt tlthatv tett szemlltet pldink vonatkozsban
kell mrlegelni.
A homonima klnsen veszlyes, ha valamelyik egyedben azonostknt is fellp. Tegyk
fel, hogy a Rendelsszm tulajdonsg tbb egyedben ler, egyben pedig azonost. Ezrt a terve-
z rmmel fedezi fel az egyedek kztti kapcsolatokat. Csakhogy pr egyedben a Rendelsszm
a szllti megrendels szma, mg az azonostott egyedben a vevi rendels szmt jelenti. Ezrt
az az ilyen sszekapcsols teljesen tves ismeretekre vezet.
Vgl gondolnunk kell arra is, hogy magnak a modellezsnek az egyik rszlpse, technik-
ja a normalizls. Ennek trgyalsnl ki fogjuk mutatni, hogy a normalizls felttelezi a nevek
teljes egyrtelmsgt. Az adatmodell nem normalizlhat, ha homonim neveket tartalmaz. Ezrt
megfogalmazhatjuk a msodik modellezsi szablyt:

Sz2 Az adatmodellbl ki kell kszblni a homonimkat.

Ez igen szigor megkts. Az adatmodellben egyltaln nem lehet homonima. Mivel a nylt
s a ltszlagos logikai tfeds knnyen sszetveszthet, az adatbzis szellemi risa E. F. Codd
r azt javasolja [16], hogy kt tnyeznek sohase adjunk azonos nevet a modellben. Noha ezzel a
nagyon szigor megktssel nem rtnk teljesen egyet, mgis fontosnak tartottuk megemlteni.
Azrt, mert Codd r kittele jl mutatja, hogy mennyire komolyan kell venni az esetleges
ltszlagos tfedseket.

12.4.3 Rejtett logikai tfeds

A plda szerkezete alapjn az olvas sohasem tallta volna ki, hogy a TULAJDONOS egyed
Trzsszm nev tulajdonsga s a KR egyed Tulajkd attribtuma valjban ugyanazt jelenti.
Pedig a mintk - a konkrt rtkek - egyrtelmen ezt mutatjk.

D 12/3 Ha egy tulajdonsgtpus eltr nvvel, de azonos tartalommal ktdik tbb egyed-
tpushoz, akkor rejtett logikai tfedsrl beszlnk.

Itt nyilvn az n. szinonimkrl van sz. Ha kt dolognak eltr a neve, de azonos a lnyege,
akkor az ismeret nem kezelhet egyrtelmen a nv alapjn. A kvetkez mondat ktsgeket
breszt az emberben: Ksztsen kimutatst a krokrl a tulajdonosok trzsszm sorrendjben!
De hiszen nincs is a KR egyedben Trzsszm nev adat!
A szinonimk sok gondot okozhatnak. A formai eltrsg - ms nv - miatt a tervez nem
veszi szre pldul azt sem, hogy a Fhatsg s a Felgyelet azonos tartalm tulajdonsgok.
Nem fedezheti fel a redundancit, mert hiszen az nem nylt, hanem rejtett. Ezrt nem sznteti
meg a kt tulajdonsg egyikt, s gy fellp a nylt redundancia valamennyi problmja (ld. 12.4.1
alpont).
Msrszt a szinonima klnsen veszlyes, ha valamelyik egyedben azonostknt szerepel.
A tervez az eltr nv miatt esetleg nem veszi szre azt, hogy a TULAJDONOS s a KR egyed
egymshoz kapcsoldik a kzs tartalm Trzsszm s Tulajkd ttelen. Majd a normalizlsnl
r fogunk mutatni, hogy az egyrtelmsgnek ez a hinya mennyire akadlyozza az elemzst.
Ezrt kzreadhatjuk a harmadik szablyt:

Sz3 Az adatmodell elsdleges vltozatbl ki kell kszblni a szinonimkat.

Itt meg kell magyarznunk az elsdleges vltozat kittelt. Szemben a homonimkkal, a


szinonimk tern a modellezs engedkenyebb. Az adatmodell semmilyen homonimt sem

163
tartalmazhat. Ezzel szemben ugyanazt a modelltnyezt klnbz nevekkel is illethetjk, ha
betartjuk a szinonimkra vonatkoz kiegszt szablyokat. A tulajdonsgnak lehet Mennyisgi-
egysg is s Mrtkegysg is a neve, ha valamelyikrl kijelentjk, hogy az az elsdleges nv, a
msikrl pedig tudatosan kzljk, hogy az elbbi szinonimja. Az elemzst a csakis elsdleges
neveket tartalmaz - teht egyrtelm - modellvltozaton kell elvgeznnk.
Mire j akkor a szinonim nv? A klnbz megnevezsek a felhasznl knyelmt
szolgljk. Ha az egyik felhasznl A-nak, a msik pedig B-nek nevezi az X tnyezt,
akkor mirt ne lssk gy, hogy a modell A-t illetve B-t tartalmaz? Ekzben a tervez tudja,
hogy valjban a modellben csakis X van. Viszont a szinonim megnevezsek hasznlatnl be
kell tartani egy tovbbi fontos szablyt is: ugyanaz a nv nem lehet tbb msiknak a szinonimja.
E korlt jogossgt egy htkznapi pldval igazoljuk. A Gabi a Gbor s a Gabriella
szinonimja. Ezrt a Gabi hivatkozs kapcsn nem tudjuk, hogy firl vagy lnyrl van-e sz.
Mg vilgosabban: ha egy nv kt msiknak a szinonimja, akkor valjban homonima s azt
mr leszgeztk, hogy a modellben homonima nem engedhet meg.

12.4.4 Jelsor-ellentmondsok

Ebben az alpontban nem egy teljesen j hibafajtrl lesz sz. Inkbb csak arrl, hogy a
tervezk a homonima/szinonima krdst nem rzkelik a maga teljes komolysgban s
hajlamosak azt knnyedn venni. Nhny tipikus rszhibra kell felhvnunk a figyelmet.
Az egyik problma a homonima feltrsval fgg ssze. Pldnkban a Foglalkozs tulaj-
donsg neve s elvi rtelme azonos a KOCSI s a TULAJDONOS egyedekben: a kocsi maszek
tulajdonosnak a szakmjt, hivatst jelli. Pldul azrt, hogy a msknt adz taxisofrt
megklnbztesse az rvezettl. Ha valaki figyelmesen nzte a 12.3 brt, akkor szrevehette,
hogy a konkrt rtkek a kt egyedben eltrek. Azok tervezje ms-ms osztlyozsi kdot
alkalmazott. Teht az elvi azonossg ellenre a kt tulajdonsg klnbzik s valjban technikai
homonima. Azrt csak technikai, mert a szndk kzs volt; a megvalsts ttt ki balul.
A Foglalkozs nev tulajdonsg a TULAJDONOS s a KOCSI egyedben technikai homoni-
ma, mert br a nv s az elvi tartalom azonos, ms az rtkkszlet. Viszont a Tpus tulajdonsg
ugyanebben a kt egyedben vals homonima, mert ms az rdemi tartalom is.
Most pedig trjnk t a msik problmra, amelyre nzve nem tartalmaz kln tnyezt a
beteg-l mintaplda.
A tervezk bevett rossz szoksa, hogy a tulajdonsgok nevt valamilyen egyni mdon min-
stik. Nagyon sokszor a tulajdonsg ltal jellemzett egyedtpus nevnek a rvidtst hasznljk
erre a clra. Pldul a Tulajdonosnv tartalmat a KOCSI egyedben a K_Tulajnev, a TULAJ-
DONOS egyedben a T_Tulajnev megnevezssel illetik. Ez tbbszrsen is csacska megolds.
Elszr: A tervez az egyedtpus nevnek a kezdbetjt akarja alkalmazni minstknt.
Azonban nem lehet kvetkezetes, mert hiszen tbb egyedtpusnak is lehet ugyanaz a kezdbetje
(KOCSI, KR). Ezrt a sajt konvencijt is fel kell rgnia. Nem jellheti ugyanis ugyanaz a
K_Tipus a KOCSI s a KR Tpus tulajdonsgt. Egy id utn pedig senki sem fogja tudni, hogy
mit is jelent az R_Tipus (a KR egyed Tpus tulajdonsga).
Msodszor: Sajt jellse alapjn a tervez azt fogja felttelezni, hogy a minst utni nv
azonos lnyeget takar. Ami risi tveds, hiszen a K_Tipus s a T_Tipus a KR s a TULAJ-
DONOS egyedben teljesen mst jelent. Teht konvencija ismt csak nem vlik be.
Harmadszor: Nincs az az automata rendszer, amely felfedezn, hogy a K_Tulajnev s a
T_Tulajnev azonos lnyegek. Ezrt az automatval tudatni kell, hogy ezek a nevek valjban
technikai szinonimk.

164
Technikai szinonimrl akkor beszlnk, ha kt tnyez tartalma s rtkkszlete teljesen
azonos, nevk is hasonlt, csak ppen azok rsmdjban van apr eltrs. A technikai szino-
nima pontosan ugyangy viselkedik - ugyanazokat a gondokat okozza -, mint a valdi szinonima
(v. Felgyelet s Fhatsg). A technikai szinonima jelensge igen gyakori s sokszor csak a
slampossgbl ered. Nem emlkezve sajt terveinkre ma Kocsi-tipus, holnap Kocsitipus, majd
Gpkocsi-tipusa nevet adunk egyazon lnyegnek.
A konkrt adatrtkek s az adatnevek eltr rsmdjbl szmos problma fakad. Ezrt
meg kell fogalmaznunk az ltalnos modellezsi szablyt:

Sz4 Az adatmodell technikai homonimkat s szinonimkat sem tartalmazhat.

E szably indoka vilgos. Csakis az ember tudja megklnbztetni a technikai s a vals


homonimkat/szinonimkat. A gp erre nem kpes.
Remljk, hogy az olvas nem felejtette el: mi a fogalmi adatmodellezsrl beszlnk. Az
adatkezelk semmilyen mdon sem zrjk ki az akr vals, akr technikai eredet egyrtelmsgi
zavarokat. Ezrt a most nem trgyalt logikai tervezsi szinten - vatos megfontolsok utn -
alkalmazhatunk technikai szinonimkat (homonimkat semmikppen sem), de nem javasoljuk az
egyrtelm fogalmi modell ilyen lerontst.
Ide kapcsoldik kvetkez megjegyzsnk is. A fentiekben nem helyesrsi hibkat kvettnk
el, amikor a Tulajnev, Tipus megnevezseket alkalmaztuk. A logikai tervezs szintjn a fejlesztk
figyelnek az adatkezel ltal a nvben megengedett karakterekre s a nv hosszra. Ezrt nem-
kezethelyes s rvid neveket fognak alkalmazni, ami ismt technikai homonimkhoz s szino-
nimkhoz vezet. Sok mindennek van tpusa s a tulaj rvidts llhat a tulajdonos s a
tulajdonsg helyett is. Ilyen knyszerek nem hatroljk be a fogalmi modellezst. Ezrt fogalmi
szinten mindig termszetes s teljes megjellseket (Tulajdonosnv, Tpus) illik hasznlni.
A vals s technikai homonimk illetve szinonimk elkerlsre lebegjen szemnk eltt a
kvetkez modellezsi szably:

Sz5 Kt modellezsi tnyez akkor s csak akkor azonos, ha elvi rtelmk, megnevezsk
s elforduls/rtk-halmazuk szzszzalkosan megegyezik.

12.4.5 A logikai tfeds hinya

A 12.3 bra alapjn senki sem tudja megllaptani, hogy egy kresemnyben melyik konkrt
kocsik vettek rszt. Legfeljebb csak azt lehet megmondani, hogy ki volt a tulajdonos. A pldaterv
egyedei nem kapcsolhatk, idegen szval inkonnektvek.

D 12/4 Ha az adatmodell kt elvileg sszefgg egyedtpusa nem kapcsolhat, mert nincs


kzs kapcsol tulajdonsgtpusuk, akkor a logikai tfeds hinyrl beszlnk.

A TULAJDONOS s a KOCSI, a KR s a KOCSI elvileg sszefgg. Mgsem tudjuk egyed-


elfordulsaikat sszekapcsolni. A Kovcs Rzsa (tulajdonosnv) alapjn nem derthetjk ki,
hogy ki az ABC 134 rendszm kocsi birtokosa, mert tbb ilyen nev tulajdonos is szerepel az
adatbzisban. Sohasem fogjuk megtudni, hogy a 23456 krszm kresemnyben melyik
konkrt kocsik vettek rszt.
Adatbzisainkbl sokszor a kapcsolati hiny miatt nem tudjuk elkeresni a megfelel
ismereteket, noha maguk az alapadatok - mint pldnkban is - elvileg rendelkezsre llnak. Itt a
modellezs egyik legkellemetlenebb problmjval kell szembenznnk. Azzal, hogy sokkal
knnyebben szlelhetk az adatmodell felesleges - redundns - tnyezi, mint az abbl hinyz

165
ttelek. Pedig be kellene tartanunk a kvetkez alapvet szablyt. Persze ahhoz azt kellene
tudnunk, hogy kt egyedtpus elvileg mikor ll kapcsolatban.

Sz6 Az adatmodellben nem engedhet meg a kapcsolati hinyossg.

12.4.6 Fizikai tfeds

Az adatbzis tblzatokbl ll. A tblzatoknak vannak oszlopai s sorai. A bevett konven-


cik szerint a tbla fggleges dimenzijban helyezkednek el a tulajdonsgtpusok (mert
tbbnyire azok vannak kevesebben), vzszintes dimenzijban pedig az egyedelfordulsok. A
tulajdonsgok jelentik a tbla elvi tartalmt (intenzi), az egyedelfordulsok pedig a kiterjedst
(extenzi).
Mindeddig elssorban az adatmodell intenzionlis aspektusrl volt sz. Azt vizsgltuk, hogy
az adatbzisban vannak-e vals vagy vlt ltalnos tartalmi tfedsek. Az ltalnos tartalom
miatt illettk az ilyen redundancikat a logikai jelzvel. Azonban az adatbzisnak van konkrt
tartalma is, amely az extenzionlis dimenziban - az adatbzis soraiban - fejezdik ki. Egyetlen
problma erejig mr erre is kitrtnk, amikor az azonos nv s elvi jelents mgtt klnbz
rtkekre bukkantunk (ld. a 12.4.4 alpont els tmjt). Rmutattunk arra, hogy az adatmodellt
pldkkal kell szemlltetni, amelyek felhvhatjk a figyelmet a konkrt tartalmak ltal rejtett
ltalnos strukturlis gondokra.
Ebben az alpontban a konkrt tartalmi tfedsrl lesz sz, amit a fizikai jelzvel illetnk.
Mivel 12.3 brnk konkrt egyedsorokat is tartalmaz, rgtn szemet szrnak az azokon belli
ismtlsek. Ktszer rtuk le azt, hogy a Lada tpus gpkocsi t frhelyes. (Ha 100000 ilyen
tpus kocsira vezetnk ismereteket, akkor az tfeds mg pregnnsabb.)

D 12/5 Fizikai tfedsrl beszlnk akkor, ha az egyedtpusok elfordulsaiban azonos


tulajdonsgrtkek vagy -sorok jelennek meg egy - nem felttlenl explicit - tovbbi
tulajdonsgtpus rtktl fggen.

A fizikai tfeds lnyegt nem knny megrteni, mert bonyolult jelensgrl van sz. Az
azonos tulajdonsgrtk nem mindig jelent fizikai redundancit. Pldul tbb szemlynek is lehet
Kovcs Rzsa a neve. Ha viszont ez a nv megjelenik a KOCSI s a TULAJDONOS egyed-
tpusban is a Tulajdonosnv rtkeknt, akkor fizikai tfedsrl van sz bizonyos rtelemben, de
azt valjban a logikai redundancia (ld. 12.4.1 alpont) okozza.
Ezrt fizikai tfedsrl csak akkor beszlnk, ha egy egyedtpuson bell valamilyen elrendez
elv szerint ismtldnek az rtkek vagy rtk-rszsorok. (Teljes rtksorok nem lehetnek azono-
sak, mert azt az adatbzis-elmlet eleve kizrja.) Ha a KOCSI egyedtpusban expliciten nem
szerepelne a Tpus tulajdonsg, akkor persze nehezebb lenne feltrni a Lada - 5 f pros
ismtldst, de attl mg az 5 f redundancija ltezne.
A fizikai tfedsek ugyanazokat a trolsi, beviteli, karbantartsi stb. problmkat vonjk
maguk utn, amelyeket a logikai tfeds (ld. 12.4.1 alpont) sorn mr trgyaltunk. Ezrt a
fogalmi modell szintjn ezeket a jelensgeket ki kell kszblni. Teljesen ms krds az, hogy e
modell megalkotsa utn - vagyis a hatsok teljes tudatban - a logikai tervezs szintjn a fej-
leszt mgis fizikai tfedssel jr struktrt alkot. Nyilvn ms dolog az, ha tudunk a redundan-
cirl s akarjuk is azt (pldul a hatkonysg rdekben), mintha a kvetkezmnyek vletlenl
rnek bennnket a fogalmi modell nem kell tgondolsa miatt. Ezrt ki kell fejtennk a kvet-
kez szablyt:

Sz7 A fogalmi adatmodell nem impliklhat fizikai tfedst.

166
12.4.7 Kiegyenslyozatlansg

A gondolatmenet kedvrt egy kicsit t kell alaktanunk a 12.3 bra adatbzistervt. A KR


egyedet kiegsztjk a Rendszm tulajdonsggal. Ezzel rszben megoldjuk az inkonnektivitsi
problmt (ld. 12.4.5 alpont), hiszen most mr a KOCSI s a KR egyed egymshoz kapcsol-
hat. Csakhogy az gy kialaktott modell sem lesz tkletes. Mondanivalnkat a 12.4 bra
szemllteti. Az brn csak azokat a tnyezket tntettk fel, amelyek a most feltrni kvnt
problma megrtshez szksgesek.

KR
Krszm Dtum Tpus Tulajkd Rendszm
23456 05.14 Lada 134567 ABC 134
BMW 134568 BCD 265
23656 06.06 Polski 136567 DEF 896
24456 06.31 Lada 134567 ABC 134

12.4 bra: Mdostott KR egyedtpus

Az jonnan kialaktott modell adatkezelsi szempontbl egyenslytalan. Mivel a KR egyed-


nek a Krszm azonostja, a Rendszm pedig ler tulajdonsga, nagyon knnyen meg tudjuk
mondani azt, hogy mely kocsik voltak egy kresemny rszei. Csak a megfelel KR egyedel-
fordulsokat kell elrni az azonost alapjn. Ezzel szemben sokkal nehezebb annak meglla-
ptsa, hogy egy adott kocsi milyen krokat szenvedett. Ehhez vgig kell keresnnk a KR egyed
valamennyi elfordulst megnzve, hogy szerepel-e a krban az adott rendszm kocsi.

D 12/6 Egyenslytalan szerkezetrl beszlnk akkor, ha a modell az elvileg egyms mell


rendelt egyedtpusok kzl az egyik kezelst a msiknl jobban tmogatja.

Mi a problma gykere, elvi alapja? Pldnkban a krok s a kocsik M:N-es viszonyban -


azaz elvileg mellrendelt sszefggsben - llnak egymssal. Egy krban rszt vehet tbb kocsi is
(N) s egy kocsi tbb kresemny (M) ldozatv vlhat. Ha teht a kocsikat a krokhoz ktjk,
de ezt fordtva nem tesszk meg (mint a 12.4 bra megoldsban), akkor a kezels nyilvn
egyoldal lesz. Az egy krhoz azonnal kikereshet az N rsztvev kocsi, de az egy adott kocsihoz
nehezen talljuk meg az M darab krt.
A kiegyenslyozatlansg veszlye abban ll, hogy a mai adatkezelsi ignyeket preferljuk a
tvlatiakkal szemben. Ha ma a kr oldalrl kell kikeresni a kocsikat s a fordtott keress nem
fontos, akkor a 12.4 bra megoldst vlasztjuk. Viszont holnap a keressek mintja megvltozik.
Az lesz a fontosabb krds, hogy milyen krokat szenvedett egy kocsi. Ekkor nyilvn t fogjuk
szerkeszteni az adatmodellt.
Vagyis a kiegyenslyozatlan adatbzis szerkezete instabil. Ezrt a fogalmi modellezs
szintjn be kell tartani azt az egyszer szablyt, amely szerint

Sz8 Az adatmodellben nem lehetnek kiegyenslyozatlan rszszerkezetek.

Az ilyen szerkezetek feltrsra s kikszblsre a knyv tovbbi rszeiben trnk ki. Itt a
tervezk egyik ltalnos rossz szoksra hvjuk fel a figyelmet. Mirt beszlnek errl a probl-
mrl, hiszen az nem is gond? - mondank sokan. Hzunk egy indexet a KR egyed Rend-
szm tulajdonsgra, aztn annyi...

167
Egy tlagos mai magyar adatbzis mrete ktszer-tszr nagyobb a szksgesnl, ha csak a
tartalmt tekintjk (v. az elz alpontok tfedsi problmival). A tnyleges mret az ignyelt-
nl sokszor tszr-tzszer is nagyobb, ha a fizikai adatok mennyisgt nzzk. A hazai tervez
tlzottan gyorsan nyl az index nem-fogalmi, hanem fizikai szint megoldshoz. Nem tudja azt,
hogy az azonostn (Krszm) ptett index szksges kellk, mg a lern (Rendszm) alkal-
mazott mindig megfontoland s a j fogalmi szerkezettel mindig megelzhet, kivlthat.

12.4.8 Tisztzatlan tartalmak

A Telephely tulajdonsg a KOCSI egyedtpusban azt a fldrajzi helyet jelli, ahol a kocsit
fizikailag trolni szoktk. Ezzel nem felttlenl egyezik meg a TULAJDONOS telephelye. A
budapesti telephely tulajdonosnak lehetnek veszprmi telephely kocsijai is.
Mrmost az adatbzisok sokszor azrt nem hasznlhatk, mert a tulajdonsgok rtkeit nem
azok valdi rtelmnek megfelelen adjk meg. Pldul az FGH 333 kocsi Telephely adathoz
a Budapest (ez a tulajdonos telephelye), nem pedig a valsgnak hen megfelel Veszprm
(ez a kocsi tnyleges trolsi helye) rtket rendelik.
Persze most joggal tehet fel a krds, hogy mi kze mindennek az adatmodellhez? A
modellt jl megalkottuk, arrl pedig nem tehetnk, hogy a felhasznl csacsisgokat r az adat-
bzisba. Nincs az a program, nincs az a validlsi eljrs, amivel ez a hiba kiszrhet.
Pontosan arrl van sz, hogy nincs az a program... Ezrt a modellben kell tisztznunk az
ilyen krdseket. Erre kt erteljes eszkznk is van. Az egyik a nv. Ha a TULAJDONOS
egyedben a Telephely, a KOCSI egyedben a Trolhely nevet hasznljuk, igen komoly mrtkben
cskkentjk a felhasznl tvedsnek a lehetsgt. A msik eszkz a lers. Az adatmodellben
a tnyezkhz szveges meghatrozsokat kell adnunk. A Telephely azt jelenti, hogy..., viszont a
Trolhelynek az a lnyege, hogy...
Persze a felhasznli csacskasgot gy sem fogjuk tudni elkerlni. Viszont ez csak akkor nem
a mi gondunk, ha betartottuk a modellezsi szablyt, amely szerint

Sz9 Az adatmodell tnyezit a beszl nevek mellett rvid rtelmez magyarzattal is el


kell ltni.

A leggyakoribb adatmodellezsi gond az, hogy a tervez idhiny vagy gondatlansg miatt
nem tisztzza az alapfogalmak lnyegt. Sohasem kszt fogalmi adatmodellt.

12.4.9 A modell ketts arculata

A mai adatbziskezel rendszerek roppant szegnyesek a nem-strukturlis korltok


tmogatsban. Persze elvileg sokfle validlst megengednek, de mg nem elgg fantziadsak
s nem is knyszertik ki az rvnyests alkalmazst. Holott rengetegszer elmondtuk mr, hogy
az adatmodell nemcsak strukturlis-, hanem egyben korltrendszer is.
Vegyk csak alapul a 12.3 bra KR egyednek a negyedik sort. A kr dtumaknt jnius
31-e szerepel - remljk, hogy szemet szrt az olvasnak -, ami tkletes kptelensg. Merthogy a
jnius harminc napos. Ms esetekben kikthet lenne az, hogy egy esemny csak nnepnapokon,
vagy ppen csak htkznapokon jelents a szmunkra. A jl kifundlt adatmodell tele van
tzkdve a nem a szerkezet ltal tkrztt korltokkal.
Nzzk meg, hogy mikppen fejezhetjk ki az adatmodellben azt, hogy a kocsitulajdonosok
tpusa csak meghatrozott rtkeket vehet fel. Az egyik lehetsg az, hogy ltrehozunk egy

168
TULAJDONOSTPUS (Tulajdonostpus) egyedet. Ez a TULAJDONOS 1:N fok flrendeltje
lesz. Ekkor a megktst struktrval fejezzk ki. Azonban ezt a megoldst tbbnyire csak akkor
fogjuk vlasztani, ha a tulajdonosok tpusrl valami tbbletet is el akarunk mondani. Klnben a
msik lehetsghez fordulunk. Kijelljk a Tulajdonostpus rtktartomnyt s listban megadjuk
a megengedett rtkeket. Ez mr explicit korlt.
A korltok szmos vlfajt itt nem ismertethetjk. Csak arra kvnjuk felhvni a figyelmet,
hogy az adatmodellben a megktseket akkor is le kell rni, ha azok automatikus validlst a
kezel nem tmogatja. Ebben az esetben ugyanis magunknak kell programozni az rvnyestst,
s errl minden fejlesztnek tudnia kell. Az adatmodell az ismeretekre vonatkoz sszes ismeret
trhza, teht a korltokat is abban kell megadni.

12.4.10 A hibk emberi kvetkezmnyei

Az elz alpontokban felsoroltuk a legtipikusabb adatmodellezsi hibkat. Korntsem trtnk


ki minden lehetsges gondra. A knyv tovbbi fejezeteiben mg szmos tovbbi problmra kell
felhvnunk a figyelmet. A bajok feltrsnak s kikszblsnek a mdjt nem foglalhatjuk
ssze ebben az egy fejezetben. Ha az adatmodellezs annyira knny feladat lenne, hogy csak pr
rekordkpet kellene sszelltani, akkor ennek a knyvnek semmi rtelme sem lenne.
Ezrt egyelre csak az adatbzistervez hallatlan felelssgre akarjuk felhvni a figyelmet.
Ha egy adatmodellt rosszul szerkesztnk meg, akkor annak nem csak technikai rtelemben
lesznek kellemetlen kvetkezmnyei. Nem pusztn arrl van sz, hogy a redundancit figyelmen
kvl hagyva tbbszrsen troljuk az adatokat, feleslegesen nvelve a trignyt s a feldolgozsi
idt. Nem is csak arrl, hogy a rosszul meghatrozott - pldul egyenslytalan - adatbzis-
szerkezetet utlag majd mdostanunk kell, felesleges munkkat okozva sajt magunknak.
A rosszul szerkesztett adatmodell floldalas vagy tbbszrs adatkezelst von maga utn. Az
gyintz a gpen babrl, mikzben az gyfl trelmetlenl veri mgtte a pultot. Mindez azrt
van gy, mert rosszul - floldalasan - hatroztk meg a szerkezetet, s ezrt elfogadhatatlan az
elrsi id. Az adatbzis tbb funkcit is kiszolgl. Ha tbbszrsen tartalmazza ugyanazokat az
ismereteket, akkor a felhasznlnak nap mint nap ki kell tltenie ugyanazokat a paprokat
rszben ugyanazokkal az adatokkal csak azrt, mert az adatbzis szerkezete rossz. A duplikcik
s kapcsolati hinyok miatt ktszer kldnk szmlt ugyanarra a cmre; egyszer sem kldjk el a
szmlt a megfelel szemlynek; viszont szmlt kap az, akinek ahhoz semmi kze sincs.
Rengetegszer elfordul, hogy mindezeknek az atrocitsoknak az okt nem az adatkezelsben,
a tves adatbevitelben s/vagy -karbantartsban, hanem az adatmodell helytelen felptsben
lehet megtallni. Ezrt a terveznek nemcsak technikai, hanem egyben emberi ktelessge is az
optimlis adatmodell meghatrozsa.
A 12.5 brn bemutatjuk a 12.3 bra feladatnak az optimlis megoldst. Az elz alpon-
tokban ismertetett problmkat sorra vve brki meggyzdhet arrl, hogy azok egyike sem lp
fel ebben az adatmodellben.

TULAJDONOS
Trzsszm Tulajdonostpus Tulajdonosnv Foglalkozs Telephely Felgyelet
134567 Maszek Kovcs Rzsa Keramikus K Budapest -
134568 Kft AB Kft - Szeged -
136567 Maszek Kovcs Rzsa Mrnk M Pcs -
144567 Vllalat XY vllalat - Budapest Z

169
KOCSITPUS
KOCSI
Kocsitpus Frhely
Rendszm Kocsitpus Trzssszm Trolhely
ABC 134 Lada 134567 Budapest Lada 5 f
BCD 265 BMW 134568 Szeged BMW 5 f
DEF 896 Polski 136567 Pcs Polski 4 f
FGH 333 Lada 144567 Veszprm

KR KR/KOCSI
Krszm Dtum Krszm Rendszm Krsszeg
23456 05.14 23456 ABC 134 X
23656 06.06 23456 BCD 265 Y
24456 06.30 23656 DEF 896 Z
24456 ABC 134 Q

12.5 bra: Egy hibamentes adatmodell

12.5 Az adatmodellezsi hibk gykerei


Knyvnkben el fogjuk rulni, hogy miknt tudtunk optimlis megoldst kerekteni a rettene-
tesen rosszbl. Azonban e titok feltrsa eltt r kell mutatnunk arra, hogy a rossz adatbzis-
tervek kialaktsrt nem annyira a tervezsi technikai ismeretek hinya, mint az ltalnosan
elterjedt helytelen szemlletmd a felels. Mrpedig az adatmodellezs legalapvetbb lnyege a
helyes megkzelts.
Az igen rossz adatmodelleket a megfelel modellezsi technikk alkalmazsval elkerl-
hetjk. Mi tbb, az optimlishoz kzelt adatbzisterveket is kszthetnk. Azonban a technika
nem minden. Nap mint nap tallkozunk olyan fejlesztkkel, akik ismerik az adatmodell lnyegt,
tisztban vannak pldul a ksbb trgyaland normlformkkal, mgis pocsk adatbzistervet
lltanak ssze. Az ilyen szakembereknek a modellezsi szemlletmddal van bajuk. Ngy
ponton kell keresni a hibk gykereit.

12.5.1 Nzetvaksg

Ez a betegsg ltalban a felhasznlkat jellemzi, akik viszont a fejlesztket is megfertzik.


A felhasznl egy-egy adott, a kocsikat rint kr gyeinek az intzsben rdekelt. Ezrt
szmra tkletesen megfelel a 12.4 bra megoldsa. Az kr-kocsi irny nzett tveszi a
fejleszt is, nem gondolva arra, hogy lesznek majd kocsi-kr szemlletirny alkalmazk. A
felhasznl csak a mai, az ltala legsrgsebbnek vlt ismeretekben gondolkozik s ez a
gondolatmenete hatatlanul tragad az t kiszolgl fejlesztre is.
E nzetvaksg kvetkezmnyei teljesen evidensek. Most mr elrulhatjuk, hogy a 12.3 bra
adatbzisa azrt annyira pocsk, mert hrom egyedtpust hrom kln felhasznl hrom olyan
llomnyknt vezettette be a fejlesztkkel, amelyeknek egymshoz semmi kzk sem volt.
Persze ezek utn a fejleszt bevetheti az adatbzistervezs sszes fejlett technikjt. Vizsglhatja

170
az adattfedseket, elemezheti a normlformkat a sajt egyedtpusain. Semmire sem fog jutni
a teljes adatbzis vonatkozsban. Az tovbbra is redundns, kapcsolhatatlan s ellentmond
ismereteket fog tartalmazni.
Mert az adatbzistervezs els s legfontosabb titka az, hogy

az adatbzis - egy.

Nincs rtelme egy szervezeten bell az X vagy az Y felhasznl, a Q vagy a Z


funkcik adatbzisrl beszlni. Csakis az adatbzisban szabad gondolkodni; az egyetlenben.
Klnben a szervezet szintjn nem kerlhetjk el a nylt tfedseket, a homonimk okozta
ltszlagosakat, a szinonimkbl fakad rejtetteket, a technikai ktrtelmsgeket, a
kiegyenslyozatlansgot s a kapcsolati hinyokat.
Ezek a problmk pedig azt eredmnyezik, hogy a valban vgs-felhasznl - az llam-
polgr, az ember - tbbszrsen tlt ki paprokat, nem jut a megfelel ismerethez, rossz inform-
cikat kap. Vgeredmnyben feleslegesen szaladgl s bosszankodik. Ugyangy tlterhelt, mert
felesleges munkkat vgez a minket kiszolglni hivatott gyintz is.

12.5.2 Szintvaksg

Most a fejlesztk tipikus betegsgre trnk t. A fejleszt az X vagy az Y adatkezel rend-


szer csodlatos kpessgeiben gondolkozik. Nem tudja azt, hogy a mai szuperkezelk alkoti
nem sokat hallottak arrl, hogy az adatbzisnak fogalmi, logikai s fizikai szintje van. A fogalmi
szintet egyltaln nem tmogatjk, a msik kettt pedig rendesen sszekeverik. A termszetes
(fogalmi) adatmodellt nem lehet kifejezni a segtsgkkel, mert pldul a kezelben kptelensg
megfogalmazni - mondjuk - a visszamutat kapcsolatot. Ezrt a terveznek valamilyen trkks
tartalmi megoldst kell keresnie. A sma-lersokban e tartalmat s a megvalstsi mdot
(pldul: indexek) egytt kell megadni, sszezagyvlva az adatbzis logikai s fizikai szintjt.
Mindennek evidens kvetkezmnye, hogy a kezelt alkalmazni kvn tervez eleve zavaros
gondolkozsra ksztetdik. Az adatkezel nem zrja ki sem a nylt logikai tfedseket, sem a
homonimkat, sem a szinonimkat, sem a kapcsolati hinyokat. Viszont megkveteli az adatbzis
indexeinek a meghatrozst. Akkor pedig minek adatmodellt alkotni?
A fejlesztket az adatkezel-forgalmazk megtvesztik. Mivel ma ez annyira divatos kifeje-
zs, adatmodellnek nevezik az adatbzis logikai-fizikai adatszerkezet-mixtrjnak a lerst. gy
a fejleszt nem dbben r az adatbzistervezs msik alapvet titkra, amely szerint

az adatmodell - fogalmi.

Magyarul: Nem az a fontos, hogy az adatkezel milyen logikai-fizikai varzslatokat knl a


szmunkra. Az els lpsben nem ezekkel kell trdnnk, hanem az ismeretek valsgnak
megfelel elrendezsvel. Az ezt a titkot nem ismer fejleszt szintvaksgban szenved s gy
kptelen arra, hogy j adatbzist ptsen.

12.5.3 Szerepvaksg

Az ember azt hinn, hogy a felhasznlk s a fejlesztk jt nappall tve kzsen azon
fradoznak, hogy kimunkljk a lehet legjobb adatmodellt. Mert hiszen ez lenne a szervezet, a
cg alapvet rdeke. Sajnos a valsg teljesen msknt fest.

171
Az informcis rendszerek sikertelensgnek az egyik alapvet oka az, hogy a tisztelt
felhasznl nincs tisztban a sajt maga ismeretignyeivel s a munkja elltshoz szksges
alapfogalmakkal sem. Pldul nem tudja, hogy a Kocsiminsg a kocsi fizikai llapott jelenti s
ezrt a piros tartalmat adja ennek az adatnak. Ettl persze rossz lesz az adatbzis (ld. 12.1
pont). Mg nagyobb baj, hogy az alapfogalmakat srn vltoztatja. Ma ezt, holnap azt rti a
Kocsitpuson. A vltoztats srgs. Arra nincs id, hogy a mr trolt adatokat tdolgozzk. gy a
Kocsitpus inkonzisztenss vlik - s az adatbzis rossz lesz.
A felhasznlk gy vezetnek be j bizonylatokat, kdokat, adatokat, hogy azokat nem
egyeztetik a mr meglv adatmodellel. Azt hiszik, hogy az adatbzis egyetlen feladata az
ignyeiknek a mindenron val kiszolglsa. gy fordulhat el, hogy ugyanabban az adatbzisban
hol Felgyeletnek, hol Fhatsgnak nevezik ugyanazt a lnyeget. Hol karakteresen, hol nume-
rikusan kdoljk a Foglalkozst. A felhasznl sokszor nem hallgatja meg a fejlesztt, hanem
diktl neki.
Persze a fejlesztk is sokszor szerepet tvesztenek. nhatalmlag rendezgetik el az ismere-
teket. A termszetes s egyenes megoldsok helyett trkkket alkalmaznak. Most mg felveszik
azt az adatot, hogy ..., mert az nekik knyelmes. Eszkbe sem jut, hogy a vgs-felhasznlknak -
neknk - ezzel mennyi tbbletmunkt okoznak. Az ismereteket megduplzzk vagy eltorztjk.
Pusztn csak egy technikai jellel egsztik ki az Alvzszm-ot. gy fordulhat el, hogy ugyanazon
szervezet kt adatbzisnak egyikben az Alvzszm 24, msikban 25 karakteres. Ettl ktfle
paprra, bizonylatra, nyomdatechnikai megoldsra stb. van szksg. Mert a fejleszt - szerepet
tvesztve - fantzil.
Nlunk nem ismerik fel az adatmodell harmadik fontos szemlleti titkt, amely szerint

az adatmodell a felhasznl s a fejleszt kzs termke.

Errl nincs tbb mondanivalnk. Ha a felhasznl nem tudja megmondani, hogy milyen is-
meretre van szksge, a fejleszt pedig a sajt szja ze szerint formlgatja az adatbzist - vagyis
mindkt fejlesztsi rsztvev szerepvaksgban szenved -, akkor nincs rtelme az adatmodelle-
zsnek.

12.5.4 Bemenet/kimenet vaksg

Most tegyk fel, hogy a felhasznl s a fejleszt tisztban van az adatbzis ptse sorn
betltend feladatval. A fejlesztt nem tvesztik meg az adatkezel gyngcske kpessgei s az
adatbzis szintjeinek a csapdi. Teht minden fejlesztsi rsztvev tudatosan trekszik a j adat-
modell kialaktsra. Bizonyosak lehetnk-e abban, hogy az ilyen igen ritka kedvez konstellci
esetn j adatmodell fog szletni?
Mg mindig nem. A fejlesztt s a felhasznlt nagyon sokszor megtveszti a bemenethez
vagy kimenethez kttt szemllet. Sokszor tallkozunk olyan adatbzissal, amelynek szerkezete
nem a valsg jelensgeinek a tnyleges sszefggseihez, hanem valamilyen paprhoz - beme-
neti vagy kimeneti bizonylathoz - igazodik.
A 12.3 bra KOCSI egyedtpusnak a tervezje bemenetorientlt adatbzistervet ksztett.
Eltettek egy bizonylatot, amelyen feltntettk a kocsira vonatkoz adatokat. A tervez a bizony-
latbl egyetlen llomnyt krelt abban a tudatban, hogy ezzel kielgti a felhasznl ismeret-
ignyeit. Csak ppen a fizikai redundancira nem gondolt. Nem szmolt azzal, hogy ugyanannak
a tulajdonosnak tbb kocsija is lehet. Ha a KOCSI egyedet jellemzi a Tulajdonosnv, akkor az
nemcsak redundancia, hanem fennll a nem azonos bers miatti inkonzisztencia veszlye is.
Tbb ezer Lada 2104-es tpus kocsi futkrozik az utckon. Mindegyiknl le kell rni, minde-

172
gyiknl kln kell trolni, hogy a kocsi 5 frhelyes, benzin zem, motorja X kbcentis, a kocsi
slya Y kil stb.
A bemenetorientlt - egy bizonylat=egy llomny - tervek mindig fizikai redundancival s
inkonzisztencival prosulnak. A valjban X kbcenti helyett valamelyik paprra Z kbcentit
fognak rni - s az adatbzis mris rossz. Mindezek a bajok megelzhetk a 12.5 bra
KOCSITPUS egyednek a bevezetsvel.
Vannak olyan tervezk is, akik a felhasznli ignyekre alapozva kimenetorientlt adat-
bzistervet alkotnak. Ennek tipikus pldjt mutatja a 12.3 bra KR egyede. A felhasznl
olyan statisztikai kimutatsban volt rdekelt, amely kocsitpusok szerint sszesti a krokat. A
fejleszt ezt a szemlletet tvette. Nem nzve a dolgok vals sszefggsei mg, egy llomnyt
ksztett a kimeneti igny alapjn. Elfelejtette, hogy holnap a kapacits, holnaputn pedig a fr-
hely vagy a kocsi szne szerinti kimutatst fognak krni. Ekkor az adatbzis teljes tstrukturlsa
elkerlhetetlen.
A kimenetorientlt - egy kimutats=egy llomny - tervek mindig kapcsolati hinyokat impli-
klnak. A KR egyedbl nem rhet el a KOCSI egyed. Ha hozzfrhet lenne, mint a 12.5 bra
szerinti modellben, akkor a krokat ki lehetne gyjteni tpus, frhely, kocsiszn - a kocsi minden
kzvetlen s kzvetett (KOCSITPUS) tulajdonsga - alapjn az adatbzis talaktsa nlkl.
A vrbeli adatbzistervez a fentebb lert hibkat eleve elkerli. Azrt, mert ismeri az adat-
modellezs negyedik szemlleti titkt, amely gy szl:

az adatmodell szerkezete bemenet- s kimenetfggetlen.

Termszetesen az adatbzisnak az ignyelt kimeneteket kell kiszolglnia gy, hogy a beme-


neteken lv adatokat trolja. Nem azt mondtuk, hogy az adatbzis bemenet- s kimenet-
fggetlen, hanem azt, hogy a szerkezete az. Magyarul: Az adatmodellben lv egyedtpusok bels
s kls szerkezete sokszor nem egy az egyben kveti a paprokon lv ismeretek szerkezett. Az
adatmodell a valsgot tkrzi. Ms dolog a tulajdonos, a kocsi, a kocsitpus, a kr (mint
esemny) s az esemnyben az egy-egy kocsit rt kr (ld. 12.5 bra). Ezrt ezt az tfle jelensget
t egyedtpusban kell modellezni.
Nem mindig knny feltrni azt, hogy melyek a bemenetek s kimenetek mgtt rejl vals
jelensgek s azok sszefggsei. Knyvnk el fogja rulni a helyes struktra megtallsnak a
titkait. Amelyeket viszont csak az rthet meg, aki felismeri, hogy az adatbzis szerkezete fgget-
len a bemenetektl s a kimenetektl. Mi tbb, nem az adatbzist kell a bemenetekhez szabni,
hanem ppen megfordtva. Ha ltezik KOCSITPUS egyedtpusunk, akkor teljesen felesleges a
krbejelent lapokon megkvetelni a frhely, kbcenti, sly stb. adatok kitltst. Ha ltezne
egyrtelm tulajdonos Trzsszmunk... De ezt mr nem rszletezzk. Az olvas mr bizonyra
beltja, hogy a j adatmodellel paprt, pnzt, idt, energit lehet megtakartani.

12.6 Az adatmodellezs cljai

Az adatmodellezs ma divatszv lett. Ha valaki kitall pr rekordkpet, akkor mr adat-


modellt emleget. Klnsen feljogostva rzi magt e kifejezs hasznlatra, ha a mai CASE-
eszkzk (Computer Aided Systems Engineering - szmtgppel tmogatott rendszertervezs)
valamelyikvel lltja ssze a tervt.
Mra az a furcsa helyzet llt el, hogy a legkorszerbb segdletekkel gyorsan s knyelmesen
lehet igen rossz adatbzisokat kszteni. A CASE-ek nem kvetelik meg az egyeztetst s a 12.4
pontban felsorolt problmk feltrsban csak minimlis segtsget adnak. Ezrt tartottuk annyira

173
fontosnak a megfelel szemllet hangslyozst. Ennek elsajttshoz a leend terveznek
tisztban kell lennie az adatmodellezs tbbfle cljval.
Az adatmodellezs vgs, technikai clja termszetesen az, hogy legyen egy megvalsthat
adatbzistervnk. Azonban az adatmodell s a szmtgpbe bert adatbzis-sma nem azonos. A
modellben lesznek olyan korlt-kittelek is, amelyeket a kezelrendszer nem tmogat. Ezrt a
modell sokkal tbb, mint szmtgpes adatstruktra.
Az adatmodellezs msik fontos clja a felhasznli ismereteknek s azok sszefggseinek
az alapos megismerse. A mindennapos letben gyakran hasznljuk a fogalmam sincs
kifejezst. Ha nincs fogalmunk arrl, hogy mit jelent a kocsitpus, akkor miknt pthetnk j
adatbzist a gpkocsik ismereteibl? Az adatmodell a felhasznl s a fejleszt elkpzelseinek az
egyeztetsre szolgl (ld. 12.5.3 alpont). Hibsnak kell tekinteni azt a gyakorlatot, amelyben a
fejleszt a vgs adatbzistervet kzli a felhasznlval. Ez a terv sok olyan alkalmazs- s
technikai-krnyezeti megfontolst tartalmaz, amely nem tartozik a felhasznlra s t csak
megzavarja. Ezzel szemben a fogalmi szint adatmodell igen kivl eszkz a felhasznli clok
s a fejleszti elkpzelsek kzs nyelven trtn egyeztetsre.
Az adatmodellezs harmadik clja az optimalizls. A felhasznl kimenetekben s beme-
netekben gondolkozik, mert hiszen ezeken keresztl rintkezik az ltala teljes egszben nem is
lthat adatbzissal. Fennll az a veszly (ld. 12.5.4 alpont), hogy a fejleszt tveszi a felhaszn-
li nzetet s rossz adatstruktrt alkot. Ezrt a fejleszt ktelessge az, hogy az els tervelkp-
zelseit a modellezsi technikk trkkjei alapjn (t)rtkelje. Kiszrje a terv egyrtelmsgi,
tfedsi s hiny-jelleg problmit. Vagyis megalkossa az optimlis adatmodellt. Teht nem
pusztn az a feladata, hogy egy szmtgpen kezelhet adatbzis-szerkezetet hozzon ltre (ld.
els cl), hanem az, hogy a ltez legjobb struktrt alaktsa ki.
Vgl az adatmodellezsnek van egy tgabb, negyedik clja is. Az sszehangolsrl van sz.
Az ismeret a vllalat legfontosabb erforrsa. Vajon mi trtnne azzal a cggel, amelyikben a
pnz erforrs nincs sszehangolva s mindenki gy klt, ahogy akar? Amelyben az emberi
munka nincs harmonizlva s mindenki azt tesz, amit akar? s amelyben az ismereteket csak gy
tabotban hatrozzk meg?
Az adatmodell a vllalat ismereteinek a trkpe. Olyasmi, mint a fknyv a pnz erforrs
vonatkozsban. A fknyv vezetsnek roppant szigor szablyai vannak. rdekes, hogy a
pnzbe kerl s pnzt fial ismeretek elrendezsben nem lteznek ezek a komoly elvek. Pedig
az egyetlen adatmodell szolglhatna ismereteink magasfokan tudatos sszehangolsra.
Br az adatmodellezs utbbi szereprl nem hallgathattunk, knyvnk tovbbi rszben
elssorban az elz kt clrl - a megismersrl s az optimalizlsrl - lesz sz. Az adatmodell-
nek mkd adatbzistervv val lekpezsre nem trhetnk ki rszletesen. Azrt nem, mert az
alkalmazsi krnyezetek nagyon eltrek s ezrt a logikai szint tervezsi megfontolsok is
nagyon klnbzek. A fizikai szint tervet pedig szmos technikai-krnyezeti tnyez
befolysolja. Ezrt a logikai/fizikai megfontolsokra nem trhetnk ki.

Ellenrz krdsek - 12

12/01 Milyen problmkat fedez fel a kvetkez adatbzis-rszletben? A 12.4 pont megfelel
alpontjnak a szmt adja meg.

VEV (Vevkd, Vevnv, Vevcm)


RENDELS (Rendelsszm, Rendelsdtum, Vevkd, Vevcm)

174
12/02 Az elz mdon adja meg az albbi terv hibinak a szmt.

VEV (Vevkd, Vevnv, Vevcm)


RENDELS (Rendelsszm, Rendelsdtum, Vev-megnevezs)

12/03 Melyik hibt mutatja az albbi terv? A nyelv hromszorosan ismtld tartalm.

SZEMLY (Trzsszm, ..., {Nyelvkd})

12/04 Tartalmaz-e hibt a kvetkez terv? Nem (N), slyosat (S), kicsit (K).

RENDELS (Rendelsszm, ..., Dtum)

12/05 Tartalmaz-e hibt a kvetkez terv? Nem (N), slyosat (S), kicsit (K).

CG (Cg-adszm, ..., Cg-nv)


SZMLA (Szmlaszm, ..., Szmla-adszm)

12/06 n szerint milyen szemlletben kszlt az albbi terv? Helyes (H), bemeneti (B),
kimeneti (K)?

SZEMLY (Trzsszm, ..., Szervezetkd, Szervezetnv, ...)

12/07 n szerint milyen szemlletben kszlt az albbi terv? Helyes (H), bemeneti (B),
kimeneti (K)? A {} jelek kztti adatok ismtldnek.

RENDELSEK (Rendelsszm, ..., {Cikktpus, rfekvs, Rendelt-darab})

12/08 Milyen problmt lt a kvetkez tervrszletben? Szban fejtse ki gondolatait.

CIKK (Cikkszm, ..., r)


RENDELSTTEL (Rendelsszm+Cikkszm, ..., r)

175
13. FGGSEK S NORMALIZLS

13.1 Egyszer szablyok

Az adatmodellezs lnyege az, hogy feltrjuk s megfelelen tkrzzk a valsg jelensgeit


(egyedek), azok sajtossgait (tulajdonsgok) s sszefggseit (kapcsolatok). E mvelet sorn
nemcsak egy elfogadhat, lehetsges adatbzisszerkezetet keresnk, hanem treksznk az
optimlis modell megkeressre. Az optimlis kittel itt nem a legjobb szmtgpes megoldst
jelenti. Persze azt is meg kell keresnnk, de az a fizikai szint adatbzistervezs feladata.
Fogalmi szinten optimlis modell az, amely

valsgh
egyrtelm
teljes
s minimlis.

A modellnek valsghnek kell lennie. A KOCSI egyedtpus Telephely tulajdonsgtpusa (ld.


12.3 bra) a lnyeget fejezze ki. Ne a tulajdonos cmre, hanem a kocsi tnyleges trolsi helyre
(ld. 12.5 bra) utaljon. Az egyrtelmsg kvetelmnye kizrja a homonimkat s a szinonim-
kat. A 12.3 bra modellje nem teljes, mert a KR nem kapcsolhat a KOCSI-hoz. Nem is mini-
mlis, mert felttelezi, hogy minden kocsinl megadjuk a Frhely rtkt, holott azt elegend
lenne kocsitpusonknt egyszer vezetni.
A valsghsg s az egyrtelmsg problmirl kevs sz lesz ebben a fejezetben. Ezek
ugyanis a nehezebben megfoghat kritriumok. A teljessg kvetelmnye sem knnyen feltrhet
di. ppen ezrt a hagyomnyos adatmodellezsi mdszerek leginkbb a minimalitst - a redun-
dancia elkerlst - clozzk meg.
Az adatmodellnek megfelelen szervezett adatbzis minimalitsnak a vizsglatra, a re-
dundns adattrols s -kezels megakadlyozsra jl megfoghat, egyszer szablyok llnak a
rendelkezsnkre. Nem azt mondjuk, hogy ezeket a regulkat mindig knny rvnyesteni a
gyakorlatban. Hanem csak azt, hogy az elvi szablyok tisztzottak, mivel jl rthet s egyszer,
tisztn matematikai jelleg sszefggseken alapulnak.

Ebben a fejezetben nhny alapfogalom tisztzsa utn az adatmodell gyerekbeteg-


sgeit s azok orvoslsi mdjt fogjuk feltrni.

A relcis adatmodell [19] elmletnek a bevezetse sorn figyeltek fel az ismeretek bizonyos
szmszer viszonyaira s az adatok eltr (azonostsi s lersi) szerepeinek e szmszer
sszefggsekkel val kapcsolatra. Ezek a felfedezsek rk rvnyek s akkor is figyelembe
veendk, ha nem relcis adatkezelt hasznlunk. Ezrt ebben a picit unalmas fejezetben arra
knyszerlnk, hogy nhny alapfogalmat zdtsunk az olvasra.

176
13.2 Funkcionlis fggs

Az adatmodellben rsztvev tulajdonsgtpusok kztt tbbfle fggvnyszer sszefggst


fedezhetnk fel. Ezek kzl a legismertebb az n. funkcionlis fggs (angolul: functional
dependence), amelynek jele FD. A funkcionlis fggst adott egyedtpus tulajdonsgtpusai
kztt rtelmezzk a kvetkez mdon:

D 13/1 Az E egyedtpus B tulajdonsgtpusa akkor s csak akkor funkcionlisan fgg az


egyedtpus A tulajdonsgtl, ha az E minden elfordulsban az A rtke minden
idpontban csakis egy B rtkkel trsul.

Tegyk fel, hogy a kocsik rendszma egyedi s adott a kvetkez egyedtpus:

13.1 plda

KOCSI (Rendszm, Kocsitpus, Szn, Tulajdonoskd ...)

Ha minden kocsinak minden idpontban csak egy tpusa, szne s tulajdonosa lehet, amint
azt felttelezzk, akkor igaz az, hogy a Rendszm funkcionlisan meghatrozza az sszes tbbi
tulajdonsgot. Vagy - ami ugyanaz - a Kocsitpus, a Szn s a Tulajdonoskd funkcionlisan
fgg a Rendszmtl. Az FD jele .
A pldban a kvetkez fggseket fedezhetjk fel:

Rendszm Kocsitpus
Rendszm Szn
Rendszm Tulajdonoskd

vagy

Rendszm (Kocsitpus, Szn, Tulajdonoskd).

Az utbbi rvidtett jellsnek a funkcionlis fggs n. additivitsi szablya ad alapot,


amely gy szl:

Ha A B
s AC
akkor A B, C.

Ez a megkts a hrom Armstrong-szably [20] egyike. A msik kettrl majd ksbb lesz
sz. Ezeken tlmenen az FD-re termszetesen vonatkozik az n. reflexivitsi szably is, amely
szerint A A, vagyis minden tulajdonsgtpus meghatrozza sajt magt.
Pldnk esetben a fggsek fennllnak, mivel felttelezsnk szerint minden - a Rendszm
ltal azonostott - kocsinak csak egy tpusa, szne s tulajdonosa (ler jellemzk) lehet. Az A
B, C nem azt jelenti, hogy a B-nek s a C-nek valami kze van egymshoz. Ez a rvidtett forma
csak azt mutatja, hogy adott Rendszm rtkhez egyetlen Kocsitpus meg egyetlen Szn rtk
tartozik. (Ennek a meg-nek a ksbbiekben mg lesz szerepe.)
Az FD nem felttelezi azt, hogy a meghatroz tulajdonsg rtke egyedi legyen az egyedben.
Tegyk fel (persze ez nem igaz), hogy egy tulajdonosnak minden kocsija mindig azonos szn.

177
Ebben az esetben a KOCSI egyeden bell a Tulajdonoskd meghatrozn a Szn-t. Viszont a
Tulajdonoskd rtke nem egyedi, mert tbb kocsija is lehet valakinek. Ezrt rdemes megadni a
D 13/1 defincinak egy lazbb vltozatt is:

D 13/2 Az E egyedtpusban az A tulajdonsgtpus akkor s csak akkor hatrozza meg


funkcionlisan a B-t, ha minden elfordulsban ugyanazt az rtket veszi fel a B,
amikor az A rtke ugyanaz.

Mivel a KOCSI egyed minden elfordulsban ms Rendszm rtk szerepel, fennll tbbek
kztt a Rendszm Tulajkd fggs.
Az FD mindig fordtott irny fggetlensggel jr. Ha A B, akkor B /> A. Vagyis ha az
A meghatrozza a B-t, akkor a B nem hatrozhatja meg az A-t. (A fggetlensg jele ebben a
knyvben /> lesz.) Ugyanis abban az esetben, ha a fordtott irny fggs is fennllna, akkor
klcsns fggsrl (angolul: mutual dependence) lenne sz. Ennek rvid neve MD, jele pedig
. Ha bevezetnnk a kocsikra az egyedi Kocsitpus-nv ttelt, akkor ltezne a Kocsitpus-kd
Kocsitpus-nv klcsns fggs. Vgl akkor, ha kt tulajdonsg kztt egyik irnyban sem
tudunk megllaptani fggst, akkor klcsns fggetlensgrl beszlnk. Ennek jele </>.
Pldnk esetben a Kocsitpus s a Szn kztt nincs fggs, ezrt Kocsitpus </> Szn.
Vegyk szre, hogy az FD kt tulajdonsg kztti hierarchikus viszonyt mutat. Ha ltezik a
Rendszm Szn fggs, akkor a kt ttel rtkei kztt M:1 viszony van. Hiszen tbb kocsinak
(M) is lehet azonos a szne, de minden kocsinak csak egy (1) szne van. Hasonl mdon az MD
kt tulajdonsg kztti egyedi, ms szval lineris viszonyt jelent, amely 1:1 fok. Ksbb majd
ezekre a viszonyokra fogjuk pteni az egyedek kztti sszefggseket is.
Kt tulajdonsgtpus funkcionlis s klcsns fggsnek illetve fggetlensgnek az eseteit
a 13.1 bra szemllteti.
A funkcionlis fggseket tbb szempontbl is osztlyozhatjuk. Az eddig bemutatott fggsek
elemiek (angolul: elementary) voltak, mert a meghatroz tulajdonsg egyetlen tagbl llt.
Nem ritka azonban az az eset sem, amikor a meghatroz tulajdonsg tbb tnyezbl pl fel.
Ebben az esetben sszetett (angolul: composite) fggsrl beszlnk. Ennek jele knyvnkben
A+B+...+N X lesz, vagyis a meghatroz rszeit a + jellel fogjuk sszektni. Lsd a 13.2
pldt.

13.2 plda

RENDELSTTEL (Rendelsszm+Cikkszm, Rendelt-mennyisg, ...)


Rendelsszm+Cikkszm Rendelt-mennyisg

FUNKCIONLIS FGGS
Rendszm Tulajkd

N:1 VISZONY

178
KLCSNS FGGS
Kocsitpus-kd Kocsitpus-nv

1:1 VISZONY

FUNKCIONLIS FGGETLENSG
Kocsitpus Szn

M:N VISZONY

13.1 bra: Tulajdonsg viszonyok

Az FD-k kapcsn - az brzols miatt - szoktak beszlni a fggs bal- s jobboldalrl is.
Ekkor a baloldal a meghatrozt, a jobboldal a meghatrozottat, a fggt jelenti. sszetett
fggsrl teht akkor van sz, ha a baloldal tbb tagbl ll.
A fggseket az n. fggser szerint is osztlyozzuk. Az A B fggs azt mondja ki, hogy
minden A-rtkhez csak egy B-rtk tartozhat. Azt nem kti ki, hogy minden A-rtkhez kell is,
hogy tartozzon B-rtk. Vannak olyan esetek, amikor a B-rtk nem-rtelmezhet vagy
ismeretlen. Vegyk csak alapul a kvetkez pldt:

13.3 plda

KOCSI (Rendszm, Kocsitpus, ..., CASCO-ktvnyszm)

Vannak kocsik, amelyekre nem ktttek CASCO-biztostst, teht a CASCO-ktvnyszm


rtke nem-rtelmezhet. Ettl fggetlenl fennll a Rendszm CASCO-ktvnyszm FD,
mert minden kocsinak csak egy CASCO-biztostsa lehet. A fggst ersnek nevezzk, ha a
meghatrozhoz mindig kell tartoznia meghatrozottnak s gyengnek, ha vannak meghatro-
zk, amelyekhez nem ktdik meghatrozott. Teht a Rendszm Kocsitpus fggs ers, mg a
Rendszm CASCO-ktvnyszm FD gyenge. A 13.1 brn pontozott kr mutatja azt az
rtket, amely nem ktdik a msik tulajdonsg egyetlen rtkhez sem.

179
A 13.3 plda egy msik eszmefuttatsra is alapot ad. Minden kocsinak csak egy CASCO-ja
lehet, de ugyanakkor minden CASCO is csak egy kocsira vonatkozhat. Ezek szerint a kt ttel
kztt klcsns fggst kellett volna felfedeznnk? Nem. Ha a CASCO-ktvnyszm rtke
nem-rtelmezhet, akkor maga ez a nem-rtelmezhet valami is - rtk. Ezt a tovbbiakban az
NA (angolul: not applicable) jellel fogjuk jelezni s a feltteles fggsnl (ld. 18.6 pont) majd
bvebben is kifejtjk. Itt csak arra utalunk, hogy valahnyszor a kocsi CASCO-ktvnyszm
rtke NA, ms s ms a Rendszm rtke. Ezrt nem ll fenn a CASCO-ktvnyszm Rend-
szm FD, teht nem beszlhetnk klcsns fggsrl.
A funkcionlis fggs teljes vagy rszleges lehet. Ennek az osztlyozsi ismrvnek csak
akkor van rtelme, ha a meghatroz tulajdonsg - a baloldal - sszetett. A fggs akkor teljes
(angolul: full dependence), ha a meghatrozott a teljes sszetett tulajdonsgtl fgg s amennyi-
ben abbl brmelyik tagot kiemeljk, a fggs megsznik. Ha az sszetett tulajdonsgbl valame-
lyik tagot kiemelve is fennmarad a fggs, akkor azt rszlegesnek (angolul: partial dependence)
nevezzk. A 13.4 plda mutatja a ktfle fggs lnyegt.

13.4 plda

RENDELSTTEL (Rendelsszm+Cikkszm, Rendelt-mennyisg, ..., Cikknv)


Rendelsszm+Cikkszm Rendelt-mennyisg
Rendelsszm+Cikkszm Cikknv

Az els fggs teljes, mert a Rendelt-mennyisget sem a Rendelsszm, sem a Cikkszm nem
hatrozza meg nmagban. Ezrt brmelyiket emeljk ki az sszettelbl, a fggs elveszik.
Ezzel szemben a msodik fggs rszleges. A Cikkszm Cikknv fggs akkor is fennmarad,
ha eltvoltjuk a meghatrozbl a Rendelsszmot.
A funkcionlis fggssel kapcsolatosan kt tovbbi dologra kell felhvnunk a figyelmet. Az
FD tulajdonkppen nem ms, mint az adatbzis szerkezeti integritsi korltja. Ha kijelentjk azt,
hogy fennll pldul a Cikkszm Cikknv fggs, akkor azzal leszgezzk, hogy az egyed-
tpus minden egyes elfordulsban csak egyetlen Cikknv-rtk szerepelhet minden idpontban,
vagyis a vonatkoz egyedtpus brmilyen megvalstsban. gy kzlnk az egyed kiterjedsrl
(extenzi) valamit, hogy tartalmi (intenzi) megktst alkalmazunk. A modellezs a tartalommal,
az intenzionlis vetlettel foglalkozik. Viszont igen gyakran csak pldk, vagyis az extenzionlis
vetlet segtsgvel rtjk meg az sszefggseket.
A modellezs feladata a valsg h tkrzse. Ahhoz, hogy megfelel szerkezetet alaktsunk
ki, ismernnk kell a vals jelensgek szemantikai sszefggseit. A fentiek szerint egy korltot
llaptunk meg akkor, amikor felttelezzk pldul a Rendszm Kocsitpus fggst. Most
tegyk fel, hogy a valsgban a leszerelt rendszmot idvel kiadhatjk msik kocsinak is. Semmi
garancia sincs arra, hogy az j kocsi ugyanolyan tpus lesz, mint a rgi. Ezrt nem igaz az, hogy
a KOCSI egyedtpus brmilyen megvalstsban (ld. elz bekezds) fennll ez a fggs.
Mindez arra int bennnket, hogy az FD-k megllaptsnl igen krltekinten kell eljrnunk.

13.3 Tartomnyfggs

Mint ismeretes, a tulajdonsgtpusokat ktfle mdon szemllhetjk. Beszlhetnk rluk


adott egyedtpussal sszefggsben, amikor is a tulajdonsgot attribtumnak hvjuk. Azonban a
tulajdonsgokat egyedektl fggetlenl is meghatrozhatjuk. Ilyenkor (rtk)-tartomnyrl

180
(angolul: domain, ejtsd domjn) van sz. A Rendelsdtum a RENDELS egyedhez kttt
tulajdonsg, attribtum. A Dtum pedig nll rtktartomny, domjn.
A funkcionlis fggs az egyedtpus tulajdonsgtpusai kztt rtelmezett attribtum-fggs.
Ezzel szemben a tulajdonsgtpusok kztt az egyedtpusoktl fggetlenl is feltrhatunk fggsi
viszonyokat. Ezeket nevezzk domjn- vagy tartomnyfggseknek.

D 13/3 A B tulajdonsgtpus akkor s csak akkor tartomnyfggssel fgg az A tulajdons-


gtl, ha az A tartomny minden rtkhez minden idpontban a B tartomnynak
csakis egy rtke trsthat.

A tartomnyfggs jele ==>, rvid neve DD (angolul: domain dependence). Az ilyen


fggsre mindazt elmondhatjuk, amit az elz pontban a funkcionlis fggssel kapcsolatosan
fontosnak tartottunk megemlteni. A tartomnyok kztt is ltezhet fggetlensg illetve klcsns
fggs. A DD is lehet elemi vagy sszetett, ers vagy gyenge fggs. A krds az, hogy ha a DD
ennyire hasonlt az FD-re, akkor mirt van szksg erre a kln fggsfajtra?
A vlaszt egy plda segtsgvel fogjuk ismertetni. Tegyk fel, hogy vllalatunk rendelseket
teljest. Pldul tejtermkeket szllt. Egyes vevk kzponti szlltst krnek azzal, hogy majd a
telephelyeikre - raktraikba, zleteikbe, elosztikba - sajt maguk tovbbtjk az rut. Ms vevk
azonnal a telephelyre kvnjk szllttatni a termkeket. Vgl vannak olyan kis vllalkozsok,
amelyeknl a kzpont egybeesik az egyetlen telephellyel. Ilyen a maszek kiskzrt. Mindezt a
13.5 pldval tudjuk szemlltetni.

13.5 plda

KZPONT (Kzpont-azonost, ...)


TELEPHELY (Telephely-azonost, ..., Kzpont-azonost)
RENDELS (Rendelsszm, Kzpont-azonost, Telephely-azonost, ...)

A plda kapcsn a kvetkez ellentmondst fedezhetjk fel: A TELEPHELY egyedben egy-


rtelmen fennll a Telephely-azonost Kzpont-azonost funkcionlis fggs, amennyiben
azzal a felttelezssel lnk, hogy minden telephely csak egy kzponthoz (vevhz) tartozhat.
Viszont a RENDELS egyedben ugyanez a fggs nem rvnyesl. Mirt nem? Itt kell vissza-
trnnk a gyenge fggsre. A Rendelsszm Telephely-azonost fggs gyenge, mert hiszen
vannak olyan vevk, akik a kzpontba szllttatjk az rut, mert maguk akarjk azt elosztani vagy
nincs is telephelyk. Kvetkezskppen a Telephely-azonost nhny RENDELS elforduls-
ban NA-rtket fog felvenni, vagyis nem-rtelmezhet. gy a Telephely-azonost Kzpont-
azonost fggs valban nem rvnyes a RENDELS egyedben.
Ezek utn felvetdik a krds, hogy milyen viszonyban is ll egymssal a Telephely-
azonost s a Kzpont-azonost? Van vagy nincs fggs? s egyltaln mirt krds ez?
Mdostsuk egy csppet a 13.5 pldt a 13.6 pldra!

13.6 plda

KZPONT (Kzpont-azonost, ...)


TELEPHELY (Telephely-azonost, ...)
RENDELS (Rendelsszm, Kzpont-azonost, Telephely-azonost, ...)

Meg tudjuk mondani, hogy melyik kzponthoz tartozik az X azonostj telephely? Nyilvn
nem, mert a TELEPHELY egyedbl hinyzik a kzpont azonostja. Ezrt a KZPONT s a
TELEPHELY egyed nem kapcsolhat (ld. tfedshiny, 12.4.5 alpont). Vajon mi alapjn fogjuk
felfedezni ezt a strukturlis problmt?

181
Mieltt a krdsre vlaszolnnk, legyen szabad bevezetnnk a fggs egy jabb osztlyozst.
Ha a Rendelsszm Kzpont-azonost fggst a RENDELS egyed vonatkozsban trjuk
fel, akkor egyeden belli (angolul: intra-entity) fggsrl beszlnk. Azonban nyilvnval, hogy
a rendelsekben csak olyan Kzpont-azonost rtk adhat meg, amely a KZPONT egyedben is
szerepel. Ez is egy, az adatbzisra vonatkoz tartalmi integritsi korlt. Azonban miknt tudjuk
rgzteni ezt a korltot? gy, hogy alkalmazzuk az egyedek kztti (angolul: inter-entity) fggs
fogalmt.
Teht a Rendelsszm s a Kzpont-azonost fggse nemcsak a RENDELS egyeden
bell, hanem a RENDELS s a KZPONT egyed kztt is fennll. Csakhogy az utbbi esetben
nem beszlhetnk funkcionlis fggsrl, hiszen az - definci szerint (D 13/1 s D 13/2) - egyed-
tpuson bell rtelmezend. Nos, ezrt van szksg a tartomnyfggs fogalmra. Ha az egyedek
kzti fggseket vizsgljuk, akkor fel fogjuk fedezni a Telephely-azonost ==> Kzpont-
azonost tartomnyfggst. Ez alapjn kiegszthetjk a 13.6 plda TELEPHELY egyedt a
Kzpont-azonostval. gy mris visszakapjuk a 13.5 plda kpt.
sszefoglalan: A tulajdonsgok funkcionlis fggsei az egyedeken belli, a tartomnyok
fggsei az egyedek kztti viszonyok meghatrozsban jtszanak szerepet. Gyenge fggsek
esetn a ktfle viszony egymsnak ellentmondhat. A RENDELS egyedben nem rvnyes a
Telephely-azonost Kzpont-azonost FD. Azrt nem, mert a Rendelsszm Telephely-
azonost FD gyenge. Ugyanakkor ltalnosan fennll a Telephely-azonost ==> Kzpont-
azonost DD. Ez a fggs ers, mert minden telephelynek egy kzponthoz kell kapcsoldnia.
Mindez felveti a fggs egy tovbbi osztlyozsnak az ignyt. Ers s gyenge fggsrl be-
szltnk akkor, ha az A meghatroz tulajdonsg minden rtkhez kellett tartoznia B rtknek
illetve ha voltak olyan A rtkek is, amelyekhez nem kapcsoldott B. Teht eddig a fggsert
csak a baloldal szempontjbl vizsgltuk. ttekintsnk nem lenne teljes, ha az osztlyozst
nem terjesztennk ki a jobboldalra is.
A szakirodalom ltalban a funkcionlis fggssel van elfoglalva. Ezrt a baloldalra, a meg-
hatrozra figyel (ld. D 13/1 s D 13/2) s kevesebbet trdik a jobboldallal, a meghatrozottal. A
Rendszm Kocsitpus fggsnl azt a krdst veti fel, hogy tartoznia kell-e minden Rendszm
rtkhez Kocsitpus rtknek vagy sem. A fordtott sszefggst - kell-e minden Kocsitpus
rtkhez Rendszm rtknek tartoznia - nem vizsglja. Ez rthet is: a KOCSI egyedben nem
szerepelhet Rendszm-rtk nlkli elforduls. Ebben az egyedben minden Kocsitpus-hoz
rtelemszeren tartozik Rendszm rtk.
Viszont mirt ne tarthatnnk nyilvn olyan kocsitpusokat (nem a KOCSI egyedben),
amelyekhez egy adott idpontban nem tartozik konkrt kocsi? Vegyk csak alapul a kvetkez
adatbzis-szerkezetet (13.7 plda).

13.7 plda

KOCSITPUS (Kocsitpus, Frhely, Gyrt, ...)


KOCSI (Rendszm, Szn, Kocsitpus, ...)

Az els egyedben nyilvntarthatjuk a Lamborghini tpust annak dacra, hogy ma mg nincs


ilyen konkrt kocsi elfordulsunk adatbzisunk msodik egyedben. Mivel most mr kt egyed-
tpusunk van, nemcsak a Rendszm > Kocsitpus FD-re kell tekintettel lennnk, hanem rt-
kelnnk kell a Rendszm ==> Kocsitpus DD-t is. Ezrt fel fogjuk vetni a krdst, hogy minden
tpushoz kell-e konkrt kocsinak tartoznia?
A konkrt vlasz az alkalmazsi krlmnyektl, ignyektl fgg. Eldnthet, hogy csak
olyan tpust tartunk nyilvn, amelyhez konkrt kocsi is tartozik, vagy vezetnk olyan tpus-
ismereteket is, amelyek mg/mr nem ktdnek tnyleges kocsi-elfordulsokhoz. Ezrt a fggs
erejt nemcsak baloldalrl, hanem jobboldalrl is vizsglnunk kell.

182
Ezek szerint a tartomnyfggs jobboldalrl ers, ha az A ==> B fggsen bell minden B
rtkhez kell, hogy tartozzon A rtk. A DD jobboldalrl gyenge, ha ltezhet olyan B rtk,
amely nem prosul A rtkkel. Pldul a Telephely-azonost ==> Kzpont-azonost fggs
jobboldalrl gyenge, mert ltezhetnek olyan kzpontok, amelyekhez nem kapcsoldik telephely.
Viszont az A Cikkszm ==> Cikknv fggs jobboldalrl ers, mert nincs rtelme olyan cikknv
vezetsnek, amelyhez nem tartozik cikkszm.
Vagy van? Az adatelemzsnek nem az a feladata, hogy a valsg rtelmessgt vizsglja. Az
ismeretek clszer szemantikai viszonyait a felhasznlk kzssgnek kell meghatrozniuk. Az
adatmodellez feladata az, hogy az ignyeknek hen megfelel struktrt alkosson. Ehhez fel kell
fedeznie a tnyezk sszefggseit. Ha a felhasznlk olyan cikkek neveit is nyilvn akarjk
tartani, amelyeknek mg nincs cikkszma, akkor ms modellel kell elrukkolni, mint amikor
csak Cikkszmmal elltott ttelek neveit vezetjk.

13.4 Nem-normalizlt egyedtpusok

A mindennapi letben gyakran van szksg arra, hogy egy adott jelensg vonatkozsban
valamilyen ismeretet megtbbszrzznk. lljon itt pldaknt az a mindennapos eset, amelyben a
szemlyek nyelvtudsra vonatkoz adatokat kvnjuk vezetni. Mrpedig vannak olyan
szemlyek, akik egynl tbb nyelvben is jratosak. Lsd a 13.2 brt.

SZEMLY
Trzsszm ... Nv Nyelv Vizsgav Vizsgaszint
AAA Kovcs L. Angol 1972 fels
Francia 1978 kzp
Olasz 1981 fels
BBB Szab P. Olasz 1976 fels

13.2 bra: A SZEMLY egyed rszlete

13.4.1 Az ismtlds s kros hatsa

Az brbl kitnik, hogy egyes egyedelfordulsok sorban a Nyelv tulajdonsgtpus tbb


rtket is felvesz. Az olyan esetekben, amikor egy tulajdonsgtpus az egyedelfordulsokra tbb
rtkkel is rendelkezik, vagyis egy nv alatt tbb tartalmat adunk meg, ismtld adatrl besz-
lnk. Akkor pedig, ha az ismtld adatok egymssal rendszerezett sszefggsben llnak - lsd
a Nyelv, Vizsgav, Vizsgaszint egyttest -, ismtld csoportrl (angolul: repeating group) van
sz.
Az ismtld adat illetve csoport szmos problma forrsa. Ezek a kvetkezk:

Meg kell adni a maximlis ismtlsszmot. Ha ez a nyelv esetben hrom, akkor a negyedik
nyelv kimutatsra nincs md egy adott szemlynl.
Ha valaki a maximlisnl kevesebb nyelvet beszl, feleslegesen foglaljuk a trolt. (N.B.: Az
res rtk is trt ignyel s kezelsi idtbblettel jr.)

183
Ha az egyes nyelvek fix helyhez rendeltek, pldul mindig az angol az els nyelv, akkor
nemcsak szemlyenknt, hanem sszesen is csak hrom nyelvet lehet kezelni.
Ha viszont a nyelvek nem fix helyhez rendeltek, akkor az olaszul beszlk kikeresse nehz-
kes.
A kezels egyenslytalan. Hamar megtalljuk, hogy ki milyen nyelveket beszl, de nehezen
leljk meg az adott nyelvet beszl szemlyeket.

Mr a 12.4.7 alpontban felhvtuk a figyelmet az ilyen szerkezetek bajaira. A felsorolt probl-


mk miatt az adatmodellben nem lenne szabad meghatrozni olyan egyedtpust, amely ismtld
adatokat vagy csoportokat tartalmaz. Az ilyen struktrkat ki kell kszblni. A krds az, hogy
mi alapjn fedezzk fel ezeket a rossz szerkezeteket s mikppen trtnjk azok felszmolsa?

13.4.2 Az ismtlds elvi alapja

Az elz alpont els bekezdsvel szemben az ismtldsnek van egy olyan meghatrozsa
is, amely a tulajdonsgok kztti fggsekkel kapcsolatos:

D 13/4 Az egyedtpus ismtld ismeretet tartalmaz, ha ltezik olyan tulajdonsga, amely


funkcionlisan fggetlen az azonosttl.

A funkcionlis fggs felttelezi, hogy a meghatroz rtkhez csak egy fgg rtk tarto-
zik. Ezrt nyilvnval, hogy nem ll fenn pldul a Trzsszm > Nyelv fggs. A SZEMLY
egyed nem megfelel szerkezet. t kell alaktanunk. Mieltt ennek mdjt kifejtennk,
megadjuk az tszerkeszts elmleti alapjt.

D 13/5 Az egyedtpus nem-normalizlt, vagyis 0NF alak, ha vannak tulajdonsgai,


amelyek az azonostjtl funkcionlisan fggetlenek.

Az egyedtpus szerkezeti llapott normlformnak (angolul: normal form) hvjuk. A


normlalak a tervezsi minsget mutatja. Mint ltni fogjuk, tbbfle normlforma ltezik. Ezrt
a normlalakokat (NF) szmmal minstjk (xNF). A nulladik normlforma (0NF) azt jelenti,
hogy az egyed egyltaln nem normalizlt, mert a normalizlt llapot felttelezi, hogy az egyed
tulajdonsgai funkcionlisan fggnek az azonosttl.

13.4.3 A normalizls els lpse

A feladatot mr ismerjk. Az egyedbl el kell tvoltani minden olyan tulajdonsgot, amely


az azonosttl funkcionlisan fggetlen, azaz tbbrtk. A SZEMLY egyedben a Nyelv, a
Vizsgav s a Vizsgadtum tbbrtk, teht msutt van a helye.
Pldnk esetben a kzenfekv megolds az, hogy meghatrozunk egy kln NYELV-
TUDS egyedet, amely az eredeti SZEMLY egyed ismtld tulajdonsgait tartalmazza. A
clszer szerkezet els vltozatt a 13.3 bra szemllteti.

184
SZEMLY
Trzsszm ... Nv
AAA Kovcs L.
BBB Szab P.

NYELVTUDS
Trzsszm Nyelv Vizsgav Vizsgaszint
AAA Angol 1972 fels
AAA Francia 1978 kzp
AAA Olasz 1981 fels
BBB Olasz 1976 fels

13.3 bra: Az ismtld tulajdonsgok kikszblse

Amikor az ismtld adatokat az eredeti egyedbl az jba helyezzk, azokat mindig ki kell
egszteni az eredeti egyed azonostjval (Trzsszm). Ennek kt oka van. Egyrszt enlkl a
ttel nlkl az ismtld adatokat tartalmaz j egyednek nem lenne egyrtelm azonostja.
Msrszt elvesznnek az ismeretek kztti sszefggsek. Az eredeti egyedben a szemlyekhez
ktdtek a nyelvtudsra vonatkoz ismeretek. Ezt a kapcsoldst az j tervrszletben sem szabad
elveszteni.
Az ismtld adatok kikszblse nha j adat bevezetsvel is jr. Ennek nem modell-
elmleti, hanem gyakorlati okai vannak. Az j egyed (itt: NYELVTUDS) azonostja ugyanis
mindig sszetett: az eredeti egyed elsdleges kulcst egsztjk ki egy msik, clszeren kivlasz-
tott tulajdonsggal. Viszont nem szeretjk, ha az azonost hossz. Ezrt esetleg bevezetnk egy
rvidebb tulajdonsgot, amint azt a 13.4 bra mutatja. Hangslyoznunk kell, hogy a Nyelv maga
is egyrtelm, azonostsra alkalmas tulajdonsg volt. Ezrt a Nyelvkd alkalmazsa mr nem a
tulajdonkppeni normalizls rsze.

SZEMLY NYELV
Trzsszm ... Nv Nyelvkd ... Nyelvnv
AAA Kovcs L. 01 Angol
BBB Szab P. 04 Francia
07 Olasz

185
NYELVTUDS
Trzsszm Nyelvkd Vizsgav Vizsgaszint
AAA 01 1972 fels
AAA 04 1978 kzp
AAA 07 1981 fels
BBB 07 1976 fels

13.4 bra: Az j struktra kiegsztse

Brki meggyzdhet arrl, hogy j megoldsunk a 13.4.1 alpontban ismertetett problmk


mindegyikt kikszbli. Egy szemlyhez tetszleges szm nyelvtudst lehet ktni. A NYELV
egyedbl kiindulva ppen ugyanolyan mdon lehet visszakeresni az adott nyelvet beszl szem-
lyeket, mint a SZEMLY egyedbl kiindulva azt, hogy egy szemly milyen nyelvek ismeretvel
rendelkezik. Ezrt a kezels abszolt egyenslyos. (N.B.: A tagok sorrendje az sszetett azono-
stkon bell kzmbs. A Trzsszm+Nyelv sszetett kulcs kt rsze elvileg ugyangy rhet el.
Csak a papr termszete miatt kell az egyik tagot a msik el rni.)
A fenti pldval szemben vannak helyzetek, amelyekben az ismtld adatok levlasztsval
nyert j egyednek nincs olyan tulajdonsga, amely betlthetn az azonost szerept. Erre mutat
pldt a 13.5 bra, amely a 12.3 bra egyik rszlete nmileg j formban.

KR
Krszm Dtum Tpus Tulajkd Krsszeg
23456 05.14 Lada 134567 X
BMW 134568 Y
23656 06.06 Polski 136567 Z
24456 06.30 Lada 134567 Q

13.5 bra: Ismtldst tartalmaz KR egyedtpus

Amint ltjuk, a Tpus, a Tulajkd s a Krsszeg tartalma ismtldik. Teht a KR egyed


0NF alakban van s ezrt azt t kell alaktani. Ha a normalizlsi szablyoknak megfelelen
jrunk el, akkor az ismtld adatokat j egyedtpusba tesszk s azt kiegsztjk az eredeti
egyedtpus azonostjval. Az idleges megoldst a 13.6 bra mutatja.

KR
Krszm Dtum
23456 05.14
23656 06.06
24456 06.30

186
EGYEDI-KR
Krszm Tpus Tulajkd Krsszeg
23456 Lada 134567 X
23456 BMW 134568 Y
23656 Polski 136567 Z
24456 Lada 134567 Q

13.6 bra: A KR egyedtpus megbontsa

A mvelet elvgzse utn megdbbenve tapasztaljuk, hogy az j EGYEDI-KR ttelben nem


tallunk megfelel azonostt. Az j kulcs egyik rsze a Krszm, hogy tudjunk kapcsolni a KR
egyed fel, de mi lesz a msik rsze? Hiszen egy kresemnyben rszt vehetnek azonos tpus
kocsik. Az sem kizrt, hogy egy tulajdonos kt azonos tpus kocsija megy egymsba. Az
EGYEDI-KR egyedtpusban egyszeren nem tallunk megfelel kulcsot.
Ilyenkor a hagyomnyos normalizlsi eljrssal nem jutunk sehov sem. Mr pedig
egyedtpus nem ltezhet j azonost nlkl. Ezrt nem normalizlsi, hanem szemantikai
megoldshoz kell folyamodnunk. Mieltt ezt kifejtennk, r kell mutatnunk, hogy milyen tipikus
krlmnyek kztt tallkozhatunk ezzel a problmval.
Ez a gond az n. kimenetorientlt (lsd 12.5.4 alpont) egyedek megbontsakor szokott
fellpni. Az adott szempontra kihegyezett kimenetekben nem mindig van szksg a jelensgek
egyedi behatrolsra. Hiszen a kimenetnek lehet ppen az a clja, hogy valamilyen ler jellem-
z szerint rendezze el az adatokat. Esetnkben valakik a krok tpusok szerinti osztlyozsra
voltak kvncsiak. A konkrt kocsik ismereteiben nem voltak rdekeltek.
A plda vilgosan mutatja, hogy nem szabad az adatmodellben kimenetorientlt egyedeket
tervezni. A kimenetet elemezni kell s fel kell bontani az azon lv ismereteket a valsgos
jelensgeknek megfelelen. Ennek sorn gyakran tkznk az azonosthatatlansg problmjba.
A 13.6 bra szerkezetnek a pontostsra nincsen semmifle matematikai- vagy modellezs-
technikai eljrs. Az adatbzis tervezsnek egyik apr titka, hogy vannak normalizlhatatlan
szerkezetek. Az ilyenek esetben magunknak kell a jelensgek termszetes sszefggseinek az
alapjn megkeresni a megfelel azonostt.
Nem lesz nehz rjnnnk arra, hogy pldnkban a Rendszm tulajdonsgra van szksg. Az
ugyanis vilgos, hogy a kroknak nem a tulajdonosok s fleg nem a kocsitpusok a kzvetlen
rszesei, hanem maguk a kocsik. A kocsikat pedig felttelezsnk szerint a rendszm azonostja.
Ezrt az idlegesen j megoldst a 13.7 bra mutatja.

KR
Krszm Dtum
23456 05.14
23656 06.06
24456 06.30

187
KR/KOCSI
Krszm Rendszm Tpus Tulajkd Krsszeg
23456 ABC 134 Lada 134567 X
23456 BCD 265 BMW 134568 Y
23656 DEF 896 Polski 136567 Z
24456 ABC 134 Lada 134567 Q

13.7 bra: A kiegyenslyozott KOCSI-KR modellrszlet

A 13.7 bra terve csak idlegesen j. J, mert kikszblte az ismtldst s egyenslyos


modellrszletet adott. A KR/KOCSI alapjn ugyangy tudunk vlaszolni a Milyen kocsik
vettek rszt a 23456 szm krban? krdsre, mint a Melyik krok rtk az ABC 134 rend-
szm kocsit? felvetsre. Csak idlegesen kedvez, mert szembetn a tblzatban az ABC 134
- Lada -134567 rtksor fizikai redundancija.
Ezzel a problmval majd a kvetkez fejezetben foglalkozunk. Most mg r kell mutatnunk
arra, hogy az ismtlds lehet tbbszrs, st begyazott is. Fel kell trnunk azt is, hogy nha az
ismtlds rejtett formkat lt.

13.4.4 Tovbbi tudnivalk az ismtldsrl

A normalizls els lpse nem mindig ilyen egyszer. Sokszor elfordul, hogy az eredeti, a
megbontand egyedtpus tbbfle ismtldst tartalmaz. Termszetesen ekkor a megbontssal
tbb j egyedtpus szletik. Az eredetileg elkpzelt SZEMLY egyedben lehetnek a cmre, a
nyelvtudsra, a kpzettsgre, a ptlkokra stb. vonatkoz ismtld adatok. Ezek eltvoltsval
egymshoz kpest mellrendelt CM, NYELVTUDS, KPZETTSG, PTLK stb. egyedeket
kapunk.
Az is megtrtnik, hogy az eredeti ismtlds levgsval nyert j egyed tovbbi ismtldst
tartalmaz. Teht az eredeti egyed egy-egy elfordulsa nem egyszeren ismtld adatot, hanem
adat-hierarchit tartalmazott. Pldul a SZEMLY egyed Br adatcsoportja havonta ismtldik,
de a havi br sora is tbb rszsorra bomlik mondjuk Jogcm szerint. Ekkor a normalizls els
lpse utn a BR s a JOGCM egyedtpusokat kapjuk, amelyek kzl az elbbi az utbbi
flrendeltje.
Most pedig trjnk t a problmkra. A fejlesztk s a felhasznlk egyik rossz szoksa az
ismtlsek elrejtse. Ezt klnbz adatnevek alkalmazsval teszik a 13.8 bra szerinti mdon.

SZEMLY
Trzsszm ... Nv Nyelv-1 Nyelv-2 Nyelv-3
AAA Kovcs L. Angol Francia Olasz
BBB Szab P. Olasz - -
CCC Molnr E. Spanyol - -

13.8 bra: Nevek mg rejtett ismtls

188
A tervez meg van elgedve a 13.8 bra megoldsval mondvn, hogy itt nincs normalizlsi
problma, hiszen minden tulajdonsgtpus minden egyedelfordulsra csak egyszeres rtket vesz
fel. Nincs adatismtlds. Persze a kicsit is jratos tervez azonnal felfedezi ezt a trkkt s
ugyangy felszmolja a rossz adatszerkezetet, mint a nylt ismtlsek esetben. Azrt, mert a
rejtett ismtls pontosan azokat a problmkat veti fel, mint a nylt.
Az ismtlds elrejtsnek a fenti mdja intenzionlis, amennyiben a tulajdonsgtpusok
krt nvelte a tervez. A msik mdszer extenzionlis, vagyis az egyedelfordulsok szmt
emeli a fejleszt. Pldul a 13.5 bra els - ktsoros! - elfordulsnak a msodik sort kiegszti
a Krszm s a Dtum els sorbeli rtkvel. Ezzel persze visszakapja az 12.3 bra KR egyedt.
Amely, mint tudjuk rossz volt, hiszen nincs egyedi azonostja. Teht az a KR egyed nem
relci. Tanulsg: kiegsztssel sohasem szabad normalizlni.
Egy tovbbi rossz szoks az ismtlsek kiiktatsa. Itt megint csak a SZEMLY egyedet
tudjuk felhozni pldaknt. Nagyon sok helyen vezetik a szemlyek Legmagasabb-vgzettsg nev
tulajdonsgt. Egyszeres tartalommal, ismtlds nlkl. Holott elgg vilgos, hogy egy-egy sze-
mlynek lehet kt vagy tbb teljesen azonos rang legmagasabb vgzettsge. Mivel a fejleszt
s a felhasznl csak egyszeres rtket enged meg, a teljes ismeret nem kezelhet s a bevitt adat
is tvesen tjkoztat. Mert ha valaki mrnk is meg kzgazdsz is, akkor csak az egyik ismeret
kerl az adatbzisba.
Ha egy tulajdonsg a termszetnl fogva ismtld tartalm, akkor azt kln egyedtpusban
kell tkrzni. Az elz plda esetben fel kell venni a SZEMLY-VGZETTSGE egyedet,
amelyben szemlyenknt tetszleges szm vgzettsg kezelhet. Egy kis titok: Az okos tervez a
minst jelzk alapjn fedezi fel a kiiktatott ismtlseket. A legmagasabb jelz mris utal arra,
hogy tbb vgzettsg van. Hasonl alapon bukkanhatunk r az olyan ismtelt adatokra, amelyek-
nek a nevben legutols, f, elz stb. szerepel. Nem azt lltjuk, hogy minden ilyen
esetben azonnal j egyedtpusban kell gondolkodni. Hanem azt, hogy a terveznek utna kell
nznie annak, hogy valban elegend-e pldul a (kzvetlen) Elz-munkahely vezetse, vagy
pedig tbb korbbi munkahely adatra is szksg van.
A harmadik tervezi gyerekbetegsg az rtkkombinlssal trtn ismtlds-lczs.
Mivel szrevesszk, hogy egy szemlynek tbb vgzettsge is van, sszetett kdokat vezetnk be.
Az X kd jelenti a mrnkt, az Y a kzgazdt, a Z pedig azt, aki mrnk is s kzgazda is.
Pedig az ilyen megoldsok logikus kvetkezmnyei kzismertek. A kdok kombinciit egy id
utn mr senki sem tudja nyomon kvetni, a programok pedig egyre bonyolultabbak s
nehezebben mdosthatk lesznek. Mert ha Z mrnkt is jelent, akkor ugyebr programmal kell
kikeresnnk az X s a Z (majd s a Q, ksbb s a W stb.) vgzettsg szemlyeket, ha a
mrnkk adataira vagyunk kvncsiak.
Ezen a ponton megfogalmazhatjuk az adatbzistervezs egyik legfontosabb titkt, st, ha gy
tetszik legfontosabb trvnyt:

Sohasem szabad az adatszerkezetet egyszersteni a programbonyolultsg rovsra.

Ez a trvny sszefgg az n. szzszzalkos elvvel (angolul: 100% principle), amely szerint


minden az ismeretekre vonatkoz ismeretet csakis az adatmodellben szabad megfogalmazni (ld.
7.2 pont). Az adatatok ugyanis sokkal knnyebben vltoztathatk, mint a programok. Semmit
sem vesztnk azzal, ha ltrehozunk a tiszta gondolkods jegyben egy VGZETTSG egyedet,
amelyben nem kell kdokat kombinlni, amely tetszlegesen bvthet s mdosthat mindenfle
programkarbantarts nlkl.

189
13.5 A normalizls lnyege

Ebben a fejezetben ppen csak, hogy megindultunk a normalizls hossz s rgs tjn. m
mris begyjthettnk magunknak egy sor fontos tapasztalatot. Mivel jellegk szerint az els
kvetkeztetseink meg fognak ismtldni a ksbbiek sorn is, rdemes rviden sszegezni eddigi
tudsunk lnyegt.
A szakirodalom jelents rsze azt a ltszatot kelti, hogy a normalizls tisztn matematikai
eljrs, amely szinte mechanikusan vgrehajthat a megfelel sszefggsek felfedezse utn. (E
knyv szerzje tredelmesen bevallja, hogy nhny rgebbi kiadvnyban sajt maga is ezt a
hamis nzetet sugallta. m az a korszaka mr rg elmlt.) A 13.6 bra modellje illetve a 13.4.4
alpontban megvilgtott esetek nagyon egyrtelmen mutatnak r arra, hogy a matematikai alap
normalizls az adatbzistervezsnek csak az egyik - igaz: nagyon hasznos s knnyen rthet -
aspektusa.
Viszont nagyon gyakran tallkozunk olyan helyzetekkel, amelyekben matematika nem segt
s sajt sszer megoldst kell tallnunk. Ilyenkor nincs ms lehetsgnk, mint maghoz a
valsghoz fordulni s a dolgok sszefggseinek a termszett kutatni. Vgeredmnyben
szemantikai elemzst kell vgrehajtanunk.
Az adatmodellben lehetnek az rtelmezsre visszahat strukturlsi s a struktrt befoly-
sol rtelmezsi hibk. A kvetkez fejezetekben ki fogjuk mutatni, hogy sokszor csak szeman-
tikai elemzssel lehet javtani az adatmodellt, mskor pedig a matematikai elemzs hvja fel a
figyelmet alapvet rtelmezsi problmkra. Vagyis a matematikai s a szemantikai tervezsi
eszkztr nem kizrja, hanem kiegszti egymst.
Ezrt ebben a knyvben a normalizls nem azt fogja jelenteni, mint ms kiadvnyokban.
Nem pusztn a normalizls mechanikus lpseinek a bemutatsa a clunk. Fel fogjuk trni az
emberi elemzs ltalunk ismert egyb momentumait is. Ezrt, gy vljk, hogy adatbzistervezsi
mdszernket jogosan nevezzk szemantikus normalizlsnak.

13.6 Normalizls s struktra

Mint fentebb is emltettk, az igazi normalizls mg elttnk van. A 0NF alakban lv


egyedtpusok nem-normalizltak, a sz matematikai rtelmben mg relcinak sem tekinthetk.
A relci ugyanis ktdimenzis tbla, amely eleve felttelezi, hogy az oszlopok s sorok tallko-
zsnl csakis elemi rtkek szerepelnek. Normalizlni csak relcit lehet. Ezrt eddig tulajdon-
kppen csak azt mondtuk el, hogy miknt tesszk egyedtpusainkat - relcikk.
Azonban mr a 0NF alak egyedtpusok felszmolsa is alkalmat ad szmunkra ahhoz, hogy
feltrjunk bizonyos olyan szerkezeti sszefggseket, amelyekre a ksbbiek sorn is rdemes lesz
figyelni.
Amikor az ismtld tulajdonsgokat kiemeljk egy egyedtpusbl, nem tesznk mst, mint
helyrelltjuk az ismeretek termszetes rendjt. Trjnk csak vissza a 13.2 bra pldjra! Az
ember s a nyelv kt klnbz jelensg annak dacra, hogy az ember beszli a nyelvet. A szerz
bnatosan bevallja, hogy mg szuahli nyelven sem tud. Ennek ellenre nem ktsges, hogy a
szuahli nyelv ltez valsg. A szemlyek s a nyelvek kztti sszefggs a dolgok elvitatha-
tatlan termszete szerint M:N fok. Egy szemly tbb (N) nyelvet tud s ugyanazt a nyelvet tbb
(M) szemly hasznlja. Ezrt akkor, amikor a Nyelv tulajdonsgot a SZEMLY egyedhez ktjk,
a jelensgek termszetes hljbl mestersges hierarchit, teht 1:N fok viszonyt krelunk.

190
Csak arra figyelnk, hogy egy (1) szemly tbb (N) nyelvet beszl. A msik oldalrl elfeled-
keznk.
Ezrt valban igaz, hogy amikor az ismtld tulajdonsgokat kiemeljk az egyedtpusbl,
akkor az ismeretek termszetes rendjt lltjuk helyre. A szemantikus normalizls ennl sem
kevesebbet, sem tbbet nem jelent. Clja az ismeretek termszetes rendjnek a megtallsa.
A normalizls kihat az egyedtpusok bels szerkezetre, azaz tulajdonsgtpusainak a
sorra. Az egyik egyedtpusbl elvesznk nhny tulajdonsgtpust s azokat a msikba illesztjk.
Ennek a mveletnek a sorn hatatlanul talaktjuk az egyedtpusok kls szerkezett, azaz
kapcsolataik egyttest is. Ha a SZEMLY egyedbl kiemeljk a tulajdonsgokat s ltrehozzuk
a NYELVTUDS egyedet, akkor az eredeti s az j egyedtpus kztt kapcsolatot kell terem-
tennk.
Vegyk szre, hogy mindez mennyire szpen elrendezett elvek szerint trtnik. Az ismtld
tulajdonsgok elklntsvel nyert j egyed mindig
sszetett azonostj gy, hogy az azonost egyik rsze az eredeti egyed elsdleges kulcsa, a
msik rsze pedig az ismtld adatok azonostsra alkalmas tulajdonsg;
az j egyedben az els kulcsrsz kapcsol szerepet tlt be, vagyis az eredeti egyedhez
kapcsolja az jat;
ezrt az eredeti egyed az jjal 1:N fok viszonyban ll;
ez a kapcsolat birtoklsi jelleg;
a kapcsolat ktelez vagy opcionlis attl fggen, hogy az eredeti egyedtpus minden
elfordulsban volt-e rtke az azonost msik rsznek;
amennyiben az azonost msik rsznek az abszolt szerepe is azonost (lsd 13.4 bra),
gy az j egyed azzal is 1:N fok kapcsolatban ll s gy kt, hls viszonyban lv jelensg
kztt teremt termszetes sszefggst;
amennyiben az azonost msik rsznek az abszolt szerepe nem azonost, gy az j egyed
az ismeretek termszetes hierarchikus elrendezst szolglja.

A kittelek kzl csak az utbbi rdemel kln magyarzatot. Mert az vilgos, hogy a
NYELVTUDS egyed azonostja sszetett (Trzsszm+Nyelvkd); a kulcs els rsze az eredeti
SZEMLY egyedhez kapcsol; ez a kapcsolat 1:N fok, mert egy szemly tbb nyelven is beszl-
het; opcionlis, mert vannak szemlyek, akik nem beszlnek idegen nyelvet; az azonost msik
rsze azonost abszolt szerep s gy a NYELV egyedhez 1:N fok viszonnyal kapcsol, aminek
kvetkeztben ltrejn a SZEMLY s a NYELV egyedtpusok kztti, a NYELVTUDS ltal
kzvettett M:N-es viszony.
Nha elfordul, hogy az ismtld adatok levlasztsval nyert j egyed azonostjnak a
msik rsze nem kapcsol harmadik egyed fel. Vegyk csak pldul az Elz-munkahely adatot,
amely a SZEMLY egyedtpus tulajdonsga. A tervez utnanz a dolgoknak s kiderti, hogy
nemcsak a kzvetlen megelz munkahely kimutatsa szksges, hanem j lenne adatbzisban
trolni az sszes korbbi munkahely bizonyos adatait is. Ezrt krel egy ELZ-MUNKAHELY
egyedet, amelyben a Trzsszm a SZEMLY fel kapcsol.
A felhasznlk csak az elz munkahely pnzgyi adataiban rdekeltek. Nem kvncsiak
magra a(z elz) munkahelyre. Nem akarnak ismereteket vezetni arrl. Teht a munkahely nem
ismeretekkel lerand jelensg, nem egyed. Nem lesz MUNKAHELY egyedtpusunk. A tervez
egybknt sem tudn azonostkkal elltni a vilg sszes lehetsges elz munkahelyt. Ezrt az
ELZ-MUNKAHELY egyed azonostjnak msik rszeknt a foglalkoztats kezd dtumt
vlasztja. Ez nem kapcsol a nem-ltez MUNKAHELY egyedhez. gy az j egyedtpus nem hls
viszonyt teremt, hanem kifejezi azt a termszetes hierarchit, hogy egy szemlynek tbb korbbi
munkahelye is lehetett.

191
13.7 Ismtlds s ktsgek

Ezt a fejezetet egy ugyancsak komoly fejtrst okoz problma ismertetsvel kell zrnunk. A
13.8 bra kapcsn emltettk, hogy a tervezk nem mindig veszik szre a rejtett ismtldseket s
gy, a szerkezetet nem normalizlva, rossz adatmodellt alkotnak. Csakhogy nem mindig olyan
knny annak feltrsa, hogy rejtett ismtldsrl vagy pedig egszen ms helyzetrl van-e sz.

KIKLDETS-1
Kikldets ... Szlls tkezs Dologi
AAA X Ft A Ft L Ft
BBB Y Ft B Ft M Ft
CCC Z Ft C Ft N Ft

KIKLDETS-2
Kikldets Kltsgtpus Kltsg
AAA Szlls X Ft
AAA tkezs A Ft
AAA Dologi L Ft
BBB Szlls Y Ft
BBB tkezs B Ft

13.9 bra: Az utaz gynk problmja

A 13.9 bra pldja ismt elgondolkodtat bennnket arrl, hogy lehet-e mechanikusan adat-
bzistervet kszteni. A szemlyek kikldetsrl van sz. A kikldtt szemly hrom kltsg-
trtst kap: szllskltsget, tkezskltsget s egyb dologi, pldul utazsi, kltsget. Most
tessk eldnteni, hogy a 13.9 bra melyik megoldsa a jobb. Az, amelyben a kltsgek egyms
mellett, kln tulajdonsgnvvel (intenzionlisan) jelennek meg, vagy az, amelyben egy nv alatt,
pusztn rtkekknt (extenzionlisan) tnnek fel.
Mi okozza a gondot? Az egyik tervez azt gondolhatja, hogy az els megolds extenzionli-
san (nevek mg) rejtett ismtldst tartalmaz (ld. 13.4.4 alpont). Az ismtldst le akarja vgni.
Ekkor viszont a sorok azonosthatatlanok lesznek. Ezrt vezeti be a Kltsgtpus j tulajdonsgot
a msodik megoldsnak megfelelen. Vgeredmnyben a tulajdonsgtpus nevekbl (Szlls stb.)
tulajdonsg-rtkeket krel. Viszont a msik tervez szerint az els megolds gy j, ahogyan
van, mert sz sincs ismtldsrl. A 13.8 brban a Nyelv-1, -2 s -3 rtelme ugyanaz. Ezzel
szemben a Szlls kltsg nem azonos rtelm a msik kt kltsgflvel.
Melyik terveznek adjunk igazat? Annak idejn egszen konkrtan ez a plda akarta
megingatni a tervezknek a normalizlsba s a modellelemzsbe vetett hitt.
Mi egyrtelmen az els megolds hvei vagyunk. A Szlls s az tkezs kltsg ms clt
szolgl. Nem cserlhetk fel; nem vihet az egyik rtk a msik helyre; nem krdezhet le az
egyik tartalom a msik helyett stb. Ezrt - szemben a nyelv pldjval - itt nem lpnek fel az
ismtlds ltal okozott problmk.

192
Persze a msodik vltozat hvei azzal fognak rvelni, hogy mr akr holnap is fellphet egy
j kltsgtpus. Ebben az esetben az megoldsukban nincs szksg szerkezeti mdostsra.
Hiszen az j tartalom (pl. Reprezentci kltsg) rtkknt, sorbvtsknt, extenzionlisan
jelenik meg. Ugyanakkor az els verziban a szerkezetet ki kell egszteni az j tulajdonsg-
tpussal, ami strukturlis, teht intenzionlis mdostst jelent.
A korbbi maximlisan hrom nyelvvel szembeni negyedik, tdik stb. nyelv bevezetse
esetn ez az rvels valban meggyz. Azonban senki sem gondolhatja, hogy a reprezentcis
kltsget ugyangy fogjk kezelni, mint a szllskltsget. Ha azt tennk, akkor nem volna
rtelme a klnbz megjellseknek (Szlls szemben Reprezentci). A tervezknek ki kell
bklnik azzal, hogy az egyedtpusok idnknt j tulajdonsgtpusokkal bvlnek. Ez a legegy-
szerbb, legknnyebben vgrehajthat szerkezeti vltoztats.
A msodik megolds mellett rvelk a jelensgeket - egyedtpusokat - csupn zrtan, nma-
gukban, egymstl szeparltan vizsgljk. Ez a hagyomnyos normalizls egyik legnagyobb
hibja. Mert gondoljunk csak jobban bele a pldba! Hol tkrzdnek magnak a kikldetsnek
az adatai? Az, hogy kit, hov, mettl-meddig stb. bocstottak tra? Az els megolds esetben
mindezeket az ismereteket maga az egyed tartalmazhatja. A msodik vltozat esetben viszont
szksgess vlik egy kln KIKLDETS egyed. Teht nemcsak j tipizl tulajdonsgot
(Kltsgtpus), hanem j egyedet, st j kapcsolatot is maga utn von a msodik verzi. Hiszen a
KIKLDETS s a KIKLDETS-2 egyed kztt viszonyt kell teremteni.
Az utaz gynk specilis esete rvilgt egy ltalnos adatbzistervezsi problmra. A
tervezk hajlamosak arra, hogy elfeledkezzenek a jelensgek sszefggseirl s a dolgokat egy-
mstl elklntve vizsgljk. Kis pldnkkal attl akarjuk vni ket, hogy a normalizls nagy-
szer technikjt mechanikusan hasznljk. A msik fontos tanulsg az, hogy egyszer s tiszta
szerkezetekre kell trekedni. Kerlni kell az j, mestersges tnyezk felvtelt a modellbe. Azok
nlkl is lesz elegend elemzsi gondunk, amint azt a kvetkez fejezetbl mindjrt meglt-
hatjuk.

Ellenrz krdsek - 13

13/01 Az irnytszmmal azonostott helysgek megykben helyezkednek el. Minden me-


gyben lehet tbb telepls s minden telepls csak egy megyben van. (Most tekintsnk
el Budapesttl.) Az albbi kpletek kzl melyik helyes? Adja meg a helyes vlasz(ok)
sorszmt.

- Irnytszm Megyekd
- Irnytszm Megyekd
- Irnytszm \> Megyekd
- Irnytszm <\ Megyekd

13/02 Az Irnytszm Teleplsnv fggs milyen jelleg a TELEPLS egyeden bell?


Mindkt oldalrl gyenge (G), mindkt oldalrl ers (E), csak bal oldalrl ers (B), csak
jobb oldalrl ers (J). Gondoljon arra, hogy nem csak a teleplseknek van irnyt-
szma.

13/03 Adott a Gyerekkd s az Apakd tulajdonsg. Adja meg a kt ttel kztti viszony jelt
akkor, ha a gyerek termszetes apjrl van sz (A) s akkor, ha vls vagy egyb ok
miatt a klknek tbb papja is lehet (B).

193
13/04 Adja meg a fggsi viszonyok jelt a kvetkez tulajdonsgprosokra:

Raktrkd/Cikk-kd - adott cikk tbb raktrban is lehet


Raktrkd/Cikk-kd - adott cikk mindig csak egy raktrban troldik
Rendelsszm/Cikk-kd - a rendels egytteles
Rendelsszm/Cikk-kd - a rendels tbbtteles
Irnytszm/Kerletkd - Budapesten
Frjkd/Felesgkd - csak az aktulis hzassg rdekel bennnket
Frjkd/Felesgkd - minden volt s ltez hzassg rdekel bennnket

13/05 Az Irnytszm azonostja a teleplseket. Milyen jelleg az Irnytszm ==>


Teleplsnv domjnfgggs? Mindkt oldalrl gyenge (G), ers (E), csak jobboldalrl
ers (J), csak baloldalrl (B) az.

13/06 Adott a RENDELS (Rendelsszm, ..., Vevkd) egyed. Milyen termszet a


Rendelsszm s a Vevkd fggse? A helyes vlasz szmt krjk.

- Egyeden belli.
- Egyedek kzti.
- Mindkett.

13/07 Tegyk fel, hogy megrendelseink ltalban egyttelesek. Ezer megrendels kztt csak
egy van, amely tbb cikkre is vonatkozik. n szerint mi a Rendelsszm s a Cikkszm
viszonya? A helyes vlasz szmt krjk.

- A Cikkszm meghatrozza a Rendelsszm-ot.


- A Rendelsszm-tl fgg a Cikkszm.
- A kt ttel egymstl fggetlen.
- A kt tulajdonsg hol fgg, hol nem fgg egymstl.

13/08 Megengedhet-e (M) vagy sem (S) a kvetkez adatbzisterv? A szmla a szemly ltal
az adott hnapban befizetett sszegek summja.

SZEMLY (Trzsszm, ..., Pros-havi-szmla, Pratlan-havi-szmla)

13/09 Adja meg az elz plda helyes megoldst!

194
14. ALAPVET NORMLFORMK

14.1 A normalizls alapjai

Az adatmodellezs egyik f clja az optimalizls (ld. 12.6 pont), vagyis az adatmodellt


alkot egyedtpusok lehet legjobb bels s kls szerkezetnek a megkeresse. Knyvnk els
rszben rmutattunk arra, hogy ez a kt struktra klcsnsen sszefgg. Az egyedtpus tulaj-
donsgtpusainak a sora a kapcsol szerep tulajdonsgokon t meghatrozza az egyed kapcsolat-
tpusainak az egyttest s fordtva: a kapcsolatok befolysoljk azt, hogy az egyednek milyen
tulajdonsgai lesznek.
Az optimlis adatmodell kialaktsra - egyb technikk mellett - a normalizls szolgl. A
normalizls az a mveletsor, amellyel kialaktjuk az egyedtpusok lehet legjobb norml-
formjt (NF). Eredeti rtelmben a normlforma az egyed bels szerkezetnek a minsgt
mutatja s csak kzvetve befolysolja a kls szerkezetet [21]. A hagyomnyos normalizlsi
eljrs sorn egyenknt llaptjuk meg az egyedtpusok normlalakjait s nem foglalkozunk az
egyedek kztti viszonyokkal. Mra mr a normalizls s a normlforma jelentse kibvlt, de
ezt a tmt majd csak ksbb fejthetjk ki.
Ebben a rszben az eredeti normlalakok kzl a legegyszerbbeket mutatjuk be. Az 1NF,
2NF s 3NF formkrl lesz sz. Ezeket majd a megfelel pontokban rszletezzk. Itt elzetesen
nhny ltalnos sszefggsre kell felhvnunk a figyelmet.
A normlformk - a felsoroltak s az azokat kvet BCNF, 4NF illetve 5NF alakok is -
jsgi szinteket jelentenek s egymsba skatulyzottak. Ezen kt dolgot kell rteni. Egyrszt
azt, hogy pldul a 2NF alak matematikai rtelemben jobb, mint az 1NF; a 4NF jobb, mint a
BCNF; az 5NF pedig a legjobb forma. Msrszt azt, hogy pldul a 3NF alak egyed szksg-
szeren 1NF s 2NF alak is. Teht ezek a normlalakok nem fggetlenek egymstl, hanem
logikusan egymsra plnek.

Ebben a fejezetben az adatmodell alapvet hibit, azok elmleti szerkezeti okait, a hibk
kikszblsre alkalmas normlalakokat s az ezek elrsre szolgl normalizlsi
lpseket trjuk fel azok eredmnyeivel egytt.

Az albbiakban s a kvetkez fejezetben a normalizls lnyegt lpsenknt, a norml-


formk jsgi szintjei szerint mutatjuk be. Az 1NF alak utn ismertetjk a 2NF formt stb.
Ennek a megkzeltsnek az egymsrapltsg miatt csak didaktikai okai vannak. J, ha a
tervezk egyszer elmletileg megrtik az egyes alakokhoz tapad problmkat kln-kln is.
Pragmatikusan a normalizlst nem lpsenknt hajtjuk vgre. Nem egyenknt szntetjk meg
az elzetesen elkpzelt adatmodell szerkezeti hibit. Ha egy egyedtpus egyszerre mutatja az 1NF
s a 2NF alakokhoz kapcsold problmkat, akkor azokat igyeksznk egycsapsra felszmolni.
Pontosan ehhez az azonnali gyakorlati ttekintshez szksges a normlalakok j elmleti
ismerete.

195
14.2 A msodik normlforma

Trjnk vissza az eredeti kocsi pldhoz. A 13.7 brn mutattuk be, hogy a nem-normalizlt
KR egyedtpust miknt bontottuk meg KR s KR/KOCSI egyedekre. Az utbbi ttelt fogjuk
tovbb vizsglni, ezrt az esetet itt megismteljk. Lsd 14.1 bra.

KR
Krszm Dtum
23456 05.14
23656 06.06
24456 06.30

KR/KOCSI
Krszm Rendszm Tpus Tulajkd Krsszeg
23456 ABC 134 Lada 134567 X
23456 BCD 265 BMW 134568 Y
23656 DEF 896 Polski 136567 Z
24456 ABC 134 Lada 134567 Q

14.1 bra: Egyedtpus 1NF alakban

A KR/KOCSI egyedtpus minden elfordulsa minden tulajdonsgtpusra csak egyetlen


rtket vesz fel, vagyis nem tartalmaz ismtld tulajdonsgot.

D 14/1 Az egyedtpus akkor s csak akkor van legalbb els normlformban (1NF), ha
minden nem-kulcs tulajdonsgtpusa funkcionlisan fgg az azonosttl.

A KR/KOCSI egyedtpus Krszm+Rendszm sszetett tulajdonsga azonostknt


funkcionlisan meghatrozza az sszes tbbi tulajdonsgot, hiszen a pros minden rtkhez csak
egy Tpus, Tulajkd s Krsszeg rtk kapcsoldik. Ezrt az egyed 1NF alakban van. Amint
ltjuk, az 1NF alak egyedben nem lpnek fel azok a problmk, mint a nem-normalizltban.
Teht a 14.1 bra kt egyedet fellel megoldsa jobb, mint az eredeti vltozat, amely egyetlen
KR egyedtpusban vegytette a magra a kresemnyre vonatkoz egyszeres illetve a kocsikat
egyenknt r s gy szksgszeren tbbszrs (ismtld) ismereteket (ld. 12.3 bra).
A jobbts dacra azonnal szrevesszk, hogy az j szerkezet mg mindig messze nem
tkletes, mert fizikai redundancit von maga utn (ld. az ABC 134 - Lada - 134567 rtk-
rszsor tbbszrs megjelenst). Ezrt az egyedet tovbb kell normalizlnunk. Mieltt ezt
megtennnk a definci kt furcsa kittelre kell magyarzatot adnunk.
A legalbb kittel azt mutatja, hogy vizsglataink adott szintjn az egyed elrte a meg-
nevezett normlalakot. Elemzsnk jelenlegi fzisban csak annyit tudunk a 14.1 bra KR
egyedtpusrl, hogy azlegalbb 1NF alak. Mivel mg ms sszefggseket nem tekintettnk
t, nem kizrt, hogy az egyed tnylegesen magasabb normlformj, de arrl mg nem tudha-

196
tunk. Tbbet jelenleg nem is felttelezhetnk, hiszen az egyb normlalakokat be sem mutattuk.
A kvetkez fejezet vgn az olvas konstatlhatja, hogy a most legalbb 1NF alaknak
felttelezett KR valjban tdik normlformban - vagyis optimlis alakban - van. (rulkods
egy apr titokrl: a maximum kt tulajdonsgtpussal rendelkez egyedtpusok egy igen szls-
sges s ltalunk nem trgyalt eset kivtelvel mindig 5NF alakak. Ezrt azok hagyomnyos
normalizlsra soha sincs szksg.)
A nem-kulcs (angolul: non-key) jelz elgg flrevezet. Mgis knytelenek vagyunk
alkalmazni, mert ezt hasznljk a szakirodalomban. A valsgban a kvetkezt jelenti: Egy
egyedtpusban lehet tbb olyan tulajdonsg is, amely az egyed minden ms tulajdonsgt funkcio-
nlisan meghatrozza. Nos ezeket a tnyezket hvjk kulcsnak. Ez azrt flretjkoztat, mert
nem csak az egyed ltalunk felttelezett elsdleges kulcsrl van sz. Ha a VEV (Vevkd,
Vevnv) egyedben a Vevnv rtke egyedi lenne, akkor azt is kulcsnak (= meghatroznak)
felttelezn a definci. Kvetkezskppen annak fggseit a normalizls els lpsei sorn nem
vizsglnnk. Radsul a nem-kulcs jelz mg azt is jelenti, hogy a tulajdonsg nem is rsze a
kulcsnak. Mivel pldnkban a Krszm s a Rendszm kulcsrsz, azok fggsei nem tartoznak az
1-3NF elemzsnek a krbe.
A nem-kulcs jellegnek a BCNF alakig (ld. 15.2 pont) nem lesz jelentsge. Azrt kellett
mr most beszlnnk rla, mert az 1-3NF alakok hivatalos definciiban szerepel ez a kittel. A
kulcsrszek fggseinek az elemzst a hagyomnyos normalizls egybknt is teljesen elhanya-
golja. Ebbl szmos gond fakad, amelyekre majd a BCNF formnl, de mg inkbb a 16.
fejezetben trnk ki. Itt megjegyezzk, hogy van nmi elmleti alapja annak, hogy a kulcsrszek
fggseire nem fordtanak kell figyelmet.
A projektvitsi Armstrong-szably [20] szerint az sszetett kulcs rtelemszeren megha-
trozza sajt magnak minden egyes sszetevjt. Teht ha ltezik egy A+B azonost, akkor
trvnyszeren fennll az A+B A s az A+B B fggs, ha akarjuk, ha nem. Evidens, hogy
minden Krszm+Rendszm rtkproshoz csak egy Krszm s csak egy Rendszm rtk
tartozhat. Ha megadjuk az egszet, akkor ismerjk a rszt is.
Mg egyetlen dolgot kell megemltennk, mieltt belevgnnk az igazi normalizlsba. Az
ismtldst tartalmaz egysget nem-normalizlt (ld. 13.4 pont) egyedtpusnak neveztk s
annak alakjt a 0NF jellssel illettk. Mrmost az ismtldst tartalmaz egyed a sz mate-
matikai rtelmben nem is relci. Ezrt elvileg nem lehet normlformja s elmletileg nem is
normalizlhat. A 14.1 bra megoldsa nem normalizlssal szletett, ha a normalizlsnak az
ebben a fejezetben hasznlt rtelmt tekintjk (ld. 14.2.2 alpont). Ezrt a 0NF formula csak
analgia: az egyed 1NF alak eltti helyzett, annl rosszabb minsgt mutatja. (N.B.: Egyesek
hasznljk az N1NF - not first normal form - megjellst is.)

14.2.1 A rszleges fggs s kvetkezmnyei

A 13.2 pontban mr ismertettk a rszleges fggs lnyegt. A C tulajdonsg rszlegesen


fgg az A+B tulajdonsgtl, ha az A+B C fggs mellett fennll az A C s/vagy a B C
fggs is.

D 14/2 Az E egyedtpus C tulajdonsga akkor s csak akkor fgg rszlegesen az A+B ssze-
tett azonosttl, ha a C-t az A vagy a B is meghatrozza.

A KR/KOCSI egyedben az sszetett azonost meghatrozza ugyan a Kocsitpus s a


Tulajdonoskd tteleket, de azok fggenek a Rendszmtl nmagtl is.
Az ilyen rszleges fggs szmos problma forrsa. Ezeknek a bajoknak egy rsze az egyedek
karbantartsval fgg ssze. Azonban a KR/KOCSI egyed karbantartsrl nincs rtelme

197
beszlni, mert az esemnyeket ler egyedek nem vltozhatnak. (N.B.: A hibajavtst tervezsi
szempontbl nem tekintjk karbantartsnak.) Ezrt a problmk szemlltetsre egy msik pldt
alkalmazunk. Lsd a 14.2 brt.

RENDELSTTEL
Rendelsszm Cikkszm ... Cikknv Mennyisg
123456 XXX csavar-A X
123456 YYY altt Y
123656 XXX csavar-A Z
123656 ZZZ karmanty Q

14.2 bra: Rszleges fggst tartalmaz RENDELSTTEL egyed

Mivel a Cikknv tulajdonsg fgg a teljes azonosttl, de ugyanakkor annak Cikkszm


rsztl is, a Rendelsszm+Cikkszm Cikknv fggs rszleges, amibl az albb lert n.
anomlik (visszssgok) fakadnak:

Ha a Cikknv tulajdonsgtpus ms egyedet is jellemez - ezzel vagy ms megnevezssel -,


akkor nylt vagy rejtett logikai tfedst okoz (ld. 12.4.1 s 12.4.3 alpontok).
A Cikknv tartalma fizikailag is redundns (ld. 12.4.6 alpont) s gy feleslegesen fogyasztja a
trat. Pl. tbbszr tartalmazza az adatbzis az XXX - csavar-A prost.
A redundancia miatt a Cikknv vltozsakor tbbszrs, idt rabl mdostsra van szksg.
Pldul akkor, ha a csavar-A nv csavar-B-re vltozik.
Ha a Cikknv ms egyedet nem jellemez, akkor trlsi anomlia lp fel. Ha trljk azt az
utols rendelst, amely az adott cikkre vonatkozik, akkor elveszik a cikk nevnek az ismerete
is. Pl. az 123656 rendels trlsekor megsznik a ZZZ - karmanty pros, ha csak ebben
a rendelsben krtek ilyenfle cikket.
Ha a Cikknv ms egyedhez nem kapcsoldik, akkor beviteli anomlival kell szmolni. A
Cikknv ismeretet nem tudjuk trolni az olyan cikknl, amelyre nem vonatkozik rendels. Ha
nem krtek csapgyat, akkor nem vihetjk be a QQQ - csapgy ismeretprost.

Az utols kittelt kicsit bvebben is megmagyarzzuk, felhvva a figyelmet a tervezk egy


tipikus rossz szoksra. A RENDELSTTEL kulcsa sszetett. Az azonostkra vonatkoz sza-
blyok szerint az azonost illetve annak rszei nem lehetnek res vagy ismeretlen rtkek. Ha
teht nem ismert a Rendelsszm, akkor nem vihetjk be nmagban a Cikkszm s a Cikknv
pros tartalmt egy j cikkre vonatkozan a RENDELSTTEL egyedbe.
Ezen a mindennapos problmn nhny ravasz tervez gy prbl segteni, hogy ideigle-
nes vagy l azonost-rtkeket ad ki. Pldul kiegszti a 14.2 bra tbljt a 999001 - ... -
QQQ - csapgy - 0 sorral. Mrmost az ideiglenes rtket msknt kell kezelni, mint a valdit.
Teht a ravasz tervez a programbonyolultsg rovsra prblja meg egyszersteni az adat-
szerkezetet, ami - mint mr tudjuk - tilos. A j adatbzis egyik alapvet titka a tisztasg. Hamis
rtkekkel nem ptolhatjuk a vals szerkezetet.
A fentebb felsorolt anomlik miatt a RENDELSTTEL egyedet t kell alaktanunk a D
14/2 meghatrozsra alapozva gy, hogy kiszrjk a bajokat okoz rszleges fggst.

198
14.2.2 A normalizls msodik lpse
Ebben a fejezetben az eredeti normalizlsi eljrsrl lesz sz, amelyet normlforma
dekompozcinak neveznek. Ez a mdszer onnan kapta a nevt, hogy az eredetileg felttelezett
egyedtpus tulajdonsgsort megbontjuk. Ezt az n. kivetts (angolul: projection) mveletnek
mdostott vltozatval tesszk.
A tulajdonkppeni kivetts a tnyleges adatbzison - teht nem a modellen - vgzett mvelet.
Kt lpsbl ll. Az els fzisban kiemeljk az eredeti egyedbl (RENDELS-TTEL) a
szksges tulajdonsgok (pl. Cikkszm s Cikknv) teljes (!) oszlopait egy j egyedbe. Elfordul-
hat, hogy ekkor az j egyedben azonos sorokat (XXX - csavar-A) kapunk. Ezrt a msodik
lpsben az azonos sorok kzl csak egyet hagyunk meg, mivel egy egyedtpusnak nem lehet kt
teljesen egyez elfordulsa. A kivetts nem rinti az eredeti tblzatot, amely vltozatlan
marad. Az j CIKK egyedet a 14.3 bra mutatja.

CIKK
Cikkszm Cikknv
XXX csavar-A
YYY altt
ZZZ karmanty

14.3 bra: Az alapkivetts eredmnye

Az adatmodellen vgzett kivetts nmileg msknt trtnik. Ennek a mveletnek van egy
tartalmi s egy technikai mozzanata. Az els krds az, hogy melyik tulajdonsgokat vigyk j
tblzatba. A normalizls els lpseiben mindig a rossz fggs - esetnkben a rszlegesen
meghatrozott - tulajdonsgot (Cikknv) emeljk ki annak kzvetlen meghatrozjval (Cikk-
szm) egytt az j egyedtpusba (CIKK). Az j egyedbl eltvoltjuk a dupla sorokat. gy a 14.3
bra megoldshoz jutunk. A valdi kivetts mveletvel szemben technikailag annyi az eltrs,
hogy a helytelen fggs tulajdonsg oszlopt vgleg eltvoltjuk az eredeti egyedtpusbl. Az
teht nem marad vltozatlan. A normalizls eredmnyt a 14.4 bra mutatja.

CIKK
Cikkszm Cikknv
XXX csavar-A
YYY altt
ZZZ karmanty

RENDELSTTEL
Rendelsszm Cikkszm ... Mennyisg
123456 XXX X
123456 YYY Y
123656 XXX Z
123656 ZZZ Q

14.4 bra: A RENDELSTTEL normalizlsa

199
Knny meggyzdni arrl, hogy a 14.4 bra megoldsa esetben az elz alpontban
felsorolt problmk megsznnek. A Cikknv trolsa mr csak egyszeres s gy karbantartsa is
az. A cikk nevt be tudjuk vinni attl fggetlenl, hogy vonatkozik-e az adott cikkre rendels.
Viszont akkor sem veszik el a cikknv ismeret, ha a cikk utols rendelsttelt trljk. Teht
mr csak a Cikknv esetleges logikai tfedsre - az elz alpont listjnak az els problmjra -
nem adtunk megnyugtat magyarzatot.
Mieltt arra kitrnnk illik kzreadnunk a 14.1 bra pldjnak a helyes megoldst is. A
Tpus s a Tulajkd csak rszlegesen fgg a Krszm+Rendszm sszetett azonostn. Mind-
kettt kzvetlenl meghatrozza a Rendszm nmagban is. Ezrt ezt a kt ttelt ki kell emelni a
KR/KOCSI egyedbl a Rendszm kulccsal egytt egy j egyedtpusba. A Rendszm termsze-
tesen az eredeti egyedben is megmarad. A normalizlsi lps eredmnyt a 14.5 bra mutatja.

KOCSI
Rendszm Tpus Tulajkd
ABC 134 Lada 134567
BCD 265 BMW 134568
DEF 896 Polski 136567

KR/KOCSI
Krszm Rendszm Krsszeg
23456 ABC 134 X
23456 BCD 265 Y
23656 DEF 896 Z
24456 ABC 134 Q

14.5 bra: Rszleges fggstl mentes KOCSI-KR modellrsz

14.2.3 Normlforma s szemantika

Termszetesen egy egyedben tbbfle rszleges fggs is elfordulhat. Ilyenkor azok minde-
gyikt ki kell szrni. Az eredmnyezett egyedtpusok elvileg mr nem tartalmazhatnak tovbbi
rszleges fggst. Ennek okt egy ltalnos egyednek s felttelezett fggseinek az esetn
magyarzzuk meg. A 14.1 plda mutatja a feladatot.

14.1 plda

E1 (A+B+C, D, E, F ...)

A+B+C D, E, F
A+B E, F
AF

rdemes elsajttani azt a modellezsi technikt, hogy a (kettnl) tbbszrsen sszetett


kulcsok esetben mindig elszr az nll rsztl (A) fgg tulajdonsgokat emeljk ki s csak

200
azutn trnk t a pros (A+B), hrmas stb. kulcsrszektl fgg ttelek vizsglatra. Teht
mindig a legkzvetlenebb fggst kell alapul vennnk. Ha nem gy jrnnk el, akkor az F tulaj-
donsg elszr az A+B azonostotta egyedbe kerlne. Csak akkor vennnk szre azt, hogy az F az
A+B-tl is rszlegesen fgg. Teht a lpsek szigor betartsval meghosszabbtannk a
normalizls folyamatt.
A normalizls eredmnyt a 14.2 plda mutatja. Az eredeti egyedben csak az egyetlen nem-
rszlegesen fgg D tulajdonsg marad. A megbontssal nyert msodik egyed nem tartalmazza
az F tulajdonsgot, mert azt nyilvnvalan eleve a harmadik egyedbe visszk.

14.2 plda

E1 (A+B+C, D ...)
E2 (A+B, E ...)
E3 (A, F ...)

Most pedig trjnk t egy msik titokra. A normalizlsi feladatot sohasem szabad nma-
gban, a tbbi tnyeztl elszigetelten rtelmezni. Akkor sem, ha a hagyomnyos normalizlsi
eljrs mindig csak a rossz normlformj egyed dekompozcijra koncentrl. Mert az egsz
modell szempontjbl teljesen ms a teend akkor, ha a KR/KOCSI megbontsa (ld. 14.5 bra)
sorn mr ltezik KOCSI egyedtpus, mint akkor, ha nem ltezik.
A kivettst kveten tbbfle helyzet fordulhat el. rdemes az eseteket sorra venni. A
RENDELSTTEL (Rendelsszm+Cikkszm, ... Cikknv) pldt fogjuk hasznlni a magyar-
zathoz. A 14.4 brban alkalmazott megolds szerint a Cikknv tulajdonsgot kiemeltk az
eredeti egyedbl a Cikkszm meghatrozval egytt. A krds az, hogy mi ezek utn a valdi
teend.
A mechanikusan normalizlk a kvetkez mdon gondolkoznak:

Ha mg nem ltezik a kivettssel nyert CIKK egyedtpus, akkor azt ltre kell hozni a 14.4
brnak megfelel mdon, Cikkszm azonost s Cikknv ler tulajdonsggal.
Ha mr van CIKK egyedtpusunk, de abban nem szerepel a Cikknv tulajdonsg, akkor nem
kell ltrehozni j egyedtpust, hanem a meglvt kell a kiemelt ler tulajdonsggal kieg-
szteni.
Ha mr a CIKK egyedtpus tartalmazza a Cikknv tulajdonsgot, akkor egyszeren nincs
teend: a kivetts csak a rszlegesen fgg tulajdonsgnak (Cikknv) a normalizlt egyedbl
val elhagyst jelenti.

Ez a gondolatmenet alapveten s elmletileg helyes. Azonban felttelezi a gyakorlatilag


felttelezhetetlent, miszerint a modell tnyezit eleve egyrtelmen hatroztk meg. A valsg-
ban tbbfle hiba merlhet fel a kivetts utn. A helyzetek a kvetkezk:
1.eset: Van mr CIKK egyednk, de annak nem a Cikkszm, hanem a Cikkazonost a
kulcsa. Egyszerbb helyzetben azonost-szinonimkrl van sz. Ekkor az egyik nevet elsdle-
gesnek kell vlasztani, a msikat pedig arra kell lecserlni a modell minden egyedtpusban. A
bonyolultabb esetrl majd a 14.7 pontban szlunk.
2.eset: Van mr olyan - nem felttlenl CIKK nev - egyednk, amelynek a Cikkszm az
azonostja, de az nem ugyanazt jelenti, mint a RENDELSTTEL egyedben lv Cikkszm.
(Ugyanezt a helyzetet knnyebb elkpzelni a Rendelsszm esetben, mert hiszen vannak vevi s
szllti rendelseink s - tvedsbl - mindkettnek a Rendelsszm azonostt adhattuk.) Ekkor
teht azonost-homonimkra bukkantunk. Ilyenkor az egyik vagy mindkt tulajdonsgot t kell
nevezni (Vev-rendelsszm s Szllt-rendelsszm) s ezt az tnevezst vgig kell vezetni a
modell minden vonatkoz egyedtpusban.

201
3.eset: Cikknv nev tulajdonsg nincs a CIKK egyedben. Van viszont Cikk-megnevezs
ttel. Amennyiben a kett tartalma szemantikailag teljesen azonos, gy ler-szinonimkkal
llunk szemben, amit az 1.esetnl ismertetett mdon meg kell szntetni. Viszont elfordulhat az
is, hogy a kt tnyez nem teljesen azonos. Mivel valamilyen rtelemben vett redundancirl van
sz, az egyik ttelt valsznleg ekkor is fel kell szmolni, de ehhez felhasznli konzultci
szksges.
4.eset: A helyzet szemlltetsre egy jabb tulajdonsgot alkalmazunk. Tegyk fel, hogy az
r nev tulajdonsg is jellemzi a RENDELSTTEL egyedet. A tervez azt is a Cikkszmtl
rszlegesen fggnek tartja. Ha az r szerepel a CIKK egyedben is, a mechanikus normalizls
jegyben azt egyszeren elhagyja a RENDELSTTEL-bl. Ezzel pedig nagy hibt kvethet el.
Az r lehet ler-homonima, amely a CIKK egyedben egysgrat, a RENDELSTTEL-ben
kialkudott rat jelent. Ebben az esetben pedig egyltaln nem szabad normalizlni, mert ismeretet
vesztnk. Csak a homonim neveket kell kikszblnnk egyrtelm megnevezsek ltal.
Amint ltjuk, a normalizls nem lehet mechanikus. Szemantikus normalizlsra van
szksg. Ez azt jelenti, hogy a megfelel normlforma keresse kzben - az egyedtpusok tnyle-
ges talaktsa eltt - mindig meg kell vizsglnunk a kapcsold tnyezk nevt s rtelmt,
trekedve a homonimk illetve szinonimk kiszrsre.

14.2.4 A msodik normlforma s a modellstruktra

Ha egy egyedtpus mr 1NF alak, vagyis nem tartalmaz ismtldst, akkor megvizsgland
a rszleges fggs. Termszetesen erre csak akkor van szksg, ha az egyed azonostja sszetett,
mert rszleges fggs a definci szerint (ld. D 14/2) csak ekkor lphet fel.

D 14/3 Az egyed akkor s csak akkor van legalbb 2NF alakban, ha minden nem-kulcs
tulajdonsga teljes fggssel fgg az azonostjtl.

A 2NF kialaktsa kivettssel trtnik (ld. 14.4 bra). A mvelet egyarnt kihat az egyed
bels s kls szerkezetre. A normalizlssal nyert j egyedtpus (CIKK) azonostja (Cikk-
szm) mindig az eredeti egyed (RENDELSTTEL) azonostjnak a rsze. Ebbl kvetkezen
az utbbi egyedben kapcsol szerep tulajdonsg s a kt egyed kztt kapcsolattpus ll fenn.
Ennek jellemzi az albbiak:

A kapcsolatot a rszleges fggst okoz tulajdonsg (Cikkszm) hordozza kapcsolttelknt.


Az j egyed a rgivel 1:N fok kapcsolatban ll, teht annak flrendeltje.
A ltrejv kapcsolat alulrl mindig ktelez, mert a kapcsol tulajdonsg kulcsrsz, teht
nem lehet res vagy ismeretlen rtk. Minden rendelsttelnek ismert cikkhez kell kapcso-
ldnia.
A kapcsolat birtoklsi jelleg. A cikkek rendelsttelekkel brnak.

A strukturlis sszefggseket a 14.6 bra mutatja.

202
Cikkszm

CIKK

CIKK - RENDELSTTEL

Rendelsszm +
Cikkszm

RENDELSTTEL

14.6 bra: A normalizlssal nyert RENDELSTTEL modellrsz

14.3 A harmadik normlforma

Mondanivalnk szemlltetsre most az eredeti plda (ld. 12.3 bra) KOCSI egyedtpust
fogjuk felhasznlni. Lsd a 14.7 brt.

KOCSI
Rendszm Tpus Tulajdonosnv Foglalkozs Telephely Fhatsg Frhely
ABC 134 Lada Kovcs Rzsa Keramikus K Budapest - 5 f
BCD 265 BMW AB Kft - Szeged - 5 f
DEF 896 Polski Kovcs Rzsa Mrnk M Pcs - 4 f
FGH 333 Lada XY vllalat - Budapest Z 5 f

14.7 bra: 2NF alak KOCSI egyed

Mivel a KOCSI egyedben nincs ismtld tulajdonsg s az egyed Rendszm azonostja


nem sszetett, a KOCSI a D 14/3 meghatrozs szerint legalbb msodik norml alak.
Azonban mindenki lthatja, hogy a tblban teljesen azonos ismeret-rszsorok tallhatk,
vagyis a KOCSI egyed fizikailag redundns (ld. 12.4.6 alpont). Ahny Lada tpus kocsirl
vezetnk ismeretet, annyiszor kell megadni a Lada - 5 f prost. Ezrt a tervet t kell alaktani.

203
14.3.1 A tranzitv fggs s kvetkezmnyei

Ennek a fizikai tfedsnek az elvi alapjt a harmadik Armstrong-szablyban [20] kell keres-
nnk. Ez az n. tranzitivitsi szably, amely szerint: Ha egytt fennll az A B s a B C
fggs, akkor ezekbl trvnyszeren kvetkezik az A C fggs is. Ha ezt az elvet az egyed-
tpus tulajdonsgtpusaira alkalmazzuk, akkor megfogalmazhatjuk a tranzitivits defincijt:

D 14/4 Az E egyedtpus nem-kulcs C tulajdonsga akkor s csak akkor tranzitvan fgg az


egyed A kulcstl, ha meghatrozza az azonosttl fgg B tulajdonsg is.

A 14.7 brban a Rendszm meghatrozza a Tpus s a Frhely tulajdonsgot, viszont a


Tpus nmagban is meghatrozza a Frhelyet. Ezrt a KOCSI egyed tranzitv fggst tartal-
maz.
A tranzitv fggs pontosan ugyanazokat az anomlikat okozza, mint a rszleges fggs
(lsd 14.2.1 alpont). Ezrt azokat nem lenne ildomos itt jra feszegetni. Mivel azonban a kvet-
kezmnyek igen slyosak, ismt elmagyarzzuk a problmk lnyegt. Ehhez egy j pldt
vlasztunk, amelyben a tulajdonsgok vltozkonyak, szemben a 14.7 bra Frhely ttelvel.
Lsd a 14.8 brt.

RENDELS
Rendelsszm ... Vevkd Vevnv
123456 111 X
123458 222 Y
123656 333 Z
123656 111 X

14.8 bra: 2NF alak RENDELS egyedtpus

A helytelen bels szerkezet egyedek tervezsvel megszegjk az egyrtelmsg s a


teljessg kvetelmnyeit. Az X vevnevet tbbszr troljuk. Ez egy kisebb s egy nagyobb bajt
okoz. Holnap a vev a nevt Q-ra vltoztatja. Ekkor az sszes 111 vev-kd egyed-elfordu-
lsban t kell rni a nevet. Ez a kisebbik baj. Ha a mdostst valamelyik elfordulsban elmu-
lasztjuk, akkor az 111 vevt hol X, hol Q nvvel fogjuk illetni. St, holnaputn a 222
vev X-re vltoztathatja a nevt. Ekkor mr paprjainkon semmi sem klnbzteti meg a kt
vev megnevezst. Az ilyen balgasgok miatt nem jut el a csekk a cmzetthez, viszont azt
megkapja ms, aki abban nem is illetkes.
A rosszul tervezett egyed trlsi s beviteli anomliban is szenved. Most trjnk vissza a
14.7 bra pldjra! Ha az adatbzisbl trljk az BCD 265 rendszm kocsit s felttelezzk,
hogy az volt az utols BMW, akkor elveszik a Frhely = 5 f ismeret. Megfordtva: Mr
tudjuk, hogy az j Rover-B kocsi 6 fs. Ezt az ismeretet nem tudjuk az adatbzisba vinni, mert
nincsen rendszmunk (kulcsrtknk).
Persze mindezeket a bajokat nem a teljes mrtkkben mutatjk mintapldink. Vilgos,
hogy a kocsiknak nemcsak tpusa s frhelye, hanem mrkaneve, lereje, kbcentije, slya stb. is
van. Ha mindezen ismereteket a KOCSI egyed trolja, akkor a tbbszrzs problmja, az
inkonzisztencia veszlye, a trlsi s beviteli anomlia sokkal slyosabban mutatkozik.

204
14.3.2 A normalizls harmadik lpse

A tranzitv fggs bajokat okoz; azt ki kell szrni. A krds az, hogy miknt? Ismt a kive-
tts mvelethez folyamodunk. Az egyedtpusbl el kell tvoltani a tranzitvan fgg tteleket.
Ezt termszetesen megint gy tesszk, hogy j egyedtpusba visszk lerknt a helytelen fggs
- ktszeresen meghatrozott - tulajdonsgot, azonostknt pedig annak meghatrozjt. A 14.9
bra mutatja a 14.8 bra pldjnak a megbontst.

VEV
Vevkd Vevnv
111 X
222 Y
333 Z

RE NDELS
Rendelsszm ... Vevkd
123456 111
123458 222
123656 333
123656 111

14.9 bra: A RENDELS egyedtpus megbontsa

A teljessg kedvrt megmutatjuk a 14.7 bra KOCSI egyednek a normalizlst is. Lsd a
14.10 brt.

KOCSITPUS
Tpus Frhely
Lada 5 f
BMW 5 f
Polski 4 f

KOCSI
Rendszm Tpus Tulajdonosnv Foglalkozs Telephely Fhatsg
ABC 134 Lada Kovcs Rzsa Keramikus K Budapest -
BCD 265 BMW AB Kft - Szeged -
DEF 896 Polski Kovcs Rzsa Mrnk M Pcs -
FGH 333 Lada XY vllalat - Budapest Z

14.10 bra: A KOCSI egyedtpus megbontsa

205
Az olvas jra belthatja, hogy a kivettsekkel nyert egyedek esetben mr nem lpnek fel a
korbbi anomlik. Mindez annak ksznhet, hogy az eredeti egyedeket megtiszttottuk a
tranzitven fgg tulajdonsgoktl s jobb normlformj egyedeket alkottunk.

D 14/5 Az egyed akkor s csak akkor van legalbb 3NF alakban, ha minden nem-kulcs
tulajdonsga fgg a teljes azonosttl s csakis attl fgg.

A harmadik normlformj egyedben nincs ismtld tulajdonsg (0NF), rszleges fggs


(1NF) s tranzitv fggs (2NF). Minden ler tulajdonsg fgg a kulcstl (1NF), csak a teljes
kulcstl (2NF) s semmilyen ms tulajdonsgtl, csak a kulcstl (3NF).
Most ismt illene elmondanunk azt, hogy a normalizls nem vgezhet mechanikusan,
hanem szemantikus normalizlsra (ld. 14.2.3 alpont) van szksg. Felhvhatnnk a figyelmet a
harmadik normlforma s a struktra sszefggseire (ld. 14.2.4 alpont). Az utbbi tmban a
2NF alakra val megbontssal szemben csak egy eltrst tapasztalnnk. Mivel a tranzitv fggst
okoz tulajdonsg (pl. Tpus) az eredeti egyedben nem kulcsrsz, az j (KOCSITPUS) s az
eredeti (KOCSI) egyed kztti 1:N fok kapcsolat alulrl nem szksgszeren ktelez. Pldul
elvileg nyilvntarthatunk olyan kocsit is, amelynek ismerjk a rendszmt, a tulajdonost stb., de
egyelre ismeretlen szmunkra a kocsi tpusa.
Persze jl tudjuk, hogy az olvas egyltaln nem elgedett a 14.10 bra KOCSI egyed-
tpusnak a tartalmval. Azonban az eddigi eljrssal sokkal jobb szerkezetet nem tudtunk
sszecsiholni. Mieltt a j megolds titkt elrulnnk, r kell mutatnunk a normalizls ltalnos
termszetre.

14.4 A normalizls termszete

Eddig az ismertebb s egyszerbb normlalakokkal foglalkoztunk. Csak a kvetkez fejezet-


ben trhetnk t az sszetettebb normlformk ismertetsre. Mieltt ezt megtennnk, fel kell
hvnunk a figyelmet a normalizls nhny ltalnos - a konkrt normlformtl fggetlen -
elmleti trvnyszersgre s az azokon alapul gyakorlati megfontolsokra. Ugyanis az albb
lertak mg fokozottabban rvnyesek a tovbbi normlformkra.
A mai adatbziskezel rendszerek egyltaln nem, a fejlesztrendszerek pedig csak korlto-
san kpesek automatikusan felfedezni azt, hogy egy egyedtpus nincs tkletes normlformban.
Ez nem is csoda. Honnan tudhatn egy automata, hogy a 12.3 bra Fhatsg s Felgyelet
tulajdonsga valjban azonos; a ltszlag egyez Foglalkozs nmileg eltr; a Tpus itt meg ott
mst jelent? A homonimkkal s szinonimkkal egyetlen gpi eszkz sem tud megbirkzni,
hacsak nem kzljk vele az ilyen jelleget. Mivel ezt neknk kell megtennnk, nyugodtan lesz-
gezhetjk, hogy a csods tmogatsok ellenre is a normalizls mindig emberi feladat marad.
Ennek legfbb okt mr emltettk. A normalizls sohasem lehet mechanikus. Mr az els
lps, az 1NF alak egyedek kialaktsa sorn is emberi beavatkozsra van szksg (ld. 13.4.3
alpont). Mint fentebb lthattuk, a normlforma dekompozci sem csak annyit jelent, hogy
kivettjk az egyedbl a helytelenl fgg tulajdonsgokat. Neknk kell meghatroznunk, hogy a
kiemelt ttelek vgl is a modell melyik rszbe kerljenek illetve egyltaln normalizlsi
feladatrl van-e sz (ld. 14.2.3 alpont). A megfelel normlforma kialaktsa kzben a vals
jelensgek sszefggseit emberileg kell rtelmezni. Vagyis szemantikus normalizlst kell
vgezni. Erre ma semmilyen automata sem kpes.
A fentiek miatt sohasem vrhatjuk azt, hogy valban egycsapsra kialakul a modell opti-
mlis szerkezete. A mechanikus normalizls sokszor itercikat felttelez. Az ismtelt vizsg-

206
latok a humn normalizls esetben sem kerlhetk ki, mert az ember kptelen egyszerre t-
tekinteni a valamennyire is sszetett modell apr talaktsnak valamennyi kvetkezmnyt.
Ha az egyik egyedtpust normalizlja, a msik vlik kedveztlen alakv. Mgpedig nem mindig
olyan szerencss mdon, mint mintapldnk esetben, amelynek teljes normalizlst majd a
kvetkez pontban vezetjk le.
Mieltt erre sort kertennk, el kell mondanunk, hogy a normalizls nem vgcl, hanem
eszkz. A nem-normalizlt egyedek ismtldst tartalmaznak. A tkletes normlformnl
alacsonyabb alak egyedek pedig trolsi, karbantartsi, hozzadsi s trlsi anomlikat okoz
redundancikkal jrnak. Ezrt akkor, ha ezeket a bajokat el akarjuk kerlni, mert az a vgcl, a
normalizls eszkzhez folyamodunk. mde mi a helyzet abban az esetben, ha nincs sznd-
kunkban a problmk megszntetse?
A nincs szndkunkban kittel vilgosan mutatja, hogy ltjuk az elvi gondokat, de azokat
valamilyen gyakorlati megfontols miatt eltrjk. Pldul tudjuk azt, hogy nem illik a KOCSI
egyedtpusba felvenni a Frhely tulajdonsgot (csak 2NF), de mivel annak rtke gysem vlto-
zik, szndkosan nem alkotunk kln KOCSITPUS egyedet. Nem vesszk ki a KOCSI egyedbl
a tranzitven fgg tulajdonsgot s nem hozzuk az egyedet jobb (3NF) alakra. Mrmost ilyen
tudatosan rossz modell kialaktsra csak az ember kpes, ami igazolja az alpont els kt
bekezdsnek a mondanivaljt.
Ezt a tudatosan rossz kifejezst meg kell magyarznunk. A 12.3 bra KOCSI egyedtpus-
nak a tervezje kt utat kvethetett. Az els - a valsznbb - az, hogy sohasem hallott a norml-
formkrl. Ezrt nem is gondolt arra, hogy az egyed Frhely tulajdonsga fizikailag redundns
s a KOCSI nincs 3NF alakban. Nem szmolt azzal, hogy a Tpus ksbb nemcsak a Frhely,
hanem a Mrkanv, zemanyag, Kocsisly stb. tulajdonsgokat is meghatrozza. Teht szksg
lenne kln KOCSITPUS egyedtpusra. A msodik t az, hogy a tervez mr mindezt tltja, de
csakazrtis a KOCSI egyed tulajdonsgv teszi a Frhelyet. Teht tudatosan rossz norml-
formt vlaszt. Azrt, mert ...
Amikor a tervez mr tudja, hogy valamelyik egyedtpus nincs a legjobb normlalakban s
mgis amellett a forma mellett dnt, denormalizlsrl beszlnk. Ha a tervez ismeri s megal-
kothatn a j egyedszerkezetet, azt mr az elmjben normalizlta s msodlagos megfontolsok
miatt mgis az alacsonyabb alakot vlasztja, csak akkor lehet sz denormalizlsrl. Vissza-
alaktani csak mr egy kialaktott kpet lehet.
Bevalljuk, hogy csak az elmleti teljessg kedvrt emltettk a denormalizlst. Nem igazn
kedveljk ezt a fogalmat, mert elvileg nem tiszta. A normlalakok elvi alapjait ismer - tudatos -
tervez a fogalmi tervezs szintjn normalizl. Azrt, mert tudja, hogy a kocsi s a kocsitpus
szemantikailag kt klnbz lnyeg. A kocsitpus lerhat ismeretekkel anlkl is, hogy ltezne
a tpusnak megfelel konkrt kocsi. Pldul egy kocsigyrt mr megtervezhette a tpust, minta-
pldnyt is alkothatott, de mg nem fut az utckon a tpusnak megfelel kocsi. Ezzel szemben a
denormalizls mindig csak hatkonysgi - trolsi s kezelsi - megfontolsokon alapul. Vagyis
elvileg a logikai - s nem a fogalmi - szerkezeti mrlegelsek szintjre tartozik.

14.5 Normalizlsi sorrend

A kezd tervezknek azt javasoljuk, hogy tartsk be az 1NF, 2NF, 3NF normalizlsi sor-
rendet. Teht hozzk minden egyedtpusukat elszr 1NF formra, majd 2NF alakra s vgl
3NF formtumba. Ha mr kpesek ttekinteni egy fogsabb modellrszlet minden tnyezjt, csak
akkor prblkozzanak azzal, hogy egyszerre tbb egyedet normalizljanak. Egy tapasztalt tervez
mr kpes az ilyen varzslatokra. A 12.3 bra ugyancsak zavaros modelljbl a 12.5 bra tiszta

207
adatbzistervt kialaktani egy rutinos terveznek pr percnyi munka. Azonban a rutin csak a
gyakorlatbl szerezhet meg. Ezrt most szpen sorra vesszk a 12.3 bra feladatnak a
megoldsi lpseit. A kiindul helyzetet s a rszeredmnyeket nem tblzatos, hanem lista
formtumban mutatjuk. Lsd 14.3 plda.

14.3 plda

TULAJDONOS (Trzsszm, Tpus, Tulajdonosnv, Foglalkozs, Telephely, Felgyelet)


KOCSI (Rendszm, Tpus, Tulajdonosnv, Foglalkozs, Telephely, Fhatsg, Frhely)
KR (Krszm, Dtum, Tpus, Tulajkd, Krsszeg)

Termszetesen az els teend az, hogy a kiindul modellt egyrtelmv tegyk. Megszn-
tessk a homonimkat s a szinonimkat illetve a valsgot hen tkrz neveket adjunk a tte-
leknek. Enlkl a legzsenilisabb tervez sem juthat messzire. Pldnkban a Tpus homonimt s
a Felgyelet-Fhatsg illetve Trzsszm-Tulajkd szinonimt kell felszmolni. A Telephely
rejtett homonima, nem egyrtelm nv a KOCSI egyedben. gy helyette j nevet vlasztunk. A
megtiszttott normalizlsi alapot a 14.4 plda mutatja.

14.4 plda

TULAJDONOS (Trzsszm, Tulajdonostpus, Tulajdonosnv, Foglalkozs, Telephely, Felgyelet)


KOCSI (Rendszm, Kocsitpus, Tulajdonosnv, Foglalkozs, Trolhely, Felgyelet,
Frhely)
KR (Krszm, Dtum, Kocsitpus, Trzsszm, Krsszeg)

Ez a tervvltozat mr egyrtelm, de - mint tudjuk - rossz. Az els kt egyed legalbb els


normlformj, gy azokkal most nem trdnk. A KR egyednek viszont nincs igazi azonos-
tja. Jelen esetben innen (is) szrevehetjk, hogy az egyed (sorokba rejtett) ismtldst tartalmaz,
vagyis 0NF alak. Mivel az egyedbl hinyzik az igazi kulcsrsz, azt kiegsztjk a Rendszm
tulajdonsggal. Majd levlasztjuk az ismtld rszt egy j KR/KOCSI egyedtpusba (v. 14.1
bra). Az eredeti KR egyedben csak a kulcs s a Dtum marad. Lsd a 14.5 pldt. Mellesleg
ennek a Dtumnak is adhatnnk szebb, beszlbb nevet (Kresemny-dtum).

14.5 plda

TULAJDONOS (Trzsszm, Tulajdonostpus, Tulajdonosnv, Foglalkozs, Telephely, Felgyelet)


KOCSI (Rendszm, Kocsitpus, Tulajdonosnv, Foglalkozs, Trolhely, Felgyelet,
Frhely)
KR (Krszm, Dtum)
KR/KOCSI (Krszm+Rendszm, Kocsitpus, Trzsszm, Krsszeg)

Mivel az els hrom egyed legalbb 2NF alak, csak a negyedik egyeddel kell trdni. A
rszleges fggsek miatt kiemeljk a Kocsitpus s a Trzsszm tulajdonsgokat. Az eredeti
egyedtpusban csak a kulcs s a Krsszeg marad. A kiemelt Kocsitpus s Trzsszm tulajdon-
sgokra nem hozunk ltre j egyedtpust, mivel a meghatroz (Rendszm) ltal azonostott
egyed mr ltezik (KOCSI). Mivel a kt Kocsitpus fogalom azonos, ezt a tulajdonsgot nem
adjuk a KOCSI sorhoz. Abba csak a Trzsszm-ot visszk t. Lsd a 14.6 pldt.
Korbban mr rmutattunk arra, hogy a ktoszlopos tblk majdnem mindig 5NF alakak.
Ezrt a KR egyedtpussal tbbet nem is kell trdnnk. 5NF formban vannak azok az egyed-
tpusok is, amelyek egyetlen funkcionlis fggst tartalmaznak. Ilyen a KR/KOCSI egyedtpus.
gy azt sem kell majd tovbb vizsglnunk.

208
14.6 plda

TULAJDONOS (Trzsszm, Tulajdonostpus, Tulajdonosnv, Foglalkozs, Telephely, Felgyelet)


KOCSI (Rendszm, Kocsitpus, Tulajdonosnv, Foglalkozs, Trolhely, Felgyelet,
Frhely, Trzsszm)
KR (Krszm, Dtum)
KR/KOCSI (Krszm+Rendszm, Krsszeg)

A TULAJDONOS legalbb 3NF alak. Ezrt mr csak a KOCSI-t kell tovbb normalizlni.
Az elsdleges kulcson kvl az egyedben kt meghatroz van. A Kocsitpus Frhely fggs
miatt az utbbit ki kell emelnnk a KOCSITPUS egyedbe. A Trzsszm meghatrozza a Tulaj-
donosnv, Felgyelet s Foglalkozs adatokat. Mivel az els kett a TULAJDONOS egyedet
azonos rtelemmel jellemzi, nincs szksg azok tvitelre. Ezeket a tulajdonsgokat egyszeren
el kell hagynunk a KOCSI egyedtpusbl. A Foglalkozssal is ezt kell tennnk. Viszont ez a
tulajdonsg nem egyrtelm. Ezrt nem mondhatjuk azt, hogy az mr a TULAJDONOS
jellemzje. Az eltr kdrtkek miatt meg kell keresnnk a felhasznlt. Tisztznunk kell, hogy
valban szksg van-e a ktfle kdolsra. Ha nem, akkor meg kell krdeznnk, hogy melyiket
alkalmazzuk. Ha nincs szksg a ktfle foglalkozsi adatra (ezt felttelezzk), akkor valban
nincs szksg a tulajdonsgnak a beillesztsre a TULAJDONOS egyedbe. Ekkor csak azt kell
feljegyeznnk, hogy melyik kdols szerinti a Foglalkozs. Ha szksg van a kt vltozatra,
akkor viszont j nevet kell adni a kt tulajdonsgnak, mert azonos nev ttelek nem szerepelhet-
nek egy egyedben. Lsd a 14.7 plda vgleges megoldst, amely megfelel a 12.5 bra modellj-
nek.

14.7 plda

TULAJDONOS (Trzsszm, Tulajdonostpus, Tulajdonosnv, Foglalkozs, Telephely, Felgyelet)


KOCSITPUS (Kocsitpus, Frhely)
KOCSI (Rendszm, Kocsitpus, Trzsszm, Trolhely)
KR (Krszm, Dtum)
KR/KOCSI (Krszm+Rendszm, Krsszeg)

14.6 A dekompozci sajtossgai

Eddig a normalizlst dekompozcival vgeztk. A kedveztlen normlformj egyedeket


lebontottuk tbb egyedre. Ezt a mveletet kivettssel vgeztk. Az eredeti egyedbl kiemeltk az
azonosttl nem fgg (v. 1NF) vagy kedveztlen fggs (v. 2-3NF) tulajdonsgokat. Az
eljrs eredmnyeknt mindig tkletesebb szerkezethez jutottunk. Ez kt dolgot jelent.
Egyrszt azt, hogy a kedvezbb normlalak esetn nem lpnek fel az alacsonyabb norml-
formt jellemz visszssgok. Msrszt azt, hogy az j modellszerkezet alapjn mindig vissza-
llthat a rgi - a normalizlt - struktra. A dekompozci teht megfordthat, reverzibilis
mvelet. A 14.8 bra egyedbl a 14.9 bra modellrszlett alaktottuk ki. Semmi akadlya sincs
annak, hogy a mveletet visszafordtsuk. A 14.9 bra kt egyedbl visszakapjuk a 14.8 bra
egyetlen egyednek az ismereteit. A normalizlssal nem vesztettnk ismeretet. Az ilyen
megbontst vesztesgmentes dekompozcinak (angolul: non-loss decomposition) nevezzk. Az

209
1-3NF szerinti dekompozci mindig vesztesgmentes. Majd a kvetkez fejezetben ltunk pldt
a vesztesges megbontsra is.
Itt rviden ki kell trnnk arra, hogy a kivetts fordtott irny mvelete az sszekapcsols
(angolul: join). Ennek felttele az, hogy kt egyedtpus rendelkezzen azonos tartalm tulajdon-
sgtpussal (pl. Vevkd). A mvelet szimmetrikus. Mindegy, hogy a 14.9 bra VEV egyedhez
kapcsoljuk-e a RENDELS egyedet, vagy megfordtva. Most felttelezzk az utbbit. Az eljrs
sorn az egyik egyedtpust (RENDELS) kiegsztjk a benne nem szerepl, a csak a msikat
(VEV) jellemz tulajdonsgtpusokkal (Vevnv). Ugyanakkor az els egyedtpus minden sort
kibvtjk a msodik egyedtpus minden olyan sorval, ahol a ktfle sorban a kapcsol tulaj-
donsg (Vevkd) rtke azonos. Valahnyszor a RENDELS tblban 111 a Vevkd rtke,
annyiszor bvl a sor az X vevnv-rtkkel. Az olvas meggyzdhet rla, hogy ilyen mdon
valban visszakapja a 14.8 bra RENDELS egyednek a tbljt.
Felhvjuk a figyelmet arra, hogy a visszafordthatsg egyltaln nem jelent azonos terveket.
A 14.9 bra megoldst - egyb megfontolsok mellett - ppen azrt vlasztottuk, hogy olyan
vevk ismereteit is nyilvntarthassuk, akiknek nincs aktulis megrendelsk. Ezrt lesznek olyan
VEV egyed-elfordulsaink, amelyek azonostjnak (Vevkd) az rtke mg/mr nem fordul
el a RENDELS egyed-elfordulsokban s amelyeken ppen ezrt az sszekapcsols nem
vgezhet el. Az eredeti adatbzis visszallthat, de ugyanakkor az j adatbzis a kiindulnl
tbb ismeret trolsra kpes.
A vesztesgmentessg csak szksges, de nem elgsges felttele a dekompozcinak. Az
ltalnos szakirodalom megklnbztet j s rossz lebontsokat (lsd pldul [22], 253. oldal).
Vizsgljuk csak meg kzelebbrl ezt a minstst!
A 14.8 bra RENDELS (Rendelsszm, Vevkd, Vevnv) egyedt elvileg ktfle mdon
alakthatjuk t. A 14.8 plda ltal mutatott megoldsok lehetsgesek.

14.8 plda

VEV (Vevkd, Vevnv)


RENDELS-1 (Rendelsszm, Vevkd)

RENDELS-2 (Rendelsszm, Vevkd)


RENDELS-3 (Rendelsszm, Vevnv)

Mindkt lebonts vesztesgmentes, vagyis azokbl elllthat az eredeti RENDELS egyed.


Ennek ellenre az els dekompozcit jnak, a msodikat rossznak tartjuk. Azrt, mert az els
esetben a tranzitv fggst maga a szerkezet oldja fel a kt egyedtpus kapcsol tulajdonsga
(Vevkd) ltal. A kapcsol tulajdonsg pedig automatikus korlt. A RENDELS-1 egyedbe nem
vihet be olyan Vevkd rtk, amely ne szerepelne a VEV egyedben. A Vevnv ttelt pedig
nem lehet a Vevkd-tl fggetlenl aktualizlni.
Ezzel szemben a msodik megolds karbantartsi anomlit mutat. Ha a Vevnv rtkt
trjuk egy RENDELS-3 elfordulsban, akkor ki kell keresni az azonos Rendelsszm rtk
RENDELS-2 elfordulst. Meg kell llaptani a Vevkd rtkt. Majd ki kell gyjteni az
ugyanilyen Vevkd rtk RENDELS-2 ttelek Rendelsszmait. Ahol a RENDELS-3
egyedben ez a Rendelsszm fordul el, ott mindentt t kell rni a Vevnv tartalmt az j
rtkre.
Ezt az gondolat-akrobatikt csak az elmleti teljessg kedvrt idztk fel. Azrt, ha netn
valaki tallkozik a j s a rossz dekompozci fogalmval, tudja, hogy mirl is van sz. Valjban
a neves szakrk gondolatmenete hromszorosan is hibs.
Elszr: A tiszta adatmodellezs eleve kizrja azt, hogy kt egyednek azonos legyen az elsd-
leges kulcsa. Ezrt eleve nem hozhat ltre a RENDELS-2 s RENDELS-3 egyedpros gy,

210
hogy megegyezzen az azonostja. Codd az optimlis normalizls elveinek a kifejtse sorn [21]
leszgezte, hogy ha kt egyed azonostja kzs, akkor a kt egyed valjban egy s azok tulaj-
donsgtpusait egyetlen tulajdonsgsorba kell sszevonni. Ezzel pedig visszakapnnk az eredeti
RENDELS (Rendelsszm, Vevkd, Vevnv) egyedet. gy a normalizls vgtelen ciklusba
esne.
Msodszor: Sokan nem figyelnek a kls sszefggsekre. Holott evidens, hogy mr a
normalizls eltt tudjuk, hogy mindenkppen lesz egy VEV egyedtpusunk is, mert hiszen van
egy ilyen ismeretekkel lerand jelensgcsoportunk. Ennek az egyednek termszetes jellemzje a
Vevnv. gy a RENDELS-3 egyed mindenkppen rossz megolds.
Harmadszor: Eddigi normalizlsi lpseink sorn mindig ragaszkodtunk ahhoz, hogy az
eredeti (RENDELS) egyedbl le kell vlasztani a helytelenl fgg tulajdonsgot (Vevnv)
annak meghatrozjval (Vevkd) egytt egy j egyedtpusba (VEV). Ha ezt a rutint betartjuk,
akkor egyszeren nem alkalmazhatunk rossz dekompozcit.
Akkor pedig mirt vetettk fel egyltaln a j s a rossz dekompozci krdst? Azrt, mert
csak az 1-3NF alakok esetben addik mindig egyrtelm j megbonts. A ksbbi normlalakok
nmelyiknl tbb megbontsi vltozat is akad, amelyek nem teljesen egyenrtkek.
Az 1-3NF formk kialaktsa sorn alkalmazott dekompozcival, ha azt az ltalunk
ismertetett szablyok szerint hajtjk vgre, fggetlen (angolul: independent) egyedtpusokat
kapunk. A megbontsnak csak annyi a kvetkezmnye, hogy az egyeden belli (angolul: intra-
entity) korlt egyedek kztti (angolul: inter-entity) felttell vlik. Ha a 14.8 bra RENDELS
egyedtpusban mindig ki kell tlteni a Vevkd rtkt (bels korlt), akkor a 14.9 bra minden
RENDELS egyedhez kell, hogy tartozzon egy VEV egyed (kls korlt).
A 14.8 plda msodik megoldsa esetben a bels korlt nem vlt klsv. A kt egyed
karbantartst nem lehet korltokkal ellenriztetni. Ilyenkor azt mondjuk [23], hogy a megbonts
nem-fggetlen (angolul: non-independent). Nem olyan egyedeket eredmnyez, amelyek a korl-
tok betartsa esetben egymstl fggetlenl karbantarthatk. Mint tudjuk, a 14.8 plda msodik
megoldsa rossz. Viszont a tovbbiak sorn tallkozni fogunk olyan helyzetekkel, amelyekben
egyszeren nincs md a fggetlen dekompozcira.

14.7 Az alternl kulcs

Eddig csak olyan pldkat mutattunk, amelyekben az egyedtpusoknak csak egy azonostsra
alkalmas tulajdonsgtpusa volt. Felismertk, hogy a RENDELS egyed kulcsa a Rendelsszm,
a KOCSI- a Rendszm stb. Legfeljebb az volt a problma, hogy az egyednek egyltaln nem volt
kulcsa (0NF) illetve abban fellptek egyb meghatroz tulajdonsgok is (1-2NF). Ha az
egyedtpus azonostjt megtalljuk, akkor az alapvet normalizls szinte gyerekjtk.
Azonban nha tallkozunk olyan egyedtpusokkal is, amelyek egynl tbb olyan tulajdons-
got tartalmaznak, amely azonost lehetne. Ilyenkor ezeket a tteleket kulcsjellteknek (angolul:
candidate key) nevezzk. A kulcsjelltek az sszes tbbi nem-kulcs tulajdonsgot funkcionlisan
meghatrozzk. Ugyanakkor kzttk nyilvn klcsns fggs ll fenn. Vegyk csak alapul a
14.9 pldt.

14.9 plda

VEV (Vevkd, Vevnv, Vevcm ...)

211
Ttelezzk fel, hogy a vevnevek egyediek, a vevcmek viszont nem azok. Ezrt az egyed-
ben kt kulcsjellt tallhat: a Vevkd s a Vevnv. (Emiatt nem is jelltk meg az egyed
azonostjt a szoksos mdon.) A kt lehetsges azonost mindegyike funkcionlisan meghat-
rozza a Vevcm ttelt. Emellett pedig fennll a Vevkd Vevcm mindkt oldalrl ers
klcsns fggs.
Ez a helyzet nmagban vve semmilyen komoly gondot nem okoz. Mivel a modellezs
szablyai szerint minden egyedtpusnak csak egy azonostja lehet, a kulcsjelltek kzl ki kell
vlasztani az elsdleges kulcsot (angolul: primary key). Legyen az pldnk esetben a Vevkd.
A vlaszts utn a tovbbi kulcsjellteket alternl vagy helyettes kulcsnak (angolul: alternate
key) hvjuk. Teht pldnk esetben a Vevnv alternl kulcs.
Az alternl kulcs lnyegt sokan flrertik. Tvedsket egy tovbbi pldval vilgtjuk
meg.

14.10 plda

SZERZDS (Bels-kd, Szerzdsszm, Szerzds-dtum ...)

A tervez a Bels-kd s a Szerzdsszm tulajdonsgot kulcsjellteknek tekinti s kijelenti,


hogy a Bels-kd elsdleges kulcsnak a Szerzdsszm alternl kulcsa. A kt ttelt a kvetkez
mdon hasznlja: amg a konkrt szerzds nem kap Bels-kd azonost rtket, addig azt a
Szerzdsszm tartalmval azonostja.
A ktszeres elvi tveds teljesen evidens. Egyrszt az azonostk (definci szerint) sohasem
lehetnek res vagy ismeretlen rtkek. Ezrt a Bels-kd egyltaln nem lehet kulcs. Msrszt a
kulcsjelltek kztt (definci szerint) ktoldalan ers klcsns fggs ll fenn. Ha a Bels-kd
(vagy a Szerzdsszm) rtke res is lehet, akkor nem ll fenn ez a klcsns fggs, teht nem
beszlhetnk kulcsjelltekrl s a Szerzdsszm nem nevezhet alternl kulcsnak.
Az, hogy a fejlesztk nem tudnak idben Bels-kd rtket adni a szerzdsnek nem fogalmi
szint modellezsi gond. A gyakorlati problmt nem lehet az elmlet sszezavarsval fedezni.
Tudomsul kell venni, hogy az alternl kulcs nem ms, mint integritsi korlt, mint ahogyan
minden fggsi viszony az. Ez a specifikus korlt azt jelenti ki, hogy mindkt tulajdonsg egyedi
rtk s az egyik tulajdonsg minden egyes rtkhez minden idben a msiknak pontosan csak
egy rtke tartozik illetve ez megfordtva is igaz.
A normlforma dekompozciban az alternl kulcsot sajtos mdon kezeljk, amennyiben
egyltaln nem vizsgljuk fggsi viszonyait. Minek is tennnk, hiszen minden ilyen sszefg-
gse a tbbi tulajdonsggal az elsdleges kulcsval azonos jelleg.
Arra viszont fel kell hvnunk a figyelmet, hogy a helyes alternl kulcsok megtallsa nem
knny feladat. A minden idben csak egy nem azonos a minden idpontban egy kittellel.
Nzzk csak meg a 14.11 pldt.

14.11 plda

KOCSI (Rendszm, ..., Casco-ktvnyszm, Kts-dtum, nrsz, ...)

Br egy kocsinak minden idpontban csak egy Casco-biztostsa lehet, a Casco-ktvnyszm


nem a Rendszm alternl kulcsa. Nem csak azrt nem, mert nem minden kocsinak van Cascoja,
teht a klcsns fggs nem ltezik. Hanem azrt sem, mert az idk sorn a kocsi Cascoja
megsznhet vagy keletkezhet. Ezrt a Casco-ktvnyszm nem stabil jellemzje a kocsinak s gy
sohasem lehetne annak valdi azonostja.
Ha egy tulajdonsg valdi alternl kulcs, akkor nincs vele teend. Ha viszont csak l-
helyettest, amit a Rendszm Casco-ktvnyszm fggs gyenge jellege mutat, akkor fel-

212
merlhet a normalizls ignye. A Kts-dtum, nrsz, ... tulajdonsgoknak valban a KOCSI
egyedben van-e a helye, vagy rdemesebb egy kln CASCO egyedtpust ltrehozni. Erre a
krdsre majd knyvnk ksbbi rszben vlaszolunk (ld. 18.5 pont).

Ellenrz krdsek - 14

14/01 Hnyadik normlformban van a kvetkez egyed? Szmmal vlaszoljon.

RENDELS
Rendelsszm, R-dtum, ..., Cikkszm, Rendelt-mennyisg

R1 D1 C1 M1
C2 M2
R2 D2 C1 M3

14/02 Legalbb hnyadik NF alakban van az ismtldst nem tartalmaz egyed?

14/03 Hnyadik normlformj a kvetkez egyed:

SZMLATTEL (Szmlaszm+Cikkszm, ..., Ttelrtk, Egysgr)

14/04 Mi az elz plda helyes megoldsa?

14/05 Adott a kt albbi egyedtpus. Mit tenne n a tranzitivits megszntetse sorn? Adja
meg a helyes vlasz sorszmt.

VEV (Vevkd, ..., Vev-levelezsi-cm)


RENDELS (Rendelsszm, ..., Vevkd, Vevcm)

- Mivel a Vevcm dupliktum, egyszeren elhagynm a RENDELS-bl.


- Felkeresnm a felhasznlt, hogy a kt cm azonos tartalm-e.
- A cm s a levelezsi cm kt dolog. Teht a Vevcm-et a VEV-be tennm.

14/06 Hnyadik normlformban van a kvetkez egyed? KB = Ktelez biztosts.

KOCSI (Rendszm, ..., KB-ktvnyszm, KB-ktsdtum)

213
15. MAGASABB NORMLFORMK

15.1 Hny, melyik s milyen a kulcs?

Az elz fejezetben bemutattuk az 1-3NF alakokat. Az egyedtpusoknak a funkcionlis


fggseken (FD) alapul normalizlsa viszonylag egyszer feladat. Az ismtldseket - a
felttelezett elsdleges kulcstl fggetlen tulajdonsgokat - le kell vlasztani (1NF). Ki kell szrni
a rszleges fggseket (2NF) s a tranzitv meghatrozsokat (3NF).
Az els nehezebb gondok akkor tmadnak, ha az egyedtpusban tbb kulcsjellt van. Mg ezt
a helyzetet is fel tudjuk oldani, ha a kulcsjelltek elemiek s tisztn alternl jellegek (ld. a 14.7
pontot). Mr komolyabb problmk lphetnek fel akkor, ha a kulcsjelltek nem egyszerek,
hanem sszetettek. Ilyenkor kt eset lehetsges. Ha az sszetett azonostk klcsnsen fggenek
egymstl s rszeik kztt nincs funkcionlis fggs, teht pldul az A+B s a C+D kt
kulcsjellt ngy tulajdonsga kzl egyik sem hatrozza meg a msikat, akkor tisztn alternl
kulcsokrl van sz.
Ezzel szemben elfordul az a helyzet is, hogy az egyik sszettel valamelyik tagja meghat-
rozza a msik kulcsjellt egyik tagjt. Pldul fennll a B D fggs. Ekkor karbantartsi
anomlik lpnek fel. Ezrt az egyedtpust meg kell bontani. Viszont azt nem tehetjk az eddigi
elmleti alapokon, mivel az 1-3NF defincii szerint csak a nem-kulcs tulajdonsgok fggseit
vizsgltuk. A msodik pontban bemutatott Boyce-Codd norml-forma (BCNF) segt bizonyos
helyzetekben e problma megoldsban.
Mskor az egyedtpus n. csupakulcs relci. Emiatt a projektv fggseken - a kulcs
meghatrozza a sajt rszeit - kvl nem is lphet fel bennk funkcionlis fggs. Az ilyen
egyedekben is elfordulhatnak karbantartsi anomlik. Ezek kiszrsre j fggsfajtkat
fogunk bevezetni s ismertetjk a 4-5NF alakokat a harmadik s negyedik pontban.

Ennek a fejezetnek az a clja, hogy feltrja a tbbfle kulcsjellt esetn alkalmazand


megoldsokat s ismertesse az olyan egyedek megbontsait, amelyek csak kulcsot tartal-
maznak, de mgis karbantartsi anomlikat mutatnak.

Br egy szerznek ilyesmit nem illene tennie, mgis knytelenek vagyunk bevallani, hogy ezt
a rszt csak ktelessgbl rtuk meg. Azrt, hogy az olvast teljeskren tjkoztassuk. Ebben a
fejezetben nem-szeretem normlformkrl lesz sz. Htulrl kezdve, az 5NF problmja olyan
ritka, mint a fehr holl. A 4NF alak magnvlemnynk szerint felesleges krelmny. R
fogunk mutatni arra, hogy az az egyed, amely nincs 4NF alakban valsznleg egyltaln nem is
normalizlt, vagyis titokban 0NF alak. A BCNF forma ritka esetekben jl alkalmazhat, de a
legtbb helyzetben nem normalizlssal, hanem szemantikai trtelmezssel kell megoldani a
tbbfle kulcsjellt ltal okozott problmt. Vgeredmnyben mi az egyszer s rthet meg-
oldsokat keressk. Nem rajongunk azrt, ha elmleti szakemberek brilinsan megoldanak egy
gyakorlatilag nem is ltez gondot.

214
15.2 A Boyce-Codd normlforma (BCNF)

Ha az egyedben elre felismerjk az elsdleges kulcsot s nincs alternl kulcs vagy a kulcsjelltek
mindegyike egytag (ld. 14.9 plda), akkor a normalizls viszonylag egyszer eljrs. Az 1-3NF
kialaktsa nem jelent nagy kihvst. Viszont egszen ms a helyzet akkor, ha mg nem dntt-
tnk az azonost fell azrt, mert tbb kulcsjelltnk is van gy, hogy azok tbbtagak. A
problmt a 15.1 bra pldjval szemlltetjk. Az esetet C. J. Date-tl vettk t [22, 251. oldal].

TANTS
Dik Trgy Tanr
Kovcs Matek Fehr
Kovcs Fizika Fekete
Szab Matek Fehr
Szab Fizika Barna

15.1 bra: Ktes szerkezet TANTS egyedtpus

A felttelezsek a kvetkezk:

Minden trgyra nzve igaz, hogy az azt tanul dikot csak egy tanr tantja a krdses
trgyra. Ezrt fennll a Dik+Trgy Tanr fggs.
Minden tanr csak egy trgyat tant. Ezrt ltezik a Tanr Trgy fggs.
Egy trgyat tbb tanr is tanthat. Ezrt nem ltezik a Trgy Tanr fggs.

15.2.1 A tbb sszetett kulcsjelltbl fakad gondok


A TANTS egyed karbantartsi anomlikat mutat. Ha kitrljk belle azt a sort, amely
szerint Szab fizikt tanul, akkor elveszik az az ismeret is, hogy Barna tanr r fizikt tant, ha
Szab volt az utols tantvnya. (A gyakorlatban nem valszn, hogy egy tanr csak egy dikot
tant egy trgyra. Ezrt ezzel a pldval csak a problma jellegt kvntuk szemlltetni.) Nem
tudjuk az egyedbe illeszteni azt az ismeretet, hogy Zld tanr r fldrajzot tud oktani mindaddig,
ameddig nem akad ilyen trgyat tanul dik. Ha Fehr tanrn frjhez megy s Pirosra vltoztatja
a nevt, akkor a mdostst tbb elfordulson kell vgrehajtani. A karbantartsi visszssgok
miatt az egyedtpust t kell alaktani. A krds az, hogy mi a normalizls elvi alapja s azt
miknt hajtjuk vgre?
Vajon hnyadik normlformban van a TANTS egyed? Mivel kulcst mg nem ismerjk,
e felvetsre nem akarunk egyelre vlaszolni. Elszr meg kell keresni az azonostt. Az
egyedben nincs olyan elemi tulajdonsg, amely elsdleges kulcsknt szolglhatna, hiszen minde-
gyik tulajdonsgtpus tbbszr is felveheti ugyanazt az rtket. Ezrt a tteleket prosval kell
vizsglnunk.
A Dik+Trgy meghatrozza a Tanr-t, teht kulcsjellt. A Dik+Tanr prostl fgg a
Trgy, vagyis az is lehetsges kulcs. A Tanr+Trgy viszont nem lehet azonost, mivel a Tanr
meghatrozza a Trgy-at. Vgeredmnyben az egyed mindegyik tulajdonsga vagy kulcsjellt
(meghatroz), vagy annak rsze. Most szndkosan mondjuk gy, hogy a TANTS egyed
minden tulajdonsgtpusa nem nem-kulcs jelleg (ld. 14.2 pont). Mrpedig az 1-3NF megha-
trozsai (ld. D 14/1, D 14/3 s D 14/5) szerint az alapvet normlforma hibk csak akkor lpnek

215
fel, ha a nem-kulcs tulajdonsgok fggetlenek a kulcstl vagy attl rszlegesen illetve tranzit-
ven fggnek.
Vgeredmnyben az eddigi meghatrozsok szerint a TANTS egyed 3NF formj s az
eddigi alapokon nem normalizlhat. Az j megfontolsokhoz ltni kell, hogy a problma
gykere ketts. Egyrszt az egyedben van olyan tulajdonsg (Tanr), amely funkcionlis meg-
hatroz (tle fgg a Trgy), de ez a meghatroz nem kulcsjellt. Msrszt van kt sszetett
kulcsjelltnk (Dik+Trgy s Dik+Tanr), amelyeknek van kzs rsze.
Most kell eldntennk, hogy melyik prost vlasztjuk kulcsnak. Elszr azt nzzk meg,
hogy milyen eredmnyre jutnnk, ha a Dik+Trgy lenne az azonost. Ekkor a Tanr Trgy
fggs miatt ezt a prost ki kell emelnnk az egyedbl. Az eredmnyt a 15.2 bra mutatja.
TANR TANULJA
Tanr Trgy Dik Trgy
Fehr Matek Kovcs Matek
Fekete Fizika Kovcs Fizika
Barna Fizika Szab Matek
Szab Fizika

15.2 bra: A TANTS egyedtpus rossz megbontsa

A 14.6 pontban beszltnk a j s a rossz dekompozcirl (ld. 14.8 plda). A 15.2 bra meg-
oldsa rossz. A kt egyedbl ugyan visszallthat a TANTJA egyed, de karbantartsi gondok
lpnek fel. Pldul Szab-hoz bevihetnk olyan tantrgyat, amelyet egyetlen tanr sem oktat. Ezt
azrt tehetjk meg, mert a kt egyedtpus kztt nincs kapcsolat. Vagyis a 15.1 bra TANTJA
egyedn belli korltot (a Trgy mellett mindig Tanr is van) nem riztk meg a 15.2 bra kt
egyedtpusa kztti korltknt (a TANULJA nem kapcsoldik a TANR-hoz).
Emiatt a lehetsges megbonts miatt a szakrk komplikltnak tartjk az olyan egyedtpusok
normalizlst, amelyekben van nem kulcsjelltknt szolgl meghatroz s a kt (vagy tbb)
sszetett kulcsjellt kzs rsszel rendelkezik.
Mi nem ltjuk ilyen stten a helyzetet. A TANTS egyedtpus normalizlsra kt utat is
knlhatunk. Elszr az egyszerbbet mutatjuk be.
Tegyk fel, hogy a TANTJA egyednek a Dik+Tanr pros a kulcsa s feledkezznk el az 1-
3NF meghatrozsaiban lv nem-kulcs kittelrl! Hiszen akkor, ha ez az sszettel a kulcs, a
Trgy mr valjban nem-kulcs, hiba rsze egy msik kulcsjelltnek. Ha a szigor defincikat
gy fellaztjuk, akkor kiderl, hogy a TANTJA csak 1NF alakban van. Azrt, mert rszleges fg-
gst tartalmaz. A Dik+Tanr a kulcs, de a Trgy-at ennek egy rsze - a Tanr - is meghatrozza.
Ezrt az egyedbl ki kell venni a rszlegesen fgg tulajdonsgot (Trgy) annak meghatroz-
jval (Tanr) egytt gy, hogy az eredeti egyedben is megmarad a meghatroz. Az eredmnyt a
15.3 bra mutatja.

TANR TANTJA
Tanr Trgy Dik Tanr
Fehr Matek Kovcs Fehr
Fekete Fizika Kovcs Fekete
Barna Fizika Szab Fehr
Szab Barna

15.3 bra: A TANTS egyedtpus j megbontsa

216
Mindenki meggyzdhet rla, hogy ebben a megoldsban nem lpnek fel a karbantartsi
anomlik. Azrt nem, mert a kt egyedtpus kapcsolhat, teht egyedek kztti integritsi korlt
garantlja, hogy egy dikhoz ne vihessnk be nemltez tanrt.
Persze ennek az egyszer megoldsnak az a titka, hogy megtalljuk a kulcsjelltek kzl a
clravezett. Azonban miknt dnthetjk el, hogy melyik a j azonost? Mi trtnne akkor, ha a
Dik+Trgy prost vlasztannk kulcsnak? Szksgszeren a 15.2 bra rossz megoldst
kapnnk eredmnyl?

15.2.2 A kulcstr fggs

A felvetett krdsek megvlaszolshoz egy j fogalommal kell megismerkednnk.

D 15/1 Az E egyedtpus C tulajdonsga akkor s csak akkor okoz kls kulcstr fggst,
ha fgg az A+B sszetett azonosttl s meghatrozza annak A vagy B rszt.

A meghatrozsban a kls jelz arra utal, hogy a felttelezett azonostn kvli, ahhoz
kpest ler ttel okozza a kulcstrst. A bels kulcstrst majd a 16.4 pontban trgyaljuk.
Pldnkban a Tanr tulajdonsg fgg a Dik+Trgy egyttestl, de ugyanakkor meghatrozza a
Trgy tulajdonsgot, ami az sszetett kulcs rsze. Az utbbi fggs a kulcsnak csak egy rszt
rinti s gy azt megtri. A karbantartsi problmt ez a ciklus-jelleg jelensg okozza. A
Dik+Trgy meghatrozza a Tanrt, viszont a Trgy fgg a Tanrtl. Ezrt az azonost s a
ler tulajdonsg nem vltoztathat egymstl fggetlenl.
Eddigi ismereteink szerint a normalizls sorn mindig a helytelenl meghatrozott
tulajdonsgot kell kiemelnnk az egyedtpusbl a meghatrozjval egytt gy, hogy az az
eredeti egyedben is megmarad. Teht pldnk esetben a Trgyat kell vgleg kivennnk j egyed-
tpusba annak Tanr meghatrozjval, mikzben a Tanr az eredeti egyedet tovbbra is jellemzi.
Amint ltjuk, ezzel a megoldssal is a 15.3 bra modelljhez jutunk s nem kvethetjk el a
15.2 bra rossz dekompozcijnak a hibjt. Csak azt a bocsnatos bnt kellett vllalnunk, hogy
elfeledkezve a nem-kulcs szigor kittelrl az egyedbl ppen a kulcsnak az egyik rszt
(Trgy) tvoltottuk el.
Most megadjuk a Boyce-Codd normlforma [24] hivatalos meghatrozst, amihez majd
hozzfzzk sajt egyni megjegyzseinket.

D 15/2 Az egyedtpus akkor s csak akkor van BCNF alakban, ha minden meghatroz
tulajdonsga egyben kulcsjellt is.

A normalizlssal foglalkoz kivl szakemberek a fentiek szerint tl nagy hangslyt helyez-


nek a kulcs/nem-kulcs krdsre. Ha a rszleges s tranzitv fggst nem csak a nem-kulcs tulaj-
donsgokra rtelmeznk, akkor semmilyen klnbsg sem lenne a 3NF s a BCNF alakok kztt.
Hiszen a kulcstr fggs nem ms, mint egy specilis rszleges vagy tranzitv fggs. St,
valjban ez utbbi kt fggsfajta is egy, amit majd a kvetkez fejezetben kimutatunk.
A D 15/2 meghatrozs szerint a 15.1 bra TANTJA egyedtpusa 3NF alakban van, de nincs
BCNF formban, mert nem minden meghatroz tulajdonsga kulcsjellt. Ezzel szemben a 15.3
bra kt egyedtpusa mr BCNF alak, hiszen nincs is bennk tbb kulcsjellt. A karbantartsi
anomlik megszntetse miatt a BCNF forma jobb, mint a 3NF. Azt pedig az egymsba skatulyzs
elve alapjn tudjuk, hogy minden BCNF alak egyed egyben szksgszeren 3NF formj is.
Ezzel a BCNF trgyalst le is zrhatnnk. Azonban a BCNF alakra trtn normalizls
felvet nhny olyan problmt, amely nem lpett fel az alapvet normlformk esetben.

217
15.2.3 BCNF problmk

J. Rissanen [23] atominak nevezi az egyedtpust, ha az nem bonthat le egymstl fggetlen


egyedekre (ld. 14.6 pont). A szakrk szerint a 15.1 bra TANTJA egyedtpusa atomi, mert a
15.3 bra kt egyede egymstl nem fggetlen. Azrt nem az, mert az eredeti Dik+Trgy
Tanr fggst nem tkrzi, hiszen a Dik+Trgy egyik egyednek sem a kulcsa. Ezrt a TANTJA
egyedtpus nem aktualizlhat anlkl, hogy a TANR egyedet kezelnnk. Ha Szab abbahagyja
a fizika tanulst, akkor nem a termszetes Szab-Fizika ismeretprost trljk, hiszen az nem
is szerepel az adatbzisban. Ki kell keresni azt a tanrt, aki Szabt fizikra tantja s a Szab-
Barna adatprost kell megszntetni. Ha Szabhoz j tanrt akarunk bevinni, akkor meg kell
nznnk, hogy az nem tant-e olyan trgyat, amelyet Szabnak mr ms oktat. Pl. Fekete tanr r
nem kapcsolhat Szabhoz.
A fentiek alapjn a szakrk arra a kvetkeztetsre jutottak, hogy a TANTJA egyedtpus
tkletesen normalizlhat, azaz BCNF alakra hozhat, de mivel nem atomi s a normalizls
nem-fggetlen egyedeket eredmnyez, lehet, hogy a normalizls nem-kvnatos.
Mi egy picit msknt ltjuk ezt a krdst. Azrt, mert azt nem a matematikai, hanem a
szemantikai oldalrl nzegetjk. Csak bonyolultan tudjuk megszntetni a Szab-Fizika
ismeretprost. Valban akkora problma ez?
Szemantikailag a Dik, Tanr s Trgy sszefggsnek kt rtelmezse addhat:
A dik az adott trgyat tanulja. A trgyat egy tanr tantja. Teht a dik a tanrral csak
kzvetett kapcsolatban ll a trgyon keresztl.
A dikot adott tanr tantja. A tanr egy trgyat tant. Teht a dik a trggyal csak a tanron
t ll kapcsolatban.

Esetnkben vilgos, hogy az utbbi rtelmezs llja meg a helyt, hiszen a plda eredeti
felttelei (15.2 pont) ezt sugalljk. Teht akkor, ha Szab abbahagyja a fizika tanulst valjban
nem ezt teszi. Hanem Szab felhagy Barna tanr r rinak a ltogatsval. Ezrt a nem-
fggetlen egyedtpusok krdse ebben az esetben csak rszben, a bevitelnl problma. Persze ha
Szabt tbb tanr is oktan fizikra s gy szntetn be e trgy tanulst, akkor ms lenne a
helyzet. Akkor viszont a modell is msknt nzne ki. Az eredeti TANTJA egyed nem lenne
megbonthat a BCNF elvei szerint.
Most nzzk meg a BCNF formt a msik oldalrl is. Lsd a 15.1 pldt.

15.1 plda

VIZSGA (Dik, Trgy, Helyezs)

A dikok adott trgyakbl vizsgznak. A felttelezs az, hogy a dikokat a trgyban gy


minstik, hogy helyezsi sorszmot adnak nekik s minden helyezs egyedi. Vagyis kt dik nem
kaphatja ugyanabbl a trgybl ugyanazt a helyezst. A krds az, hogy mi legyen a VIZSGA
egyed kulcsa?
Kt kulcsjellt addik: a Dik+Trgy s a Dik+Helyezs. A kulcsjelltek tfednek. A
VIZSGA mgis BCNF alakban van, mert nincs benne olyan meghatroz, amely nem kulcsjellt.
Az egyetlen problma az, hogy az elsdleges kulcsot ki kell vlasztani s meg kell adni az
alternl kulcsot. A 15.2 plda mutatja a kt lehetsges megoldst.

15.2 plda

VIZSGA-1 (Dik+Trgy, Helyezs)


VIZSGA-2 (Trgy+Helyezs, Dik)

218
Matematikailag a kt megolds tkletesen egyenrtkes. Viszont el kell dnteni, hogy
melyik pros legyen az elsdleges kulcs. Szemantikailag mindkett rtelmes. Ha valaki a dikok
fell nzi a vizsgkat, akkor az els vltozatot rszesti elnyben. Ha viszont a trgy az elsdleges
szempont, akkor a msodik egyed jelenti a j vlasztst. Mindkt esetben a msik pros jelenti az
alternl kulcsot. A megolds teht adott, csak ppen az elsdleges-alternl dnts jelent
tervezsi problmt.
Ilyen vlasztsi gonddal tbbszr kell szembenzni. Lssuk csak a 15.3 plda esett.

15.3 plda

RENDELSTTEL (Rendelsszm, Ttelsorszm, Cikkszm, Rendelt-mennyisg)

A Ttelsorszm a cikknek a Rendelsszmon belli megjelensi sorrendjt mutatja. Egy-egy


rendelsben nem szerepelhet ktszer ugyanaz a Ttelsorszm s ugyanaz a Cikkszm rtk. Ezrt
a pldban kt sszetett kulcsjellt is van: a Rendelsszm+Ttelsorszm s a Rendels-
szm+Cikkszm pros. A kt kulcsjellt tfed. Viszont azokon kvl nincs ms meghatroz az
egyedben. Ezrt az egyed BCNF alakban van s nem szksges azt megbontani. Csak ppen ki
kell vlasztani az elsdleges kulcsot.
A problma a 15.1 plda ltal felvetett gonddal analg, de attl egy hajszlnyit mgis eltr. A
Ttelsorszm teljesen mestersges adat: a rendelsttelek papron val elrendezst jelenti. Az
rtelmes krds, hogy kik voltak az els helyezettek az egyes trgyakban. Viszont az, hogy
melyek a rendelsek els ttelei, senkinek semmit nem mond. Ezrt a 15.3 plda esetben az
egyetlen lehetsges rtelmes elsdleges kulcs a Rendelsszm s a Cikk-szm prosa. A Rende-
lsszm+Ttelsorszm csak alternl kulcs lehet.
Ezen a ponton megint fel kell hvnunk a figyelmet egy apr titokra. Nem egszen igaz az,
hogy a 15.2 plda kt megoldsa egyenrtkes s a 15.3 plda esetben sem csak a megjellt
indokok miatt dntnk a Rendelsszm+Cikkszm elsdleges kulcs mellett.
Sohasem szabad az egyedeket nmagukban, elszigetelten szemllni. Ha a dikok trgybeli
helyezsrl van sz, akkor felttelezhet, hogy a dikokrl egyb ismereteket is akarunk vezetni.
Teht lesz kln DIK egyedtpusunk. Egszen bizonyos, hogy a rendelsttelekben lv
Cikkszm mgtt a cikkre vonatkoz egyb adatok sora rejtzik. Ezrt lesz CIKK egyedtpusunk
is. Ha a VIZSGA kulcsul a Dik+Trgy, a RENDELSTTEL azonostjaknt a Rendels-
szm+Cikkszm egyttest vlasztjuk, akkor ezekkel a megoldsokkal tkletesen tkrzzk a
dik-trgy s rendels-cikk viszonyokat. Ezzel szemben a dik helyezse s a rendelsttel
sorszma nem kapcsol msik egyed fel.
A fentiek miatt leszgezhetjk, hogy az sszetett kulcsjelltek kzl mindig azt clszer
elsdlegesnek vlasztani, amelynek rszei ms egyedek fel is mutatnak. Ezt kveteli meg az
opcionalits elve is. Hiszen lehet, hogy egy dik tanul egy trgyat - van dik-trgy viszony -, de
abbl nem vizsgzik, teht helyezsrl nem is lehet sz. Nincs rtelme a ttelsorszmnak akkor,
ha egy rendels csak egyetlen cikkre vonatkozik.
Mg kt rvet kell emltennk a termszetes sszettel - ms jelensgek fel mutat -
azonostk vlasztsa mellett. Sokan fejbl ismernek ezernyi cikkszmot. Ezrt szmukra a
rendelsttelek Cikkszm szerinti lekrdezse nem gond. De ki tudja fejbl, hogy hnyadik ttel
vonatkozik a csavarra mint cikkre a klnbz rendelsekben? Nem fogalmi, hanem gyakorlati
krds az, hogy kevs kezel tmogatja az alternl kulcsot. A kulcs s az alternl kulcs
(rszeinek az) rtke a modellezs szablyai szerint sohasem vltozhat. Ha viszont a 15.2 plda
msodik megoldsban a Dik tulajdonsgot lerknt rtelmezi a kezel, akkor annak tartalmt
minden tovbbi nlkl meg lehet vltoztatni. Marika rt el fcibl els helyezst, de a Marikt
tvedsbl t lehet rni Pistikre.
Br lehet, hogy mr picit unalmas, mg egy esetet mutatunk be. Lsd a 15.4 pldt.

219
15.4 plda

AKCI (Akcikd, Vevkd, Vevnv, Kedvezmny)

A plda magyarzata: Vsrlsi akcikat indtunk a vevk rszre. Egy akciban tbb vev
vehet rszt s egy vev tbb akcinak a rszese is lehet. Ezrt a tnylegesen ignybevett
kedvezmnyt az Akcikd nmagban nem azonostja. Ezt a kulcsrszt ki kell egszteni a vevre
vonatkoz ismerettel. Csakhogy itt lesznk gondban akkor, ha kijelentjk, hogy a Vevnv egyedi
tartalm. Azaz kt vevnek nem lehet azonos a neve.
Ezrt az AKCI egyednek kt sszetett kulcsjelltje van: az Akcikd+Vevkd s az
Akcikd+Vevnv pros. Az AKCI egyed 3NF alakban van, mert az egyetlen nem-kulcs
tulajdonsga (Kedvezmny) teljes fggssel fgg a lehetsges kulcsoktl s mstl nem. Ugyan-
akkor az egyed nem BCNF formj, mert van benne olyan meghatroz (Vevkd s Vevnv),
amely nem ennek az egyednek a kulcsa.
A Vevnv nem teljes fggssel fgg az Akcikd+Vevkd egyttestl, mert a vev nevt a
Vevkd meghatrozza. A Vevkdot nem teljesen hatrozza meg az Akcikd s Vevnv
sszettel, mivel a Vevkd fgg a Vevnvtl. Jelen esetben kt olyan tfed kulcsjelltrl van
sz, amelyeknek kizr rszei egymst klcsnsen meghatrozzk.
Ebbl a helyzetbl komoly karbantartsi anomlia kvetkezik. Ugyanaz a Vevnv rtk tbb
egyedelfordulsban is szerepelhet. Az 111 kd vev X nevt minden tovbbi nlkl
trhatjuk Y-ra az AKCI egyik sorban, mikzben az ugyancsak 111 Vevkd rtket
tartalmaz msik sorban ezt nem tesszk meg. Arrl pedig ne is beszljnk, hogy az AKCI
fizikailag redundns, hiszen tbbszrsen tartalmazza az 111 - X rtksort.
Ezt a trolsi s aktualizlsi anomlit csakis az AKCI megbontsval kerlhetjk el. Az
teljesen vilgos, hogy az egyedbl ki kell emelnnk a Vevkd s Vevnv prost a klcsns
fggs miatt. Az j VEV egyed esetben dntennk kell, hogy a kt kulcsjellt kzl melyik
legyen az elsdleges. Kzenfekvnek ltszik, hogy a VEV (Vevkd, Vevnv) egyed mellett
dntnk gy, hogy a Vevnv alternl kulcs.
A krds az, hogy milyen tulajdonsgok maradjanak az eredeti AKCI egyedben? Kt
vlasztsunk van: az AKCI-1 (Akcikd+Vevkd, Kedvezmny) s az AKCI-2 (Akci-
kd+Vevnv, Kedvezmny) egyedtpus. Mindkt megoldssal formailag BCNF egyedeket
nyernk, mert mr minden meghatroz egyben kulcsjellt is.
Ezrt a szakirodalom a kt megbontst teljesen egyenrtkesnek tartja. Brmennyire is
sajnljuk, ismt ellent kell mondanunk. Ha a VEV egyedben a Vevkd az elsdleges kulcs,
akkor csakis az AKCI-1 megbonts a logikus megolds. Br az alternl kulcsok matematikai
rtelemben valban egyenrangak, a gyakorlatban sokszor nem azok. A Vevkd rtkt csak
rendkvl kivteles esetben illik mdostani. A Vevnv tartalmt viszont brmikor meg lehet
vltoztatni. Arrl pedig ne is beszljnk, hogy a fogalmi modellezs mgtt van nmi praktika is.
A Vevkd X, a Vevnv Y karakteres - sokkal hosszabb. Ezrt minden jzan tervez az
AKCI-1 egyedtpust fogja alkalmazni.

15.2.4 A normalizls negyedik lpse

Ha egyedtpusaink mr legalbb 3NF alakban vannak, akkor meg kell nzni, hogy az egyed
minden meghatroz tulajdonsga kulcsjellt-e (ld. D 15/2). Ha nem az, akkor a kulcstr fggs
mentn (ld. D 15/1) meg kell bontani az egyedtpust. gy a 15.1 bra 3NF alak, de mgis
karbantartsi anomlikban szenved egyetlen egyedtpusbl a 15.3 bra kt egyedtpushoz
jutunk.

220
Amint azt mr a 2NF s 3NF kapcsn is tapasztaltuk, a dekompozci hierarchikus
szerkezetet eredmnyez (ld. 14.6 bra). Az eredeti egyedbl (TANTS) kialaktott j egyedek
(TANR s TANTJA) egymssal fl/alrendeltsgi viszonyban llnak gy, hogy a levlasztott
tulajdonsgok alkotjk a flrendelt egyedet. Lsd a 15.4 brt.

Tanr

TANR

TANR TANTJA

Dik +
Tanr

TANTJA

15.4 bra: A TANTS modellrszlet diagramja

Eltekintve az elz alpontban emltett problmktl, a BCNF mechanikus normalizls


kivlan mkdik. Csakhogy sohasem szabad mechanikusan normalizlni. A 15.5 plda kapcsn
mutatunk r az j megfontolsokra.

15.5 plda

UTCA (Kerletkd+Utcaszm, Irnytszm)

Nem vals, pusztn a problmkat bemutatni hajt feltteleink a kvetkezek: Az Utcaszm


a kerleten belli relatv sorszm (mestersges adat). Az utca nem nylik t tbb irnytkrze-
ten, klnben nem llna fenn a Kerletkd+Utcaszm Irnytszm fggs s az Irnytszm
nem lehetne az UTCA tulajdonsgtpusa. Minden krzet csak adott kerletbe tartozik, ezrt
fennll az Irnytszm Kerletkd fggs.
Az UTCA egyed 3NF alak. Nincs benne rszleges vagy tranzitv fggs. Viszont nincs
BCNF formban, mert van benne olyan meghatroz (Irnytszm), amely nem kulcsjellt. A
kls kulcstrs tipikus esetvel llunk szemben. Az Irnytszm ler tulajdonsg meghatroz-
za a Kerletkd+Utcaszm sszetett kulcs egyik rszt (Kerletkd). Ezrt mr annyi bizonyos,
hogy ltre kell hozni a KRZET (Irnytszm, Kerletkd) j egyedet. A krds csak az, hogy
ezek utn mi marad az eredeti egyedtpus (UTCA) tartalma.

221
Rossz megbonts lenne a KRZET (Irnytszm, Kerletkd) s az UTCA (Kerlet-
kd+Utcaszm) pros. Ezzel a dekompozcival elveszne az az ismeretnk, hogy a konkrt utca
melyik irnytkrzetbe tartozik. A normalizls szablyai szerint a KRZET (Irnytszm,
Kerletkd) s az UTCA (Irnytszm+Utcaszm) prost kellene ltrehoznunk, mert az a
vesztesgmentes, a matematikai rtelemben vett tkletes lebonts.
Csakhogy... Csakhogy az Utcaszm eredetileg a kerleten belli relatv sorszmot jelentette.
Ha most ezt a ttelt az Irnytszm-hoz ktjk, akkor tartalmilag lyukas lesz az adatmo-
dellnk. Az I. kerleten bell az utcaszmok folytonosak (1, 2, 3 stb.) voltak. Az irnytkrze-
teken bell pedig vletlenszerek lesznek (3, 9, 18 stb.), hiszen az utckat eredetileg nem
krzetek szerint sorszmoztuk.
Amint ltjuk, a mechanikus normalizls matematikai rtelemben mindig j eredmnyre
vezet, de egyltaln nem biztos, hogy kielgti ismerettkrzsi ignyeinket. Ezrt a 15.5 plda
normalizlsa sorn nem mechanikusan fogunk eljrni. Lsd a 15.6 pldt.

15.6 plda

KERLET (Kerletkd, ...)


KRZET (Irnytszm, ... Kerletkd)
UTCA (Irnytszm+Utcaszm, ...)

KERLET (Kerletkd, ...)


KRZET (Irnytszm, ... Kerletkd)
UTCA (Utcaszm, ..., Irnytszm)

Az els esetben az Utcaszm ttelt trtelmezzk az Irnytszm tartalmn belli


relatv sorszmra. gy az a ttel az sszetett kulcs rsze lehet. A msodik vltozatban az Utca-
szm kerlettl s krzettl fggetlen egyedi azonost. Ezrt nem alkot prost az Irnyt-
szmmal, hanem azt meghatrozza. Mindkt esetben helyrell a kerlet-krzet-utca termszetes
hierarchia.
Ez a plda jl mutatja, hogy egyes adatmodellezsi problmkat nem normalizlssal
kszblnk ki. A normlformahiba alapjn (a 15.5 plda UTCA egyede nem BCNF alak)
fedezzk fel a problmt a matematikra tmaszkodva. Viszont szemantikai alapon (az Utcaszm
trtelmezsvel) keressk a helyes megoldst.

15.3 A negyedik normlforma

A nem-normalizlt egyedtpusokban ismtld tulajdonsgok vagy csoportok tallhatk. A


13.4 pontban prbltuk elmondani, hogy a 0NF alak egyedeket mikppen lehet 1NF formra
hozni. Ott mg nem emlthettk, hogy az ismtldseknek van egy sajtos alternl vltozata is,
amelynek a kikszblsre ms technikt kell alkalmazni. A 15.5 bra egyedtpusn szemll-
tetjk ezt a specilis esetet.

222
TANFOLYAM
Kurzus Tanr Tma
Fizika Zld Mechanika
Fizika Zld Optika
Fizika Barna Mechanika
Fizika Barna Optika
Fizika Fekete Mechanika
Fizika Fekete Optika
Matek Fehr Algebra
Matek Fehr Geometria

15.5 bra: Furcsa ismtldst tartalmaz TANFOLYAM egyed

Ezt a pldt Date [22] kiadvnybl vettk (256. oldal). Sajnos a profi szakrk pldi nha egy
picit hibsak. Szndkosan mutatjuk be ezeket a floldalas pldkat. Egyrszt azrt, hogy az
olvas a helyzetet rtkelhesse, ami a lnyeg. Msrszt azrt, hogy megtanulja kritikusan
szemllni a modellezsi krdseket. Tmadjon, vitatkozzon, rveljen - akr az rval szemben is -
mert hiszen a valsg h feltrsa a j modellez feladata.
Most nzzk elszr az rdemi mondanivalt.
Egy tanfolyamon tbb tanr tbb tmt tant. A lnyeg az, hogy ha egy tanr a kurzuson rszt
vesz, akkor annak minden tmjt tantja. Megfordtva: Ha egy tma a kurzus rsze, akkor azt
minden tanr tantja, aki a tanfolyamon egyetlen tmt is okt. Zld tanr r tantja a mechanikt
s az optikt, mert ez a kt tma tartozik a fizika kurzushoz. Az optikt Barna tanr r is eladja,
ha a kurzuson mr a mechanika oktatsban is rszt vesz.

15.3.1 A tbbrtk fggs s az ltala okozott problmk

A TANFOLYAM egyedtpus BCNF alakban van. Ez a tbla ugyanis n. csupakulcs


(angolul: all-key) egyed. Mind a hrom ttel az egyetlen sszetett kulcs rsze, ezrt nincs a
tblban olyan tulajdonsg, amely meghatroz, de nem kulcsjellt. Ennek ellenre a 15.5 bra
egyedtpusa karbantartsi anomlikat mutat. Pldul, ha Zld tanr r kilp, akkor nem egy,
hanem tbb egyedelfordulst kell trlni. Ha Piros tanrn a fizika kurzuson oktatni kezd, akkor
tbbszrs bevitelre (mechanika, optika) van szksg. Vgl akkor, ha Fehr tanrn frjhez
megy s nevt Kkre vltoztatja, tbbszrs karbantartsra van szksg. Mindezeket a bajokat a
Tma szempontjbl is tgondolhatjuk.
Mivel a TANFOLYAM BCNF alakban van, az eddig ismertetett normalizlsi eljrsok nem
alkalmazhatk a nyilvnvalan lthat karbantartsi gondok kikszblsre. j koncepcira van
szksgnk.
Az egyedtpusban a Tanr s Tma prosok egy adott rendszer szerint jelennek meg.
ltalnosan ezt a mintt a kvetkez mdon fejezhetjk ki:

Ha megjelenik a tblban a <k1,t1,m1> s a <k1, t2, m2> sor,


akkor szerepelnie kell abban a <k1, t1, m2> s a <k1, t2, m1> soroknak is.

Ha az els kurzuson (k1) az els tanr (t1) az els tmt (m1), a msodik tanr (t2) a
msodik tmt (m2) tantja, akkor az els tanrnak is kell tantania a msodik tmt s a
msodiknak is az elst.

223
A hasonl helyzetek feloldsra vezettk be a tbbrtk fggs (angolul: multivalued
dependency) fogalmt [25]. Ennek rvid neve MVD, jele pedig >>.

D 15/3 Az E egyedtpus B tulajdonsgtpusa akkor s csak akkor tbbrtk fggssel fgg


az egyedtpus A tulajdonsgtl, ha az adott A-rtknek megfelel B-rtkek ksz-
lete csak az A-tl fgg s fggetlen az egyed C tulajdonsgtl.

Pldnkban a Tanr tbbrtk fggssel fgg a Kurzus tulajdonsgon, mert a Kurzus


rtkhez (Fizika) megfelel Tanr rtkhalmaz (Zld, Barna, Fekete) tartozik s a Tma nem
hatrozza meg a Tanr-t (minden tmt tbb tanr okthat).
Vegyk szre, hogy a tbbrtk fggs mindig prosval jr. Ha fennll az A >> B
fggs, akkor lteznie kell az A >> C fggsnek is. Ezrt az MVD-t ltalban csak olyan
egyedtpuson szoktk rtelmezni, amely legalbb hrom tulajdonsgot tartalmaz.
A tbbrtk fggs nem ms, mint generalizlt funkcionlis fggs. Vagyis az FD az MVD
olyan specilis esete, amelyben a fgg rtkkszlet egyetlen ttelre korltozdik. Mivel az MVD
mindig pros, annak jellst gy is szoktk rvidteni: A >> B | C.

15.3.2 A normalizls tdik lpse

Mieltt rtrnnk a lnyegre, elmondjuk, hogy a 15.5 bra pldja mirt hibs. Ha egy tanr
nem oktathat tbbfle kurzuson s egy tma nem szerepelhet tbb tanfolyamon - a plda ezt
sugallja -, akkor a Tanr s a Tma funkcionlisan meghatrozza a tanfolyamot. Ebben az
esetben pedig nincs szksg az MVD-re. Teht a tovbbiakhoz azt kell feltteleznnk, hogy
vannak trgyak, amelyeket tbb kurzuson is oktatnak.
Most nzzk a normalizlst. A TANFOLYAM egyedben kt MVD-t fedezhetnk fel. A
Kurzus tbbrtken meghatrozza a Tanrt s attl tbbrtken fgg a Tma is. Ha kivlasz-
tunk egy Kurzus rtket, akkor meg tudjuk hatrozni a Tanrok kszlett, fggetlenl a Tma
rtktl. Ugyanez vonatkozik fordtva a Tmk alhalmazra is.
Az MVD karbantartsi anomlit okoz. Ezrt a TANFOLYAM egyedet meg kell bontani a
kt MVD mentn, vagyis a tbbrtk meghatroz s fgg prost kln egyedtpusba kell
kiemelni. Az eredmnyt a 15.6 bra mutatja.

KURZUS TANRAI KURZUS TMI


Kurzus Tanr Kurzus Tma
Fizika Zld Fizika Optika
Fizika Barna Fizika Mechanika
Fizika Fekete Matek Algebra
Matek Fehr Matek Geometria

15.6 bra: talaktott TANFOLYAM modellrsz

Az eredeti TANFOLYAM egyedben az volt a problma, hogy olyan MVD-t tartalmazott,


amely nem volt egyben FD is. A RENDELS (Rendelsszm, Rendelsdtum, Vevkd) egyed-
ben a Rendelsszm >> Rendelsdtum | Vevkd MVD-pros egyben funkcionlis fggs is,
azaz fennllnak a Rendelsszm Rendelsdtum s Rendelsszm Vevkd fggsek s
ezrt ezt az egyedet nem kell megbontani.

224
A 15.6 bra kt csupakulcs egyedben mr nincs problmt okoz MVD. Ezrt nem lpnek
fel a karbantartsi anomlik. gy teht a 15.6 bra megoldsa lnyegesen jobb, mint a 15.5 bra
adatbzis-rszlete.

D 15/4 Az E egyedtpus 4NF alakban van akkor s csak akkor, ha az abban lv brmilyen
A >> B MVD egyben A B FD is.

Mivel a 15.5 brban a Kurzus >> Tanr MVD nem volt FD is, a TANFOLYAM egyed
csak BCNF alak volt. A 15.6 bra kt egyede viszont mr 4NF alak. (Az MVD-t gyakorlatilag
csak legalbb hromoszlopos tblban szoktuk vizsglni, noha elmletileg a ktoszlopos tbla is
megbonthat kt unris egyedre az MVD mentn.)
Meg kell jegyeznnk, hogy egyesek a 15.5 bra ismtldst gy akarjk feloldani, hogy egy
tanrhoz csak egy trgyat adnak meg. Ezt azon az alapon teszik, hogy gyis tudjuk, hogy a tanr
mindegyik tmt oktja. Gondolatmenetk ktszeresen is helytelen. Egyrszt gy felvetdik a
krds, hogy melyik tmt vigyk a tanrhoz. A vgn az egyik trgyat egyik tanrnl sem adjk
meg. Msrszt az ismeretekre vonatkoz tudsunkat a modellnek mindig vilgosan, expliciten
kell tkrznie. Nem szabad megengedni, hogy a tuds implicit legyen, csak a fejekben vagy a
programokban ltezzen.
Vgl r kell mutatnunk, hogy a TANFOLYAM egyednek tbbfle megbontsa is ltezhet. A
14.8 pldban mutattuk be a j s a rossz lebontst a funkcionlis fggs esetn. Akkor meg-
llaptottuk, hogy az A B, B C s A C fggsek fennllsakor az (A,B) s (B,C) pros
adja a helyes dekompozcit, mg az (A,B) s (A,C) pros szerinti megbonts karbantartsi gon-
dokat okoz. A szakrk szerint ugyanez a megllapts vonatkozik az MVD-re is. Teht a 15.6
bra megoldsnl jobb lebonts a (Kurzus+Tanr) s (Tanr+Tma) vagy a (Kurzus+Tma) s
(Tma+Tanr) pros.
Ezzel a megllaptssal nem teljesen rtnk egyet. Brmelyik megbontssal kt csupakulcs
egyedet kapunk. Ha ez nem lenne igaz, akkor az eredeti relciban ltezett volna funkcionlis
fggs s megbontshoz nem lett volna szksg az MVD alkalmazsra. A csupakulcs relcik
tartalmaznak ugyan kzs tulajdonsgot, de az a mi felfogsunk szerint nem kapcsol ttel. Azrt
nem az, mert nem ll fenn az egyik egyednek kulcsa, a msiknak nem felttel. Az M:N-es
kapcsolds mindig ktes szemantikai eredmnyekre vezet, amint azt elz kiadvnyunkban
kimutattuk. Ezrt tkletesen kzmbs, hogy az eredeti hrmast a hrom lehetsges kombinci
kzl melyik kt prosra bontjuk le.

15.3.3 Megjegyzsek a tbbrtk fggshez

A 4NF alak kikszbl egy olyan karbantartsi anomlit, amit a BCNF mg megenged.
Ezrt a 4NF alak tkletesebb a BCNF-nl. Termszetesen minden olyan egyed, amely 4NF
alak, egyben BCNF formj is. Ezrt nincs szksg a lpsenknti normalizlsra: a rossz
MVD-k kikszblsvel egybl a 4NF alakhoz juthatunk.
A 4NF mindig megtallhat, de nem biztos, hogy alkalmazni is akarjuk. Mr a BCNF
alaknl is tapasztaltuk, hogy az eredmnyezett egyedtpusok esetleg nem fggetlenek egymstl,
mert az eredeti egyed atomi (ld. 15.2.3 alpont) volt. Pldnk esetben is fellphet karbantartsi
problma. Valaki beilleszthet egy j sort a KURZUS TANRAI egyedbe anlkl, hogy meg-
vizsgln: az illet valban tantja-e a kurzus sszes tmjt.
Pldnk mutatja, hogy csak meglehetsen sszetett felttelek mellett lp fel az MVD-
problma. Ezrt a gyakorlatban igen ritkn fordul el, hogy az tdik normalizlsi lpst vgre
kell hajtani. Ezzel szemben egyes tervezk az MVD bvletbe esnek s ton-tflen MVD-

225
megoldsokat keresnek. ltalban hromfle tvedst szoktak elkvetni. Az egyik az, hogy elfe-
ledkeznek arrl a kittelrl, miszerint az MVD mindig prosval jr s ott is tbbrtk fggst
keresnek, ahol az nem alternl jelleg. A msik az, hogy az MVD-t nem csak a csupakulcs
tblkon vizsgljk, holott csakis azok esetben lphet fel a 4NF ignye. A BCNF alak, nem-
csupakulcs egyed ugyanis eleve egyben 4NF formban is van.
A legslyosabb tveds - amivel a szakirodalom pldiban is sokszor lehet tallkozni - az,
hogy az A /> B funkcionlis fggetlensget B >> A (teht fordtott irny) MVD-nek
rtkelik. Mert hiszen akkor, ha az A nem hatrozza meg a B-t, akkor a B-hez tbb A rtk, az A
rtkkszlete tartozik. A D 15/3 meghatrozs azon a kittelrl, hogy a C-tl fggetlenl
egyszeren elfeledkeznek. Ha a TANFOLYAM pldban nem lenne igaz az, hogy minden a
kurzuson rsztvev szemly a tanfolyam minden tmjt tantja, akkor is fennllna a Kurzus />
Tanr fggetlensg, de sz sem lehetne a Kurzus >> Tanr s a Kurzus >> Tma MVD-
prosrl, ht mg a Tanr >> Kurzus fggsrl. Nem lpne fel a karbantartsi anomlia s
ezrt a TANFOLYAM egyedet nem lehetne - s nem is volna rtelme - megbontani.
Most pedig elrulunk egy apr titkot. A magunk rszrl a 4NF alakot szp, de kicsit feles-
leges elmleti zsonglrkdsnek tartjuk. A 15.5 bra TANFOLYAM egyedtpusa - erre mr utal-
tunk - rejtett ismtldst tartalmaz. Teht - ha gy tekintjk - nem BCNF alak, hanem nem is
normalizlt (0NF). A 15.7 bra tblja ugyanazt az ismeretet hordozza, mint a 15.5 bra egyede.

TANFOLYAM
Kurzus Tanrok Tmk
Fizika Zld Mechanika
Barna Optika
Fekete
Matek Fehr Algebra
Geometria

15.7 bra: Ismtldst tartalmaz TANFOLYAM egyed

Mrmost miknt szoktuk az ismtldseket kiszrni? gy, hogy az ismtld rszt az eredeti
egyed kulcsval egytt j egyedbe visszk. Pldnkban kt ismtlds van, ezrt a 15.6 bra kt
egyedt fogjuk kapni az ismtldsek levgsval. Mivel az eredeti egyedben csak a Kurzus kulcs
marad, megfontols trgya, hogy az egyoszlopos egyedtpust megrizzk-e vagy sem.
Mi ilyen helyzetben meg szoktuk tartani az egyetlen tulajdonsgot tartalmaz egyedtpust is.
Ennek kt oka is van. Egyrszt egszen bizonyos, hogy a tanfolyamokat nemcsak nevkkel,
hanem egyb ismeretekkel is le akarjuk rni. (Szzszor elmondtuk mr, hogy nem szabad az egye-
deket nllan, a tbbiektl fggetlenl nzni.) Msrszt a KURZUS TANRAI (Kurzus+Tanr)
s a KURZUS TMI (Kurzus+Tma) kztt nem definilhat kapcsolattpus. Ezzel szemben
mindkt egyed vals kapcsolatban ll a TANFOLYAM (Kurzus, ...) egyedtpussal. Ekkor ugyanis
fennll az a felttel, hogy a Kurzus az egyik egyedben kulcs, a msikban nem az (mi a kulcsrszt
nem tekintjk kulcsnak).

226
15.4 Az tdik normlforma

Eljutottunk az tdik normlalakhoz (5NF). Ez a legvgs normlforma, amelynl - matema-


tikai rtelemben s a dekompozcis eljrs alkalmazsa esetn - nem lehet jobbat tallni [26]. A
forma szemlltetsre szolgl meglehetsen kacifntos pldt ismt Date rtl vettk [22, 260.
oldal], aki azt maga is patologikus-nak nevezte. Lsd a 15.8 brt. (Az olvas kszljn fel a
legrosszabbra.)

SZLLTS
SSZ PSZ CSZ
S1 P1 C2
S1 P2 C1
S2 P1 C1
S1 P1 C1

15.8 bra: SZLLTSI modellrszlet

A plda magyarzata meglehetsen bonyolult. Vannak szlltk, projektek s cikkek. Ezek


rtkkszletei krkrsen egymshoz ktttek. Egy szllt meghatrozott cikkeket adott projek-
tekre szllt. Ha egy cikket szllt, akkor azt minden a cikket rint projektre biztostja s meg-
fordtva: ha egy projekthez kapcsoldik, akkor annak minden cikkt szlltja. Egy cikket megha-
trozott szllt biztost adott projektre. Ha a cikket egy szllt szlltja, akkor azt minden
projektre teszi, amelyben a cikk szerepel s megfordtva. Ugyangy a projekt szempontjbl is
egymshoz ktdnek a szlltk s a cikkek.
Mindezt gy roppant nehz megrteni. A matematikai formula gy hangzik:

ha megjelenik a tblban az <S1, P1, C2>, <S2, P1, C1> s a <S1, P2, C1> sor,
akkor szerepelnie kell abban a <S1, P1, C1> sornak is.

15.4.1 A kapcsolsfggs s az ltala okozott problmk

A SZLLTS csupakulcs egyed igen ravasz karbantartsi problmkat rejteget. Tekintsk


gy, mintha a 15.8 bra csak az els kt sort tartalmazn. Most prbljuk meg beilleszteni a
harmadik sort. Ekkor azzal egytt a negyediket is be kell vinni. Az els szllt szllt a P1
projektre (els sor) s szlltja a C1 cikket (msodik sor). Azonban a beillesztsig a P1-C1 pros
nem szerepelt az els kt sorban. Vagyis nem ktttk ki, hogy a P1 projektre a C1 cikket is
szlltjk. Az S2-P1-C1 sor bevitelvel ezt megtesszk. Mivel az S1 szllt rszt vesz a P1
projekt elltsban, arra a C1 cikket is szlltania kell. Ezzel szemben a negyedik sor bevitele
nem kveteli meg a harmadik beillesztst.
A trlsekkel is bajunk van. A harmadik sort nmagban trlhetjk, mert nem veszik el az
az ismeret, hogy a P1 projekthez tartozik a C1 cikk. Viszont a negyedik sor trlse egytt jr
msik sor megszntetsvel is. (Melyikvel?)
A karbantartsi anomlik miatt a SZLLTS egyedet elvileg meg kell bontani, br az 4NF
alakban van. Ezt hrom mdon tehetnnk: Szllt-Cikk/Cikk-Projekt, Szllt-Cikk/Projekt-
Szllt s Cikk-Projekt/ Projekt-Szllt egyedprosokat alkotva. Azonban a 15.9 bra baloldali

227
rsze mutatja, hogy a prosra bonts nem lehetsges. Azrt nem, mert a prosok sszekapcsols-
val nem az eredeti egyedet nyerjk vissza. Tves ismeretekre vezetne a pusztn pros kapcsols.
Ezrt mindhrom egyedre szksg van, amelyek ketts kapcsolsa mr megbzhat eredmnyt ad.
Ezt mutatja az bra jobboldali rsze.

SP PC CS
SSZ PSZ PSZ CSZ CSZ SSZ
S1 P1 P1 C2 C2 S1
S1 P2 P2 C1 C1 S1
S2 P1 P1 C1 C1 S2

SPC
SSZ PSZ CSZ
S1 P1 C2
S1 P2 C1
S2 P1 C1
S2 P1 C2
S1 P1 C1
EREDETI EGYED
15.9 bra: A hrom kivettett egyed sszekapcsolsa

Ha csak kt tblzatot kapcsolunk ssze (ld. baloldal), akkor olyan sort is kapunk, amely nem
szerepelt az eredeti tblban (lsd a dltbets elfordulst). Ha viszont a harmadik tblzattal
sszekapcsoljuk az elz mvelet rszeredmnyt, akkor visszakapjuk az eredeti tblt. Emiatt a
krkrs viszony miatt nevezik az ilyen tulajdonsgfggst kapcsolsfggsnek (angolul: join
dependency).

D 15/5 Az E egyedtpus akkor s csak akkor tesz eleget a kapcsolsfggsnek, ha X, Y, ..., Z


kivettseinek az sszekapcsolsval helyrellthat gy, hogy X, Y, ..., Z az E
egyedtpus tulajdonsgtpusainak a rszhalmazai.

A kapcsolsfggs rvid neve JD, jele pedig * (X, Y, ..., Z). Pldnk esetben az SP, a PC
illetve a CS a rszhalmazok s ezrt fennll a * (SP, PC, CS) kapcsolsfggs.

15.4.2 A normalizls hatodik lpse

Amiknt a tbbrtk fggs (MVD) a funkcionlis fggs (FD) generalizcija, ugyangy a


kapcsolsfggs (JD) az elz kett ltalnostsa. Teht az FD s az MVD a JD specilis esete.
A SZLLTS egyedben meglehetsen nehezen thidalhat karbantartsi problmk lptek fel.
Ennek az az oka, hogy az egyedben kimutathat JD nem MVD s nem FD. Ezrt az egyedet meg
kell bontani. Ez a dekompozci - a korbbiakkal ellenttben - nem kt, hanem tbb, egymshoz
krkrsen kapcsolhat egyedet eredmnyezett.

228
D 15/6 Az E egyed akkor s csak akkor van 5NF alakban, ha az egyedben lv minden
kapcsolsfggs csak az egyed kulcsjelltjei kztt ltezik.

Az tdik normlformt (5NF) kivetts-sszekapcsols (angolul: projection-join) alaknak is


nevezik s ezrt PJ/NF mdon is jellik. A 15.9 bra hrom egyede ebben a normlformban van.
Mr nem mutatjk a SZLLTS egyed karbantartsi problmit. Azonban nyilvn fellp egy
karbantartsi nehzsg. Brmelyik egyedet is aktualizljuk, msikhoz is hozz kell nylnunk. A
szrmaztatott egyedek egymstl nem fggetlenek, mert az eredeti egyed atomi volt.
Most ismt el kell mondanunk, hogy minden 5NF alak egyed termszetesen 4NF formban
is van, mivel a JD az MVD ltalnosabb esete. Az is vilgos, hogy a kapcsolsfggst mutat
egyed ismeretvesztesg nlkl lebonthat e fggs mentn.
Az 5NF-mdon val normalizls elvi lehetsgt egy msik pldn keresztl is bemutatjuk.
Vegyk csak alapul a VEV (Vevkd, Vevnv, Vevcm, Vevtpus) egyedet, amelyben
felttelezzk a Vevnv egyedisgt. Ebben az egyedben tbb JD fedezhet fel a kt kulcsjellt
(Vevkd, Vevnv) miatt. Lsd a 15.7 pldt.

15.7 plda

* (Vevkd, Vevnv, Vevtpus), (Vevkd, Vevcm)


* (Vevkd, Vevnv), (Vevkd, Vevtpus), (Vevnv, Vevcm)

Nem ktsges, hogy a kt egyed illetve a hrom pros sszekapcsolsval visszanyerjk az


eredeti VEV egyedet. Ez annak ksznhet, hogy mind a Vevkd, mind a Vevnv kulcs-
jelltek s csakis ezeken alapulnak a kapcsolsfggsek.
Most nzzk meg a RENDELS (Rendelsszm, Vevkd, Vevnv) egyedet, amelyben azt
felttelezzk, hogy a Vevnv nem egyedi! Ennek a RENDELS-1 (Rendelsszm, Vevkd) s
RENDELS-2 (Rendelsszm, Vevnv) mdon val lebontsa helytelen. Azrt, mert az eredeti
egyedben van olyan * (Vevkd, Vevnv) JD, amelyet nem az egyetlen kulcsjellt implikl. A
jelzett lebontssal ez a JD elveszik. Ezrt csak a RENDELS (Rendelsszm, Vevkd) s VEV
(Vevkd, Vevnv) megbonts a j.

15.4.3 Megjegyzsek a vgs normlformhoz

Minden normalizlsi lpsnek az a lnyege, hogy az eredeti egyed dekompozcijval


vesztesgmentes szerkezetet kapjunk. Teht az j egyedek sszekapcsolsval visszanyerhessk
az eredeti egyed ismereteit. Ha erre figyelve eleve a kapcsolsfggseket keressk, akkor nem kell
trdnnk a rszleges, tranzitv, kulcstr s tbbszrs fggsekkel. Biztosan s azonnal a ltez
legjobb - tdik normlformj - szerkezetet kapjuk, amint azt a legutbbi RENDELS pldnl
is lthattuk.
gy szl az elmlet. Azonban a gyakorlat - sajnos - egszen ms. Az elz alpont 15.7 pldja
mutatja, hogy a kapcsolsfggsek szerinti megbonts nem mindig egyrtelm. Ezen kvl rop-
pant nehz felfedezni a kapcsolsfggseket s tltni, hogy azokat tnyleg csak a kulcsjelltek
implikljk-e a D 15/5 definci szerint. A gyakorlatban egybknt is nagyon ritkn fordulnak el
a 15.8 bra pldjhoz hasonl beteges helyzetetek. Azok esetben is krdses, hogy vgre
akarjuk-e tnyleg hajtani a normalizlst, hiszen az eredmny-egyedek nem lesznek egymstl
fggetlenek.
Miutn ktelessgnknek eleget tettnk az 5NF bemutatsval, mindenkit lebeszlnk arrl,
hogy ezt a normlformt keresse s alkalmazza. Nem ri meg a fradozst.

229
Most mr csak azt kell megmagyarznunk, hogy milyen rtelemben tekintik vgsnek az
5NF alakot a szakrtk. Az MVD a JD, az FD az MVD specilis esete. Az egyeden belli tulaj-
donsgfggseknek nincs olyan magasabb formja, amelynek a JD lenne a specilis vlfaja. Ezrt
addig, ameddig a normalizls lnyegt a vesztesgmentes, teht sszekapcsolssal visszafordt-
hat dekompozciban keressk, az 5NF valban a vgs, a legtkletesebb alak. Ezrt ne vrja
az olvas, hogy sz lesz ebben a knyvben 6NF, 7NF stb. normlformkrl.
Lteznek azonban ms alap normlformk is, amelyek nem a dekompozci elvre plnek
[27 s 28]. Ezek trgyalstl kiforratlansguk miatt eltekintnk. Viszont a kvetkez fejezetben
bemutatunk nhny sajt, titkos normlformt. Ezeket nem kvnjuk elre minsteni. Nme-
lyikk az 5NF keretbe illeszkedik s csak az elmlet pontostst szolgljk. Msok viszont nem
a szigor rtelemben vett dekompozcis eljrsba tartoznak s gy msfle jellegek, mint az
5NF alak. Msknt szolgljk a modell javtst.
A fejezet zrsaknt vissza kell trnnk a 15.1 pont bevezetjnek a vgn elhangzott
magnmorgoldsra. Egyes elmleti szakemberek brilinsan megoldjk a gyakorlatilag nem is
ltez problmt. Ha visszatrnk a 15.7 pldra, akkor az olvas igazolva ltja a magas elmlet
irnti ktelyeinket. A JD megoldja a nemltez gondot (is). Megoldja? Egyetlen gyakorlati szak-
ember sem fogja kln egyedbe helyezni a Vevcmet gy, ahogyan azt a 15.7 plda els vlto-
zata mutatja. Ha a Vevkd mellett a Vevnv is kulcsjellt, akkor ez egy gyakorlati tervezt nem
fog megzavarni. Semmikppen sem fogja a 15.7 plda msodik vltozatt alkalmazni. Hanem
elknyveli, hogy a Vevnv a Vevkd alternl kulcsa (ld. 14.7 pont), amely nyilvn az egyetlen
VEV egyedet jellemzi s fggseinek a vizsglatra nincs is szksg. Azrt nincs, mert azok
pontosan megegyeznek a Vevkd fggseivel.
A fentiek miatt a tapasztalatlan gyakorlati tervez kt hibt kvethet el. Az egyik az, hogy
egyltaln nincs tekintettel az elmletre. Pldul nem alkalmazza az alapvet normlformkat. A
msik az, hogy nem vlogat az elmletekben s azokat minden kritika nlkl megprblja t-
venni.

Ellenrz krdsek - 15

15/01 Az albbi kijelentsek kzl melyik igaz (I) s melyik hamis (H)?

- Minden ktoszlopos egyed eleve 3NF alakban van.


- Minden ktoszlopos egyed eleve BCNF alakban van.
- Minden ktoszlopos, egyetlen funkcionlis fggst mutat egyed 5NF alak.
- Minden ktoszlopos egyed 5NF alak.

15/02 Igaz-e (I) az az llts, vagy hamis (H), amely szerint az E (A,B,C) egyed csak akkor
egyenl az E1 (A, B) s E2 (A, C) lebontsainak az sszekapcsolsval, ha fennll az A
B fggs?

15/03 Igaz-e (I) vagy hamis (H) a kvetkez ngy kijelents:

- Ha egy egyedben A B s B C, akkor A C.


- Ha egy egyedben A B s A C, akkor A {B, C}.
- Ha egy egyedben B A s C A, akkor {B, C} A.
- Ha egy egyedben A B s A C, akkor {B, C} A.

230
15/04 Igazak-e (I) vagy hamisak (H) a kvetkez kittelek:

- A kulcstr fggst tartalmaz egyed mindig BCNF alakra hozhat.


- A kulcstr fggst tartalmaz egyed mindig fggetlenl karbantarthat egyedekre bonthat.
- A kulcstr fggst tartalmaz egyed mindig sszekapcsolhat egyedekre bonthat.

15/05 Versenybridzset jtszunk tbb asztalon. Vannak leosztsok. Egy leosztsban tbb csapat
vesz rszt tbb asztalon. Minden leosztsban mindegyik csapat mindegyik asztalon rszt
vesz, amely asztalon jtszik. Hnyadik normlformban van a kvetkez kt egyed s mi
velk a teend:

BRIDZS (Leoszts, Csapat, Asztal)


BRIDZS (Leoszts, Csapat, Asztal, Eredmny)

231
16. A CSOPORTOK CSAPDI

16.1 Eltr gondolkozsmdok

Vegynk alapul hrom tulajdonsgot: A, B s C. Ttelezzk fel, hogy ezek kztt ltezik az
A B, B C s A C fggshrmas. Most pedig tegynk fel nhny krdst.
Az els az, hogy melyik fggs a felesleges, a rossz. Ha valaki csak mennyisgekben
gondolkozik, akkor azonnal rvgja: A harmadik, merthogy az a tranzitv. Viszont a min-
sgekre is figyel tervez gy szl: A tranzitivits tnye azt jelzi szmomra, hogy itt valami baj
van. Ktsgtelen, hogy formailag az A C fggs felesleges, mert a msik kettbl kvetkezik.
m az is elfordulhat, hogy az els kt fggs valamelyikt rosszul adtk meg. St, mg az is,
hogy az egyik A nem ugyanazt jelenti, mint a msik A.
Mikppen lehet az, hogy az A nem mindig ugyanazt jelenti? Hiszen a normalizls az
egyedtpus dekompozcija! Egy egyedben csak egy A lehet s gy a felvets rtelmetlen. Szem-
ben az ilyen elhamarkodott kittelekkel a tapasztalt modellez nem llt, hanem krdez. Felteszi
azt a msodik krdst, hogy a hrom ominzus fggst egy vagy tbb egyedtpuson bell kell-e
rtelmezni. A 13.3 pontban beszltnk az egyeden belli s az egyedek kztti fggsekrl. A
rszletekben elvesz tervez szeparlt egyedtpusokat akar normalizlni. Az ttekintssel br
viszont a teljes optimlis modellt keresi.
Az igen gyakorlott elemzk felvetik a harmadik krdst is: Tessk mondani, a hrom tulaj-
donsg kzl melyik egyszer s melyik sszetett?. Mert ha az A sszetett s annak rsze a B,
akkor ugye nem kznsges tranzitivitssal, hanem rszleges fggssel llunk szemben. Mg
ltalnosabban szlva: a mg nem elgg jrtas szakember megelgszik a fggs tnynek a
felismersvel, mg a sokat ltottak a fggs sajtossgait is vizsgljk. Ugyanis az optimlis
adatmodell kialaktsa sorn az sszetett tulajdonsgok - amiket csoportoknak fogunk nevezni -
klnleges elemzsi problmkat okozhatnak.

Ennek a fejezetnek kt clja van. Az els az, hogy tformlja a tervezk gondolkozs-
mdjt. A msik az, hogy ismertesse a tulajdonsgok kztti fggsek olyan specilis eseteit,
amelyek a csoportokkal kapcsolatosak.

A kztudatban a normlforma s a normalizls a relcis adatbzisok tervezshez kapcso-


ld matematikai fogalmak. Ebbl a felfogsbl tbb problma fakad. A relci mint egysg
logikai szint tnyez. Radsul strukturlisan meglehetsen korltos. Mint tudjuk, a relcis
modell s az ilyen kezelk tbbsge nem tmogatja a csoport ismereti egysgt. Mrpedig - mint
ebben a fejezetben bizonytani fogjuk - a csoport konstrukci nlkl nem lehet megalkotni az
optimlis adatmodellt. Ezrt felfogsmdunkon vltoztatnunk kell. Egyrszt a normalizlst fel
kell emelnnk a fogalmi szint modellezs skjra. Msrszt a tisztn matematikai szemlletet fel
kell vltanunk a matematikval tmogatott szemantikus ltsmddal. A csoportok ltal okozott
modellezsi problmk csak gy oldhatk fel.

232
16.2 A fggstblzat

Az eddigi normlformk kapcsn az olvasnak nyilvn feltnt kt dolog. Az egyik az, hogy a
14. fejezetben trgyalt rszleges illetve tranzitv fggsek pontosan ugyanazokat a bajokat
okozzk (ld. 14.2.1 s 14.3.1 alpont). A msik szembetn dolog az, hogy a kulcstr fggs igen
nagy rokonsgot mutatott a rszlegessel, csak ppen kulcsrsz tulajdonsgra vonatkozott (ld.
15.2.1 alpont). Ezrt az ember hatatlanul elgondolkozik azon, hogy mirt kellett a meghatro-
zsokban - pl. D 14/1 - annyira hangslyozni a nem-kulcs kittelt. Van-e jelentsge annak,
hogy az A B, B C s A C fggssorozatban valamelyik ttel nem-kulcs, azaz ponto-
sabban nem kulcsrsz?
Erre a krdsre a szakrk implicit igennel vlaszolnak. Ha a tnyez kulcsrsz/nem-
kulcsrsz szerepe kzmbs lenne, akkor semmi rtelme sem lenne megklnbztetni a rszleges
s a tranzitv fggst. Azrt nem, mert tulajdonkppen a rszleges fggs is tranzitv, csak ppen
a fggssor egyik tagja kulcsrsz. Hasonltsuk csak ssze a 16.1 plda kt fggssort:

16.1 plda

RENDELS RENDELSTTEL

Rendelsszm Vevkd Rendelsszm+Cikkszm Cikkszm


Vevkd Vevnv Cikkszm Cikknv
Rendelsszm Vevnv Rendelsszm+Cikkszm Cikknv

A RENDELS esetben a harmadik fggst tranzitvnak, a RENDELSTTEL pldjban


viszont rszlegesnek tekintjk, holott a kplet - A B, B C s A C - tkletesen
ugyanaz. Ennek a klnbsgttelnek valsznleg az az oka, hogy a szakirodalom elfeledkezik a
RENDELSTTEL els fggsrl, amely projektv jelleg s gy trivilis. Armstrong [20]
projektivitsi aximja szerint egy sszetett tulajdonsg (Rendelsszm+Cikkszm) mindig
meghatrozza a sajt sszetevit (Cikkszm).
Mrmost ha a Cikkszm kulcsrsz-jellege kzmbs, akkor egyltaln nincs klnbsg a kt
plda - s gy a rszleges illetve tranzitv fggs, a 2NF illetve a 3NF - kztt. Ha viszont nem az,
akkor minden fggskombinciban figyelnnk kellene a kulcs/nem-kulcs jellegre. Szerintnk
nem mellkes a tulajdonsg szerepe Ezrt sszelltjuk a kvetkez dntsi tblzatot, illetve
egyelre annak csak a feltteltmbjt. Lsd 16.1 bra.

1 2 3 4 5 6 7 8
A B K K K K N N N N
B C K K N N K K N N
A C K N K N K N K N
16.1 bra: A fggsek dntsi tblzata (1)

A tblban hrom tulajdonsg fggseit mutatjuk a feltteltrzsben (baloldalt). K bejegyzs


jelzi a feltteljegyzkben (jobboldalt), hogy a meghatroz sajt kulcsrszeknt hatrozza-e meg a
fggt (K bejegyzs), vagy sem (N bejegyzs). Az egyes oszlopokat szablyoknak nevezzk. Az 1.
szably els bejegyzse K. Ezek szerint a B-t az A sszetett tulajdonsg rsznek felttelezzk.
Az 5. szably els bejegyzse N. Ebben az esetben a B-rl nem felttelezzk, hogy az A rsze.

233
A dntsi tblzatoknak van tevkenysg vagy kvetkezmny tmbje is. Ez most hinyzik az
brnkbl. A tevkenysgtmb azt rulja el, hogy mi a helyzet akkor, ha az adott szablyban lv
felttelek mindegyike fennll. Mi a teend/kvetkezmny pldul akkor, ha mindhrom fggs
projektv (1. szably), vagyis ha az A a sajt maga rszeknt hatrozza meg a B-t (1. sor) s a C-t
(3. sor) illetve a C a B-nek is rsze (2. sor)?
A kvetkez pontban az egyszeren feltrhat dntsi eseteket fogjuk vizsglni.

16.3 Kt egyszer s hrom ismert fggsi helyzet

A tblzat els szablya az abszolt trivilis fggst mutatja. Az A tulajdonsg sszetett gy,
hogy a B is s a C is a rsze. A B tulajdonsg sszetett gy, hogy rsze a C. Ezt akkor tudjuk
igazn megrteni, ha j jellseket vezetnk be. A tovbbiakban a tulajdonsgok sszettelt
illetve azonossgt a {} jelek kztt mutatjuk. Teht a kvetkez jellsekkel fogunk lni:

A {X+Y+Z}
B {X+Y}
C {X}

Az els sor azt mondja, hogy az A az X, Y s Z tulajdonsgokbl sszetett. A harmadik sor


azt mutatja, hogy C azonos X-szel. Most mr egszen vilgosan lthat, hogy az A-nak rsze a B
s a C illetve a C-t a B is tartalmazza. Hrom fggsnk van:

A {X+Y+Z} B {X+Y}
B {X+Y} C {X}
A {X+Y+Z} C {X}

Annak ellenre, hogy tranzitv fggst ltunk, nincs lehetsgnk a normalizlsra, vagyis a
tranzitvnak tn harmadik fggs megszntetsre, mert az A {X+Y+Z} C {X} fggs
axiomatikus. Valjban egyik fggst sem tudjuk kikszblni, mert mindegyik projektv. Ezrt
akkor, ha ltezik pldul a TELEPLS (Orszgkd+Megyekd+Teleplskd) egyed, akkor azt
nem lehet megbontani azon az alapon, hogy a teljes kulcstl az Orszgkd s Megyekd prosn
t fgg a vgs tag, az Orszgkd is. A TELEPLS egyedben lv fggskombinci ugyanis
teljesen trivilis.
A tblzat msodik szablya egyszeren ellentmondsos. Elvileg nem fordulhat el ez a
helyzet. Ha az A {X+Y+Z}-nek rsze a B {X+Y}, annak pedig a C {X}, akkor kizrt, hogy az X
ne legyen az X+Y+Z alkoteleme is. Elbbi pldnkkal lve: Ha egy telepls adott orszg adott
megyjben van (A), a megyn bell egyrtelmen meghatrozott (B), akkor kptelensg, hogy a
telepls ne kapcsoldjon maghoz az orszghoz is (C).
A tblzat negyedik szablya mutatja az ltalunk mr ismert rszleges fggs kplett:

A {X+Y} B {X}
B {X} C {Z}
A {X+Y} C {Z}

234
A 14.2 bra RENDELSTTEL egyedben a Rendelsszm s Cikkszm prosa sajt rsze-
knt hatrozza meg a Cikkszm-ot. Ettl s magtl a teljes prostl nem-projektv mdon fgg a
Cikknv tulajdonsg. Ilyen esetekben a harmadik Rendelsszm+Cikkszm Cikknv fggst
kell megszntetni, amely formailag tranzitv. Vagyis a Cikknv tulajdonsgot ki kell vennnk a
RENDELSTTEL egyedbl. Ezt megtehetjk, mert a harmadik fggs nem projektv.
A tblzat nyolcadik szablya a kznsges tranzitv fggs kplete. Egyik fggsben sem a
sajt rszt hatrozza meg a tulajdonsg, vagyis egyik fggs sem projektv. Lsd az 14.8 bra
RENDELS egyedt. Ekkor is a harmadik Vevkd Vevnv fggs kikszblse a cl. A
Vevnv tulajdonsgot ki kell venni a RENDELS egyedbl. Ennek nincs akadlya, mert ez a
fggs sem projektv.
Itt lljunk meg egy pillanatra. Vegyk szre, hogy nem egyszeren a tulajdonsgok sszetett
vagy elemi voltrl van sz. A tblzat nyolcadik oszlopnak az esetben brmelyik (A, B, C)
tulajdonsg lehet akrhnyszorosan is sszetett. A lnyeg az, hogy egyik sszettel sem lehet a
msik teljes rsze. Ezrt van hrom N bejegyzs az oszlopban.
A tblzat hetedik szablya fedi le a kulcstr fggs esett, amelynek kplete a kvetkez:

A {X+Y} B {Z}
B {Z} C {X}
A {X+Y} C {X}

Emlkezznk csak az UTCA egyedre (ld. 15.5 plda). A Kerletkd+Utcaszm meghat-


rozza az Irnytszmot, nem a sajt maga rszeknt. Az Irnytszmtl fgg a Kerletkd,
ismt csak normlis fggssel. Viszont a Kerletkd+Utcaszm a sajt rszeknt hatrozza meg a
Kerletkd-ot.
Most tallkozunk az els dilemmval. Eddig az hihettk, hogy a formai tranzitvits miatt az
A B, B C s A C fggsek kzl a harmadikkal akad teendnk. Tblzatunk els
oszlopa esetben az volt trivilis, teht nem megszntethet. A msodik szablynl az volt ellent-
mondsos. A negyedik s a nyolcadik szably esetben azt kellett s lehetett kiemelni.
A hetedik szably esetben az A {X+Y} C {X} fggs projektv, ezrt nem szmolhat
fel. A msik kt fggs valamelyike pedig azrt nem hagyhat el, mert ismeretet vesztennk.
Hiszen csak az els kt fggsbl kvetkezik automatikusan a harmadik, az elsbl s a harma-
dikbl nem vezethet le a msodik, a msodikbl s harmadikbl pedig nem addik az els.
Ezrt a kulcstr fggs esetben nem a tranzitvits szerinti megoldst alkalmaztuk. Vagy
teljesen j azonostt vezettnk be, vagy ms azonostprt vlasztottunk s ezzel alaktottuk t a
fggseket pldul az albbi mdon:

A {Z+Q} B {Z}
B {Z} C {X}

A kulcstr fggs esetben a normalizls mr csak flig mechanikus. A tblzat 7.


szablya ltal jelzett fggssor nem eredmnyezi automatikusan a helyes megoldst (a harmadik
fggs megszntetst), hanem csak felhvja a figyelmet a problmra. Ezzel kezddik a szeman-
tikus normalizls, amelyben a tervez a jelensgek termszetes sszefggseit mrlegelve
alaktja t az adatbzis-szerkezetet, amelynek a hibjt a mechanikus normalizls trta fel.
A kvetkez pontokban olyan sszetett normalizlsi problmkra hvjuk fel a figyelmet,
amelyek csak szemantikai alapon oldhatk meg. Mieltt a nehezebb feladatokra rtrnnk,
aktualizljuk a 16.1 bra tblzatt az eddig megismert kvetkezmnyekkel. Lsd a 16.2 brt.

235
1 2 3 4 5 6 7 8
A B K K K K N N N N
B C K K N N K K N N
A C K N K N K N K N

Trivilis fggs X
Lehetetlen eset X
Rszleges fggs X
Tranzitv fggs X
Kls kulcstrs X
16.2 bra: A fggsek dntsi tblzata (2)

Az 1. szably esetben nincs teend, mert a szerkezet j. A 2. szablynl azrt nincs, mert ez
a helyzet nem fordulhat el. A 4. oszlopnl a rszleges fggst meg kell szntetni s akkor
legalbb 2NF alakot nyernk. A 8. szably felttelkombincijnak a fellpsekor ismt norma-
lizlnunk kell. A tranzitv fggs eltvoltsval legalbb 3NF alak lesz az egyedtpusunk.
Vgl a 7. oszlop szablya ltal rejtett ellentmonds gy szntethet meg, hogy j kulcsot vlasz-
tunk s BCNF alak egyedeket terveznk.
A tblzat fennmarad hrom szablyra nem tallunk magyarzatot a normalizlssal
foglalkoz mindennapos szakirodalomban. A kvetkez hrom pontban ezeket az eseteket fogjuk
megvilgtani.

16.4 A bels kulcstr fggs

Igazbl csak most kezdnk elrni a szemantikus normalizls lnyeghez. Az els problma
szemlltetshez a 16.2 pldt fogjuk hasznlni:

16.2 plda

RENDELS-1 (Rendelsszm, Cikkszm, ...)


RENDELS-2 (Rendelsszm+Cikkszm, ...)

Egyelre koncentrljunk a msodik egyedtpusra felttelezve azt, hogy fennll abban is az


els egyed ltal sejtetett Rendelsszm Cikkszm fggs. A 16.2 bra tblzatnak a harma-
dik szablya mutatja ezt a szitucit. Ennek a kplete a kvetkez:

A {X+Y} B {X}
B {X} C {Y}
A {X+Y} C {Y}

Ltezik egy A sszetett kulcs, amely projektven meghatrozza a sajt els X rszt. Az X
kulcsrsz meghatrozza az azonost msik Y tagjt, amely ismt csak projektven fgg az
azonost egsztl. Teht a Rendelsszm+Cikkszm Rendelsszm, Rendelsszm Cikk-
szm s Rendelsszm+Cikkszm Cikkszm fggs-hrmassal llunk szemben.

236
A projektv jelleg miatt nincs mdunk arra, hogy megszntessk az els vagy a harmadik
fggst. A tervez a kedveztlen konstellci miatt gy dnthet, hogy felszmolja a msodik
fggst. Br dntst mg elmletileg is meg tudja alapozni, lehet, hogy hibt kvet el.
Az elmletileg jrtas tervez tudja, hogy az sszetett azonost rszei kztt nem ltezhet
fggsi viszony. Kt tulajdonsg csak akkor kapcsolhat egy azonostba, ha rtkeik viszonya
hls (M:N fok). Ha a tulajdonsgok lineris (1:1 fok) viszonyban vannak, akkor alternl
kulcsokrl van sz. Ha sszefggsk hierarchikus (1:N fok), akkor az egyik tag meghatrozza
a msikat s ez a msik nem lehet azonostrsz. Ha teht a kulcs egyik tagja (Rendelsszm)
funkcionlisan meghatrozza a msikat (Cikkszm), akkor az els tag az utbbi lernak az
azonostja s gy vele nem kapcsolhat egy kulcsba.
Ezrt a terveznek formailag igaza van akkor, amikor a RENDELS-2 egyed azonostjt t
akarja alaktani. Mieltt ezt megtenn, olvassa el a kvetkez trtnetet.
A 16.2 pldt mr 1984-ben (!) feladtuk hat tapasztalt adatmodelleznek, akiket radsul
normalizlst vgz szoftver is tmogatott. Mivel a tervezk s az automata csak a BCNF alakig
kszltek fel a normalizlsra, a plda dilemmjt nem tudtk megoldani. Pedig a megolds
elgg kzenfekv.
Az adatmodellezs egyik alapvet titka, hogy a fggseket sohasem szabad egymstl elkl-
nlten, mindig csak egy-egy egyed vonatkozsban vizsglni. Ktsgtelen, hogy eddig mi a
dekompozcis normalizlsi eljrst ismertk meg, amelynek trgya mindig egyetlen egyed.
Csakhogy ppen a 16.2 plda mutatja, hogy bizonyos helyzetekben nem a dekompozci a helyes
megolds, s legszebb ideje ttrni a szemantikus normalizlsra.
A szemantikus normalizls sorn a fggseket egytt, egyszerre tbb egyedben vizsgljuk.
Pldnk esetben gy talljuk, hogy a RENDELS-1 egyedben a Rendelsszm meghatrozza a
Cikkszm-ot s ezrt viszonyuk hierarchikus. A RENDELS-2 egyedben viszont a kt ttel az
sszetett kulcs rsze, azaz kapcsolatuk hls. Teht ellentmondsra bukkantunk. Kvetkezik-e
ebbl a visszssgbl az, hogy tnyleg valamelyik fggsi viszony rossz s ezrt az egyik egyedet
fel kell szmolni? s ha igen, akkor melyiket? Mi az igazsg: az, hogy a Rendelsszm meghat-
rozza a Cikkszmot, vagy az, hogy a kt ttel egymstl fggetlen?
Lm, ppen erre az utbbi krdsekre nem tudtak vlaszt adni a fentebb emltett tervezk.
Mivel dekompozcis eljrssal dolgoztak, a kt rendels egyed pedig kln-kln (!) tkletes
normlalakban van, nem jttek r a turpissgra. Az automatjuk sem tudta azt felfedezni. Igaz,
az automata nem is dnthetne az ember helyett arrl, hogy fel kell-e szmolni valamelyik egyed-
tpus s ha igen, akkor melyiket.
A plda titka tbbszrs. Az egyik titok az, hogy a fggsi viszonyokat nem egyedenknt,
hanem egyttesen kell szemllni. gy egyidejleg megadhatjuk azt is, hogy a Rendelsszmtl
fgg is a Cikkszm, meg nem is. Ettl a ketts meghatrozstl persze a legtbb mai normalizl
automata kiakad. A msik titok az, hogy a j normalizl megengedi ezt a ketts fggst, mert
nem tudhatja egy automata, hogy a kett kzl melyik a rossz. Azt viszont, hogy a kett egytt
helytelen, a dntsi tblzat harmadik oszlopa szerint ki tudja mutatni. A harmadik titok az, hogy
nem a dekompozci rtelmben normalizlva, hanem szemantikus normalizlssal kell meg-
oldani a problmt.
A megfejts pedig a kvetkez: Vannak vevi rendelseink, amelyek egyttelesek s ezrt a
Rendelsszm Cikkszm fggs rvnyesl bennk (RENDELS-1). Viszont lteznek szllti
rendelseink is, amelyek tbbttelesek. A tteleket a Rendelsszm s a Cikkszm prosa azono-
stja s gy a kt ttel egymstl fggetlen (RENDELS-2). Teht az adott plda esetben nem
normalizlsra, hanem a fogalmak szemantikai tisztzsra lett volna szksg. A 16.2 plda
letisztzott vltozata vilgosan mutatja a helyes megoldst:

237
16.3 plda

RENDELS-1 (Vev-rendelsszm, Cikkszm, ...)


RENDELS-2 (Szllt-rendelsszm+Cikkszm, ...)

A krds most mr csak az, hogy mirt lett volna baj az, ha a 16.2 pldt egyltaln nem
alaktjuk t? Nos, az adatbzis egyik integritsi szablyrl van sz. A 16.2 plda azt sejteti,
hogy a kt egyedtpus a kzs Rendelsszm tulajdonsgon keresztl kapcsolatban ll. A ttel az
egyik egyedben kulcs, a msikban kulcsrsz - teht kapcsol szerep. Ezrt az integritsi szably
alapjn minden modellez s adatbziskezel rendszer kapcsolatot ttelezne fel a kt egyedtpus
kztt. Abbl pedig szp kalamajka szrmazna, ha a vevi- s a szllti rendelseket ssze-
kevernnk egymssal. Ettl ment meg bennnket a tblzat 3. szablya.
Mr csak annyi van htra, hogy a gyakorlati problmt s annak feloldst elmletileg is
megalapozzuk.

D 16/1 Az E egyed bels kulcstr fggst tartalmaz akkor s csak akkor, ha az A+B
azonost sszetett s annak egyik rsze meghatrozza a msik sszetevt.

Emlkezznk vissza a kls kulcstr fggs esetre (ld. 15.2.2 alpont). Ott az azonost
egyik rszt hozz kpest kls (ler szerep) tulajdonsg hatrozta meg. Itt pedig arrl van sz,
hogy a trst az azonostn belli (kulcsrsz szerep) tulajdonsg okozza. A kt problma fel-
oldsa teljesen eltr jelleg. A kls kulcstrs esetben mechanikusan is eljrhattunk gy, hogy
a BCNF normlformt alkalmaztuk. Itt viszont csak a szemantikus megolds segt. A norml-
forma-hiba rejtett homonimhoz (Rendelsszm) vezetett bennnket. Ilyenkor nem lehet s nem
is szabad a dekompozci mdszerhez nylni. Elegend, ha a fogalmakat tisztzzuk (Vev- s
Szllt-rendelsszm) s azokat alkalmazzuk a szerkezetben.
Amint ltjuk, a mechanikus normalizlssal feltrt mennyisgi problma (bels kulcstr
fggs) irnytotta a figyelmnket a vals minsgi bajra (homonima), amit szemantikai mdon
kszbltnk ki. Nagy tanulsg ez az adatbzistervezknek. Sohasem szabad csak a szmokban
bzni! Elruljuk, hogy mi mg a trivilis fggs (ld. 16.3 pont) esetben is krbejrjuk, hogy az A
{X+Y+Z}, B {X+Y} s a C {X} tnyezk esetben ugyanarrl az X-rl s X+Y-rl van-e sz.
A 16.2 plda kt egyede elvileg 5NF alakban volt, hacsak azt nem felttelezzk, hogy a
msodik egyed egyltaln nem alkalmazhat a bels kulcstr fggs miatt. A kt ttel egyttese
mgsem alkotott j adatmodellt. A 16.3 adatmodell tkletesebb. Mivel azonban nem dekompoz-
cival oldottuk fel a problmt, nem tudjuk megmondani, hogy a korbbihoz kpest hnyadik
normlformban van a kt egyed a normalizls utn.

16.5 A metszetfggs

Egy meglehetsen sszetett problmt kell megvilgtanunk ebben a pontban. A 16.4 plda
szemllteti jabb esetnket:

16.4 plda

RENDELSTTEL (Rendelsszm+Cikkszm, ..., Mennyisg)


DISZPOZICITTEL (Diszpoziciszm+Cikkszm, Rendelsszm, ..., Mennyisg)

238
A plda magyarzata a kvetkez: Rendelsek rkeznek hozznk. Ezek tbbttelesek. Egy-
egy rendelsttelt tbb rszletben is szllthatunk. Mondjuk 80 valamit krtek tlnk s mi hrom
(pldul: 40, 25, 15) adagban teljestnk. Ezrt egy rendelsttelhez tbb diszpozicittel is
tartozhat. Termszetesen a diszpozicinak mindig arra a rendelsre kell utalnia, amire maga a
rendelsttel is hivatkozik. Ezrt szerepel a DISZPOZICITTEL-ben a Rendelsszm. Ezzel
szemben egy diszpozici - nem ttel, hanem maga a teljes szllts - tbb rendels tteleit is
tartalmazhatja. gy nem ll fenn a Diszpoziciszm Rendelsszm fggs s a fordtottja sem.
Ezek utn a gyantlan tervez azt hiszi, hogy a 16.4 pldval nincsen semmi baj. Hiszen a
kt egyedben nincsenek kedveztlen fggsek; mindkett 5NF alak. A valsgban fellp egy
elgg kellemetlen problma. A 16.4 plda terve hinyos. Mieltt ezt kimutatnnk, el kell elml-
kednnk a relcis elmlet s normalizls floldalassgrl.
A relcis modell elismeri az sszetett azonost ttelt, de nem engedi meg az sszetett ler tulaj-
donsgot. Ezrt egy fggs baloldalra rhat A+B sszettel, de jobboldalra nem. Nem fejezhet
ki ez a fggs: A+B C+D. Az elmletet ismerk most felzdulnak kijelentve, hogy ez a megllap-
ts tves. Hiszen Armstrong additivitsi aximja mondja ki, hogy az A B s A C fggsek
esetn mindig igaz az A B, C fggs. Ez gy igaz. Ezrt is nem hasznltuk az A+B C, D
formult, hanem tudatosan a + jelet alkalmaztuk.
A modellezs egyik titka, hogy az A meg B nem azonos az A s B-vel. Egy szemlyi-
szm meg egy szemlyi-szm az kt szemlyi-szm. Viszont egy szemlyi-szm s egy msik
szemlyi-szm az pldul - hzassg. Vagyis a mennyisg mgtt minsg hzdik meg.
Ez a helyzet pldnk esetben is. A 16.4 plda egyltaln nem tkrzi azt a vals tnyt, hogy
a diszpozicitteleknek adott rendelsttelekhez kell kapcsoldniuk. A DISZPOZICITTEL
ebben a formjban kthet a DISZPOZICI-hoz (Diszpoziciszm), a CIKK-hez (Cikkszm) s
a RENDELS-hez (Rendelsszm). Viszont nem kapcsolhat a RENDELSTTEL egyedhez.
Azrt nem, mert brki bevihet olyan sort a DISZPOZICI-TTEL-be, amelyben kln-kln
rvnyes Rendelsszm s Cikkszm van, csak ppen abban a rendelsben sohasem krtk a
vonatkoz ttelt, vagyis nem ltezik a kt ttel prosa. Magyarul s tmrebben: a kt egyedtpus
kapcsolata nincs megalapozva kapcsolati integritsi korlttal.
A javtott szerkezetet a 16.5 plda mutatja:

16.5 plda

RENDELSTTEL (Rendelsszm+Cikkszm, ..., Mennyisg)


DISZPOZICITTEL (Diszpoziciszm+Cikkszm, Rendelsszm+Cikkszm, ..., Mennyisg)

Most mr vilgosan ltszik, hogy a 16.4 plda szerkezete nem j. A msodik egyed azonos-
tja meghatrozza az els kulcst s mindkt azonosttl fgg a Mennyisg. Dntsi tblzatunk
8. szablya rvnyesl: a Mennyisg a modell egszt tekintve tranzitv a msodik egyedben.
Teht meg kell szntetni? Az roppant nagy hiba lenne, mert ismeretet vesztennk, ugyanis a kt
mennyisg mst jelent. Nem az adatot, hanem a homonim nevet kell felszmolni. Pldul gy,
hogy a Rendelt-mennyisg s Diszponlt-mennyisg beszl neveket alkalmazzuk.
A pldbl eddig kt tanulsgot szrhettnk le. Az egyik az, hogy a mechanikus alapon
feltrt tranzitivitst nem mindig dekompozcival, hanem sokszor szemantikus mdon kell meg-
oldani. A msik az, hogy az sszetett lerk - magyarul: csoportok - ltt kizr relcis elmlet
s az azon alapul normalizlsi eljrsok elvileg nem alkalmasak a tkletes adatszerkezet
megtallsra. Ugyanis az ortodox relcis modellhez ragaszkodva sohasem rhattuk volna a
DISZPOZICITTEL-be a Rendelsszm+Cikkszm sszetett tulajdonsgot. Kvetkezskppen
a tranzitivitson t nem fedeztk volna fel az egyrtelmsget zavar homonimt.
Mr a 12.4.4 alpontban rmutattunk arra, hogy a modellben egyrtelm neveket kell hasz-
nlni. Nem lehet a homonima-problmt azzal elkenni, hogy gyis tudjuk, hogy a kt egyed-

239
tpusban mst jelent a Mennyisg. Mi tudjuk. A felhasznl pedig a bemenetben a kzpont
telephelyt adja meg a kocsi tnyleges trolsi helye tartalmaknt, mert hiszen az adat neve az
volt, hogy Telephely. Azutn meg rengeteg kimenetnk lesz, amelyen mindkt mennyisg
megjelenik. Akkor gyis meg kell klnbztetnnk ket. Mirt nem tudunk akkor mindjrt
tisztessgesen beszl neveket hasznlni?
Persze ez csak kitr volt. Mert az igazi problma az, hogy miknt adhat meg kt Cikkszm
nev tulajdonsg a DISZPOZICITTEL egyedben? A vlasz kzenfekv: sehogy. A valdi
megoldst a 16.6 plda mutatja:

16.6 plda

RENDELSTTEL (Rttel-azonost, ..., R-mennyisg)


DISZPOZICITTEL (Dttel-azonost, Rttel-azonost, ..., D-mennyisg)

Rttel-azonost {Rendelsszm+Cikkszm}
Dttel-azonost {Diszpozici+Cikkszm}

Ez a megolds tkletes. Felszmoltuk a tranzitivits ltal jelzett homonimt. Gondos-


kodtunk a kapcsolati integritsrl, mert most mr mindenki lthatja, hogy a diszpozicitteleknek
a rendelsttelekhez kell kapcsoldniuk az Rttel-azonost kapcsol tulajdonsgon keresztl. Az
pedig senkit se aggasszon, hogy egyes mai kezelkben a plda aljn lv csoportokat nem lehet
meghatrozni. Egyrszt a relcis kezelk legkzelebbi genercija mr biztosan tartalmazni
fogja ezt a kpessget. Msrszt az adatmodellezs nem azonos az adatkezelssel. Ha a kezel
nem is kezel csoportot, akkor is az elemzsben a fent lert mdon kell sszelltani az adatbzis
tervt. Mert ha a kezel nem biztostja automatikusan (definitven) a kt egyed kapcsoldst,
akkor azt neknk kell megtennnk programmal (procedurlisan).
Mr csak annyi van htra, hogy megvizsgljuk a plda mgtti elmletet.

D 16/2 Az E egyed metszetfggst tartalmaz akkor s csak akkor, ha az A+B sszetett


azonost olyan csoportot hatroz meg, amely tartalmazza az A vagy a B kulcsrszt.

Mivel a meghatroz tulajdonsgok tfednek, a metszet fggs elnevezs tall. Ugyanis az


ilyen fggskombinci kplete a kvetkez:

A {X+Y} B {Y+Z}
B {Y+Z} C {Y}
A {X+Y} C {Y}

Dntsi tblzatunk tdik szablyrl van sz. Az els fggs nem-projektv, a msik kett
az. Nincs md dekompozcira, mert az els fggs megszntetsvel ismeretet vesztennk (nem
kapcsolhatnnk a kt egyedtpust egymshoz). Legfeljebb azon rdemes elgondolkoznia a
terveznek, hogy az Y+Z pros valban ugyanazt jelenti-e a kt egyedben. Mert ha nem, akkor
homonimrl van sz s szemantikai megoldst kell keresni. Ezrt annyira lnyeges az, hogy a
mechanikus normalizls sorn felfedezzk a metszetfggseket.

240
16.6 A csoportfggs

Ha az elmlet megold egy problmt, azonnal szembe kell nznie a kvetkezvel. gy jrtunk
mi is, amikor az elz pontban bevezettk a csoport tnyezjt. A 16.7 plda mutatja az ennek
kvetkeztben fellp egyik problmt:

16.7 plda

DISZPOZICI (Diszpoziciszm, Rttel-azonost, ..., Cikkszm)

Rttel-azonost {Rendelsszm+Cikkszm}

Most azt felttelezzk, hogy minden rendelsttelt kln diszponlnak. Ezrt a Diszpozici-
szm folyamatos sorszm, vagyis nem csoport. A 16.7 plda megoldsa mgsem j, mert rejtett
redundancit tartalmaz. Ugyanis ktszer szerepel benne a Cikkszm. Egyszer expliciten, egyszer
pedig impliciten az Rttel-azonost rszeknt. Mieltt kifejtennk azt, hogy ez mirt jelent
problmt, vissza kell trnnk a 16.6 pldra.
Abban az esetben a Cikkszm kt csoport implicit tagja volt s expliciten nem jelent meg az
egyedben. Mrmost azt tudni kell, hogy a csoport virtulis szerkezet. A 16.6 plda megoldsa
nem jelenti azt, hogy a Cikkszm ktszer kerl trolsra. Mivel a Dttel-azonost s az Rttel-
azonost csoportokban lv Cikkszmnak ugyanaz a tartalma, vilgos, hogy a ttel egyszeresen
kerl trolsra s a kt csoportszerkezet csak integritsi korltknt szolgl. (Az egyik azonost, a
msik kapcsol a RENDELSTTEL fel.)
A 16.7 pldban teljesen ms helyzettel llunk szemben. Mivel a Cikkszm explicit ler
tulajdonsg, az mindenkppen trolsra kerl. Ha ez a Cikkszm azonos tartalm, mint az Rttel-
azonost csoportban lv azonos nev ttel, akkor az egyed redundns. A logikai tfeds sajtos
esetrl van sz: egy egyed - rejtetten - ktszeresen tartalmazza ugyanazt a tulajdonsgot. Ilyen-
kor a megolds is kzenfekv: az explicit Cikkszmot el kell tvoltani az egyedbl.
Azonban a msik eset sem kizrt. Nevezetesen az, hogy az explicit Cikkszm nem ugyanazt
jelenti, mint az Rttel-azonostban lv implicit Cikkszm. Pldul gyakran elfordul, hogy nem
tudjuk a krt cikket szlltani, de a vev tudtval valamilyen helyettest rut biztostunk a meg-
rendel rszre. Ebben az esetben vilgos, hogy a ktfle ttel homonima. A ktrtelmsget
pedig mindig gy oldjuk fel, hogy a vals nevkn nevezzk a dolgokat. Lsd a 16.8 pldt.

16.8 plda

DISZPOZICI (Diszpoziciszm, Rttel-azonost, ..., Helyettestett-cikkszm)

Rttel-azonost {Rendelsszm+Cikkszm}

Ha egy egyed expliciten s impliciten is tartalmazza ugyanazt a tulajdonsgot, akkor vagy a


vals, vagy a ltszlagos logikai tfeds hibjban szenved. Ennek a problmnak a megold-
sban segt bennnket az elmlet.

D 16/3 Az E egyed csoportfggst tartalmaz akkor s csak akkor, ha az A+B csoport


mellett expliciten tartalmazza annak A vagy B rszt is.

241
A csoportfggs ltalnos kplete a kvetkez:

A {X} B {Y+Z}
B {Y+Z} C {Y}
A {X} C {Y}

Dntsi tblzatunk 6. szablya vilgtja meg ezt az esetet. A msodik fggs projektv, a
harmadik nem az. Ezrt az utbbit minden tovbbi nlkl meg lehet szntetni. gy nem is csoda,
hogy ezt az esetet sokan sszetvesztik az egyszer tranzitivitssal. Azonban, mint rmutattunk,
ltalban ez a helyzet nem logikai tfedst, hanem homonimt takar. A helyettest ttel meg-
jellsnek az elhagysval ismeretet vesztennk. Viszont kt eltr tartalm tulajdonsgnak
nem lehet azonos a neve. Erre a problmra irnytja a figyelmet a csoportfggs, amelynek
alapjn megtalljuk a helyes megoldst. Az pedig nem ms, mint a szemantikai normalizls,
vagyis a homonima felszmolsa.

16.7 Tanulsgok s a dntsi tblzat kiegsztse

A csoportok nlklzhetetlen adatmodellezsi konstrukcik. Ha egy egyedtpus egy msiknak


alrendeltje, akkor idegen kulcsknt tartalmaznia kell a flrendelt azonostjt. Ha az utbbi
sszetett, akkor csoportknt kell feltntetni a kapcsol adatot. Nem elegend az, hogy csak a
csoport rszeit adjuk meg, mert az A meg a B nem azonos az A s a B-vel.
Persze a csoportok nem-kznsges modellezsi problmkat vetnek fel. Mert ameddig a
csoport csak kt tag (pl. A {X+Y}), addig mg taln t tudjuk tekinteni annak fggseit. Ha
viszont tbbtag, akkor bizony mr nehz az rtkels.
A gyakorlatban sokszor tallkozunk implicit csoportokkal. Pldul egy papron feltntetik a
Szmlaszmot is s a Hivatkozsi-szmot is, de ezeket nem rszletezik. A relcis rendszerekben az
ilyen implicit csoportokat nem bontjk meg, mert az kezelsi nehzsgekre vezetne. Viszont mi van
akkor, ha a kt tulajdonsg kzs tnyezt tartalmaz? Pldul mindkettben szerepel a Vevkd?
Ellenrzi-e valaki, hogy a kt Vevkd rtke azonos? szreveszik-e a metszetfggs esett?
Az A {X+Y+Z+W} s B {X+Q+Z+V} jelleg csoportok tfedseit s esetleges helytelen
fggseit pusztn emberi ton nagyon nehz felfedezni. Az ilyen jelleg helyzetek rtkelshez
mr elengedhetetlenl szksgesek a normalizl automatk.
A tanulsgok folytatsa eltt egsztsk ki dntsi tblzatunkat. Lsd a 16.3 brt.

1 2 3 4 5 6 7 8
A B K K K K N N N N
B C K K N N K K N N
A C K N K N K N K N

Trivilis fggs X
Lehetetlen eset X
Rszleges fggs X
Tranzitv fggs X
Kls kulcstrs X
Bels kulcstrs X
Metszetfggs X
Csoportfggs X
16.3 bra: A fggsek dntsi tblzata (3)

242
Hossz ideig a szakirodalom a normlformkat s a normalizlst a relcis adatbzisok
logikai szint tervezsi segdletnek tekintette. Mivel a relcis modell nem ismeri a csoport
konstrukcit, a hagyomnyos normalizls tblzatunknak csak azon oszlopaival foglalkozik,
amelyek a B C fggs sorban N bejegyzst tartalmaznak. E ngy szably kzl sem figyel a
bels kulcstrs esetre, mert egy egyedtpuson bell az nem fordulhat el.
Ksbb kezdtk felismerni, hogy a normalizls valjban fogalmi szint mdszer. Az elz
fejezetben lthattuk, hogy a BCNF alakot nem mindig dekompozcival kapjuk meg. Vannak
helyzetek, amikor az azonost megvltoztatsval rnk el jobb modellt. Ebben a fejezetben
rmutattunk arra, hogy a kedveztlen fggsek felszmolsa igen sokszor csak szemantikai
mdon trtnhet. A fogalmak pontos jelentst kell feltrni s a korrekt megnevezsek alkalma-
zsval egyrtelmv tenni a modellt.

16.8 Pszeudo-tranzitivits

A tulajdonsgok helytelen fggsi viszonyainak a feltrsa nem mindig olyan egyszer,


amint azt az elz kt fejezet sejtette. A fenti pontok meggyzhettek bennnket arrl, hogy a
csoportok sok galibt okoznak. A csoportok elrejtik az azokat alkot tnyezk vals fggsi
viszonyait s gy nem trul fel elttnk a modell minden eldugott hibja. A 16.9 plda s a 16.4
bra a csoportok egy jabb titkt rejtegeti.

16.9 plda

RENDELSTTEL (Rendelsszm+Cikkszm, ..., R-mennyisg)


DISZPOZICITTEL (Diszpoziciszm+Cikkszm, D-mennyisg, ..., R-mennyisg)

RENDELSTTEL
Rendelsszm
... Cikkszm ... R-mennyisg
12345 234568 140
12345 234567 120

DISZPOZICITTEL
Diszpoziciszm Cikkszm ... D-mennyisg R-mennyisg
A11 234567 60 120
A12 234567 20 120
A13 234567 40 120
A21 234568 40 140

16.4 bra: DISZPOZICI adatbzis-rszlet

243
Ebben a pldban azt felttelezzk, hogy egy diszpozici mindig csak egy rendelsre vonat-
kozik. Ezrt - szemben a 16.4 pldval - a Rendelsszm nem lehet a msodik egyedtpus tulaj-
donsga, mert rszlegesen fggene az sszetett kulcs els rsztl. Ezrt a diszpozicittel nem
kapcsoldik kzvetlenl a rendelsttelhez. Az olvas mgis gyant fog, hogy ezzel a tervvel
nincs valami rendjn, mert ktszer szerepel benne az R-mennyisg ler tulajdonsg. A nylt
logikai tfeds (lsd 12.4.1 alpont) esetvel llunk szemben, ha azt felttelezzk, hogy a ttel
mindkt egyedben ugyanazt jelenti.
ljnk ezzel a felttelezssel. A tblkban az R-mennyisg a rendelt, a D-mennyisg a
diszponlt mennyisget jelenti. A raktri lapokon gyakran tallkozunk a 16.4 brnak megfelel
megoldssal. Az gyintzk sajt maguknak vezetik, hogy ennyit rendeltek s abbl ennyit
adtam ki. A msodik egyed els sora szerint a 120 rendelt mennyisgbl 60 egysget, a
msodik sor szerint 20 egysget stb. adtak ki.
Ez termszetesen redundns ismeret. Ebben a konkrt esetben brki knnyen felismerheti a
ketts redundancit. Egyrszt a kt egyed nylt logikai tfedsben van egymssal. Msrszt a
msodik egyedben feltn a fizikai redundancia. Vannak azonban olyan helyzetek is, amelyekben
a helytelen struktra nem lthat t ilyen knnyen. Ezrt a krds az, hogy ltalban milyen
alapon ismerhetk fel az ilyen rossz szerkezetek.
Sajnos, az eddigi normalizlsi eljrsokkal hiba prblkozunk. Dntsi tblzatunk egyik
esete sem rvnyes erre a szitucira. Ennek az az oka, hogy a plda kt egyede egymstl
fggetlen: tulajdonsgaik kztt nincs kzvetlen sszefggs. Ezrt nem tallunk olyan fggs-
hrmast, amit tblzatunk valamelyik szablynak meg tudnnk feleltetni. Mi teht a megolds?
Mi a 16.4 plda normalizlsnak az elvi alapja? Egyltaln: normalizlhat-e a modellrszlet?
Mr tbbszr utaltunk arra, hogy egy adatmodell egyedeinek a fggseit nem szabad csak
nmagukban vizsglni. A teljes fggsrendszert egytt kell elemezni. A kt tblzat ltal egyen-
knt mutatott fggsi viszonyok (a kulcsok meghatrozzk a lerkat) mellett tudjuk azt is, hogy
ltezik a Diszpoziciszm Rendelsszm fggs. Azrt, mert kittelnk szerint minden disz-
pozici csak egy megrendelsre vonatkozhat.
Innen mr csak egy lps a problma megoldsa, ha ismerjk a pszeudo-tranzitivits
fogalmt:

D 16/4 Az E egyed pszeudo-tranzitv fggst tartalmaz akkor s csak akkor, ha a D tulaj-


donsga az A+B azonost mellett fgg az implicit A+C csoporttl is s fennll a
B C vagy a C B fggs.

Pldnkban az R-mennyisg a Diszpoziciszm+Cikkszm egyttese mellett fgg az implicit


Rendelsszm+Cikkszm csoporttl s ugyanakkor fennll a Diszpoziciszm Rendelsszm
fggs is. Teht az R-mennyisg pszeudo-tranzitven fgg az azonosttl.
Mivel az ilyen fggs redundancira vezet, azt ki kell kszblni. Ehhez a fggs kpletnek
az ismerete nyjthat segtsget:

X Y
A {Y+Z} C
B {X+Z} C

Magyarul: Ltezik kt sszetett tulajdonsg (A s B), amelyek mindegyike meghatrozza a


harmadik (C) ttelt. Ekzben igaz az, hogy a kt sszetett tulajdonsgnak van egy kzs rsze (Z)
gy, hogy a nem-kzs rszek (X s Y) kztt funkcionlis fggs ll fenn.

244
A kplet szerint a harmadik fggs felesleges, mert (pszeudo-)tranzitv. A dekompozci
szablyai szerint ilyenkor a fgg tulajdonsgot (R-mennyisg) a kzvetlen meghatrozval
(Rendelsszm+Cikkszm) egytt ki kell emelni a vonatkoz egyedbl (DISZPOZICITTEL)
gy, hogy a meghatroz az eredeti egyedben marad. A tranzitivitssal szemben csak annyi az
eltrs, hogy a meghatroz itt implicit s az is marad a krdses egyedtpusban. A 16.10 plda
mutatja a 16.9 eset normalizlsnak az eredmnyt.

16.10 plda

RENDELSTTEL (Rendelsszm+Cikkszm, ..., R-mennyisg)


DISZPOZICITTEL (Diszpoziciszm+Cikkszm, D-mennyisg, ...)

Mivel a meghatroz s a fgg prosa mr ltezett a RENDELSTTEL egyedben, a


normalizls nem jelent mst, mint a pszeudo-tranzitven fgg tulajdonsg eltvoltst a msik
egyedbl. Ez mindig gy trvnyszer. Ha a pros nem ltezne, akkor nem lenne rvnyes a
kplet msodik ttele s fel sem fedezhetnnk a pszeudo-tranzitivitst.
A pszeudo-tranzitivits elmleti httere egyszer. Azonban egy sszetett modellben a
helytelen fggsek gyakorlati megtallsa sokszor nem knny. Ismt gondoljunk a tbbszrsen
sszetett csoportokra. Pldul a kvetkez sszefggsekre:

A {X+Y+Q+Z}
B {X+V+Q+W}
Y+Z V+W

Kt tbbszrsen sszetett ttelnek sszetett a kzs (X+Q) s a nem-kzs rsze is gy, hogy
az utbbiak kztt fggs ll fenn. Ez a helyzet kivlan alkalmas arra, hogy sszegezzk
fejezetnk mondanivaljt:

A relcis normalizls nem ismeri az sszetett meghatrozottat, ezrt kptelen a legutbbi


eset megoldsra. ltalban mg a legegyszerbb tranzitivitst is csak akkor tudja kiksz-
blni, ha a meghatrozottak mindegyike elemi.

Az elzek miatt a logikai szint relcis normalizlsrl t kell trnnk a fogalmi szint
szemantikus normalizlsra.

A bonyolult sszefggsek elemzse nem vgezhet manulisan. Ezrt mindenkppen szksg


van olyan automatra, amely kpes az ebben a fejezetben ismertetett valamennyi norma-
lizlsi helyzet rtkelsre is. Az automata arra szolgl, hogy rmutasson a problmkra.
Viszont azok megoldsa sokszor emberi feladat marad.

A normalizls nem korltozdhat egy-egy egyedtpusra. A fggsi viszonyokat nemcsak egy


egyedtpuson bell, hanem globlisan is rtkelni kell.

Az utols kittel mr tvezet a kvetkez fejezet mondanivaljhoz. Ott mg az eddigieknl


is vilgosabban kiderl, hogy nem az egyedtpusokat, hanem magt a teljes adatmodellt kell
normalizlni.

245
Ellenrz krdsek - 16

16/01 Melyik llts igaz (I) s melyik hamis (H) a kvetkez modellrszletre nzve:

SZMLA (Szmlaszm, Cikkszm, rtk)


SZMLA (Szmlaszm+Cikkszm, rtk)

- Felttelezhet, hogy a Szmlaszm homonima.


- A kt egyed kln-kln 5NF alakban van.
- Kt egyednek nem illik azonos nevet adni.
- A modellrsz rossz, de azt dekompozcival nem lehet javtani.
- A bels kulcstrs technikai jelensge hvja fel a figyelmet a vals problmra.

16/02 Adott a kvetkez kt egyedtpus. A termket egy bizonyos dolgoz meghatrozott gpen
lltja el. Mirt rossz a terv s miknt nzne ki helyesen?

HASZNLJA (Dolgoz-azonost+Gpazonost, ..., Mszak)


TERMK (Termkazonost, Dolgoz-azonost, Gpazonost)

16/03 Mirt hibs a kvetkez terv s mi a helyes megolds? Kovcs beteg lett s helyette - az
elzetes tervvel szemben - Szab kezelte a gpet.

HASZNLJA (Hasznlja-azonost, ..., Mszak)


TERMK (Termkazonost, Hasznlja-azonost, Dolgoz-azonost)
Hasznlja-azonost {Dolgoz-azonost+Gpazonost}

16/04 Milyen problmt rejt a kvetkez terv? Egy szmln tbb rendels ttelei is megjelen-
hetnek, de egy rendels ttelei mindig egy szmln szerepelnek.

SZMLATTEL (Szmlaszm+Cikkszm, ..., rtk)


RENDELSTTEL (Rendelsszm+Cikkszm, ..., rtk)

16/05 Adott a Szerzdsszm tulajdonsg. Ennek els pr jele nem ms, mint a Vevkd.
Tovbbi jelei az elzn bell egyedi Ktsszm-ot jelentenek. Vagyis kt vevnek lehet
azonos a Ktsszm rtke, de egy vev minden szerzdsnek ms a ktsszma. A
relcis rendszerek nem ismerik a csoportokat. Milyen gondok fakadnak ebbl az n
vlemnye szerint?

246
17. NORMALIZLSI ELJRSOK

17.1 A normalizls, mint feldolgozs

Ha egy egyedtpus nincs 2NF alakban, akkor ki kell szrni a rszleges fggst. Ha nem 3NF
alak, akkor meg kell szntetni a tranzitivitst. Mindenki knnyen megtanulhatja a mirtet: a
kedveztlen normlforma redundancit, ezen keresztl pedig troltbbletet, karbantartsi
anomlit s inkonzisztencit okoz. A kezd tervezk hamar el tudjk sajttani az alapvet nor-
malizlsi megoldsokat. A helytelen fggs tulajdonsgokat ki kell emelni j egyedtpusba gy,
hogy... Azonban akkor, amikor a gyakorlati letben elbk kerl egy valdi adatmodell, kazalnyi
egyed-, tulajdonsg- s kapcsolattpussal, akkor nem igazn tudjk, hogy hol is fogjanak e
ksahegynek.
Mindennek az az oka, hogy a normalizlst rsztechnikaknt fogjk fel. Az egymstl
szeparlt minipldkon keresztl ezt sugalljk a szakknyvek; gy tantjk a modellezsi
kziknyvek; ez a CASE-ekbe ptett normalizlsi rszrutinok mgtti szemllet is.
Pedig a normalizls, mint elemzs maga sem ms, mint ismeretfeldolgozs. Mgpedig nem
is az egyszerbb fajtbl. Mrmost jl tudjuk, hogy minden feldolgozsnak ngy alapvet tnye-
zje van: bemenet, adatbzis, eljrs s kimenet.
A normalizls bemenett ebben a knyvben normalizlsi alapnak fogjuk nevezni. Ez azon
tnyezk szervezett egyttese, amelyeken vgrehajtjuk az elemzst. Ide tartoznak maguk a
modellelemek (egyedek, tulajdonsgok) s a kztk lv fggsi viszonyok.
Ez az alap nem ms, mint egy elre elkpzelt, kiindul llapot elzetes adatmodell. Ezt a
normalizlsi adatbzisban troljuk. Az elemzsek folyamn ezt talaktjuk. jabb bemenetek
utn ismtelten feldolgozzuk addig, ameddig a kvnt eredmnyre jutunk.
A normalizls termke, vgeredmnye, kimenete a vgs, az optimalizlt adatmodell. Ez
csak ritkn lesz teljesen tkletes. Sohasem lesz teljesen lezrt, mert az let vltozsaival maga az
adatmodell is mdosulni fog. ppen ezrt kell azt adatbzisban trolni, mert klnben minden
vltozsnl jra bemenetknt kellene megadni a normalizls alapjt.
Maga a normalizls, mint feldolgozs a normalizlsi alap s adatbzis fggvnyben k-
lnbz normalizlsi eljrsok szerint trtnhet, amelyek nyilvn (rszben) eltr normalizlsi
kimeneteket eredmnyeznek.

Ennek a fejezetnek az a clja, hogy tjkoztatst adjon az ltalnosan ismert norma-


lizlsi eljrsok bemeneteirl s eljrsairl. Kimutassa ezek tkletlensgt. Vagyis azt,
hogy ezekkel az eljrsokkal kptelensg j kimenetet, optimlis adatmodellt kszteni. Ezen
tlmenen ismertetni fogunk egy teljesen j normalizlsi megkzeltst.

A teljesen j jelzt nem sz szerint kell venni. Azon azt kell rteni, hogy a szles publikum
szmra mg nem ismert eljrsrl van sz. A knyv szerzje, bartai s ismersei mr csaknem
tz ve alkalmazzk ezt a folytonosan finomtott, tkletestett normalizlst.

247
17.2 Kapcsolathiny

Mieltt a normalizlsi eljrsok ismertetsbe fognnk, r kell mutatnunk arra, hogy mi


indokolja a klnbz normalizlsi metdusok ltjogosultsgt. Ennek kapcsn pedig vissza kell
trnnk az adatmodellel kapcsolatos ngy alapvet kritriumra (ld. 13.1 pont).
Az optimlis adatmodell valsgh, egyrtelm, teljes s minimlis. Ez a felsorols egyben
fontossgi rangsort is mutat. Ennek ellenre az eddigiek sorn a legnagyobb figyelmet a leg-
kevsb fontos kritriumnak, a minimalitsnak szenteltk. A hagyomnyos normlformk (ld.
14. s 15. fejezet) kivtel nlkl arra irnyulnak, hogy akr a hatkonysg krra is (v. 4NF s
5NF) kiszrjk a fizikai redundancikat. A BCNF kapcsn mg csak megpendtettk, az elz
fejezetben pedig mr hangslyoztuk az egyrtelmsg kvetelmnyt. A mechanikussal szemben
a szemantikus normalizls a modell magasabb fok konzisztencijt eredmnyezi. A csoportok
bevezetsvel egy lpst tettnk a valsghsg fokozshoz is. Mert hiszen nem valsgh a
modell, ha abban a Nyilvntartsi szmot vagy elemi adatknt tntetik fel s nem utalnak annak
sszetevire, vagy az utbbiakat felsoroljk, de nem mondjk meg, hogy azok egy egysget alkot-
nak. A csoport tnyezje feloldja ezt az ellentmondst s gy kpes a valsg tkletesebb tkr-
zsre.
Mindeddig meglehetsen hanyagoltuk a teljessg krdst, br a figyelmes olvas mr felfe-
dezhetett nhny mozzanatot, amely ehhez a kritriumhoz ktdik. Az ismtldsek megsznte-
tsnl elfordul, hogy a kiemelt rsz ltal alkotott egyed azonostja nem teljes (ld. 13.4.3
alpont) s gy azt ki kell egszteni. A metszetfggs kapcsn (ld. 16.5 pont) arra mutattunk r,
hogy a modellbl hinyozhatnak kapcsolatok (kapcsolati integritsi korltok) s ezt a bajt csak a
csoportos kapcsoltulajdonsggal szmolhatjuk fel.
Ebben a pontban is az egyedek kztti viszonyokkal foglalkozunk, de most sokkal ltal-
nosabban. Az adatmodellek gyakori hibja a kapcsolathiny (angolul: inconnectivity). Errl mr
a 12.4.5 alpontban is szltunk. A 12.3 bra bevezet pldjban a KOCSI s a TULAJDONOS
egyede nem volt egymshoz kthet, mivel egyik egyed sem tartalmazta a msik azonost
tulajdonsgt. Br a kt egyednek voltak kzs tulajdonsgai (pl. Tulajdonosnv), jl tudjuk,
hogy a kt egyed nem kapcsolhat ssze a ler szerep tulajdonsgon, hiszen ltezhet pldul
tbb Kovcs Rzsa nev tulajdonos is.
A 17.1 plda mutatja a kapcsolhatatlansg legegyszerbb esett:

17.1 plda

VEV (Vevkd, Vevcm)


RENDELS (Rendelsszm, Vevnv)

A plda kt egyedben nincs kzs tulajdonsg, gy sohasem juthatunk el a VEV egyedbl a


RENDELS egyedbe vagy megfordtva. Nem tudjuk visszakeresni, hogy egy vevnek melyek a
rendelsei s azt sem, hogy milyen cmen tallhat a rendelst felad vev. Ezrt br mindkt
egyedtpus a legtkletesebb (5NF) normlformban van, a tervrszlet mgis pocsk. Radsul a
kapcsolathiny gondja ltalban nem jr nmagban; nagyon sokszor egyb problmkkal is
prosul. Nzzk csak meg a 17.2 pldt.

17.2 plda

VEV (Vevkd, Vevcm, Vevnv)


RENDELS (Rendelsszm, Vevnv)

248
Most mr vilgosan ltszik a Vevnv nylt logikai tfedse, mikzben a kt egyed tovbbra
is kapcsolhatatlan. A tervezk ezt a ketts problmt nyilvn sztnsen is fel tudjk oldani.
Azonban tbb tucat vagy szz egyedtpust s tbb szz vagy ezer tulajdonsgtpust fellel - s
mg ekkor is csak kzepes nagysg - adatmodell esetben az sztns tervez tvedhet. Ezrt
meg kell keresni a problma ltalnos elmleti megoldsi mdszernek a nyitjt.
A 14.3 pontban utaltunk arra, hogy megklnbztetnk egyeden belli (intra-entity) s
egyedek kztti (inter-entity) fggseket. Mindeddig csak az elzvel foglalkoztunk. Ez szksg-
szeren kvetkezett abbl, hogy eddig csak a dekompozcis normalizlsi eljrst ismertettk.
Ennek a mdszernek pedig az a lnyege, hogy egyenknt - egymstl fggetlenl - vizsglja az
egyedek szerkezett s csakis a bels szerkezet hibival trdik. Ez a mdszer nem alkalmas az
egyedek kls szerkezetnek - kapcsolataik egyttesnek - az elemzsre.
A krds teht az, hogy milyen metdus segtsgvel fedezzk fel a 17.2 plda ltal mutatott
hibkat ltalnosan is. Azaz konkrten miknt talljuk meg a 17.3 plda hibamentes szerkezett.

17.3 plda

VEV (Vevkd, Vevcm, Vevnv)


RENDELS (Rendelsszm, Vevkd)

A 17.3 plda megoldsa tkletes. Nemcsak a Vevnv redundancijt szntettk meg,


hanem a Vevkd tulajdonsgon t megteremtettk a kt egyed korrekt kapcsolatt is. A Vevkd
az egyik egyedben azonost, a msikban ler szerep. gy tkletesen alkalmas a kt egyedtpus
kztti n. hivatkozs-integrits (angolul: referential integrity) kifejezsre. A RENDELS
egyedben egyrtelmen tudunk hivatkozni a rendelst felad vevre s a VEV egyedbl
kiindulva megtalljuk az egyes vevk rendelseit.
Vgeredmnyben a kapcsolathiny azrt jelent gondot, mert nem trjuk fel a hivatkozs-
integritst, ami nem ms, mint az egyedek kls szerkezetre vonatkoz korlt. Pldnk esetben
ez a korlt gy hangzik: Minden vevnek lehet 0, 1 vagy N rendelse. Ugyanakkor minden
rendelsnek egy s csakis egy vevhz kell tartoznia. Amennyiben kt egyed kztt hinyzik ez
a kapcsolat vagy - ami ugyanaz - hivatkozs, gy helytelen sszefggs adatok kerlhetnek az
adatbzisba (vevhz nem kapcsolhat rendels, mint a 17.1 pldban), teht az adatbzis
psge, integritsa - valsghsge - megsrl.
A problmk gykere az, hogy a relcis modell nemcsak a csoport, hanem a kapcsolat fogal-
mt sem ismeri. A kapcsolattpus az egyedtpusok olyan kls viszonya, amely a kt egyed bels
szerkezetn, a kzs kapcsol-tulajdonsgtpuson alapul - s megfordtva. Nos, ez a megfordt-
va kittel nem rvnyesl a relcis rendszerekben. A hivatkozs-integritsi korlt csupn azt
mondja ki, hogy ha mr a B egyedben van az A egyed kulcsa, akkor minden B elforduls csak
ltez A elfordulshoz ktdhet. Mivel kapcsolatot nem lehet a relcis rendszerekben meg-
hatrozni, gy nem rvnyeslhet a klcsnssg elve. Nem lehet kijelenteni, hogy amennyiben az
A egyedtpus a B egyed flrendeltje, gy az utbbiban fel kell tntetni az elbbi elsdleges
kulcst.
Itt r kell mutatnunk a kapcsolhatsg ktfle rtelmezsre. A relcis tervezs logikai
szint mdszer. Ha kt relcin vgre lehet hajtani az sszekapcsols (join) mvelett, akkor
azokat kapcsolhatknak tekintik. A fogalmi modellezs szintjn ez csak szksges, de nem elg-
sges felttel. Kt egyedtpus akkor kapcsolhat, ha kztk kapcsolattpust lehet meghatrozni a
kzs kapcsoltulajdonsgon t, amely legalbb az egyik egyedtpusban azonost. Mrmost az
MVD s a JD (ld. 15.3 s 15.4 pontok) szerinti dekompozci mindig olyan relcikat/egyedtpu-
sokat eredmnyez, amelyek logikailag kapcsolhatk, de fogalmilag nem azok. (Ezrt nem szeret-
jk ezeket a megoldsokat.) A ktfle kapcsolhatsg kztt risi a klnbsg. A fogalmilag
kapcsolhat modellrszben definitven lehet megadni a szerkezetet s a korltot. Viszont a csak

249
logikailag kapcsolhat egyedek viszonyt procedurlisan kell korltozni. (Ha az egyik egyedet
aktualizljuk, akkor a msikkal is tenni kell valamit. Azt, hogy mit, neknk kell programoz-
nunk.)
Az 1-3NF alakra trtn dekompozci fogalmilag is kapcsolhat tnyezket eredmnyez.
Ennek ellenre mg ez az eljrs is tkletlen. Ugyanis az alapvet normlformk jl tjkoz-
tatnak arrl, hogy milyen tulajdonsg nem lehet az egyedben, de azt nem mondjk el, hogy
melyeket kell az egyedtpushoz ktni. Mert nzzk meg sszefoglalan, hogy mit is jelent a
harmadik normlforma:

Az egyedtpus akkor s csak akkor van legalbb harmadik normlformban, ha minden


nem-kulcs tulajdonsga fgg a kulcstl (1NF), csakis a teljes kulcstl (2NF) s semmi
mstl, csak a kulcstl (3NF).

Ez a szveg analg az angolszsz brsgokon a tan ltal tett eskvel:

Eskszm, hogy az igazat fogom mondani, a teljes igazat s semmi mst, csak az igazat.

Vegyk szre, hogy az eskszveg nem tartalmazza ezt a kittelt: Meg fogom mondani az
igazat.. A tan nem kteles magra vallani. Ugyanez a hiny fedezhet fel a 3NF meghatroz-
sban is. Mrmost a teljes igazsg adatmodellezsi titka a kvetkez mdon fogalmazhat meg:

Ha egy tulajdonsgtpus kzvetlenl fgg egy msiktl, akkor a msik ltal azonostott
egyedtpusban van a helye.

A 17.2 plda esetben a Vevkd kzvetlenl fgg a Rendelsszmtl, noha ott ezt a fggst
egyelre nem ltjuk. Azrt nem, mert a dekompozci mdszere nem foglalkozik az egyedek
kztti fggsekkel s ezrt a fenti szablyt nem is alkalmazhatja. gy a 17.2 plda modellje
rossz. Ha rvnyestennk az elhangzott szablyt, akkor a Vevkdot az t kzvetlenl meghat-
roz Rendelsszm ltal azonostott RENDELS egyedbe kellene tennnk, rvnyestve a
kapcsolati teljessg kritriumt. Ezzel vgl a 17.3 plda megoldshoz jutnnk.
Ha a teljessgi szablyt betartjuk, akkor els lpsknt a 17.4 plda megoldst kapjuk:

17.4 plda

VEV (Vevkd, Vevcm, Vevnv)


RENDELS (Rendelsszm, Vevkd,Vevnv)

Amint ltjuk, a RENDELS egyedben lv tranzitivits most mr nyilvnvalv vlt. A


teljessg szablyt teht kt dolog miatt kell komolyan vennnk. Egyrszt a valsghsg miatt (a
17.2 pldban a vevk s a rendelsek nem kapcsoldnak gy, mint a valsgban). Msrszt a
minimalits rdekben (a 17.2 pldban nem fedezhettk fel a Vevnv tranzitivitst).
A nem-minimlis adatmodell lehet teljes s valsgh. A hinyos nem lehet valsgh s
esetleg nem is minimlis. gy lthat, hogy

a modell optimumkritriumai szorosan sszefondnak.

Olyan normalizlsi eljrsra van szksg, amely ezt a ttelt felismeri s alkalmazza, amely
nemcsak a minimalits kvetelmnyt hangslyozza.

250
17.3 A dekompozci sszefoglalsa

A normlforma dekompozci mdszernek alkalmazsakor a normalizls alapja ketts. A


tervez egyrszt elfelttelezi az egyed-tulajdonsg-viszonyok halmazt. Vagyis meghatrozza az
ltala elkpzelt egyedtpusokat s az azokhoz kttt tulajdonsgtpusokat, azaz attribtumokat.
Msrszt egyedenknt feltrja a bels funkcionlis, tbbrtk s kapcsolsi fggseket. Teht a
normalizlsi adatbzist az egyedenknt szeparlt attribtumok s a kzttk meghatrozott
bels fggsek kpezik. A 14. s 15. fejezetekben lert szablyok szerint trtnik az attribtumok
levgsa j egyedtpusokba.
A normalizlsi eljrs gy megbontst s - kzs kulcs egyedek esetben - sszevonst
jelent. Ha a Vevnv tulajdonsgot kiemeljk a RENDELS egyedbl s gy kapunk egy VEV
(Vevkd, Vevnv) tmeneti egyedet, akkor ha ilyen egyednk mg nincs, azt vglegess
tesszk. Ha van mr VEV egyednk, akkor oda vndoroltatjuk t a Vevnv ttelt. A helyesen
vgrehajtott normalizls kimenete csupa 5NF alak egyedtpus lesz, hacsak szndkosan nem
denormalizlunk (ld. 14.4 pont) illetve a nem-fggetlen lebonts miatt (BCNF, 4NF, 5NF) nem
mondunk le a normalizlsrl. Az eredmnyezett egyedtpusok egyttese nem felttlenl alkot
kapcsolhat, teljes adatmodellt (ld. az elz pontot). gy a dekompozci mdszere elmletileg
tkletlen modellelemzsi eljrs.

17.4 Az univerzlis relci

A normlforma dekompozci egymstl szeparlt egyedtpusokat normalizl. Ezrt nem


kpes feltrni a 17.2 plda Rendelsszm s Vevkd ttele kztti fggst. Hiszen a kt ttel kt
klnbz egyedtpust jellemez. Ezt a viszonyt akkor lehetne feltrni, ha a kt tulajdonsgtpust
valamikppen egyetlen egyedtpusba tennnk. Azonban ha mr ltjuk az sszekts szksges-
sgt, akkor az mr feleslegess is vlik, mert megtalltuk a helyes megoldst. A gyakorlatban
ppen az a problma, hogy nem vesszk szre a ttelek kztti fggsi viszonyokat. Azrt nem,
mert X db egyednk s Y db tulajdonsgunk van.
Ezt a gondot egy ideig az n. univerzlis relci (angolul: universal relation) - ld. [29] -
konstrukcival prbltk feloldani. Az alkalmazs sszes - egyrtelmen meghatrozott, teht
nem homonim s szinonim - tulajdonsgtpust egyetlen risi ltalnos egyedtpus tnyezi-
knt kpzeltk el. gy termszetesen egyms mell - vagyis egy egyedtpusba - kerl minden
tulajdonsg. A tulajdonsgok fggsei megvizsglhatk. Ekkor mr lthat a Rendelsszm
Vevkd funkcionlis fggs, a Vevnv tranzitivitsa s minden egyb kzvetett - teht meg-
szntetend - s kzvetlen tulajdonsg viszony.
Ebben a mdszerben a normalizls alapja az egyetlen univerzlis egyedtpus annak
attribtumaival, vagyis az alkalmazs sszes tulajdonsgtpusval s a kzttk meghatrozott
kzvetlen - nem-rszleges, nem-tranzitv, nem-tbbrtk stb. - fggsekkel. Ez a bemenet kpezi
a normalizlsi adatbzist is, amelyet minden vltozs esetn jra kell definilni, hiszen mdosul
maga az univerzlis relci. A normalizlsi eljrs nem ms, mint az univerzlis relci meg-
bontsa. Annyiban klnbzik a dekompozcitl, hogy nem lpsenknt trtnik, mert csakis a
kzvetlen fggsek mentn halad. Nem alkotunk elszr 2NF, majd 3NF stb. alak, esetleg to-
vbbnormalizland egyedeket, hanem egycsapsra a vgs egyedeket alaktjuk ki. A normaliz-
lsi eredmny a dekompozcinl elvileg teljesebb, hiszen az egyedek kztti fggsek az
univerzlis egyeden belli fggsekknt jelentkeznek. gy elmletileg nem feledkezhetnk meg a
Rendelsszm Vevkd fggsrl s teljes, kapcsolhat adatmodellt kapunk.

251
Elmletileg. Azonban ez a mdszer - ms szempontbl - elvileg is hibs. Gyakorlatilag pedig
eleve kudarcra volt tlve. Most csak a gyakorlati okot ismertetjk, amely a darabszmokban
rejtzik. Ha csak pr tucat tulajdonsgtpusunk van az egyetemes relciban, akkor a kzttk
lv fggseket knnyen meghatrozhatjuk. Viszont mr 500 tulajdonsgtpus elemi funkcio-
nlis fggseinek az elemzshez is elvileg 127245 vizsglatot kellene vgrehajtani. Minden tu-
lajdonsgot minden msikkal ssze kellene vetni annak megllaptsra, hogy ltezik-e kzttk
elemi funkcionlis fggs. Teht N tulajdonsg esetben N * (N-1)/2 vizsglatra lenne szksg.
Ekkor mg szt sem ejtettnk az A+B C jelleg sszetett fggsekrl, amelyekben maga
az A, B s a C is lehet sszetett. Vagyis az sszettelek tetszleges kombinciit is vizsglni
kellene. Ezeket is figyelembe vve mr csillagszati szmokhoz rkeznk. Pedig az embernek
mg arra sincs gyakorlati lehetsge - magyarul: ideje -, hogy pr tzezer tulajdonsgfggst t-
bngsszen. Ezrt az egyetemes relcin alapul normalizlsi eljrs elmletileg s gyakor-
latilag alkalmazhatatlan. (Az elmleti tkletlensget majd albb igazoljuk.)

17.5 Normlforma szintzis

Mieltt a mdszer ismertetsre ttrnnk, r kell mutatnunk egy lnyeges momentumra.


A hagyomnyos tervezsi eljrsok abbl indulnak ki, hogy a tulajdonsgtpusok egyedtpu-
sokhoz tartoznak. Teht az egyedtpusokat elsdleges modellezsi tnyezknek tekintik, szemben
a msodlagos tulajdonsgtpusokkal. Teszik ezt annak ellenre, hogy az utbbi tnyezk nll
jogon is lteznek (v. domjn) s ezrt nem msodlagosak. St! A relcis elmlet szerint a
relci az rtktartomnyok Descartes-fle szorzata. Ezrt a domjn elvileg megelzi a relcit,
ahhoz kpest elsdleges. A mi vlemnynk szerint az adatmodellben az egyed- s tulajdonsg-
tpusok egyenrang tnyezk. Ezrt evidens, hogy az adatmodellezst ppen gy lehet az
utbbiaknl is kezdeni, mint az elbbieknl.
Ezt a gondolatot ismerte fel Bernstein, a normlforma szintzis [30] eljrsnak a kidolgo-
zja. Ebben a mdszerben nem az egyedtpusok, hanem az azoktl fggetlen tulajdonsgtpusok
(rtktartomnyok) halmaza s az azok kztti fggsek jelentik a normalizls alapjt. Mivel
ezek a fggsek nem egyeden belliek, nem FD-MVD-JD jellegek. Az n. tartomnyfggsekrl
(ld. 13.3 pont) van sz. A normalizlsi adatbzist a domjnek, a tartomnyfggsek s az ezek
alapjn meghatrozott egyedtpusok jelentik. Az ezeken belli tulajdonsgfggseket ez a
mdszer tartomnyfggsekknt rtelmezi.
Az egyedtpusokat tekintve a dekompozci fellrl-lefel lebont normalizlsi eljrs.
Ezzel szemben a szintzis alulrl-felfel ptkez mdszer. Az egyedtpusokat tulajdonsgtpu-
sokbl ptjk fl a kzttk meghatrozott tartomnyfggsek (DD) szerint. Ez a kvetkez
recept szerint trtnik:

Vedd a tulajdonsgtpusok (mint tartomnyok) teljes kszlett.


Hatrozd meg a kzttk lv valamennyi tartomnyfggst.
Szmold fel a nem-kzvetlen (rszleges, tranzitv stb. jelleg) fggseket.
Hozz ltre annyi egyedtpust, ahny klnbz meghatroz van a baloldalon. Minden ilyen
egyedtpusnak a baloldali tulajdonsgtpus lesz az azonostja.
Az gy ltrehozott egyedtpusokhoz a baloldali meghatrozk szerint kapcsold hozz ler
tulajdonsgknt a jobboldali tulajdonsgokat.
Az egyedek kztt annyi kapcsolatod lesz, ahnyszor a baloldali tnyez ms fggsben
megegyezik a jobboldali ttellel.

252
Most lssuk mindezt a 17.5 pldn gy, hogy a 17.3 plda tulajdonsgtpusait s az azok
kztti fggseket vesszk alapul:

17.5 plda

Vevkd ==> Vevnv


Vevkd ==> Vevcm
Rendelsszm ==> Vevkd
Rendelsszm ==> Vevnv
Rendelsszm ==> Vevcm

A kt utols fggs tranzitv, teht trljk azokat a fggshalmazbl. Marad kt klnbz


baloldalunk. Ezrt kt egyednk (VEV, RENDELS) lesz a kt baloldali ttellel (Vevkd,
Rendelsszm), mint azonostval. Az els egyedben a Vevnv s Vevcm, a msikban a
Vevkd lesz jobboldali ttelknt ler tulajdonsg. Egyetlen olyan prosunk van, amely bal- s
jobboldalt is szerepel. Ezrt a modellben egy kapcsolat van, mgpedig a VEV s a RENDELS
kztt. A kapcsolat a Vevkd kapcsolttelen alapul.
A szintzissel kapsbl a 17.3 plda tkletesen j megoldsra jutottunk. Annyira
nemesen egyszer mdszerrel, hogy az szinte nem is lehet igaz. Nem is az.
Az lesszem olvas nyilvn felfedezte, hogy az univerzlis relci s a szintzis mennyire
kzel ll egymshoz. Ha a tnyleges egyedtpusoktl fggetlenl, egy nagy egyetemes egyed-
tpusban vizsgljuk a fggseket, akkor azok csak tartomnyfggsek lehetnek. Az egyetemes
relci s a szintzis fggshalmaza csak egy elvi dologban tr el egymstl: a kapcsolsfggs
(JD) csak egyedtpuson bell rtelmezhet, rtktartomnyok kztt nem. A fentiekbl kvetke-
zik, hogy a 17.4 pontban feltrt gyakorlati problma a szintzisre is vonatkozik. A szintzis szp
elmlet, csak gyakorlatilag vgrehajthatatlan. Megfordtva: az albb ismertetett elmleti korltok
az univerzlis relcira is vonatkoznak.
A gyakorlatban ritkn br, de elfordul, hogy egy E (A+B) egyedtpust csak azrt hozunk
ltre, hogy ssze tudjuk kapcsolni az egymssal M:N fok viszonyban ll F (A, ...) s G (B, ...)
egyedtpusokat. Teljesen vilgos, hogy az E egyedtpus a szintzis mdszervel sohasem krel-
hat. Hiszen ebben az egyedben semmilyen fggs sem fedezhet fel, kivve a kt projektvet,
vagyis azt, hogy az sszetett kulcs meghatrozza a sajt rszeit. gy sohasem fogunk rjnni arra,
hogy szksges maga az A+B sszettel. Ezrt - szemben a dekompozci eljrsval - szintzis-
sel sohasem tudunk meghatrozni csupakulcs egyedtpusokat.
A szintzis eljrsa szemantikailag teljesen hibs modellre vezethet. Most idzzk fel a 13.5
pldt a 17.6 pldban:

17.6 plda

KZPONT (Kzpont-azonost, ...)


TELEPHELY (Telephely-azonost, ..., Kzpont-azonost)
RENDELS (Rendelsszm, Kzpont-azonost, Telephely-azonost, ...)

Emlkezznk r, hogy a rendelst hol a kzpont, hol a telephely adja fel. Ezrt a RENDELS
egyedben mindkt tulajdonsgnak (Kzpont-azonost s Telephely-azonost) szerepelnie kell.
Ha a kzpont adja fel a rendelst, akkor a Telephely-azonost rtke rtelmetlen. Ezrt a REN-
DELS egyedben nem ll fenn a Telephely-azonost Kzpont-azonost funkcionlis fggs.
Viszont ugyanez a viszony hatrozottan ltezik a TELEPHELY egyedben.
A normlforma dekompozci eljrsnl ez a kettssg nem okoz zavart. A 17.6 plda
megoldsa minden tovbbi nlkl elfogadhat a dekompozci szablyai szerint. Ezzel szemben

253
mr vilgosan lthat a normlforma szintzis igen komoly elmleti korltja. Ennl az eljrsnl
kt rtktartomny kztt csak egy fggsi viszony hatrozhat meg. gy a terveznek csak kt -
egyarnt rossz - lehetsge van.
Ha az elemz kzvetlennek felttelezi a Telephely-azonost ==> Kzpont-azonost fggst,
akkor megkapja a TELEPHELY egyedet. Viszont nem teheti a RENDELS-be a Kzpont-
azonostt, mert az kzvetett - tranzitv - a szintzis szablyai szerint. gy nem jn ltre a
KZPONT - RENDELS kapcsolat. Ha a tervez kijelenti, hogy a Telephely-azonost s a
Kzpont-azonost fggetlen, akkor a RENDELS egyedben egytt szerepelhet a kt ttel.
Viszont nem kerl a TELEPHELY egyedbe a Kzpont-azonost s gy kimarad a modellbl a
KZPONT - TELEPHELY kapcsolat.
Teht a szintzis valjban kizrja azt, hogy kt tulajdonsg tbb egyedben is egytt
forduljon el, ha van olyan egyed, amelyben az egyik meghatrozza a msikat. Ezrt a szintzis
eljrsa elmletileg tkletlen. A fggsek teljes halmaznak az ignybl indult ki ez az eljrs,
s ppen ezt a teljessget nem teszi lehetv.
me, a normalizls 22-es csapdja. A dekompozci nem figyel az egyedek kls viszo-
nyaira s ezrt nem kpes j bels szerkezeteket biztostani. A szintzis elhanyagolja az egyedek
bels szerkezett s ezrt kptelen j klst produklni. Az univerzlis relci pedig tvzi a
msik kt eljrs hibit amellett, hogy gyakorlatilag is alkalmazhatatlan.
Mieltt a csapdbl val kikecmergs mdjt megmutatnnk, fel kell hvnunk a figyelmet a
szintzis egyik pozitv - nem mindenki ltal kihasznlt - vonsra.

17.6 Krdezni tudni kell

A kezd normalizlk gyakori ketts hibja az, hogy az ltaluk elre elkpzelt egyedtpusok-
hoz s mg inkbb azok azonost tulajdonsghoz ragaszkodnak. Azt a krdst teszik fel, hogy
fggenek-e az egyed tulajdonsgai az elre elkpzelt azonosttl s a feltrt fggsek helyesek-e
(nem-rszlegesek, nem-tranzitvak stb.). Ez a megkzelts elvileg picit helytelen, gyakorlatilag
pedig nagyon nem clravezet.
Elvileg azrt helytelen, mert a dekompozci nem mindig abbl indul ki, hogy az egyed-
tpusnak adott az elsdleges kulcsa. Az elz kt fejezetben sokat beszltnk az olyan egyedekrl,
amelyeknek tbb kulcsjelltje is van. Gyakorlatilag azrt nem clszer a dekompozci merev
kvetse, mert lpsenknti normalizlshoz - tbbletmunkhoz - vezet (v. 14.1 plda). Azt
pedig a 17.2 pontban lthattuk, hogy a dekompozci mdszervel nem mindig alkothat
konnektv, vagyis kapcsolathiny-mentes adatmodell.
Mi lesz a kvetkezmnye annak, ha valamilyen tnyezt kifelejtnk a modellbl, teht a
tervnk nem teljes? Ha egy egyedtpusbl ler abszolt szerep tulajdonsgot - pl. Vevnv -
hagyunk ki, az nem jr slyos htrnyokkal. Az els informciignykor fny derl a hibra; az
adatmodellt s az adatbzist kibvtjk; pr egyszer programot trunk s ksz. Persze ezt is jobb
lenne elkerlni. mde akkor, ha azonost abszolt szerep tulajdonsg marad ki kapcsolknt
valamelyik egyedbl, akkor az elzek mellett komolyabb kellemetlensgekkel is szembe kell
nznnk. Ha a 17.2 plda RENDELS egyedbe nem tettk be a Vevkd tulajdonsgot, akkor
nem derl fny a Vevnv tranzitivitsra. A hiny ptlsakor meg akarnnk szntetni a redun-
dancit is. Ehhez viszont az adatbzis talaktsa s a RENDELS egyedet kezel programok
mdostsa is szksges.
Persze az idzett plda tlzottan is ttekinthet ahhoz, hogy valaki elkvesse az inkonnek-
tivits, a nem-teljes bels egyedszerkezet kialaktsnak a ketts problmjt. mde egy sszetett
adatmodellnl szmolni kell a figyelmetlensggel s ttekinthetetlensggel. Ezrt most elruljuk

254
az adatmodellezs egyik fontos titkt, amelyen alapul a mi normalizlsi szemlletnk s
eljrsunk. A lnyeg az, hogy krdezni tudni kell.
A kezd tervez az egyedtpus bels szerkezett illeten azt a krdst teszi fel, hogy fgg-e a
RENDELS (Rendelsszm, ..., Vevkd, Vevnv) Vevnv tulajdonsga a felttelezett kulcstl
s ha igen, akkor megfelel-e a fggs? Majd rjn arra, hogy nem az, mert tranzitv. Ezzel
szemben a tapasztalt elemz csak egyetlen krdst vet fel: mitl fgg kzvetlenl a Vevnv
tulajdonsg? Magyarul: megfordtja a krds irnyt. Nem a felttelezett azonosttl krdez a
ler fel, hanem a lerhoz keresi a megfelel kulcsot. Evidens, hogy gy a ler valdi helyt -
pldul tbbszrs tranzitivits esetn - sokkal hamarabb tallja meg. Ha az E1 (A, B, C, D)
egyedben ltezik az A B C D fggssor, akkor az A-tl indulva csak tbb lpsben
bukkan a D vgs egyedre (v. migrltats). Ezzel szemben ha azt krdezi, hogy mitl fgg
kzvetlenl a D, akkor azonnal felfedezi az E3 (C, D) egyedet.
Nzznk msik pldt! Adott a DISZPOZICITTEL (Diszposzm, ..., Rendelsszm,
Cikkszm, Rendelt-mennyisg) egyed. A tervez taln sohasem jn r a megfelel megoldsra,
ha azt krdezi, hogy fgg-e s helyesen fgg-e a Rendelt-mennyisg a Diszposzm-tl. Ha viszont
az irnt rdekldik, hogy mi hatrozza meg a Rendelt-mennyisg-et, akkor rbukkan a Rendels-
szm+Cikkszm Rendelt-mennyisg fggsre (v. 16.5 plda).
A normlforma szintzis korszerstett, ltalunk alkalmazott eljrsban merlt fel elszr a
fordtott irny krdezs gondolata. Hiszen ennl a mdszernl nincsenek elre elkpzelt
egyedtpusok s azonostk. Ha van 500 tulajdonsgtpusunk azt vgigkrdezni, hogy az egyik
meghatrozza-e az sszes tbbit, praktikus lehetetlensg. ppen ezrt azt a krdst vetjk fel,
hogy azt az egyet melyik hatrozza meg a tbbi 499 kzl kzvetlen mdon. Teht - szemben az
eredeti eljrssal - nem llaptjuk meg az sszes fggst.
Ilyenformn elvi lehetsg nylik az egyedtpusok kls szerkezetnek a kiteljestsre is.
Egyedtpustl fggetlenl mi hatrozza meg kzvetlenl a Vevkdot? Nos, tbbek kztt a
Rendelsszm. Ezrt a Vevkd-nak a RENDELS egyedben van a helye. Persze a gyakorlatban
ez mskppen fest, mert 500 tulajdonsg esetben nem fogjuk vgignzni a tbbi 499-et, hogy mi
hatrozza meg kzvetlenl a szbanforg egyet. Azt a titkot, hogy mirt nem, majd csak a 17.10
pontban fejtjk ki a maga teljessgben. Itt s most egy rsztitokra hvjuk fel a figyelmet.
A dekompozci az egyed bels szerkezete fell igyekszik megtallni a klst, nem mindig
sikeresen. A szintzis a tulajdonsgfggsek alapjn prblja ugyanezt megtenni. m mi lenne
akkor, ha fordtva is krdeznnk? Nemcsak fggsekben gondolkodnnk, hanem explicit kls
szerkezetekben, vagyis kapcsolatokban is? Plda: Tudjuk, hogy a vevk s a rendelsek hierarchi-
kus viszonyban llnak, mert modellnkben meghatroztuk a VEV - RENDELS kapcsolatot.
Akkor hogyan lehetsges az, hogy a RENDELS egyed mgsem tartalmazza a VEV
azonostjt (ld. 17.1 plda)? Teht a kapcsolat alapjn ki kell egsztennk a RENDELS bels
szerkezett a Vevkd-dal. Az explicit kls szerkezetbl indulva gy is javthatjuk a belst.
Mindez pedig ismtelten a fggsek s az egyedek bels-kls szerkezetnek az sszefggseire
irnytja a figyelmnket.

17.7 Fggsek s szerkezetek

Nem vletlenl hangslyoztuk annyira eddig is a normlforma s a modellstruktra


viszonyt. A tulajdonsgtpusok egyedeken belli (intra-entity) s egyedek kztti (inter-entity)
fggse ugyanannak a dolognak a kt oldala. Ha a 17.4 pldban fennll a RENDELS egyeden
bell a Rendelsszm Vevkd fggs, akkor ugyanez a viszony a RENDELS egyed Rende-
lsszm s a VEV egyed Vevkd tulajdonsga kztt is ltezik.

255
A hagyomnyos relcis normalizls alapvet gondja az, hogy az egyedek kls szerkezett
csak impliciten - korltokkal illetve ekknt szolgl fggsekkel - lehet megadni. Azokat nem
lehet expliciten - kapcsolattpusokkal - kifejezni, mivel ez a fogalom nem ismeretes a relcis
adatmodellben. Ezrt nincs is md az explicit kls szerkezet alapjn ttervezni a bels szerkeze-
tet. Pedig az implicit s explicit struktra viszonya vilgos.
A tulajdonsgok kztti FD nem ms, mint a tulajdonsgok hierarchikus (1:N fok)
viszonya. Minden Rendelsszm rtkhez csak egy (1) Vevkd rtk tartozhat, viszont minden
Vevkd rtk tbb (N) Rendelsszm tartalomhoz is kapcsoldhat. Ha most ezt a viszonyt nem a
RENDELS egyeden bell, hanem a VEV s a RENDELS egyedek kztt szemlljk, akkor
eljutunk az inhomogn hierarchikus birtoklsi kapcsolattpushoz.
A Rendelsszm s a Vevkd abszolt szerepe azonost. Ez azt jelenti, hogy a kt
tulajdonsg rtkei 1:1 viszonyban llnak magukkal az egyedelfordulsokkal. Minden konkrt
egyednek kell, hogy legyen azonostja (az azonost rtke nem lehet res vagy ismeretlen) s
minden egyednek csak egy elsdleges kulcsa lehet. gy a Rendelsszm Vevkd fggs tulaj-
donsgrtkek kztti, ellrl nzve N:1 fok viszonya egyben azt is jelenti, hogy a RENDELS
s a VEV egyedtpusok kztt is N:1 fok sszefggs ll fenn. Ez a kapcsolat inhomogn
(ktfle egyedet rint), hierarchikus s birtoklsi termszet (a vevknek vannak rendelseik).
sszefoglalan: A RENDELS egyeden belli N:1 fok funkcionlis fggs mint implicit
viszony a VEV s a RENDELS kztti fordtott irny 1:N fok explicit sszefggsnek,
kapcsolatnak felel meg.
Ez a tuds mr egszen komoly kiindul alapot jelent a szmunkra. Ha kt egyedtpus kulcsa
egymstl funkcionlisan fggetlen, akkor azok rtkei s maguk az egyedtpusok is M:N fok,
hls viszonyban llnak egymssal. A kt egyedtpus sszefggse nem lehet kzvetlen. Egyik
sem tartalmazhatja a funkcionlis fggetlensg miatt a msik azonostjt. gy nincs lehetsg
arra, hogy a kt egyedtpus kztt kapcsolatot hatrozzunk meg. Ha a kt egyedet sszefggsbe
akarjuk hozni, akkor egy harmadik egyedtpust kell felvennnk olyan mdon, hogy az mindkt
egyedtpushoz kzvetlenl kapcsoldjon. A 17.7 plda mutat ilyen esetet:

17.7 plda

RENDELS (Rendelsszm, ...)


CIKK (Cikkszm, ...)
RENDELSTTEL (Rendelsszm+Cikkszm, ...Rendelt-mennyisg)

Az els kt egyed viszonya hls. sszefggsket a harmadik egyed fejezi ki. Mint mr
tudjuk, az sszetett kulcs projektv fggssel meghatrozza a sajt rszeit. Ezrt a harmadik
egyed Rendelsszm+Cikkszm Rendelsszm s Rendelsszm+Cikkszm Cikkszm
bels fggse a kt meghatrozott azonost abszolt szerepe miatt egyben kls fggs is. Ezrt
a RENDELSTTEL alulrl N:1 fok kapcsolattal ktdik a msik kt egyedhez s gy meg-
testesti azok M:N fok viszonyt. Egy (1) rendelshez tbb (N) rendelsttel tartozhat s egy (1)
cikkre tbb (M) rendels vonatkozhat.
Most nzzk a harmadik esetet, amelyet a 17.8 plda szemlltet:

17.8 plda

KOCSI (Rendszm, ...)


CASCO (Cascoszm, ...)

256
A flplda nem vletlenl sikeredett ilyenre. Minden kocsinak csak egy CASCO-biztostsa
lehet s minden ilyen biztosts csak egy kocsira kthet. Ezrt a Rendelsszm s a Cascoszm
rtktartomnyok kztt klcsns, vagyis 1:1 fok viszony ll fenn. A dilemma az, hogy miknt
fejezzk ki ezt az sszefggst, mert hiszen a 17.8 plda kt egyede ebben a formban nem
kthet egymshoz.
Ha a normlforma szintzis elveihez ragaszkodnnk, akkor ugyancsak bajba kerlnnk. A
KOCSI egyedbe kellene tennnk a Cascoszmot (meg a CASCO minden egyb adatt), mivel az
fgg a Rendszmtl. A CASCO egyedbe kellene vinnnk a Rendszmot (meg a KOCSI sszes
tbbi tulajdonsgt), mert az fgg a Cascoszmtl. gy kt teljesen azonos - csak ms nev s
kulcs - egyedtpust nyernnk.
Ilyen helyzetekben a normlforma dekompozci sem segt. Gondoljuk csak t ezt az esetet:

17.9 plda

KOCSI (Rendszm, ..., Kocsitpus)


CASCO (Cascoszm, ..., Kocsitpus)

A redundancia nyilvnval, de nincs elmleti alapunk annak kikszblsre, mert egyik


egyedtpus sem tartalmazza a msik kulcst. me, egy jabb csapda.
Az adatmodellezs a fentiek miatt nem szereti az egymssal lineris (1:1 fok) viszonyban
ll egyedtpusokat. Az ilyen esetekben az elmlet a viszony opcionalitsban tallja meg a
menedket. Tegyk fel - br tudjuk, hogy ez nem igaz -, hogy minden kocsira CASCO-t kell
ktni. Vagyis az 1:1 fok viszony ktelez. Ebben az esetben semmi rtelme sincs a kt egyed-
tpus sztvlasztsnak, mert a CASCO a kocsi mindenkori jellemzje. Most ljnk a vals
felttelezssel, amely szerint nem minden kocsira ktnek nbiztostst. Ezrt a viszony a kocsi
oldalrl nzve opcionlis. Minden CASCO kocsira vonatkozik, de nem minden kocsinak van
CASCO-ja. Ekkor a clszer megolds a kvetkez:

17.10 plda

KOCSI (Rendszm, ..., Kocsitpus)


CASCO (Cascoszm, ..., Rendszm)

A kt egyedtpus egymshoz kapcsolhat. A Kocsitpus redundancija megsznt, mert az a


CASCO egyedben tranzitv fggst mutat a Rendszm bettele utn. Nyertnk egy j modellt - s
kt tanulsgot.
Az egyik az, hogy 1:1 fok viszonyban ll egyedtpusokat a tervez sohasem alkalmaz.
(Kivtelt kpeznek az egyedaltpusok, amelyekrl majd a 18.5 alpontban lesz sz.) Ha az egyedek
kapcsolata ktelez, akkor azokat sszevonja s az eredetileg felttezett kulcsokat alternlaknak
jelli meg az elrhetsg rdekben. Ha a viszony opcionlis, akkor mestersges hierarchit krel,
vagyis az egyik egyed kulcst a msikban ler tulajdonsgknt ismtli meg.
A msik tapasztalat generikusabb. Mr a 17.6 plda kapcsn is figyelnnk kellett a fggsek
opcinalitsra. A CASCO-plda korbbi esetben is a fggs ereje (ld. 13.3 plda) volt a dnt.
Nem lehet gy jl normalizlni, ha nem vagyunk tekintettel a fggser tnyezre. Ez is egy
titok, amelyrl ksbb mg bvebben is beszlni fogunk.

257
17.8 Kt sszetett szerkezeti problma

A j tervez titka, hogy okosan tud krdezni. Amint a fentiekben lttuk, a dnt krdsek
tbbsge az azonostkra vonatkozik. Mieltt ezt a tmakrt bvebben is megvilgtannk,
nhny tovbbi titkos sszefggsrl kell fellebbentennk a ftylat.
A dekompozcis normalizlsi eljrs sorn mindig csak egy felttelezett egyedtpussal
foglalkoztunk. A rossz bels szerkezet egyedtpust a vonatkoz normlforma szablyai szerint
kettre vagy tbbre bontottuk. Ezt mindig vesztesgmentesen tettk. Vagyis gy, hogy az ered-
mny-egyedtpusok sszekapcsolsval visszanyerhettk az eredeti egyed ismereteit. A 4NF s
5NF ltalunk nem kedvelt eseteit kivve mindig egymssal kapcsolatban ll egyedeket kaptunk
gy, hogy az egyeden belli fggsbl egyed kztti fggst generltunk. Ha a RENDELS
(Rendelsszm, Vevkd, Vevnv) egyedet a VEV (Vevkd, Vevnv) s RENDELS
(Rendelsszm, Vevkd) prosra daraboljuk, akkor az eredeti egyeden belli Rendelsszm
Vevkd fggst klsv (is) tesszk s ezzel biztostjuk a kt egyedtpus kztti explicit
kapcsolatot.
A szintzises normalizlsi mdszer kapcsn gondoltunk csak arra, hogy a szembetn kap-
csolati hinyok (ld. 17.1 plda) miatt egyszerre kt egyedtpussal is trdnnk kell. Azrt, hogy
meghatrozhassuk azok helyes kls fggsi viszonyait s ezeken keresztl az egyedek
kapcsolatait.
Azonban itt nem llhatunk meg. Mirt csak kt egyedtpus sszefggsvel foglalkozunk?
Mirt nem az sszesvel? A krds jogossgt a 17.11 plda szemllteti:

17.11 plda

VEV (Vevkd, ..., Vevnv)


SZERZDS (Szerzdsszm, ..., Vevkd)
RENDELS (Rendelsszm, ..., Szerzdsszm, Vevnv)

A vevk csak szerzdseiken keresztl kapcsoldnak a rendelsekhez. A plda kls szerke-


zete tkletes. A rendelsekbl elrhetjk a szerzdseket, azokon keresztl pedig a vevket - s a
fordtott t is simn jrhat. Csakhogy nagyon is feltn a Vevnv redundancija. Mintha az
egyedek bels szerkezetvel volna most gond.
Ezt a problmt nem is olyan knny feloldani. A RENDELS nem tartalmazza a Vevnv
tulajdonsgot kzvetlenl meghatroz Vevkdot. Mrmost a tervez vagy szreveszi, hogy a
Vevnv kzvetve fgg a Szerzdsszmtl, vagy sem. Ha igen, akkor dekompozcit alkalmazva
a kvetkez eredmnyre fog jutni:

17.12 plda

VEV (Vevkd, ..., Vevnv)


SZERZDS (Szerzdsszm, ..., Vevkd, Vevnv)
RENDELS (Rendelsszm, ..., Szerzdsszm)

Ekkor a tervez ismt szembesl a tranzitivits bajval. Ezrt a Vevnv ttelt kiveszi a
SZERZDS egyedbl. Miutn a VEV egyedbe nem teheti, mert mr ott szerepel, egyszeren
elhagyja azt a 17.13 pldnak megfelelen.

258
17.13 plda

VEV (Vevkd, ..., Vevnv)


SZERZDS (Szerzdsszm, ..., Vevkd)
RENDELS (Rendelsszm, ..., Szerzdsszm)

Most persze az olvas jogosan krdezheti, hogy minek gyszmkel ennyit a tervez, hiszen
azonnal elhagyhatta volna a Vevnv ttelt a 17.11 plda eredeti RENDELS egyedbl. Tehette
volna, ha okosan krdez (ld. 17.6 pont) s azt a krdst veti fel, hogy mi hatrozza meg kzvet-
lenl a Vevnv tulajdonsgot. Ugyanis a tisztn ler tulajdonsgok ltalban csak egy egyedt-
pushoz ktdnek. Ezzel szemben az azonostk ms - tbb - egyedben is lehetnek meghatro-
zottak, azaz kapcsolk. A 17.11 plda hrom mlysgi szint modelljvel szemben elkpzelhetk
- lteznek - sokkal sszetettebb szerkezetek is. Ezek esetben mr nem olyan knny feltrni,
hogy egy kapcsol tulajdonsg szksges-e az egyedben, vagy tranzitv. Honnan tudjuk pldul,
hogy az E1 (A, B, X), E2 (B, C), E3 (C, N) ... En (N, X), Ex (X, ...) egyedsorozatban az X az E1
egyedben tranzitv? No meg azt, hogy ezzel szemben az E1 (A, ...), E2 (B, A), E3 (C, A) s E4
(D, B, C) szerkezettel - s most tessk a ngy egyedtpus kztt szmos msikat is elkpzelni -
semmi baj sincs a ktszeresen meghatrozott A tulajdonsgtpussal?
Azutn fellp egy tovbbi problma is. Az elbbiekben a Vevnv tulajdonsgot a tranziti-
vits miatt az egyedtpusok kztt vndoroltattuk (angolul: attribute-migration), vagyis elbb a
RENDELS egyedbl a SZERZDS-be, majd onnan a VEV-be, vgs helyre tettk. m a
tulajdonsg megfelel egyednek a megtallsa nha nem knny feladat. A 17.14 plda nem kis
fejtrst okozhat a terveznek:

17.14 plda

MEGYE (Megyekd, ..., Vroskd)


JRS (Jrskd, ..., Megyekd)
VROS (Vroskd, ..., Jrskd, X)

Kt problma lp fel. Az els: Tessk beilleszteni ebbe az adatbzisba egy j megyt, jrst
vagy vrost! Elruljuk, hogy ez gy nem fog sikerlni. A megye beillesztshez kell a Vroskd
rtke; ahhoz a Jrskd tartalma; emehhez pedig a Megyekd rtke. Egszen csinos sszetett
adatciklusra bukkantunk. A hrom azonost krkrs meghatrozottsga miatt aligha lehet el-
dnteni, hogy az X adat vgl is melyik egyedet fogja jellemezni. Akrmelyik egyedbe is tesszk,
a tranzitivits miatt azonnal az eggyel feljebb lv egyedbe kell vndoroltatnunk. Onnan a
kvetkezbe - s gy tovbb a vgtelensgig.
Nem vletlen, hogy a klcsns meghatrozottsg miatt a modellezselmlet azonnal kizrja
az egyszer ciklust. Vagyis az olyan szerkezetet, amelyben kt egyedtpus egyms azonostjt
tartalmazza. A 17.15 plda esetben nehezen dnthet el, hogy melyik egyedbe tartozzk a
Kocsitpus adat, hiszen az a kocsit jellemzi, de a CASCO dja is a tpuson mlik (v. 17.9 plda).

17.15 plda

KOCSI (Rendszm, ..., Cascoszm, Kocsitpus)


CASCO (Cascoszm, ..., Rendszm, Kocsitpus)

Errl a pldrl azonnal ltjuk, hogy rossz, mert a Kocsitpus redundns ler ismeret s a
kt kulcs klcsns szerepeltetse is redundancia. Viszont a 17.14 plda sszetett ciklust
tartalmaz, amely - ms esetekben - nemcsak hrom, hanem akrhny egyedtpust is rinthetne.
Ott mr alig ltszik, hogy a kulcsok klcsnsen mindegyik egyedet jellemzik. Nehezebben

259
dnthet el, hogy hov is tartozik az X tulajdonsg. Az egyszer ciklusokat a mai adatelemz
automatk felfedezik, az sszetetteket nem. Az elbbiek esetben a megolds logikus: valamelyik
egyedbl el kell hagyni a msik kulcst, a msikbl pedig a redundns tulajdonsgot. Pldul a
KOCSI-bl a Cascoszmot, a CASCO-bl a Kocsitpust (a megoldst a 17.10 plda mutatja).
Viszont a 17.14 plda problmja szemantikai megoldst felttelez. A MEGYE egyedben a
Vroskd nem akrmelyik telepls jele, hanem a megyekzpont. Ettl fggetlenl a megye s a
vros ktszeresen kapcsoldik egymshoz. Egyszer kzvetlenl, egyszer a jrson keresztl. Az
sszetett ciklusok karbantartsi anomlikat okoznak s ezrt ki kell kszblni azokat. A
megvltozott Vroskd rtket kt helyen kell karbantartani.
Mindenkppen baj szrmazik az sszetett ciklusbl akkor, ha valaki technikai segdeszkzt
hasznl a normalizlshoz. A 17.11 plda sszetett tranzitivitst mindenkppen meg kell szn-
tetni, mert a Vevnv redundns. Csakhogy az automata nem kpes segteni akkor, ha a feladat
sszetett ciklust (17.14 plda) tartalmaz. Krbe-krbe fogja vndoroltatni az X tulajdonsgot.
Mivel pedig automata nlkl nem vagyunk kpesek a j adatmodell kialaktsra (v. az elz
fejezet utols rsznek felsorolsval), az sszetett ciklusokat ki kell irtanunk az adatmodellbl.
Ezt mr csak azrt is meg kell tennnk, mert az automata ltal felfedezett sszetett ciklusok-
rl ltalban az derl ki, hogy szemantikai tisztzst ignyl homonimkat rejtenek. Vagyis az
A B, B C s C A fggshrmasban - ciklus - a kt A, a kt B vagy a kt C valamelyike
valjban nem ugyanazt jelenti.

17.9 Az adatmodell fonalai

Mint mr tudjuk, ha az Y egyedtpus tartalmazza a msik X egyedtpus azonostjt, akkor


az elbbi az utbbi flrendeltnek az alrendeltje, vagyis ltezik az X-tl az Y fel mutat
kapcsolat. Megfordtva: Ha az X az Y flrendeltje, akkor az utbbit jellemeznie kell az elbbi
azonostjnak. Ebbl kvetkezen ha ltezik a Q - W kapcsolat, akkor fenn kell llnia a W Q
azonostk kztti fggsnek. (N.B.: Az egyszersg kedvrt az egyedtpust s a vele 1:1
viszonyban ll elsdleges kulcsot azonos mdon jelljk.)
Az adatmodell egyedtpusai sszetett ciklusmentes (ld. elz pont) struktrt alkotnak. Mivel
a ciklus kizrt, az adatmodellnek van kezdpontja s vgpontja. Kezdpontnak azt az egyedtpust
tekintjk, amelynek azonostjt ms nem hatrozza meg, kvetkezskppen nincs mr
alrendeltje. Vgpontnak azt az egyedtpust nevezzk, amelynek kulcstl nem fgg msik, teht
nincs mr flrendeltje. Termszetesen egy sszetett hls szerkezet adatmodellben tbb kezd
s vgpont is szerepelhet.
Ha a kapcsolatokra figyelnk, akkor a kezdpont a modell legals, a vgpont a legfels
egyedtpusa. Mi azonban most a fggseket akarjuk vizsglni, amelyek sorozata a kapcsolatinak
pont fordtottja. Ha ltezik az X - Y s Y - Z kapcsolatsor, akkor fennll a Z Y s az Y X
fggssorozat, amit rviden Z Y X mdon jellnk.
Most nzzk meg, hogy milyen szerkezeti rszegysgek fordulhatnak el egy ltalnos
adatmodellben. Ekzben egyelre feledkezznk meg a ler tulajdonsgokrl s csak az egyedeket
helyettest azonostkkal foglalkozzunk.
Mint tudjuk, az az ismeretegyttes, amely csak egyetlen egyedtpust lel fel, nem valdi
adatbzis, mert az minimum kt kapcsolt egyedtpust felttelez. Viszont a 17.3 plda - br
hinyzik belle a kapcsolat megadsa - mr egy miniadatbzist mutat. Az adatmodell legkisebb
rszegysge az adategyttest, amely nem ms, mint kt egymssal kapcsolt egyedtpus. Ebben a
struktrban az egyik egyedtpus (VEV) a msiknak (RENDELS) flrendeltje azltal, hogy
az utbbi tartalmazza az elbbi azonostjt (Vevkd). Ld. a 17.1 sematikus bra A rszlett.

260
A B C D

X X X X Y

Y Y Y Z Z

A - adategyttes fggsi kplete: YX


B - lineris szerkezet ZY s Y X
C - hierarchikus szerkezet YX s Z X
D - hls szerkezet ZX s Z Y
17.1 bra: A modellstruktra tipikus szerkezeti rszegysgei

Az brban dobozok mutatjk az egyedtpusokat. Vonalak reprezentljk a kapcsolattpuso-


kat. Mivel minden kapcsolat lefel mutat s az 1:1 fok kapcsolatokat kizrtuk, nem rajzoltuk be
az 1:N fokot mutat varjlbakat. A tipikus szerkezeti rszegysgek tipikus fggssorozatoknak
felelnek meg. Ezek kpleteit is mutatja az bra.
A VEV s a RENDELS a 17.3 plda esetben egyszer adategyttest alkot. mde az
ugyanilyen nev kt egyed viszonya a 17.11 plda esetben kzvetett, mert egy harmadik egyeden
(SZERZDS) keresztl valsul meg. Ezrt a RENDELS mr nem tartalmazza a Vevkdot.
Ettl fggetlenl vilgos, hogy a VEV a RENDELS (kzvetett) flrendeltje. A VEV, a
SZERZDS s a RENDELS n. lineris szerkezetet alkot. Ld. a 17.1 bra B rszlett. N.B.:
Amikor itt szerkezetrl beszlnk, az adatmodell felptsrl, nem pedig az adatbzis struk-
trjrl van sz. Az egyedelfordulsok (az alkalmazsi adatbzis) szintjn a lineris szerkezet
valjban tbbszintes hierarchit (ft) takar.
Most nzzk meg a 17.16 pldt:

17.16 plda

SZEMLY (Trzsszm, ...)


NYELVTUDS (Nyelvkd, ..., Trzsszm)
VGZETTSG (Vgzettsgkd, ..., Trzsszm)

A kt utbbi egyedtpus a SZEMLY alrendeltje. Fennll a Nyelvkd Trzsszm s a


Vgzettsgkd Trzsszm fggs. m ez a kett nem pl egymsra, mivel a nyelvtuds s a
vgzettsg egymstl fggetlen dolgok. A kt fggs nem alkot egyetlen logikus lncot, mint az
elz pldban, hanem alulrl felfel egy csompontba mutat. Az ilyen struktrt nevezzk
hierarchikus szerkezetnek. Lsd a 17.1 bra C rszlett.
Vgl a 17.7 plda esetben a RENDELS s a CIKK hls viszonyban llt. A RENDELS-
TTEL a msik kt egyed kzs alrendeltje, amely az alkalmazsi adatbzis szintjn megteremti
a msik kett M:N fok viszonyt. rvnyes a Rendelsszm+Cikkszm Rendelsszm s a
Rendelsszm+Cikkszm Cikkszm fggs. Ezrt ebben az esetben egy alrendelt mutat kt
flrendelt fel. Ld. a 17.1 bra D rszlett.

261
A 17.2 bra mutat egy sematikus adatmodellt. Amint lthat, a modell a megismert
egysgekbl pl fel, meglehetsen sszetett mdon. A vzszintes vonalak balrl-jobbra mutat
kapcsolatokat s ellenttes irny fggseket jeleznek. Teht pldul a B egyed az A ttel alren-
deltje, vagyis tartalmazza annak kulcst. Az A - B - C hrmas valjban egy lineris rszszerke-
zet, csak az az elrendezs miatt nem gy ltszik.

F K D L

A B

K
E
C L

17.2 bra: Egy viszonylag egyszer adatmodell vza

Most mr knnyen belthat, hogy vgeredmnyben az adatmodell teljes kapcsolatrendszere,


vagyis az egyedek s azok viszonyai, lerhat egy funkcionlis fggsi hlval. gy az adatmodell
optimalizlsa - ha a lerktl eltekintnk - nem jelent mst, mint ennek a hlnak az talakt-
st. A modellnek ciklusmentesnek, konnektvnek (megszakts nlklinek) s a tranzitv tvona-
laktl megtiszttottnak kell lennie. Mivel mg egy ilyen egyszer modellben is szmos fggs
ltezik, a krds az, hogy mikppen lehet optimalizlni a 17.2 bra ltal mutatott hlnak meg-
felel jelleg modelleket?
Induljunk ki egy egyszer rszletbl. A C egyedtpus tartalmazza az A kulcst. Felttelezve
azt, hogy a C A fggs ers, ez a viszony a B-n t tranzitv s azt meg kell szntetni. Vagyis
modellnkbl trlni kell a vastag vonallal jelzett kapcsolatot. (N.B.: Ha a fggs gyenge, akkor
nem valdi a tranzitivits s nincs teend.)
Ezt a tranzitv viszonyt knny volt tltni, mert a hrom egyed egyms mellett tallhat.
Azonban tegyk fel, hogy az E egyed tartalmazza az F kulcst. Ez a kt ttel egymstl mr
elgg tvol van. Miknt fedezzk fel azt, hogy az E F fggs tranzitv?
A hagyomnyos normalizls a tulajdonsg vndoroltatsval trtnik. Pldul az L ler a C
egyedben a B-n keresztl tranzitv. Teht migrltatjuk a B egyedbe. Ott mg mindig tranzitv,
teht tvisszk a D egyedbe. Pontosabban: mivel mr ott van egyszeren elhagyjuk. Ugyanez a
vndoroltats a K ler esetben az E egyedtl az F-ig mr sokkal tbb lpst ignyelne.
A hagyomnyos - lpsenknti - normalizls problmi tbbrtek. Ezeket a kvetkez
ttelekben lehet sszefoglalni:
A tulajdonsgnak a kzvetlen flrendeltbe trtn thelyezse nem j megolds, mert adott
esetben igen sok lpst - tbbszrs vndoroltatst - ignyelhet.
A C L s D L fggsek kzvetlenl ltszanak. Viszont a B L fggs nem explicit.
Ahhoz, hogy a normalizls sikeres legyen, a terveznek fel kell fedeznie azt, hogy ez a
fggs ltezik a C egyeden bell. m mi van akkor, ha ezt nem ismeri fel?
Egy egyednek szmtalan flrendeltje lehet. Azoknak ismt. Lsd az E egyedtpust. Ezrt
sokszor elfordul, hogy egy tulajdonsgot az eredeti egyed tbb kzvetlen, majd kzvetett
flrendeltjbe is t kell vinni illetve ksbb onnan tovbbmozgatni.
A hagyomnyos normalizls brmelyik egyedtpusnl elkezddhet. Pldul a B-nl. Ha
ksbb kerl sor a C normalizlsra, akkor a B-t majd mg egyszer elemezni kell akkor,
amikor a C-bl oda vndoroltatjuk az L ler tulajdonsgot.

262
Amint ltjuk, ez gy nagyon terhes, nem-hatkony normalizlsi eljrs. Fleg az ad-hoc
kezds okoz gondokat az egyedek tbbszrs normalizlsi ignye miatt. E problmk elkerl-
sre sokan fggsi mtrixokat alkalmaznak. gy mkdtt els normaliztorunk, a SZIAM is. A
kiindul fggsi mtrix csak a kzvetlen fggseket tartalmazza. A fggsek egymsra vettsvel
a mtrixot kiegsztjk a kzvetett fggsekkel is. Pldul a C B s B D fggsekbl addik
a C D kzvetett fggs. Mivel gy az mr explicitt vlt, az L ler tranzitivitsa egy pillanat
alatt megszntethet.
gy szlt az elmlet. A gyakorlat azonban mst mutatott. Egyrszt hatalmas mret
mtrixokat kellett felpteni. Gondoljunk csak arra, hogy 500 tulajdonsg esetn mekkora a
tblzat mrete! Msrszt a mtrix nem mkdtt ciklus esetn s az algoritmus nem tudott
klnbsget tenni a ciklus s a tranzitivits kztt. Harmadrszt - errl mg nem volt sz - a
fggseket tbbszrsen is minsteni kellene (ezt nem tettk meg), ami mg inkbb nveli a
mretet. Meg kellene adni a fggs opcionalitst (ers vagy gyenge) s minsgt (rszleges,
tranzitv stb.) is. Azutn van egy negyedik baj is: ilyen alapon igen nehzkesen kezelhetk az
sszetett fggsek. Pldul a meghatrozott nem lehetett sszetett.
A fenti problmk miatt j normalizlsi eljrst - algoritmust - kellett tallni. Ehhez el
kellett vetni az ad-hoc kezdst involvl dekompozci normalizlsi alapjt (az egyedtpusok
halmaza) s a hatalmas mretekbe torkoll univerzlis relci illetve szintzis normalizlsi
inputjt (a tulajdonsgtpusok halmaza). j normalizlsi bemenetre volt szksg. Ezt szeren-
csnk volt megtallni a fonl (angolul: thread) egysgben [31].

D 17/1 A fonl az adatmodell hljnak a kezdpontjtl a vgpontjig vezet fggsek


sorozata.

Termszetesen az adatmodellnek tbb kezd- s vgpontja is lehet. Ezrt a struktrt


tbb fonl alkothatja gy, hogy azoknak vannak kzs tnyezi. Pldul a 17.2 brban fonl a
C A F, a C B A F, a C B D fggssorozat stb. Vegyk szre, hogy a fonl
nem ms, mint az adatmodell egy lineris szerkezeti egysge. Ha teht az adatmodellt fonalakra
bontjuk, akkor valjban sztbogozzuk ezeket a korbban egymssal sszeszvdtt lineris
struktrkat.
A krds az, hogy mire j ez a varzslat? Most elruljuk a szerkezetek egyik titkt. Nincs
olyan fonl a 17.2 brban, amely egytt tartalmazn a C s az E egyedtpust. A kt egyed
azonostja kztt nincs sem kzvetett, sem kzvetlen fggs. Ebbl szksgszeren kvetkezik,
hogy a kt egyed egytt nem okozhat tranzitivitst vagy hasonl problmt. gy teljesen felesleges
azokat egytt vizsglni. A prhuzamos szlakon nem fordulhatnak el modellezsi hinyossgok.
Innen kvetkezik a fonalak msodik, ketts titka. Az egy lncon lv tulajdonsgok a teljes
fonalban ktszer szerepelhetnek, ha azonostk s nem a fonal valamelyik vgn tallhatk. A
C B D fggssor valjban a C B s B D pros rvidtse. A B nincs a fonal vgn,
ezrt egyszer lehet jobboldalt (meghatrozott), egyszer baloldalt (meghatroz). Viszont a ler
tulajdonsgok a lncban csak egyszer szerepelhetnek. Ha teht egy ler a szlon tbbszr is
elfordul, akkor normalizlsa egy pillanat mve: Abban az egyedben maradhat csak meg,
amelyik a tartalmazk kzl legkzelebb ll a fonal vgpontjhoz. Az L ler a C-t s a D-t is
jellemzi. Az utbbi van a vgponthoz kzelebb - maga a vgpont - s gy az L ler a C-ben
tranzitv.
A harmadik titok a kulcsokra vonatkozik. Ha egy kulcspros kt fonlon is megtallhat
gy, hogy az egyik az egyiken kzvetlenl, a msikon kzvetve hatrozza meg a msikat, akkor
az a msik egyed az els fonlon tranzitv. A C s az A tulajdonsg egytt szerepel pldul a
C A E s a C B A E lncokon. Az elbbiben a C A meghatrozs kzvetlen.
Teht ez a fggs a rossz s az A kulcst ki kell venni a C-bl, azaz meg kell szntetni az A - C
kapcsolatot. Mrmost ha a C s az A kztt nincs sehol sem kzvetlen fggs, viszont ltezne

263
tbb kzvetett, akkor kt eset lehetsges. Vagy a szerkezet gy j, ahogy van. Vagy - no de ez mr
olyan igazi titok, amit egyelre nem fogunk elrulni. Ezt a csomt bogozza ki, aki tudja.
Most pedig foglaljuk ssze a fonalak elnyeit:

A helytelen fggsek felfedezshez nincs szksg vndoroltatsra.


A fonalak egycsapsra explicitt teszik az implicit fggseket. Ezrt a lerk normalizlsa
egy pillanat alatt megtrtnhet az adott lncon. Maguk a helytelen fonalrszek automatikusan
kiszrhetk.
Mivel a normalizls a fonal kezdpontjnl indul, nem pedig ad-hoc mdon, minden egyed
elemzsre csak egyszer van szksg. (Ez gy nem teljesen igaz. A lnyeges az, hogy a
hozznylsok szma a minimlisra korltozott.)
Szemben a mtrixon alapul elemzssel, a mi algoritmusunkban lnyegesen kisebb technikai
appartus szksgeltetik. A fonalak egyttes mrete nagysgrendekkel kisebb, mint az ugyan-
azon adatmodellt tkrz fggsmtrix.

17.10 Apr szerkezeti titkok

A fonalak mindig felttelezik a felsbb szint egyed azonost szerep tulajdonsgnak a


megismtlst a kzvetlen alsbb szint egyedekben a kapcsolhatsg kedvrt (ez j redun-
dancia). Mindig kizrjk a felsbb szint egyed ler szerep tulajdonsgnak a megismtlst
brmelyik alsbb szint, a fonalon fekv egyedtpus esetben, mert az felesleges ismeretismt-
lshez vezet (ez rossz redundancia). Ezrt a fonalak mentn trtn normalizlssal kiszrhet
a legtbb adatmodellhiba. Egy tanulmnyban kimutattuk, hogy elmletileg a problmk 87-88
szzalka szmolhat gy fel.
Azrt csak a legtbb, mert egy adatmodell nemcsak a redundancik miatt, hanem a
teljessg hinya kvetkeztben is hibs lehet. Magyarul: a felesleges fggsek automatikusan
megszntethetk, m a hinyzak mechanikus feltrsra nincsen md. Ehhez kiegszt emberi
tevkenysgre van szksg. (Az eddig ismertetett normalizlst mi termszetesen automatval
vgezzk.) A krds az, hogy hol s miknt avatkozzon be az ember?
Az adatmodell az ismeretek szvete, teht abban prhuzamos fonalak is elfordulnak. Baj
csak ezeken az gakon lphet fel. Mgpedig ott is csak addig, ameddig a szlak ssze nem futnak
vagy szt nem vlnak. A 17.3 brn lv modellben ngy fonal van. Rvidtett rsmdban: D-C-A,
D-C-B, E-C-A s E-C-B. A C egyed a csompont. Ez lehet egy teljes, tbb egyedtpusbl ll
lineris szerkezet - rszfonal - is. Ez mondanivalnk lnyegn nem vltoztat. Ezrt most ttelez-
zk fel, hogy a C csak egyetlen egyed.

A B

D E

17.3 bra: Szerkezeti elgazsok

264
Az bra t egyede kztt elvileg 5*4/2 = 10 sszefggst kellene vizsglni, ha nem lennnek
fonalaink. Mivel azonban a lncok sszefutnak, csak a csompont alatti s fltti helyzetre kell
gyelnnk. Vagyis csak az A s B illetve a D s E prost kell elemeznnk.
A 17.3 bra ltal mutatott elgazsok esetben tbb krdst kell feltennnk. Hiszen mindig
figyelnk a tulajdonsgok azonost s ler szerepre.
Tegyk fel, hogy a D s az E (vagy az A s a B - a tbbi prosts rdektelen) egyedben
szerepel egy kzs X ler tulajdonsg. Ha annak abszolt szerepe azonost - vagyis ltezik X
egyed is -, akkor a helyzettel mris nem kell foglalkoznunk. A ler valjban kapcsol, ezrt a
kt egyed redundancijval nem kell trdnnk. (Aktulisan mindkt egyed tartalmazza a C
kulcst, ami teljesen normlis szituci.)
A D s az E egyed - vagy brmilyen prhuzamos gon lv egyedpros - ler tulajdons-
gnak az tfedsre csak akkor kell figyelnnk, ha az abszolt szerep is ler. Vagyis nincs X
ltal azonostott egyed. Ilyenkor hrom eset lehetsges:

Az X valjban azonost, de ezt eddig nem fedeztk fel. Ezt a szitucit elmletileg nem
lehet kizrni, de gyakorlati valsznsge szinte nulla.
Az X homonima, mst jelent a kt egyedben. Nagyon gyakran tallkozunk ezzel a helyzettel.
Ilyenkor j nevek alkalmazsval egyrtelmv kell tenni a modellt.
Az X valamilyen tipikus, ltalnosan hasznlt ler tulajdonsg. Ezrt termszetszeren tbb
egyedet is jellemez. Pldul valamilyen dtum, mennyisg stb.

Nincsen olyan szigor modellezsi szably, amely tiltan az ilyen tbbszrs lerkat.
Azonban az okos tervez igyekszik elkerlni az effle helyzeteket s minstett neveket alkalmaz.
Mr csak azrt is megteszi ezt, mert elre nem tudhatja, hogy prhuzamos gakon vagy egy fona-
lon szerepelnek-e majd az egyedek. Ha kt egyedben is alkalmazza pl. a Nv tulajdonsgnevet s
az egyedek egy fonalon vannak, akkor bizony az automata normaliztor kiablni fog.
Itt ismt elrulunk egy apr titkot. Egy valamennyire is sszetett adatmodellt kzzel nem
lehet normalizlni: automatra van szksg. Az automata nevekkel dolgozik. Ha kt ler tulaj-
donsg neve azonos, akkor azokat azonosnak fogja felttelezni s - taln feleslegesen - minden-
fle normlforma hibkat fog jelezni. Ha viszont egy azonost ms nven szerepel kapcsolknt
tovbbi egyedtpusokban, akkor az automata nem fedezi fel az azonossgot. Nem tudja a kt
egyedtpus sszekapcsolni. Nem kpes j fonalakat alkotni. gy nem is fogja jelezni a valban
ltez normlforma hibkat. Ezrt a modellezs alapszablya: a lerk nevt kell (abbl baj
sohasem lehet), az azonostk nevt nem szabad minsteni.

17.11 A kulcsmtrix

Az adatbzistervezs egyik csapdja az volt, hogy a dekompozci mdszervel elmletileg


nem lehet teljes adatmodellt kszteni, a szintzis eljrsa pedig a vizsglatok nagy szma miatt
gyakorlatilag nem hajthat vgre. Ezrt j normalizlsi metodikt fogunk javasolni, amelyet
termszete szerint heurisztikusnak lehet nevezni.
A mdszer a fentebb mr elhangzott felttelezsen alapul: Annak valsznsge, hogy nem
ltjuk meg egy tulajdonsgtpus abszolt azonost szerept, a nullval egyenl. Ez ugyanis azt
jelenten, hogy nem talltunk olyan msik tulajdonsgot, amelyet funkcionlisan meghatroz.
Ezrt a normalizls sorn a teljessgre val trekvs kzben nyugodtan elfeledkezhetnk a ler
tulajdonsgokrl. Viszont az azonostk kztti fggseket alaposan meg kell vizsglnunk.

265
A valdi problma nem az, hogy a 17.3 bra D s E egyedtpusban van-e egy X ler, amirl
nem fedeztk fel, hogy azonost. A bajok akkor kezddnek, ha a valsgban a D s az E egyed
egymshoz kapcsoldik, de ez nem tkrzdik a kt egyed tulajdonsgaiban. Ha pldul a D az E
flrendeltje, akkor az E-ben szerepelnie kellene a D kulcsnak. Ha ott nem tallhat, akkor a
modell kapcsolathinyos (ld. 17.2 pont).

D E C A B

D - ? * * *
E - * * *
C - * *
A - ?
D -
17.4 bra: Kulcsmtrix

A kapcsolati hinyt az n. kulcsmtrix segtsgvel trhatjuk fel. A kulcsmtrix is egy


fggsi mtrix (ld. 17.9 pont), de csakis az azonost tulajdonsgok fggseit tartalmazza. gy
mrete (tbb) nagysgrenddel kisebb, mint a teljes fggsi mtrix. Vagyis kezelhet. Ez a mtrix
olyan triangulris tblzat, amelybe nemcsak a kzvetlen, hanem a kzvetett kulcsfggseket is
bejegyezzk. A 17.3 brra vonatkoz mtrixot a 17.4 bra mutatja.
Ha a tblzatot okosan tltjk ki - ellre helyezzk a kezdpontokat -, akkor vilgos kpet
kapunk. Amint ltjuk, a tzfle kombincibl csak kett maradt krdses. Hasonl nagysgren-
dekkel kell szmolni egy valdi adatmodell esetben is. Vagyis tlagosan az egyedek kapcso-
latainak az tde marad nyitott krds. 1000 egyednl 200? Ne tessk megijedni. Egyrszt ez nem
egy nagy szm - pedig az 1000 egyed mr egy meglehetsen sszetett modellt jelent. Msrszt
egy krdjel kitltse - a kzvetett fggsek miatt - szmos ms krdst is megszntet, hiszen j
fonalak alakulnak ki.
A fentiekbl mr ltszik, hogy a kulcsmtrix alkalmazsval prosul fonalnormalizls
lnyegesen hatkonyabb eljrs, mint a dekompozci, az univerzlis relci vagy a szintzis ltal
alkalmazott normalizlsi algoritmus. St, nemcsak hatkonyabb, hanem garantltan jobb adat-
modellre is vezet. Fleg akkor, ha elrulunk mg nhny aprsgot.
Tegyk fel, hogy az ugyanazt a ler tulajdonsgot tartalmaz kt egyedtpus kulcsa kztt
nincs funkcionlis fggs, noha azok elvileg kapcsolatban llnak. Magyarul: nem adtk meg
pldul a D egyedben az E egyed kulcst. Ha ekkor belevgunk a normalizlsba, akkor nem
derl ki a ler tulajdonsg tranzitv fggse. Emiatt az okos tervez a normalizls megkezdse
eltt kt dolgot csinl. Elszr is kszt egy adatmodell-diagramot az egyedek s felttelezett
kapcsolataik reprezentlsra. Ezt sszeveti az egyedek bels szerkezetvel. Azaz megnzi, hogy
a diagram szerint alrendelt egyedek tartalmazzk-e a flrendeltek kulcst. Msodszor elkszti
a kulcsmtrixot s elemzi azt. Csak az esetleges hinyok ptlsa utn fog a normalizlsba.
Az okos terveznek mindig kt - persze egymsnak megfelel - adatmodellje van. Egy tgabb
s egy szkebb. A kettben a nevek, a struktrk - szval minden - egyezik. A tg adatmodell
teljes: minden egyed-, tulajdonsg- s kapcsolattpust tartalmaz. A szk modell az elz alhalma-
za. A trkk pedig a kvetkez:
A tapasztalt tervez tud krdezni (ld. 17.6 pont). Nem azt veti fel, hogy meghatrozza-e a
Vevkd a Vevnv ttelt. Hanem azt, hogy mitl fgg kzvetlenl az utbbi tulajdonsg.
Miutn elknyvelte, hogy a Vevkdtl s semmi mstl, a Vevnvrl mr el is feledkezhet.
Azt egszen egyszeren nem kell normalizlni, mert nincs mit szegnyen. Ezrt a szkebb -
normalizland - modellvltozatban ez a ttel mr nem jelenik meg.
Ms. A modellben vannak holtbiztos egyedtpusok. Ilyenek az esetleg tbb msikhoz is
kapcsold segdegyedek. Kd s nv prosok, pldul: VLTOZS (Vltozskd, Vltozs-

266
nv). Standard listk a mrtkekrl, orszgokrl, valutkrl, tpusokrl stb. Ha ezek a fonalak
vgpontjai, vagyis nem mutatnak tovbbi egyedek fel, akkor egyszeren nem okozhatnak norma-
lizlsi hibkat. Kivehetk a szkebb modellbl. Persze az ilyen gyorsnormalizlst csak a
tapasztalt s fegyelmezett tervezknek ajnlhatjuk. Akik nem kvetnek el szemantikai bakikat s
figyeltek arra, hogy a holtbiztos egyedtpusok minden ler tulajdonsga csakis abban az egy
egyedben szerepel. Ha valaki a VLTOZS (Vltozskd, Megnevezs) egyedtpust fedezn fel,
azt va intjk a gyorsnormalizlstl (no meg egyltaln az adatbzistervezstl). Ha egy cgnl
tbbfle mrtkegysg-rtkkszletet hasznlnak - bizonyos sszefggsekben ilyet, msokban
olyat -, akkor a MRTKEGYSG egyedet nem szabad kivenni a szktett modellbl, mert lesz
meglepets.
Ezzel fejezetnk vghez rkeztnk. A tulajdonkppeni normalizlst most elhagyjuk s egy
picit viharosabb vizekre eveznk.

267
18. SAJTOS SZERKEZETI TNYEZK

18.1 Minsgi adatmodellezs

A mai adatbziskezel rendszerek tbbsge COBOL-szinten szemlli az adatbzist. St, mg


azon sem, hiszen pldul a csoportot mg kevs kezel ismeri el strukturlis tnyezknt. A
kezelk szmra a primitvsgig egyszer rekordkpeket kell megadni adatbzisterv cmn. Az
adatmodellez rendszerek kpessgei sem sokkal ragyogbbak, mert hiszen az x relcis rend-
szert tmogat CASE valdi feladata az, hogy a tnyleges kezel kalitkjba zrja a fejlesztt,
kicsit kkre festve az amgy igen szrke eget. Ezek utn nem csoda, hogy a tervezk lapos, unal-
mas, a valsgra csak tvolrl emlkeztet, ellentmondsos, hinyos s redundns adatbzisra
vezet modellt alkotnak.
Az eszkzk hinya s a meglv rendszerek korltai miatt a fejleszt szmra minden
rekordtpus, relci, szegmens vagy ms logikai adatkezelsi egysg azonosnak tnik. Nem is
foglalkozik a klnbsgekkel. Mert hiba ltja, hogy itt s most - mondjuk - egy csaldfa szerke-
zetrl van sz, ha ezt sem a modellez-, sem a kezelrendszernek nem tudja megsgni. A vgn a
csaldfa egyed is csak olyan relci lesz, mint a tbbi. Akkor pedig minek fradjon az elemzssel,
hiszen amgy sincs elg ideje. Ezrt a tervezk tbbsge a tervezrendszerekkel (CASE) teljes
sszhangban megll a legdurvbb tervezsi hibk kiszrsnl s j, ha egyltaln trdik a 3NF
normlalakkal.
Pedig az adatmodellezs legfontosabb feladata a valsg h msnak a megkeresse. Nem a
lapos rekordkpek lersa, hanem egy szemantikailag roppant gazdag modell sszelltsa. Az
adatmodellben kell, hogy tkrzdjk minden az ismeretekkel kapcsolatos ismeret. A szoba a
laks rsze - de ezt nem lehet az adatkezelvel tudatni. Pedig ennek a viszonynak nyilvn vannak
adatkezelsi kvetkezmnyei is. Az egyik t a msikhoz vezet, ami teljesen ms jelleg (csald-
fa) viszony, mint a rsz-egsz kapcsolat - de ezt sem lehet az adatkezelvel megrtetni.
Remlhetleg az olvas mr ltja, hogy az adatmodellezsnek nem csak annyi a clja, hogy
egy kezelhet adatbzisszerkezetet ptsnk fel. Az csak a minimlis cl. A valsg megrtse,
tltsa, korltainak mrlegelse, soksznsgnek feltrsa - ez az adatmodellezs igazi clja.

Ebben a fejezetben az adatmodell egyelre mg klnlegesnek tartott sajtos szerkezeti s


minstsi aspektusait fogjuk ismertetni.

Az els pontokban r fogunk mutatni arra, hogy a specilis szemantikai tartalmat hordoz
struktrk is visszavezethetk a funkcionlis fggsek mechanikus alapjra. Ezrt tmogatsuk
hinya a mai kezelkben rthetetlen. Az utols pontokban az adatmodellnek a megszokottnl
szlesebb rtelmezsre s az adatmodellt alkot tnyezk osztlyozsnak a fontossgra kvn-
juk irnytani a figyelmet.

268
18.2 Tbbszrs inhomogn kapcsolatok

A gyakorlatban nha elfordul, hogy kt egyedtpus kztt nem egy, hanem tbb kapcsolat-
tpust kell meghatrozni. Tegyk fel, hogy valamilyen okbl a magnszemlyek ktfle cmt kell
vezetnnk. Mondjuk a lakcmet s a levelezsi cmet, amely nem mindig azonos az elbbivel.
Ttelezzk fel tovbb, hogy egy ltalnos cmnyilvntartst tartunk, amelyben minden cm a
Cmkd ltal egyrtelmen azonostott. A helyzetet els megkzeltsben a 18.1 plda mutatja:

18.1 plda

CM (Cmkd, ...)
SZEMLY (Szemly-azonost, Cmkd, Cmkd, ...)

Szndkosan voltunk pongyolk a SZEMLY egyed esetben, hiszen evidens, hogy kt


azonos nev tulajdonsg nem szerepelhet egy egyedben. A plda ktfle megoldsi mdjnak a
megvilgtsra ad alkalmat ez a pontatlansg.
Az egyik tervez a kvetkez mdon gondolkozik: A lakcm s a levelezsi cm azonos is
lehet adott esetben. Ezrt a SZEMLY egyedben lv Cmkdot ismtld csoportknt kell fel-
fognunk. A Cmkd fggetlen az egyed kulcstl, ezrt azt kln egyedtpusba kell levgni az
eredeti azonost megismtlsvel a 18.2 pldnak megfelel mdon:

18.2 plda

CM (Cmkd, ...)
SZEMLY (Szemly-azonost, ...)
SZEMLY/CM (Szemly-azonost+Cmkd)

A SZEMLY/CM egyed megteremti a msik kett kztti valdi hls viszonyt. Igaz, hogy
ennek az egyednek nincs ms feladata, mint a kapcsols, de majd mindjrt tallunk neki. Mert a
18.4 plda nem tkrzi, hogy a szemlynek melyik cmrl van sz. Ezrt a vgs megolds a
kvetkez a 18.3 plda szerinti:

18.3 plda

CM (Cmkd, ...)
SZEMLY (Szemly-azonost, ...)
SZEMLY/CM (Szemly-azonost+Cmkd, Cmtpus)

A Cmtpus utal a lakcm/levelezsi cm jellegre. A megolds j, mert nem foglal kln


helyet a levelezsi cm, ha az azonos a lakcmmel s radsul tetszleges szm cmet lehet egy
szemlyhez ktni. Ezrt nem jelent gondot a bvts sem. Igaz, a CM mr nem rhet el
kzvetlenl a SZEMLY-bl s be kellett vezetni egy j adatot (Cmtpus) is.
A msik tervez gondolatmenete a kvetkez: Az egyedben nem lehet kt azonos tulajdonsg
(Cmkd). m errl sz sincs az adott esetben. A lakcm s a levelezsi cm eltr szemantikai
lnyegek. Az ugyanabbl az rtkhalmazbl (Cmkd) szrmaz, de eltr szemantikai jelents
attribtumokat minst szerepnevekkel klnbztetjk meg. Ezrt rossz a 18.1 plda s azt
valjban a 18.4 plda mdjn kell megfogni:

269
18.4 plda

CM (Cmkd, ...)
SZEMLY (Szemly-azonost, Lak-cmkd, Levelezsi-cmkd, ...)

Ezzel a megoldssal pedig nincs tovbbi teend. Kapcsolattpus nemcsak akkor ltezik kt
egyedtpus kztt, ha az egyik tartalmazza a msik azonostjt, hanem akkor is, ha az egyikben
a msik kulcsnak a szerepneve tallhat. Ilyenformn mg az is elfordulhat, hogy egy egyed-
tpus a msikkal tbbszrs kapcsolatban ll.

D 18/1 Kt egyedtpus akkor s csak akkor ll tbbszrs kapcsolatban, ha az egyik a


msik azonostjnak tbb szerepnevt tartalmazza.

Akkor s csakis akkor, ha a tbbszrzs mrtke az id sorn vrhatan nem vltozik, a


szemantikai tartalom szerint minstett tbbszrs kapcsolat kedvezbb megolds, mint az
gymond ismtlds megszntetse. Ha egy szemlyhez tbb cm nem fog tartozni, akkor a 18.4
plda megoldsa jobb a 18.3 pldnl. Azrt, mert nem ignyel j tulajdonsgot (Cmtpust) - a
minsts nem j ttellel, hanem szerepnvvel trtnik - s kevesebb elrst involvl.
Persze az adatmodellez nem ltnok; a jvt nehezen tudja megjsolni. Ezrt a tbbszrs
inhomogn - kt klnbz egyedtpus kztti - kapcsolat viszonylag ritkn hasznlt megolds.
Mgis tbb okunk volt arra, hogy bemutassuk.
A 18.4 pontban lesz sz a homogn tbbszrs kapcsolatrl, amely viszont igen gyakori
szerkezet. Ezrt nem rtott elre ismertetni a tbbszrssg lehetsgt.
A 17.10 pontot azzal zrtuk, hogy az azonost abszolt szerep tulajdonsgokat nem illik
minsteni. Flrerts ne essk, a 18.4 plda esetben a Lak-cmkd s a Levelezsi-cmkd nem
azonost abszolt szerep, mert nincsenek olyan egyedtpusok, amelyeknek kulcsai lennnek.
Viszont sok tervez alkalmazza a 18.5 plda szerinti megoldst:

18.5 plda

VEV (Vevkd, ...)


RENDELS (Rendelsszm, Rendels-vevkd, ...)

A RENDELS egyedben lv Rendels-vevkd is kapcsolatot hordoz. Csakhogy azt sokkal


nehzkesebb felfedezni, mintha a sima Vevkdot hasznltk volna. A szerepnv tudatosan meg-
hatrozott, a rendszer ltal ismert struktra. A kezel tudja, hogy a Lak-cmkd a Cmkd szerep-
neve. Ezzel szemben az egyszer minstsnl ez nem ll fenn. Ha a Rendels-vevkd nem
szerepnv, akkor a minsts zavar. Ha pedig az, akkor felesleges. A minstett nvnek nincs
feladata s hibavalan terheli a rendszert.
Vgl elfordulnak esetek, amikor a tbbszrs kapcsolat elkerlhetetlen. A j modellezk
gyakran alkalmaznak ltalnos cl egyedtpusokat. Ilyen pldul a DTUM (Dtum) egyed.
Evidens, hogy sok olyan egyb egyedtpusunk lesz, amelyben tbb keltezs is szerepel. Teht ezek
tbbszrs kapcsolattal fzdnek a DTUM egyedtpushoz, mert aligha lesz olyan tervez, aki
ezt az adatot ismtldsesnek tekintve a 18.3 plda megoldst alkalmazn.
Arrl majd a 18.6 pontban szlunk, hogy mi rtelme van a DTUM egyed alkalmazsnak.
E pont lezrsaknt arra hvjuk fel a figyelmet, hogy a tbbszrs kapcsolat sokszor becsaps.
Tegyk fel, hogy olyan szerzdseket kell ismeretekkel lernunk, amelyekben pontosan kt
gyfl szerepel s ismernnk kell e partnerek prosait is. Pldul hzasprokrl van sz. A
helyzetet a 18.6 plda szemllteti, egyelre tkletlenl:

270
18.6 plda

PARTNER (Partnerkd, ...)


SZERZDS (Szerzdsszm, Partnerkd-1, Partnerkd-2, ...)

A ktfle mdon gondolkoz tervezk egyike a 18.2 plda megoldst vlasztva levgn az
ismtldst gy, hogy az j SZERZDS/PARTNER (Szerzdsszm, Partnerkd) ttelprosa
mell semmilyen minst ismeretet sem tenne. (Az nem is lenne szksges.) A msik elemz
hozz sem nylna a 18.6 plda megoldshoz, hanem tbbszrs kapcsolatot ttelezne fel.
Mindkt gondolatmenet hibs. A szerzds nem kt kln gyflhez, hanem egy partner-
proshoz kapcsoldik. Itt belefutottunk az A meg B s az A s B 16.5 pontban ismertetett
problmjba. Az elz kt tervez egyltaln nem tudta kifejezni azt a felttelt, hogy minden
szerzdsben csak egymshoz tartoz partnerek szerepelhetnek. Ezt a korltot nyilvn egy
tovbbi egyed fejezi ki. A SZERZDS ahhoz - s nem kzvetlenl a PARTNER-hez ktdik. A
j megoldst a 18.7 plda mutatja:

18.7 plda

PARTNER (Parnerkd, ...)


PROK (Prazonost, ...)
SZERZDS (Szerzdsszm, Prazonost, ...)

Prazonost {Partnerkd-1+Partnerkd-2}

Nem a SZERZDS, hanem a PROK egyedtpus kapcsoldik ktszeresen a PARTNER


egyedhez, amellyel a SZERZDS kapcsolata csak kzvetett. Ez a plda mr tvezet bennnket
a tbbszrs homogn kapcsolatokhoz, amelyeket nmi kitr utn trgyalunk.
Ugyanis ezen kapcsolatok rtelmezshez ltnunk kell a szerepnevek fggsi viszonyait.

18.3 A szerepnevek fggsei

A tbbszrs kapcsolat a szintzises normalizlsi eljrssal nem fedezhet fel, hiszen a


tartomnyok (pl. Szemly-azonost s Cmkd) kztt csak egyfle viszony hatrozhat meg
(van fggs - nincs fggs) s a fggs nem minsthet. A dekompozci sem tudna mit kezdeni
a 18.8 pldval, azaz nem tudn feltrni a SZEMLY egyedben a Helysgnv tranzitivitst:

18.8 plda

CM (Cmkd, ..., Helysgnv)


SZEMLY (Szemly-azonost, Lak-cmkd, Levelezsi-cmkd, ..., Helysgnv)

Viszont az ltalunk alkalmazott heurisztikus normalizls kulcsmtrixa figyelembe veszi a


szerepneveket is. Mdszernk egyesti a dekompozci s a szintzis megoldsait. Ezrt r kell
mutatnunk arra, hogy milyen mdon kell felfogni a minst szerepnevek viszonyait ms
tulajdonsgokhoz. Logikusnak tnik, hogy ngyfle sszefggst kell vizsglnunk.
Az els esetben kt olyan ttel viszonyrl van sz, amelyek nem ugyanabba a tartomnyba
tartoznak, alapveten nem ugyanazt jelentik. Az egyik s/vagy a msik is lehet szerepnv.

271
Ilyenkor a funkcionlis fggseket gy elemezzk, mintha egyik tnyez sem lenne az. A REN-
DELS (Rendelsszm, Rendels-vevkd, Vevnv) egyedben ppen gy fennll a tranzitivits,
mintha a vev kulcsa nem szerepnvknt, hanem egyszeren (Vevkd) jelenne meg. A RENDE-
LSTTEL (Rendelsszm+Cikkszm, Ttel-cikknv) egyedben is lthat a rszleges fggs,
noha abban a Cikknv szerepnevt alkalmaztuk.
A msodik esetben az ugyanabba a tartomnyba tartoz szerepnevek viszonyairl van sz.
Vegyk csak alapul a RENDELS (Rendelszm, Rendelsdtum, Szlltsdtum, ...) egyedet.
Br a kt keltezs a Dtum szerepneve, kzttk semmilyen fggst nem fedezhetnk fel, hiszen
tbb rendelst is feladhatnak illetve teljesthetnek azonos napokon. gy a Rendelsdtum rtk-
bl nem kvetkeztethetnk a Szlltsdtumra - s megfordtva. Ezrt a ktfle keltezs tulaj-
donsg megfr azonos egyedben.
Egszen ms a helyzet a harmadik esetben, amely a szerepnvnek a sajt elsdlegeshez val
viszonyt fedi le. Mieltt errl a kapcsoldsrl rszletesebben is szlnnk, be kell vezetnnk egy
j fogalmat. Az n. trivilis fggsrl van sz. Ez a klcsns fggs egyik sajtos esete. Vegyk
csak alapul a Cmkd s a Lak-cmkd kapcsolatt! Az sszefggs klcsns. Alulrl - a sze-
repnv fell - nzve ez vilgos. Ha megadjuk a Lak-cmkd rtkt, akkor ismerjk a Cmkdt
is, mert a lakcm is egy cm. A trivilis fggs alulrl mindig ers. Fellrl - az elsdleges fell
- vizsglva a krdst egy pillanatig habozunk. Ha kivlasztunk egy Cmkd rtket, akkor nem
felttlenl bukkanunk r egy Lak-cmkd rtkre. m ne feledjk el, hogy a fggs nem azt
jelenti, hogy mindig kell lenni rtknek a Cmkd Z Y Lak-cmkd fggs jobboldaln. A
viszony csak azt fejezi ki, hogy ha egy Cmkd rtket kivlasztunk, gy legfeljebb (!) egy Lak-
cmkd rtkre bukkanunk. Mrpedig ez a felttel teljesl. Ezrt a fggs klcsns, noha a
Cmkd oldalrl nzve lehet gyenge is.
A fentiek miatt a SZEMLY (Szemly-azonost, Cmkd, Levelezsi-cmkd) egyedtpus
hibsan tervezett. A kt ler tulajdonsg - formlisan - klcsns fggsben ll. Ez a felszni
jelensg - normlformahiba - ritkbb esetben redundancira vagy homonimra utal. Az els al-
esetben a Cmkd pontosan ugyanazt jelenti, mint a Levelezsi-cmkd. A msodik alesetben kt
teljesen ms tartalm dologrl van sz, vagyis a Levelezsi-cmkd valjban nem is szerepneve
a Cmkdnak. A leggyakoribb aleset a floldalas minsts. A Cmkd valjban Lakcmkd-ot
jelent, de a tervez nem alkalmazta a kell behatrolst. Ha azt megtette volna, akkor vissza-
jutottunk volna az elz - problmamentes - esethez.
Az elsdleges (Cmkd) s a szerepnv (Levelezsi-cmkd) kztti egyeden belli trivilis
fggs mindig problmt jelez, ha egyik ttel sem az egyed azonostja. (A kvetkez kt pontban
rmutatunk arra, hogy amikor az egyik tulajdonsg azonost, akkor ezek a problmk nem
lphetnek fel.) Ezrt leszgezhetjk a szablyt, amely szerint:

Az egyedtpusban csak akkor szerepelhet egy elsdleges tulajdonsg s annak szerepneve,


ha a kett kzl az egyik az egyedtpus azonostja.

A negyedik esetet a kvetkez plda mutatja: BRLAT (Brlat-azonost, Bizottsgi-tag,


Brlkd). A brl szemly mindig bizottsgi tag, akik szintn szemly, viszont nem minden
bizottsgi tag brl. A BRLAT egyedben ugyanannak a tulajdonsgnak kt ler feladat
szerepneve fordul el s a redundancia mr az els pillanatban szemet szr. Ha megadjuk a
Brlkd rtkt, akkor ismerjk a Bizottsgi-tag tartalmt is. Teht evidens, hogy az egyed a
tranzitivits egyik sajtos vlfajt mutatja. Szemben a Rendelsszm Vevkd Vevnv
tranzitivitssal - ahol a Vevkd s a Vevnv nyilvn nem ugyanabbl az rtktartomnybl
szrmazik - itt egy trkksebb helyzettel llunk szemben.
A formlis megolds adott. A Brlat-azonost Brlkd Bizottsgi-tag tranzitivits
miatt az utbbi ttelt el kell hagynunk az egyedtpusbl. Viszont rdemes elgondolkoznunk azon,
hogy minden brl bizottsgi tag, de ez megfordtva nem igaz. Itt mr a szerepnv (a Bizottsgi-

272
tag a Szemly-azonost szerepneve) szerepnevrl (a Brlkd a Bizottsgi-tag szerepneve) van
sz. Teht alrendelt szerepnv-sszefggst kell vizsglnunk, szemben a Lak-cmkd s
Szmlzs-cmkd mellrendelt szerepnv-viszonyval.
Miutn leszgeztk, hogy a szerepnevek alrendelt-mellrendelt kapcsoldsa egyltaln
nem kzmbs, t kell trnnk a visszamutat viszonyok vizsglatra.

18.4 Homogn viszonyok

A hagyomnyos normalizlsi eljrsok nem tudnak mit kezdeni a trivilis fggssel. A


szerepneveken alapul tulajdonsg-viszonyokat nem klnbztetik meg a normlis fggsektl
(ld. 18.3 pont). gy nem tmogatjk a tbbszrs kapcsolatokat sem (ld. 18.2 pont). A tervez
vagy kznsges tranzitivitsknt rtkeli a Brlat-azonost Brlkd Bizottsgi-tag
fggssorozatot, vagy a helytelen fggst egyltaln nem tallja meg. Ez azrt fordulhat el, mert
a dekompozci s a szintzis mdszere nem ad mechanikus megoldst a trivilis fggsek
rtkelsre. Ennl fogva ezek az algoritmusok elmletileg hinyosak, hiszen nem garantljk az
adatmodell valsghsgt.
Mindennek az az oka, hogy a hagyomnyos tervezsi eljrsok csak a van-ra koncentrl-
nak. Arra, hogy ltezik-e fggs az X s az Y ttel kztt. A minsts elmarad. Nem krds az,
hogy milyen fggs van az X s az Y kztt: normlis vagy trivilis? A dekompozci s a szin-
tzis a viszonyt puszta mennyisgre reduklja (a funkcionlis fggs 1:N fok tulajdonsg-
viszony), a minsg mr kvl esik az e mdszereket alkalmaz tervezk ltkrn.
Persze ez a hinyossg rthet. Az egyedtpusokat (pl. SZEMLY) tblzatokknt fogjuk fel.
A tblk oszlopokbl s sorokbl llnak. Az elbbiek jelentik a tulajdonsgtpusokat (Szemly-
azonost, Lak-cmkd stb.), az utbbiak az egyedelfordulsokat (1. szemly, 2. szemly stb.). A
dekompozci s a szintzis mdszere csak arra kszlt fel, hogy a vertiklis vetletet, a tulaj-
donsgtpusok sszefggseit, a tbla intenzionlis aspektust vizsglja. Ez a kt eljrs nem
veszi figyelembe a horizontlis vetletet, az egyedelfordulsok sszefggseit, vagyis a
tblzat extenzionlis aspektust.
Pedig knnyen belthat, hogy az intenzionlis s az extenzionlis dimenzi nem vlaszthat
el egymstl. A 18.1 plda dilemmjt az egyik tervez trtelmezssel, intenzionlisan (ld. 18.4
plda), mg a msik j egyedsorok bevezetsvel, extenzionlisan (ld. 18.3 plda) oldotta fel.
Az extenzionlis dimenzi vizsglata fleg a homogn viszonyoknl s az egyed-altpusoknl
jtszik szerepet. Az utbbiakat majd a kvetkez pontban trgyaljuk. Itt az adott egyedtpus
elfordulsai kztti kapcsoldsokat fogjuk elemezni.

D 18/2 Ha egy egyedtpus elfordulsai sszefggenek egymssal, akkor homogn vagy


visszamutat viszonyrl beszlnk.

Ilyen sszefggsekkel nagyon gyakran tallkozhatunk. Az egyik szemly a msiknak a


hzastrsa. Az egyik szervezet a msik al tartozik. Az utck, vezetkek, a termkekbe beszerelt
alkatrszek msik utckhoz, vezetkekhez, alkatrszekhez kapcsoldnak stb. A krds az, hogy
az ilyen homogn viszony is kifejezhet-e a funkcionlis fggs kategriival?
Az egyedtpusok kztti viszonyokat - kzvetlenl vagy kzvetve - mindig tulajdonsgtpusok
hordozzk. A VEV s a RENDELS egyed a kzs Vevkd tulajdonsgon kapcsoldik. A
CIKK s a RENDELS egyed viszonyt a RENDELSTTEL egyed tkrzi, de ennek az
sszetett Cikkszm+Rendelsszm azonostja valstja meg az sszefggst. Ezrt azt kell
vrnunk, hogy a homogn viszonyok is tulajdonsgokon alapulnak.

273
Csakhogy van itt egy bkken. A visszamutat sszefggsek ugyanannak az egyedtpusnak
az elfordulsait ktik egymshoz. Ezrt a homogn viszonyok egyazon egyedtpus kt azonos
rtelm tulajdonsgn kell, hogy alapuljanak. A tteleknek azonos az rtelme, de nyilvn nem
lehet azonos a neve. Nzzk csak meg a 18.9 pldt.
Az els megolds ktszeresen rossz. Egyrszt kt tulajdonsgnak is azonos a neve. Msrszt
a modellrszlet nem mutatja a kapcsoldst. Ezzel szemben a msodik megolds tkletes. Hen
szemllteti, hogy a szemlyeknek lehet egy hzastrsa, ezrt a szemlyt jellemzi a hzastrsat
azonost tulajdonsg, amely ekknt sszekti a hzas feleket.

18.9 plda

SZEMLY (Szemly-azonost, ..., Szemly-azonost)


SZEMLY (Szemly-azonost, ..., Hzastrs-azonost)
Mivel egyazon egyedtpus kt elfordulst kapcsoljuk ssze, a kapcsol tulajdonsgnak
ugyanaz kell, hogy legyen a tartalma, mint az azonostnak. Kvetkezskppen a Hzastrs-
azonost szksgszeren a Szemly-azonost szerepneve.
A SZEMLY - HZASTRS kapcsolat mifelnk adott idpontra nzve 1:1 fok s - sokak
szerint szerencsre - opcionlis. Teht a Szemly-azonost s a Hzastrs azonost kztt
klcsns fggs ll fenn. Ugyanennek a szerkezetnek a mintjra tudjuk tkrzni az 1:N fok
homogn kapcsolatot is. Lsd a 18.10 pldt:

18.10 plda

SZEMLY (Szemly-azonost, ..., Fnk-azonost)

Amennyiben felttelezzk, hogy minden szemlynek minden adott idpontban csak egy
kzvetlen fnke lehet, gy a 18.10 plda egyede jl kifejezi a FNK - SZEMLY homogn
hierarchikus kapcsolatot. Ezt a viszonyt a Szemly-azonost Fnk-azonost funkcionlis
fggs hordozza, amely mindkt irnyban gyenge, teht a kapcsolat mindkt oldalon opcionlis.
Van olyan szemly, aki csak beosztott s van olyan is, aki a legnagyobb fnk. Ha ez nem gy
lenne, akkor a kapcsolat vgtelen ciklus formjt lten.
Az elz pontban kijelentettk, hogy az elsdleges tulajdonsg s annak szerepneve nem
lehet ugyanannak az egyedtpusnak ler szerep tnyezje. Most ezt a ttelt kiegszthetjk
azzal, hogy amennyiben egy egyedtpus ler tulajdonsgtpusknt tartalmazza sajt azonost-
jnak szerepnevt, akkor visszamutat kapcsolatban ll nmagval.

D 18/3 Az egyedtpus akkor s csak akkor ll visszamutat kapcsolatban nmagval, ha


azonostja funkcionlisan meghatrozza sajt szerepnevt.

A meghatrozs kizrja, hogy az sszetett azonost rsze legyen egy elsdleges tulajdonsg
s annak szerepneve. Az E (A+As) egyedtpus, ahol As az A szerepneve, rosszul tervezett. Az
elsdleges s a szerepnv kztt trvnyszeren fggs ll fenn, mrpedig az azonost rszei
kztt nem ltezhet fggs (ld. 16.4 pont).
Klnbz hlzatok esetben gyakran tallkozunk azzal a helyzettel, amikor az egyedtpus
elfordulsai M:N-es viszonyban vannak egymssal. Mint tudjuk, ezt a viszonyt nem lehet magn
az egyeden bell kifejezni. Azrt nem, mert a viszonyt tulajdonsgtpus hordozza s ez a tulaj-
donsgtpus tbbszrs rtket venne fel, azaz ismtld adat lenne. A 18.11 plda mutat erre egy
esetet:

274
18.11 plda

TTEL (Ttel-azonost, ..., Bepl-ttel-azonost)


TTEL (Ttel-azonost, ..., Befogad-ttel-azonost)

Az ipari gyrtsban (termelsi) ttelnek nevezik a termkek egysgeit a vgtermktl kezdve


a fszerelvnyeken, szerelvnyeken, alkatrszeken t az anyagokig. A magasabb szint ttelbe
tbb alacsonyabb szint ttel pl be. Ezt a listt nevezik darabjegyzknek (angolul: parts list).
Ezrt a 18.11 plda els egyedtpusa rossz, mert a ler tulajdonsg rtke ismtldik. Ugyangy
helytelen a msodik egyedtpus is, mivel egy ttel tbb msiknak az alkoteleme. Ezt a listt
beplsi jegyzknek (angolul: goes-into list) hvjk. Vgeredmnyben a vals szerkezetet csald-
fnak nevezik, mert a csaldok leszrmazsi gainak a mintjt kveti. (A megnevezs elgg
pontatlan, mivel valjban nem frl, hanem hlrl van sz.)
A 18.11 plda problmi nagyon knnyen megoldhatk. Ez mindig a 18.12 pldnak
megfelel mdon trtnik. Mivel ismtldsrl van sz, az ismtld ttelt az eredeti kulccsal
egytt kln egyedbe helyezzk. Azonban ha csak ennyit tennnk, akkor olyan sszetett azono-
stt kapnnk, amelynek egyik rsze meghatrozza a msikat. Mivel nem minden ttel befogad,
a sima Ttel-azonost egybknt sem fejezn ki a szemantikai lnyeget. Ezrt kell szerepnevet
alkalmaznunk:

18.12 plda

TTEL (Ttel-azonost, ...)


CSALDFA (Csaldfa-azonost, ...)

Csaldfa-azonost {Befogad-ttel-azonost+Bepl-ttel-azonost}

Az j egyedtpus mindig kt homogn, hierarchikus s alulrl opcionlis kapcsolattal ktdik


az eredeti egyedhez. Teht itt tallkozunk a szerepneveken alapul tbbszrs kapcsolat tipikus
s elkerlhetetlen esetvel. Elvileg ugyan nem trvnyszer, hogy a csaldfa egyed kulcsnak a
rsze legyen a kt szerepnv. Elkpzelhet a 18.13 pldnak megfelel megolds is:

18.13 plda

TTEL (Ttel-azonost, ...)


CSALDFA (Csaldfa-kulcs, Befogad-ttel-azonost, Bepl-ttel-azonost, ...)

Ez a vltozat kt okbl sem szerencss s ezrt kerlend. Egyrszt mestersges - s ekknt


semmitmond - j tulajdonsg bevezetst ignyli. Msrszt ismeretet vesztnk, mert a kt
szerepnv kztti s (+) viszonyt meg sszefggsre degradljuk.

18.5 A feltteles fggs s az egyedaltpus

Sok adatkezel egyik slyos hibja, hogy nem engedi meg a valdi nulla, a nem-szignifikns
rtk s a nem-rtelmezhet rtk kztti klnbsgttelt. A lnyeget a SZEMLY egyedtpus
Szlsek-szma nev tulajdonsgval szemlltetjk. Ngy eset lehetsges (ld. a 7.9 pontot):

275
Az A szemly hlgy, aki N-szer szlt. Ekkor a tulajdonsg vals rtke N.
A B szemly hlgy, aki egyszer sem szlt. Az rtk valdi 0.
A C szemly n, akirl nem tudjuk, hogy hnyszor szlt. Az rtk inszignifikns 0.
A D szemly frfi vagy pici lny. Ekkor az rtk nem-rtelmezhet.

A megklnbztets szemantikai s gyakorlati (pl. statisztikai) rtelmt nem akarjuk most


kifejteni. Arra viszont r kell mutatnunk, hogy a nem-rtelmezhet rtk is valdi tartalom.
Jelljk ezt az rtket az NA jellel, ami nem-alkalmazhatt (angolul: not applicable) jelent.
Teht a tovbbiakban NA-rtknek fogjuk nevezni a nem-rtelmezhet tartalmat. (Figyelem: az
NA nem tvesztend ssze az n.a. nincs adat megjellssel, amely sszekeveri a nem-ismert s
a nem-alkalmazhat lnyegeket!)
Az NA-rtkre pl sajt tallmnyunk, az n. feltteles fggs. Ennek meghatrozsa a
kvetkez:

D 18/4 Az E egyedtpus A azonostja akkor s csak akkor hatrozza meg feltteles


fggssel az egyedtpus B tulajdonsgt, ha ltezik olyan (implicit) C tulajdonsg,
amelynek adott tartalma(i) esetben a B mindig NA-rtket vesz fel.

A defincit a 18.14 plda segtsgvel magyarzzuk:

18.14 plda

SZEMLY (Szemly-azonost, Foglalkozs, ..., Orvoskd, Rendel-krzet, ...)

Az egyednek ltezik egy olyan tulajdonsga (Szemly-azonost), amely meghatroz tbb


msikat (Orvoskd, Rendel-krzet) gy, hogy ha a foglalkozs rtke nem hziorvos, akkor
azok tartalma nem-rtelmezhet.
A feltteles fggs jele A C(i) B, ahol C a feltteltnyez s i maga a konkrt felttel.
Vegyk szre, hogy a feltteles fggs a tranzitv fggs specilis esete. Ha a foglalkozs hzi-
orvos, akkor abbl mg nem kvetkezik az Orvoskd rtke. Ha a foglalkozs mrnk, akkor
viszont az Orvoskd NA-rtk.
A feltteles fggs nem tvesztend ssze az opcionalitssal! A szemly Szlsek-szma
tulajdonsga ersen fgg a Szemly-azonosttl, ha minden szemlynl meg kell adni annak
konkrt rtkt (ez lehet a NA-rtk is!). A fggs gyenge, ha ez a kittel nem ll fenn. Teht
alkalmazhatunk nem-ismerem rtket is.
A NA-rtk klnlegesen szp modellezsi tnyez, mivel magban hordozza az egyed-
tpus extenzionlis s intenzionlis vetlett. Maga a NA-rtk az extenziban - az elfordul-
sokban - lp fel, de ugyanakkor intenzionlisan - a tulajdonsgtpusokra - is rtelmezhet.
Mindez pedig egy teljesen j normalizlsi elvnek ad alapot.
Az eddigi normalizlsi eljrsok intenzionlisak voltak. A tulajdonsgtpusok viszonyait
elemeztk s a tblt vertiklisan bontottuk meg. A RENDELS (Rendelsszm, Vevkd,
Vevnv) egyedbl kivettk a Vevkd/Vevnv prost, amivel a tbla oszlopait szabdaltuk szt.
Most rbukkantunk az extenzionlis normalizlsra. A tisztn extenzionlis megbonts a tbla
sorai mentn, horizontlisan trtnik. Az egyedelfordulsokat j egyedtpusokban szrjuk szt
bizonyos felttelek szerint. Ezt a megbontst mutatja a 18.15 plda:

276
18.15 plda

ERFORRS (Erforrs-azonost, Szemly, ..., Anyag, ..., Eszkz, ...)

SZEMLY (Szemlyazonost, Szemly, ...)


ANYAG (Anyagazonost, Anyag, ...)
ESZKZ (Eszkzazonost, Eszkz, ...)

Az eredeti egyedtpus 5NF alakban van, mivel a tulajdonsgok egymstl fggetlenek. Mgis
rezzk, hogy az ERFORRS vgletesen rosszul tervezett egyed. Azrt, mert ha az erforrs
szemly-jelleg, akkor az anyag s az eszkz adatai NA-rtkek. Ha anyag, akkor a szemly s
az eszkz adatai nem rtelmezhetek. A tbla NA-rtkei azt mutatjk, hogy a vals jelensgeket
nem helyesen trtuk fel. Ezrt a tblt a sorai mentn extenzionlisan megbontjuk. A szem-
lyekre vonatkoz sorokat a SZEMLY, az anyagokt az ANYAG egyedbe tesszk stb.

D 18/5 Azt a mveletet, amelynek sorn az eredeti egyedtpus elforduls (rsz)-sorait a


feltteles fggs szerint egyedtpus(ok)ba helyezzk, specializcinak nevezzk.

A specializci lehet teljes, amikor az eredeti egyedtpus megsznik (ld. 18.15 plda).
Azonban a specializci a legtbb esetben rszleges. A 18.14 plda specializlsval a kvetkez
kpet kapjuk:

18.16 plda

SZEMLY (Szemly-azonost, Foglalkozs, ...)


HZIORVOS (Orvos-szemly-azonost, Orvoskd, Rendel-krzet, ...)

A specializcival nyert j egyedtpust az eredeti egyed altpusnak nevezzk. Az orvos a


szemly ftpus (angolul: supertype) altpusa (angolul: subtype). Az egyedaltpust elvileg a ftpus
kulcsa azonostja. Viszont kt egyedtpusnak nem lehet azonos a kulcsa. Ezrt ilyenkor az eredeti
azonost korltoz jelleg szerepnevt hasznljuk. Minden orvos szemly, de nem minden
szemly orvos. Ez a szerepnv - feladata miatt - nem tvesztend ssze a pusztn minst
feladat szerepnvvel.

18.17 plda

SZEMLY (Szemly-azonost, Sttus, ...K, T, D, E)

SZEMLY (Szemly-azonost, Sttus, ...K)


TANR (T-szemly-azonost, T)
DIK (D-szemly-azonost, D)
EGYB (E-szemly-azonost, E)

A specializci gyakran alternl. Ez azt jelenti, hogy az eredeti egyedtpus megbontsval


tbb, egymst elfordulsaikban kizr specializlt egyedaltpust kapunk. Tegyk fel, hogy az
iskola tanraira, dikjaira s az egyb szemlyzetre vonatkoz ismereteket akarunk vezetni.
Vannak olyan ismeretek, amelyek e szemlyekre vonatkozan kzsek (K), s amelyek a sttustl
fggenek (T, D, E). A SZEMLY egyed megbontst a 18.17 plda mutatja.
Az egyedaltpusoknak (TANR, DIK, EGYB) egymst kizraknak kell lennik. Kln-
ben fizikai redundancia keletkezne, amely karbantartsi anomlikat okozna. Ha teht netn van

277
olyan dik, aki egyben tanr is, akkor a T s a D ismeretsorok tulajdonsgai kzl azokat,
amelyek egyszerre jellemezhetnek egy tanr-dik szemlyt, nem szabad lebontani.
A rszleges specializcival nyert altpusok a ftpussal (SZEMLY) alulrl ktelez,
fellrl opcionlis 1:1 fok is-egy tpus kapcsolatban llnak az azonostjukon keresztl. A
tanr is egy szemly, a dik is egy szemly. Az egyedaltpus a ftpus tulajdonsgait rkli.
Ebbl kvetkezik, hogy az altpusnak s a ftpusnak nem lehet kzs tulajdonsga. (N.B.: Az
altpusok kztt is kizrt az ilyen redundancia. Ha tbb altpusnak kzs tulajdonsga van, akkor
azt az eredeti egyedben - esetnkben a K ismerethalmazban - kell hagyni.)
A specializcinak elmleti s gyakorlati oka van. Ha a tanrokat s a dikokat a valsgban
szmunkra lnyeges eltr ismeretek jellemzik, akkor elvi alapunk van a specializcira. Mivel
nem igaz, hogy a kezelrendszerek az res rtkeknl nem ignyelnek trt s kezelsi idt, a
megbontsnak a gyakorlati indoka sem kzmbs.
Azonban a vilg sokszn. A SZEMLY egyedtpust nem fogjuk nkre, kislnyokra s
frfiakra specializlni azrt, mert az egyetlen Szlsek-szma tulajdonsg erre alkalmat adna.
Ilyen alapon kln egyedtpust kellene krelni azokbl a szemlyekbl, akiknek van biciklije s
azokbl, akiknek nincs. Nem specializljuk az ALKATRSZ egyedet azrt, mert az tmr
tulajdonsgnak a szgletes alkatrszek esetben NA-rtk a tartalma.
A specializcit vagy a szemantikai tisztasg, vagy a NA-rtkek kikszblse rdekben
hajtjuk vgre. Az utbbi esetben klszably igazt el bennnket. Ha az egyed tulajdonsgainak a
harmada NA-rtket vesz fel adott felttel fggvnyben, akkor a specializcinak rtelme van.
A specializci fordtott mvelete az ltalnosts, a generalizci. A 18.18 plda szemllteti
ezt a mveletet:

18.18 plda

TANR (T-szemly-azonost, T, K)
DIK (D-szemly-azonost, D, K)
EGYB (E-szemly-azonost, E, K)

SZEMLY (Szemly-azonost, Sttus, ...K)


TANR (T-szemly-azonost, T)
DIK (D-szemly-azonost, D)
EGYB (E-szemly-azonost, E)

A plda rszleges generalizcit mutat. Az eredetileg tervezett hrom egyedtpus kzs (K)
ismerethalmazt kiemeljk a ftpusba, amelyben - kezelsi okokbl - felvesszk az altpusra
utal j tulajdonsgtpust (Sttus). A generalizci felttelezi, hogy az ltalnostott egyedek azo-
nosti ugyanabbl az rtkhalmazbl szrmaz (implicit) szerepnevek. Ha ez nem lenne gy,
akkor ketts azonostst kellene alkalmazni.

18.6 Unris egyedek

ltalban az egyedtpusokat ktdimenzis tblkknt kpzeljk el. Adott pldul a


SZEMLY egyedtpus gy, hogy a szemlyeket tbb tulajdonsg jellemzi (horizontlisan) s
termszetesen tbb elforduls tallhat a tblban (vertiklisan). Ezzel a ketts kppel szemben
hozz kell szoknunk, hogy vannak unris egyedtpusok is az adatmodellben.

278
Az unris megjells a vertiklis (intenzionlis) dimenzira vonatkozik. Azt mutatja, hogy
az egyedtpusnak csak egy tulajdonsgtpusa van. Teht az egyedtpus olyan specilis csupakulcs
relci, amelyben az azonost elemi. A 18.2 pont vgn emltett DTUM (Dtum) egyedtpus
ebbe a kategriba esik. Most vlaszolunk arra az ott felvetett krdsre, hogy egyltaln mi
rtelme van az ilyen egyedtpusok krelsnak. A problmt tbb skon fogjuk megkzelteni.
A mai tervezk igencsak hajlamosak a 18.19 plda ltal mutatott szerkezet krelsra:

18.19 plda

SZEMLY (Szemly-azonost, ...)


NYELV (Nyelvkd, Nyelv)
NYELVTUDS (Szemly-azonost+Nyelvkd, ...)

Az elmleti - s helyes - felttelezs az, hogy a NYELVTUDS egyed M:N-es viszonnyal


kapcsolja ssze a szemlyeket s a nyelveket. Egy szemly tbb (N) nyelvnek is a birtokban van,
mikzben ugyanazt a nyelvet tbben is (M) beszlik. Teht a kapcsol egyedben a kapcsolt
egyedek azonostibl sszetett kulcsot clszer alkalmazni.
Valjban a 18.19 plda megoldsa mgtt gyakorlati okok rejtznek. A Nyelv hossz -
mondjuk 14-karakteres - adat, a Nyelvkd pedig rvid - pldul 2-karakteres - ttel, hiszen ppen
ezrt kd. Bevezetsvel, gymond, trt takartunk meg.
Mennyit? Csak pr ezer karaktert! Ennek a nhny bjtnak a kedvrt bevezetnk egy j,
lettelen, semmitmond adatot, amelynek a kezelse s egyrtelmsgnek a biztostsa kln
gondokat okoz. Mert tegyk fel, hogy a 11=angol kd-megnevezs pros jelli az angol nyelv-
tudst. Mit gondol az olvas: amikor az X szemly angol nyelvtudst rgzteni akarjuk, akkor
hibzhatunk-e inkbb, ha a 11 kdot, vagy ha az angol szt akarjuk betni? A vlasz
egyrtelm: nem-humnus dolog a kdokat fejben tartani, ezrt a kd alkalmazsakor kvetnk
el tbb hibt. Radsul mg az sem igaz, hogy a kdbevitellel jelents idt takartunk meg.
Hiszen a bevitelt tmogat listbl az angol szveg egy pillanat alatt kivlaszthat.
Ezrt a 18.19 plda helyes megoldsa szerintnk a kvetkez:

18.20 plda

SZEMLY (Szemly-azonost, ...)


NYELV (Nyelv)
NYELVTUDS (Szemly-azonost+Nyelv, ...)

Tervezink mg ma is a lyukkrtys/mgnesszalagos technikban gondolkoznak. A 70-es vek


elejn mg volt jelentsge a Nyelvkd alkalmazsnak. Ma ennek mr semmi rtelme sincs. Ennek
dacra tervezink teletzkdik adatbzisainkat vak-vezet-vilgtalant segtksz kdokkal.
Persze ennek a rossz szoksnak a vgs alapja az elmleti ismeretek hinya. A tervezk egy
rsze mg mindig a rgi COBOL szintjn gondolkozik. Mg mindig azt hiszi, hogy a kls, a
felhasznli azonost a bels, trolsi kulcs egyetlen szilrd alapja. Ez slyos tveds. A mai
adatkezel rendszerek mindegyike sajt generlt bels adatbziskulcsokkal dolgozik. Ezrt az
adatkezels sorn kt teljesen azonos ismeretsorra is mondhatjuk, hogy azok eltr lnyegek s
kt klnbzre is, hogy azonosak (amennyiben formlis szempontbl analg felptsek).
Ezrt a mestersges kdokat csak mrtkkel szabad alkalmazni. Viszont annl btrabban kell
nylni az unris (ld. 18.20 plda: NYELV) egyedekhez a termszetessg, az ellenrizhetsg s a
homogn lekrdezhetsg (ki milyen nyelvet tud - az adott nyelvet ki ismeri) rdekben. Gondol-
junk arra, hogy majd a beszl szmtgpek korban - titkos adatbzisoktl eltekintve - nem
azt fogjuk krdezni a gptl, hogy kiknl 11 a Nyelvkd rtke. Hanem azt, hogy ki beszl
angol-ul.

279
Az unris egyedtpusok alkalmazsnak van egy msik indoka is. A tapasztalt tervez tudja a
titkot, amely szerint kt mellrendelt egyedtpus sohasem kapcsolhat ssze a kzs ler
tulajdonsgon a szemantikai flrertelmezsek veszlye nlkl. Lssuk csak a 18.21 pldt (v.
6.7 bra):

18.21 plda

SZEMLY (Szemlyazonost, ..., Kltsghelykd)


GP (Gpazonost, ..., Kltsghelykd)

Ha ezt a kt egyedtpust valaki a Kltsghelykd alapjn az sszekapcsols (join) mveletnek


veti al, akkor teljesen hasznlhatatlan ismeretekhez jut. Olyan szemlyeket fog a gpekhez
ktni, amelyeknek azokhoz a masinkhoz semmi kzk sincsen. Csupn a szemly illetve a gp
ugyanazon a kltsghelyen talltatik. Most tegyk fel - nem egszen relisan -, hogy a kltsg-
helyek ismereteire nem vagyunk kvncsiak. Ennek dacra ltre fogjuk hozni a KLTSGHELY
(Kltsghelykd) unris egyedet. Ezzel kt clt fogunk elrni.
Egyrszt ezzel a megoldssal felvzoltuk a helyes szemantikai kpet. Teht ebbl az egyedbl
kiindulva kln-kln le tudjuk krdezni az adott kltsghelyhez tartoz szemlyek s gpek
ismereteit. (A tapasztalatlan tervez ne mondja most, hogy ezt indexekkel is megteheti. Az index
nem fogalmi szint tnyez. Brmire alkalmazhat. Nem fejezi ki a vals jelensgek tnyleges
viszonyait. Sokszor csak a tervez titkos s zavaros elgondolsait leplezi.)
Msrszt az j egyed (KLTSGHELY) validlsi clokat is szolgl. Az indexekben gondol-
koz tervez a 18.21 plda mindkt egyedben tetszleges Kltsghelykd rtket enged meg
azzal, hogy majd rindexel. Aki viszont nem fizikai (index), hanem fogalmi (j egyed) szint
megoldst alkalmaz, az a GP s a SZEMLY hivatkozsi integritsi korltjn keresztl
ellenrizni tudja, hogy a gpek s a szemlyek csak ltez - elzleg megadott - kltsghelyekhez
kapcsoldjanak.
A mai adatkezelk a tulajdonsgtpusok (Kltsghelykd) szintjn is megengedik a validlsi
kritriumok megadst. Ezek az n. rtktartomnyra vonatkoz korltok. Amikor a domjn
korltjt egyszeren lehet kifejezni (pl. a Szmlaszm 1 s 999999 kztti lehet), akkor ez a
megolds a clszer. Ha viszont egy lists ellenrzst kell alkalmazni, akkor az explicit unris
egyed felvtele lehet a kzenfekv megolds.
A DTUM (Dtum) unris egyed alkalmazsnak is a tiszta szemantikai elrendezs s az
egyrtelm validls a clja. Ezen kvl vegyk szre, hogy az idpontok sokszor hlsan kap-
csoldnak egymshoz. Lehetnek olyan egyedeink, amelyeknek a kulcsai kt keltezsbl tevdnek
ssze (-tl s -ig rtelemben). Teht a kulcsrszek szerepnevek, csak ppen ezt a jelleget nem
tudjuk kifejezni, mert nincsen olyan egyednk, amelyben a Dtum tisztn, nem-szerepnv tulaj-
donsgknt jelenik meg. A HALSZATI-TILALOM egyedben a Dtumtl s Dtumig kt tulaj-
donsgtpus szemantikailag rtelmezhetetlen, ha mg azt sem tudjuk, hogy mi a Dtum. A
DTUM unris egyed mindezt a problmt megoldja.

18.7 Szingulris egyedek

Az elz pontban azokrl az egyedtpusokrl volt sz, amelyeket egyetlen tulajdonsgtpus


jellemzett. Nem csak a szimmetria kedvrt szlnunk kell az olyan egyedtpusokrl is, amelyek
viszont csak egyetlen egyedelfordulssal rendelkeznek s ilyen rtelemben nem is valdi
tpusok.

280
Az egyetlen elforduls egyedtpusokat szingulris egyedtpusoknak nevezzk. Nem arrl
van sz, hogy gyakorlatilag ma csak egyetlen vev ismereteit vezetjk. Ettl mg a VEV
egyedtpus nem szingulris. A szingulris egyedtpusnak elvileg s minden idpontban egy s
csakis egy elfordulsa van. (N.B.: A relcis adatkezelk ezt a fogalmat nem ismerik. Holott a
szingulris minsts ppen gy integritsi korltknt szolgl, mint az unris megjells.)
Vajon mi lehet a httere, oka, rtelme annak, hogy egyetlen elforduls egyedtpust hozzunk
ltre? A krdsre adott vlasz eltt az n. szrmaztatott tulajdonsgok termszett s viszonyait
kell ttekintennk. Szrmaztatott tulajdonsgtpus az a tnyez, amelynek rtke ms ttelek
tartalmbl matematikai s/vagy logikai mvelettel, mveletekkel szletik (ld. D 8/3). A rende-
lsttel slyt gy hatrozzuk meg, hogy a cikk egysgslyt megszorozzuk a rendelt mennyi-
sggel. Teht a Rendelsttel-sly szrmaztatott tulajdonsgtpus.
Az adatbzistervezs egyik rgi-rgi krdse, hogy szabad-e az adatmodellben szrmaztatott
tulajdonsgokat szerepeltetni (ld. 8.5 pont). Erre a felvetsre az els reakcink hatrozott nem
lenne, de a pont vgre kiderl a teljes igazsg. Az rvelst ksrve azt is el fogjuk rulni, hogy az
adatmodellen bell hol van a szrmaztatott tulajdonsgtpus konkrt elmleti helye.
Elszr is azt kell ltni, hogy a szrmaztatsi mveletek alapveten ktfle jellegek. (A
kombinciikrl nem fogunk megemlkezni ebben a knyvben.) Vannak intenzionlis s vannak
extenzionlis szrmaztatsok.
Az intenzionlis szrmaztats az adatmodell klnbz tulajdonsgtpusain alapul. Pldul a
RENDELSTTEL Ttelrtk tulajdonsgnak a tartalmt a Ttelrtk = Mennyisg*Egysgr
kplet alapjn szmoljuk ki. Az intenzionlis szrmaztats sajtossga az, hogy a szrmaztatott
tulajdonsg a szrmaztatsi tnyezket szolgltat egyedtpusok valamelyikt jellemzi. Egszen
pontosan meg tudjuk mondani azt is, hogy melyiket.
Az intenzionlisan szrmaztatott tulajdonsg azt az egyedtpust jellemzi, amelynek kulcsa a
szrmaztatsi tnyezket tartalmaz egyedtpusok kulcsainak a legkisebb kzs tbbszrse. Ezt
a fogalmat most nem a szoros matematikai rtelemben hasznljuk. Hanem gy, hogy a
meghatroz kulcs a szrmaztatsi tnyezk kulcsainak a minimlis konkatencija.
Pldnk esetben a dolog gy mkdik: A Mennyisg tnyezt a RENDELSTTEL
Rendelsszm+Cikkszm kulcsa hatrozza meg. Az Egysgr tnyez a CIKK egyed Cikkszm
tulajdonsgtl fgg. Ezrt a minimlis konkatenci a Rendelsszm+Cikkszm. Teht a
Ttelrtk az ezzel az sszetett kulccsal azonostott RENDELSTTEL egyedet jellemzi.
Elvileg. A krds az, hogy szabad-e a Ttelrtk tulajdonsgot a RENDELSTTEL valdi
adataknt is felvenni? Erre a felvetsre ktszeres nemmel kell vlaszolnunk. Egyrszt a Ttelrtk
tartalma a Mennyisg s az Egysgr rtkekbl levezethet, gy tartalma redundns. Ez a redun-
dancia karbantartsi anomlikhoz vezet. Ha pldul az Egysgr mdosul, akkor aktualizlni
kell a Ttelrtket is. Msrszt a Ttelrtk explicit felvtele ellentmondana eddigi normalizlsi
ismereteinknek is.
Az adatmodell-szintzis szablyai szerint ha egy tulajdonsg (pl. Vevkd) meghatroz egy
msikat (Vevnv), akkor azonost szerep s ltre kell hozni a megfelel egyedtpust. gy,
hogy a meghatroz azonost, a meghatrozott pedig ler. A VEV (Vevkd, Vevnv) egyed
trvnyszeren kvetkezik a Vevkd Vevnv fggsbl.
Mrmost vegyk szre, hogy az intenzionlis szrmaztats nem ms, mint egy sajtos fggs.
A Mennyisg+Egysgr meghatrozza a Ttelrtk tulajdonsgot, mert a pros minden tartal-
mhoz csakis egy Ttelrtk tartozhat. No de kinek jutna eszbe ltrehozni egy olyan egyedtpust,
amelynek a Mennyisg+Egysgr - vltozsnak kitett tartalm - prosa lenne a kulcsa?
Most nzzk az extenzionlis szrmaztats esett. Az elz pldra alapozva krdezzk
meg, hogy mennyi az adott rendels tteleinek az sszrtke, a Rendelsrtk. Itt mr nem arrl
van sz, hogy klnbz tulajdonsgtpusokat dolgozunk ssze. Hanem arrl, hogy vgigme-
gynk a RENDELSTTEL egyedelfordulsain s egyetlen tulajdonsgtpus rtkein alkalmaz-
zuk a szrmaztatst. Mert fennll a Rendelsrtk = Ttelrtk sszefggs.

281
Ebben az esetben halmazmveletrl van sz, amikor is a kifejezst nem a hagyomnyos
rtelemben hasznljuk. A halmaz sz az egy rendelshez tartoz rendelsttelek elforduls-
halmazt jelenti. Vgig kell ballagni a RENDELSTTEL elfordulsain s summzni kell a
Ttelrtk tartalmt akkor, ha a Rendelsszm rtke ebben az egyedben s a RENDELS
egyedben azonos.
A fenti analgival lve a szrmaztatott tulajdonsgot ebben az esetben a szrmaztat
tnyezvel kapcsolatos egyedek kulcsainak a legnagyobb kzs osztja hatrozza meg. Mivel a
kiindul RENDELS egyed kulcsa a Rendelsszm, a kapcsold, a Ttelrtk tnyezt
tartalmaz RENDELSTTEL egyed kulcsa pedig a Rendelsszm+Cikkszm egyttese, a
Rendelsrtk a Rendelsszmmal azonostott egyedbe fog kerlni.
Ez a gondolatmenet mindaddig megllja a helyt, ameddig van kiindul egyedtpus. Most
azonban tegyk fel azt a krdst, hogy mi a vevink ltal feladott rendelsek sszrtke? A szr-
maztatsi kplet vilgos: sszrtk = Rendelsrtk. Teht megint csak extenzionlis - az egy
egyedtpus (RENDELS) egyedelfordulsaira vonatkoz tulajdonsg (Rendelsrtk) tartalmain
vgrehajtand szrmaztatsi mveletrl van sz.
Csakhogy most bajban vagyunk. A Ttelrtk summjt jogosan s sszeren a RENDELS
mr ltez egyedtpushoz tudtuk ktni. mde milyen egyedet r le az sszrtk tulajdonsg? Mi
az a msik tulajdonsg, ami t meghatrozza?
Az sszrtk jellemz olyan tulajdonsg, amelynek az egsz adatmodellben csak egyetlen
rtke van. Ugyanilyen jellemz lenne pldul az tlagrtk amely azt mutatja, hogy tlagosan
mennyi a rendelsek rtke. Az ilyen egyedi rtkek a hagyomnyos modellezsi gondolkozsban
nem kthetk egyedtpushoz. Mert a tpus eleve azt jelenti, hogy tbb elfordulst feltteleznk.
Ezen a korlton tl kell lpnnk. Hozzunk ltre egy SSZRENDELS egyedtpust. Ennek
ler tulajdonsga a rendelsek sszrtk tulajdonsga. A baj csak az, hogy nem tallunk
azonostt. Ami felesleges is, ha egyetlen rtkrl van sz, teht az azonosts szksgtelen.
Mdszernkben bevezettk a szingulris-egyed fogalmt. Az SSZRENDELS egyed kpe a
kvetkez: SSZRENDELS (ssz-rendelsszm, sszrtk). Az ssz-rendelsszm egy mes-
tersges kulcs. Alkalmazsa elvileg azt felttelezi, hogy minden RENDELS egyedelforduls-
ban megjelenjen az rtke. Hiszen teljesen vilgos, hogy az SSZRENDELS s a RENDELS
egyed 1:N fok viszonyban ll. Ha az sszrtk tartalmt valban trolni is akarjuk, akkor a fo-
galmi adatmodell szintjn el kell knyvelnnk a teljesen mestersges kulcsot akkor is, ha esznk
gban sincs azt tnylegesen alkalmazni. Az pusztn a tiszta szemantikai ttekintst segti. Utal
arra, hogy az sszrtk tartalmt a Rendelsszmmal azonostott egyedeken vgighaladva
hatrozzuk meg.
Az elmleti htteret tisztztuk. Gyakorlatilag nem vlaszoltunk a krdsre, hogy szabad-e
intenzionlisan s/vagy extenzionlisan szrmaztatott tulajdonsgokat felvenni az adatmodellbe?
Nos, a fogalmi adatmodellezs szintjn mindig clszer meghatrozni a szrmaztatott tulaj-
donsgok elvi helyt - befogad egyedt - akkor is, ha esznk gban sincs trolni a levezethet
adatot. Azrt rdemes, mert pontosan ltjuk a szrmaztatsi algoritmus kezelsi kvetkezmnyeit.
Azt, hogy a Ttelrtk kiszmtshoz egytt kell kezelni a CIKK (Egysgr) s a RENDELS-
TTEL (Mennyisg) egyedtpusok megfelel tulajdonsgait.

18.8 Konstansok s tulajdonsgstruktrk

Most megismteljk itt a 9.2 bra metamodell-diagramjt. Lsd a 18.1 brt. Az olvasban
felvetdhet a krds, hogy miknt ltezhetnek olyan tulajdonsgok egy modellben, amelyek nem
kapcsoldnak egyedekhez (lsd a TULAJDONSG-bl kiindul, az opcionalitst mutat

282
szaggatott vonalat) s mit is jelent valjban a ms modellezsi koncepcikban nemigen
alkalmazott tulajdonsgstruktra?
A magyarzatot kezdjk az utbbival. Az adatmodellben a tulajdonsgok egymshoz kap-
csoldnak. Ebben a knyvben hrom ilyen - csaldfa jelleg - viszonyrl volt sz. A csoportos
tulajdonsgok tnyezi a csoportokba plnek gy, hogy a csoportnak msik csoport is lehet a
tagja. Ugyanilyen mdon a szerepnv is felfoghat az eredeti tulajdonsghoz kapcsold tnye-
znek. Nincs kizrva, hogy a szerepnvnek is legyen szerepneve. Gyakorlati okokbl a szerep-
nevek tiszta hierarchit kell, hogy alkossanak (ld. 7.4 pont). Vgl a szrmaztatott tulajdons-
goknak is vannak (szrmaztatsi) tnyezi gy, hogy maga a tnyez is lehet szrmaztatott.
A tulajdonsgstruktra igen fontos szerepet jtszik a modellelemzsben. Hiszen ki kell zrni,
hogy ezekben az sszefggsekben ciklusok legyenek; azt, hogy az egy struktrt alkot tnyezk
bizonyos kombincikban ne kerlhessenek egy egyedtpusba; azt, hogy ugyanazon csoport tagja
legyen egy tulajdonsg s annak szerepneve stb.

EGYED TULAJDONSG

EGYED-
TULAJDONSG
VISZONY

KAPCSOLAT TULAJDONSG
STRUKTRA

18.1 bra: A metamodell diagramja

A szrmaztatott adatok kztt tbb olyan is akadhat, amelynek valamelyik tnyezje nem
egyedhez kttt ismeret. Nem jellemez egyedelfordulst, mert rtke a konkrt egyedektl fg-
getlen. Az ilyen tnyezket nevezzk konstansoknak. Nem a konstans-tblzatokrl van sz. Ha
egy konstansfle tbb rtket is felvehet gy, hogy az rtkek kzvetve ms egyedeket jelle-
meznek, akkor a konstansfle egyedtpusban tkrzhet. Ilyen tnyez pldul az FA-szzalk.
Itt kimondottan csak azokrl a konstansokrl van sz, amelyek egyrtkek s ezrt nincs is
nevk. Pldul: mindig 20% az x-fle ad mrtke.
Az okos fejleszt nem tesz ilyen szrmaztatsi tnyezknt szolgl konstanst a programba.
Magyarul: nem rja be expliciten a programba a 20 szmot. Azrt nem, mert vltozskor t kell
rni a programot (v. adat-program fggetlensg). Viszont a nvtelen konstansnak nevet ad.
Azrt, hogy tulajdonsgstruktrban tudja kifejezni a konstans s az annak segtsgvel szrmaz-
tatott tulajdonsg viszonyt. Ez pedig arra j, hogy ha a konstans vltozik vagy megsznik, akkor
knnyen s gyorsan meg lehessen llaptani, hogy a vltozs milyen egyb - abbl szrmaztatott -
tulajdonsgokat rint.

283
Nincs akadlya annak, hogy a tervez a konstansokat egy kzs olyan technikai egyedbe
helyezze, amely nem a tulajdonkppeni adatmodell rsze, amennyiben nem kapcsoldik ms
egyedtpusokhoz. Ha megtanuljuk a konstansokat (technikai) egyedelfordulsokknt kezelni,
akkor knnyebben tudjuk vltoztatni programjainkat. Ezrt - br ez nem tartozik szorosan a mi
tmakrnkbe - a szvegkonstansokat is technikai egyedelfordulsokknt rdemes meghatroz-
ni. Ezzel nveljk a rendszer hordozhatsgt s elmozdulunk az objektumorientlt adatbzisok
fel.

18.9 Az osztlyozs krdskre

Az egyszer adatmodellezsi mdszerekben az adatmodellt alkot egyed-, tulajdonsg- s


kapcsolattpusok kzl ltalban csak a tulajdonsgot szoktk expliciten osztlyozni. ltalban
meg kell adni a ttel brzolst; kulcs vagy nemkulcs jellegt; azt, hogy lehet-e inszignifikns
(ezt tvedsbl nevezik not null-nak); azt, hogy az rtk egyedi-e stb. A kapcsolatokat csak
impliciten - a kapcsol tulajdonsgon keresztl - osztlyozzk. Jobb mdszerekben utalni lehet a
kapcsolat fokra, opcionalitsra s birtoklsi/tipizl termszetre is. Az elfogadhatkban
tmogatjk az egyedtpus besorolst is [pl. 16].
Az emltett irodalom alap, kapcsol, ler s hivatkozsi egyedtpusokat klnbztet meg.
Alap egyed pldul a cikk s a rendels. Kapcsol a kettt sszekt rendelsttel. A szemly
adatait kiegszt, az ismtlds levgsval nyert elz-munkahely egyed tipikus ler tnyez.
Vgl minden olyan egyed, amely tartalmazza egy msik elsdleges kulcst, hivatkozsi egyed-
nek tekintend. Amint ltjuk, ez az osztlyozs floldalas, nem-konzisztens. Hiszen a kapcsol s
a ler egyed szksgszeren hivatkozsi is, de az alapegyed is lehet az.
Ennek ellenre dvzlnnk kell ezeket az osztlyozsi ksrleteket. Ezek a prblkozsok a
szz-szzalkos elv (ld. 7.2 pont) jegyben arra irnyulnak, hogy az ismeretre vonatkoz ismeret
ne a programban legyen rejtve, st, ne is csak korltknt fogalmazdjk meg. Hanem a struk-
trhoz kttt - teht knnyen ellenrizhet - felttell vljon. Vegyk csak alapul a kapcsolknt
osztlyozott egyedtpust! Errl azt felttelezzk, hogy (legalbb) kt msik egyedtpusnak az
alrendeltje s ezrt tartalmaznia kell idegen-kulcsknt azok azonostjt. Ha az egyedtpusban
nincs kt kapcsol tulajdonsg, akkor hibsan tervezett.
Sajnlatos mdon a mai tervezsi mdszerek csak nagyon szks osztlyozsi lehetsgeket
nyjtanak (ld. 9.5 pont). Felteheten azrt, mert a konkrt adatkezelk ilyen irny kpessgei
mg korltosabbak. Pedig milyen j lenne, ha kijelenthetnnk a csaldfa egyedrl (ld. 18.12
plda), hogy csaldfa tpus. Akkor mris tudhatnnk - s modellez rendszernk ellenriz-
hetn -, hogy ez olyan specilis kapcsol egyed, amely egy hozz kpest alapegyedhez ktdik
kt, alulrl ktelez s fellrl opcionlis kapcsolattal, amit az azonost kt rsze hordoz,
amelyek viszont az alapegyed azonostjnak a szerepnevei.
A szleskr osztlyozs a j adatmodellezs egyik titka. Mert egy dolog, hogy az adatkezel
nem kpes az osztlyozst rvnyesteni. Nem ismeri a csaldfa, a szingulris, az altpus stb.
egyedtpus flesgeket. Ms dolog, hogy a modell valsghsgnek, teljessgnek, kapcsolhat-
sgnak, konzisztencijnak az elemzsekor hallatlan segtsget nyjt a j osztlyozs. s nem-
csak az elemzsben, hanem a fejlesztsben is. Mert ha az adatkezel kptelen az osztlyozson
alapul definitv kezelsre, akkor magunknak kell procedrkat rnunk az osztlyozsnak meg-
felel validlsokra.

284
A szemantikban hsznl tbb kapcsolatflt ismernek. A birtokolja s az altpusa viszony
mellett a rsz-egsz, az ott van, a csaldfa, a hzassg, a hasonlsg stb. jelleg sszefggseket.
Ezek mind valamilyen ismereti konzekvencival jrnak. Ezrt legalbb az adatmodellezs szint-
jn meg kellene ksrelni e mintk alkalmazst s kvetst.
Ezzel a fogalmi adatmodellrl szl mondknk lnyegt lezrjuk. Azonban a kvetkez
igen vegyes tartalm fejezet taln mg tartalmaz apr tervezsi titkokat.

285
19. TIPIKUS TERVEZSI HIBK

19.1 Fegyelmezett fantzia

A j adatbzisterv kialaktshoz szmos technikai trkkt, mdszertani megoldst kell


ismerni. Tisztban kell lenni az adatmodell elvi felptsvel, rszleteinek az sszefggseivel, a
matematikai s szemantikai alap normlformkkal, a normalizlsi eljrs lpseivel stb.
Magyarul: tudni kell az adatmodell kpleteit s azok levezetseit.
Mrmost az olvas nyilvn tisztban van azzal, hogy nem minden a szakmjban jrtas,
annak mestersgbeli csnjait-bnjait jl ismer ptszmrnk tervez kllemben kellemes,
belsejben otthonos lakpleteket. Olyan trsashzakat, amelyekben a lakk egyenknt is s
kzsen is jl rezhetnk magukat, ha erre hajlamosak volnnak.
Az adatbzistervezs sem csak szakma. Ki merjk mondani: a modellezs mvszet is. Ne
mondja senki, hogy a szocrel vrosi hz s egy Makovecz-plet kztt csak technikai klnbsg
van. A modellezshez fantzira, alkoterre, stlusra is szksg van. A mai adatbzistervek leg-
fbb hibja, hogy fantzitlanok; szocrel-jelleg szgletes sablonok szerint, ignytelenl kszl-
nek s - elnzst a szrt - izzadsgszagak.
Az ismeretek feltrshoz filozofikus fegyelmezett fantzia ignyeltetik. Sajnlatos mdon a
fejlesztk nem tanulnak filozfit - ismeretelmletet. Nincsenek tisztban sajt alapanyagaik
termszetvel. Elssorban ebbl fakadnak a technikai jelleg, alapvet, szinte gyermekesen ko-
molytalan tervezsi hibk. A ksrletezs, a prblkozs, a mi-lenne-ha-gy-s-hogy-nzne-ki-gy
gondolkodsmd, a kpzeler hinya miatt modelljeink nem knnyedek, nem maguktl rte-
tdek, kvlrl sem csinosak. E knyv szerzjnek alkalma volt sok tucat (!) adatbzistervet
ttanulmnyoznia. Mindig feltette magnak a krdst: Melyik tetszik, melyikkel tudna azono-
sulni? Csak igen kevsben ltta meg a fantzia, a szellemes s zlses megoldsok csrit.
Kiemelt jelzknt hasznltuk a fegyelmezett szt. Ezen kt dolgot rtnk. Egyrszt a mrnki
pontossgot. Az egysges kpet, a szabvnyok alkalmazst, a vilgossgot. Sokat ront egy
amgy fantziads, jl megalkotott terven az ttekinthetsg hinya. Msrszt az nfegyelemrl,
a tlzott fantzia korltozsrl van sz. Arrl, hogy a tervez ne magnak, hanem egy kzssg-
nek alkossa az adatmodellt.

Ebben a fejezetben a tipikus tervezsi hibkat fogjuk kimutatni. Kln kitrnk az idvel
kapcsolatos ismeretek modellezsnek a nehzsgeire. A fejezet vgn a sablonok titkra ir-
nytjuk a figyelmet.

Az adatbzistervezs irnt rdekldk mindig a normlformk, a matematikailag megfoghat


szerkezetek, a mechanikusan gyakorolhat eljrsok utn faggatznak. Holott az adatmodellezs
titka egszen msban rejlik: az egszsges s fegyelmezett fantziban. Szobrsz akad ezernyi -
viszont Michelangelo csak egy van...

286
19.2 ltalnos tervezsi problmk

19.2.1 Nv-varicik

A mindennapi letben srn hasznljuk a fogalmam sincs fordulatot. A fogalmakat az


adatmodellezsben (is) nevekkel jelljk. Ezrt nem vletlen, hogy pont a neveknl kezdjk a
tervezsi bajok ismertetst. Ugyanis a terveznek remlhetleg az a szndka, hogy aki a
modellt ttekinti, annak legyen fogalma arrl, hogy mit is tartalmaz az adatbzis.
Az adatmodellt alkot egyed-, tulajdonsg- s kapcsolattpusok nevei nem srthetik a val-
sghsg kvetelmnyt. A nvnek a tnyleges tartalomra kell utalnia, klnben az adatbzisba
helytelen adatok kerlhetnek. Elfordult pldul, hogy a Gpkocsi-minsge nev adatnak a
piros rtket adtk. Ez nem trtnt volna meg, ha a tartalmat hvebben kifejez Gpkocsi-
llapota megnevezst alkalmaztk volna.
Gyakori tervezsi hiba, hogy a fogalmi s a logikai tervet sszetvesztve - vagy csak
lustasgbl - a tervez rvidtett neveket s/vagy nvkdokat alkalmaz. Ezek nemcsak azrt
veszlyesek, mert nem kzrthetek s gy nem tkrzik helyesen a tartalmat, hanem azrt is,
mert - akaratlanul - homonimkhoz vezethetnek. rjuk csak ide pldul a Rendszam nevet s
ruljuk el, hogy a tervez a rvidtett nevek hve. Ezek utn tessk eldnteni, hogy a gpkocsi
adatrl vagy a rendels kulcsnak (Rendelesszam) a rvid nevrl van-e sz. Ha pedig kocsik is
s rendelsek is szerepelnek a nyilvntartsainkban, akkor mris fellphet a homonima
problmja.
A tapasztalatlan tervez szerint mindez nem fontos, mert hiszen az egyedtpus neve alapjn
gyis kvetkeztetni lehet a tartalomra. Ez tveds. Sokszor nem jelenik meg az egyed neve a
tulajdonsg mellett (pl. sszetett jelentseken) s az adatnv gyakran csak a tervez rszre tnik
annyira vilgosnak, partnereinek mr nem. Ezrt az okos tervez ragaszkodik a teljes s jl
kifejez megnevezsekhez.
Aprop: a fentiekben nem vletlenl rtunk Rendszamot. Egy tovbbi modellezsi hibra
szeretnnk felhvni a figyelmet. A tervezk sokszor elhagyjk vagy helytelenl hasznljk az
kezeteket, holott azok alkalmazsa nem tilos a fogalmi adatmodellezs szintjn.
Ezrt modortalansg a Rendszam nv alkalmazsa a Rendszm megnevezs helyett. Azt pe-
dig szinte szgyelljk kimondani, hogy a nevekben be kell tartani a magyar helyesrs szablyait.
A szerz ltott mr adatbzist, amelyben a Kocsi-suja illetve a Tarolas-heje nev adat szerepelt...
A neveknek egyrtelmeknek kell lennik. E szably ellenre az adatbzisokban hemzseg-
nek a homonimk s a szinonimk. Ezeket a figyelmetlensg mellett a hamis belltottsg is
okozza. A kt dolog rokon, hasonl, teht azonos nevet adnak nekik. Pldul ugyanazt az Ese-
mnykd megnevezst alkalmazzk a valamilyen vltozst kifejez, az egyik egyedben egy-, a
msikban ktkarakteres adatra. Elfeledkezve az alapszablyrl, amely szerint kt tulajdonsg csak
akkor azonos, ha nevk mellett jelentsk s rtkhalmazuk is megegyezik. A szinonimkkal
pedig nem is trdnek mondvn, hogy gyis mindenki tudja, hogy a Trzsszm s a Tulajkd
ugyanazt jelenti.
Mrmost a homonimk s szinonimk szinte lehetetlenn teszik az adatmodell elemzst.
Azonban nem csak ezrt kell kizrni ket. Eddig nem beszltnk az adatmodell egyik fontos
kommunikcis cljrl. A modell a vllalat informcis trkpe, amely kivlan hasznlhat az
j belpk - fejlesztk s felhasznlk - tjkoztatsra. m mikppen igazodik el az j munka-
trs olyan modellen, amely tele van ktrtelm, nem-beszl nevekkel?
Sok gondot okoz az emlkezet-kihagys is. Tallkoztunk mr olyan esettel, amelyben a terve-
z elre s gondosan kiszrte a homonimkat illetve szinonimkat, m a vgs modellben mgis
elfordultak ezek a jelensgek. Miknt trtnhet ez meg? A modell tnyezi sokoldalan kapcso-

287
ldnak egymshoz. Pldul a Rendels-dtum nev adat tbb egyedet is jellemezhet. A tervez
ezrt elre elhatrozza, hogy a minstett Vev-rendels-dtum nevet fogja alkalmazni adott
sszefggsekben. Majd errl megfeledkezik s a RENDELS egyedhez mgiscsak a minstet-
len Rendels-dtum nev adatot kti, amely pedig a SZLLTS egyedben is szerepel.
Ez az utbbi - megtrtnt - eset ismtelten felhvja a figyelmet a minsts krdsre. A
tervezk ltalban nem tartjk be a ketts szablyt: az azonost abszolt szerep tteleket nem
szabad, a lerkat viszont ltalban illik minsteni. A minstsnek mindig egyenslyosnak kell
lennie. Ha ktfle rendelsnk van, akkor nem alkalmazhatjuk a Rendels-dtum s a Vev-
rendels-dtum prost, az elbbit a szlltsokra rtelmezve. A minstst teljess kell tenni a
Szllt-rendels-dtum nv bevezetsvel. Az azonost nem minsthet kittelt pedig
helyesen kell rtelmezni. Ez nem azt jelenti, hogy a ktfle rendels esetben ne kellene sztv-
lasztani a Vev-rendelsszmot s a Szllt-rendelsszmot. Hanem azt, hogy a vevk szmlin
a Vev-rendelsszm helyett nem szabad alkalmazni a Vev-szmla-rendelsszm tlminstst.
Minsteni kell, de szernyen. A Mennyisg nv ppen gy rossz, mint a Vevi-rendelt-
mennyisg-a-cikkbl megnevezs. Amint arra mr rmutattunk, a minsts nem trtnhet a
jellemzett egyed kezdbetjvel, mert az nem beszdes s nem egyrtelm. Ezzel szemben tl
fecseg neveket sem szabad alkalmazni. Nem helyes pldul, ha a nv valjban mondat, ami
radsul mg az rtkekre is utal gy: Van-e biztostsa (I/N)?. Ez nem megnevezs, hanem
trsalgs. Az adatnv beszl kell, hogy legyen, de mindent gysem mondhat el a ttelrl. A
tartalom teljes kifejtsre nem a nv, hanem a lers alkalmas.
Mg kt problmra kell felhvnunk a figyelmet. A vllalatok nem alkalmaznak nv-
szabvnyokat a megnevezsek formai rsmdjra. Ebbl kvetkezik pldul, hogy az egyik ter-
vez A-B, a msik A_B mdon rja ugyanazt a nevet. Az eltr rsmdbl technikai szinonimk
s homonimk szrmaznak. Ezek is srtik az egyrtelmsg elvt. Mert hiba tudom n e kt
adatrl, hogy azonos. A szmtgp s a modellez rendszer ppen gy klnbzeknek tekinti
ket, mint az A-B s A-C neveket.
Vgl a legcsnybb hiba, amit a tervez elkvethet - s ezt igen srn meg is teszi - az,
hogy nknyes, a felhasznlk teljes krvel nem egyeztetett neveket hasznl. Klnsen a
tapasztalt fejleszt esik ebbe a bnbe. mr tallkozott egy bizonyos fogalommal az X krnye-
zetben s azt felttelezi, hogy az a mostani Y krnyezetben is ugyanazt jelenti. Tudsa vlt
birtokban elhanyagolja a felmrst s nem egyezteti a felhasznlval a nevet. Nem vizsglja
meg, hogy a nv mgtti tartalom megegyezik-e a felttelezettel. Mindez pragmatikai hibkat
eredmnyez: a felhasznl nem a krt ismeretet kapja. Ez a problma mr tvezet bennnket a
kvetkez krdskrhz.

19.2.2 Absztrakcis gondok

Az adatmodellben alkalmazott nevek fogalmakat takarnak gy, hogy azok a vals jelensgek
osztlyainak felelnek meg. Az egyed-, tulajdonsg- s kapcsolattpusok a vals egyedek,
sajtossgok s viszonyok absztrahlt tkrkpei. Ezrt vilgos, hogy a tervez nemcsak azzal
kvethet el hibt, hogy nem-tall (nem-egyrtelm, nem-szabvnyos stb.) megnevezseket
hasznl, hanem azltal is, hogy helytelenl ragadja meg magnak a valsgnak a lnyegt.
Magyarul: rosszul tipizl.
Az egyik legslyosabb gond az inkonzekvens egyedtipizls. Ez a problma az egyedelfor-
dulsok halmazval kapcsolatos s azonostsi gondokra vezet. A szerz tallkozott mr olyan
adatmodellel, amelyben magnak a modellnek az rvnyessgi kre volt inkonzekvens. Mondjuk
a terv nhny egyedtpusa azzal a felttelezssel kszlt, hogy az adatbzis az egy beruhzsra
vonatkoz ismereteket rgzti, a tbbi pedig abban a tudatban, hogy a vllalatnak tbb beruhzsa
is lehet. Mrmost a beruhzsra szlltsok trtnnek. Ha csak egy beruhzsrl van sz, akkor a

288
szlltst a Szlltsszm azonostja. Ha viszont tbb, akkor a Beruhzs-azonost+Szlltsszm
sszettel szksges a hivatkozshoz. Vilgos, hogy az ilyen modell teljesen ellentmondsos s
hasznlhatatlan.
Ezt a slyos hibt nem nehz elkvetni. A szmtgpests mai hazai helyzetre mg
mindig a funkcinknt, rszlegenknt, zletganknt stb. szeparlt fejleszts a jellemz. A
tervez - jhiszemen - vevknek az t a fejlesztssel megbz rszleg megrendelkrt tekinti.
Termszetesen a msik rszlegen is szletik egy VEV egyedtpus. Rosszabb esetben a kt
VEV egyedtpus azonostja ms rtelm, szerkezet, hossz stb. tulajdonsg. Jobb esetben a
jelents s a felpts azonos, de a hossz a helyi elfordulsszmra mretezett. gy evidens, hogy
amikor elkvetkezik a valdi integrls korszaka, akkor a kt VEV egyedtpus sszevonsa
kisebb-nagyobb nehzsgekbe fog tkzni. Ezrt nagyon fontos szably, hogy

egy cgen bell minden fogalmat a teljes szervezet szintjn kell rtelmezni.

Ha ezt a szablyt megszegjk, akkor implicit - nkntelen s sokszor redundancira vezet -


extenzionlis particionlst hasznlunk. Vllalatunk valamennyi vevjnek az egyttese egyetlen
elfordulshalmaz. Ha rszlegenknt kln VEV egyedtpusunk van, akkor ezt az egyttest
alhalmazokra bontjuk. Mivel egyltaln nem kizrt, hogy az X vev az Y s a Z rszlegnek is a
kuncsaftja, ezek az alhalmazok tfedek lesznek.
Az egyedtpus-absztrakcival kapcsolatos gond az is, hogy a tervezk nem tudatosan
alkalmazzk a specializci s a generalizci lehetsgeit. Adatmodelljeinkre nagyon jellemz a
rejtett specializci, amely redundancit s ellentmondst okoz. Tipikus jelensg pldul, hogy
egy adatbzisban ngy, t vagy mg tbb egyedtpus is tartalmazza a szemlyekre vonatkoz
ismereteket. Ugyanaz a szemly tbbfle minsgben is kapcsolatban llhat cgnkkel. Minde-
gyik viszonyban ms-ms ismeretek mellett kzs lnyeg adatok is jellemzik. Ezrt a tudatos
tervez kszt egy kzs SZEMLY egyedtpust s annyi altpust, amennyi specilis ismeretsorra
van szksg (ld. 18.5 pont). A figyelmetlen fejleszt viszont tbb egyedben szrja szt a szemly
ismereteit anlkl, hogy gondoskodna ezeknek az egyedtpusoknak a kapcsoldsrl.
Az ilyen lspecializci risi adattfedst s inkonzisztencit okoz. Tbbszrsen troljuk a
szemly nevt, cmt stb. Mivel esly sincs arra, hogy a tbbszrs pldnyokat egyidejleg
aktualizljk, a szemly cme az egyik egyedtpusban mr az j, megvltozott rtket fogja tartal-
mazni, a msikban pedig mg a rgit. Valahogy gy fordulhatott el az is, hogy a szerz cme a
tavalyi telefonknyvben mg j volt, az ideiben pedig mr rosszul szerepel, holott nem is
kltztt el a laksbl. Vilgos, hogy ismereteit tbb egyedben troltk s azok kztt nem
tudtk helyesen meghatrozni az sszefggseket.
Tervezink hajlamosak a rossz generalizcira is. Tegyk fel, hogy vllalatunknak X
termszetes s Y jogi szemly a partnere gy, hogy az Y nagysgrendekkel kisebb, mint az X s
ugyanakkor - ez lnyeges momentum! - a ktfle partnerre vonatkoz ismeretek nagymrtkben
eltrnek egymstl. Az gymond csak pr jogi szemly miatt a tervez nem hajland az ekkor
egyetlen helyes megoldsra, a specializcira, hanem a ktfle partnert egyetlen egyedtpusba
vonja ssze. Ebbl azutn flrertsek, nem-alkalmazhat (NA) adatok, elgazsokkal teletzdelt
programok stb. keletkeznek. Vgeredmnyben a tervezk nem ismerik azt az alapszablyt, amely
szerint

a specializcinak s generalizcinak sohasem az extenzi (a darabszm) az alapja.

A fentebb trgyalt esetben a VEV egyed rejtett extenzionlis particionlsrl volt sz. Ha a
tervez rosszul specializl vagy generalizl, akkor helytelenl rendezi el a tulajdonsgtpusokat
az egyedtpusok kztt, vagyis nem j intenzionlis particionlst alkalmaz. Pldul az egyetlen
vals szemly lnyeg sajtossgait nem a clszer mdon osztogatja szt az egyedtpusok kztt.

289
Eddig az egyedek s a tulajdonsgok absztrakcis problmirl volt sz. Ilyen gondok a
kapcsolattpusokkal sszefggsben is fellpnek. Ha helytelenl hatrozzuk meg magukat az
egyedtpusokat, akkor azok viszonyai sem lesznek korrektek. Most azonban nem ezzel az ltal-
nos bajjal, hanem csak a viszony foknak a helytelen bemrsvel kvnunk foglalkozni. Az
vatlan tervez sok hibt kvethet el ezen a tren. Hiszen mr lthattuk, hogy az 1:1, 1:N s M:N
fok viszonyokat - illetve ezeken bell is a homogneket s inhomogneket - eltr mdon kell
modellezni. Teht nem mindig knny megtallni a helyes megoldst.
Ezen a tren a tervez kt hibt kvethet el: vagy alul-, vagy tlbecsli a viszony fokt. Az
utbbi esetben a htha tbbszrss vlik az sszefggs alapon feleslegesen kezelend, az
elrsi utat nvel kapcsolegyedet hatroz meg msik kett kztt. Az elbbi esetben nem figyel
arra, hogy az ltalnos hierarchikus viszony all akadnak kivtelek is. Minden szerzds egy
gyflhez kapcsoldik, de akadnak olyanok is, amelyek tbbhz ktdnek. Ez a de ltalban
ppen elg arra, hogy a tervezett 1:N fok kapcsolat helyett egy harmadik egyedet is involvl
M:N fok viszonyt kelljen pteni. A kivtelek kezdeti elhanyagolsa oda vezet, hogy az adat-
modellt hamarosan t kell alaktani.
Az egyik legslyosabb tervezsi gond a fantzia hinya s ami azzal prosul, a knny, a
mechanikus megoldsok keresse. Egy pldasorozattal szemlltetjk mondanivalnkat. Vevkrl
s az ltaluk feladott megrendelsekrl van sz. Teht annyi bizonyos, hogy lesz VEV s
RENDELS egyednk. A tovbbiakban a kett viszonyt fogjuk firtatni, rmutatva a rossz s a j
absztrakcik lehetsgeire.
1.vltozat: Tegyk fel, hogy egy-egy rendelst mindig csak egyetlen vev ad fel. A szoksos
helyzetnek megfelel modellrszletet a 19.1 plda mutatja. (Ugyanerre a megoldsra jut - tvesen
- az a tervez is, aki elfeledkezik arrl a pr kivtelrl, amelyben a rendels mgiscsak tbb
vevhz ktdik.)

19.1 plda

VEV (Vevkd, ...)


RENDELS (Rendelsszm, ..., Vevkd)

2.vltozat: Szmos olyan rendelsnk van, amelyben tbb megrendel rdekelt. Ezrt a 19.2
pldnak megfelel modellrszletet tervezzk. (Ezt teszi - tvesen - az agglyos tervez is, aki
tudja, hogy egy rendelsben mindig csak egy vev rdekelt, de gymond felkszl a tbb vev
lehetsgre is.)

19.2 plda

VEV (Vevkd, ...)


RENDELS (Rendelsszm, ...)
VEV/RENDELS (Vevkd+Rendelsszm, ...)

A gondatlan s az agglyos tervez esettl eltekintve mindkt megolds kzenfekv, egy-


szer, mechanikus. Nem is ezek miatt fogtunk a pldasorozatba.
3.vltozat: Most tegyk fel, hogy ezer megrendelsbl mindig csak egy akad, amelyben pon-
tosan kt vev rdekelt. Az sszes tbbi egy megrendelhz ktdik. A modellezs mechanikus
elvei szerint ekkor mr a kapcsolat M:N fok, teht a 19.2 plda megoldsa alkalmazand. A
tervez nem is tpeldik. Br fj a szve a 999 felesleges VEV/RENDELS egyedelforduls s
a plusz hozzfrsek miatt, nincs mit tennie.

290
A mechanikus tervez elfelejti, hogy nem szabad zrt modellrszletekben gondolkodni.
Mindig meg kell vizsglni a teljes szemantikai htteret. Mert az adott helyzetben kt alvltozat is
lehetsges.
Tegyk fel, hogy a rendelsekben egytt fellp partnerek nll vevkknt a rsznkre
sohasem fontosak. A rendelsre a vev neveknt az van rva, hogy A s B, de sem A, sem
B amgy nem partnernk. A kt megnevezett cme, szmlaszma stb. azonos. Pldul a kt
partner hzaspr. Ha holtbiztos, hogy A s B nem lp velnk kln-kln is kapcsolatba,
akkor az A s B valjban A meg B. Egyetlen lnyeg, egyetlen partner. Teht a 19.1 plda
megoldsa alkalmazhat.
Ms a helyzet akkor, ha a rendelsre A s B van rva s egyikk vagy msikuk mr ltez
vagy lehetsges partnernk. Ilyenkor a tapasztalatlan tervez tbbszrs sszefggst fedez fel s
elhamarkodottan a 19.2 plda megoldshoz fordul. Nem biztos, hogy helyesen teszi. Az a plda
azt sugallja, hogy a rendelsben A s B kln-kln rdekelt. Pedig felteheten az a valsg,
hogy neknk a prossal van dolgunk. Mr tbbszr felhvtuk a figyelmet a meg s az s k-
lnbsgre. A magyarban a kt szt sokszor pongyoln - felcserlheten - hasznljuk. A modelle-
zsben ezt nem tehetjk meg.
Ha egy rendelst A s B egytt ad fel, akkor az A s B kln partner. Mivel a rjuk
kln vonatkoz ismereteket nem lenne clszer megismtelni, a csaldfa szerkezethez fordu-
lunk. A helyes megoldst a 19.3 plda mutatja.

19.3 plda

VEV (Vevkd, ...)


RENDELS (Rendelsszm, ..., Vevkd)
PROS (Vevkd-1+Vevkd-2, ...)

A VEV egyedben van A, B no meg C kd elforduls. Amikor a RENDELS-t a


pros adja fel, akkor abban a C rtk jelenik meg. Ezzel egyidejleg a PROS egyedben
feltnik a C+A s a C+B sor, amely mutatja, hogy kik alkotjk a C rendels vevprost.
Ez a megolds mkdik. Valsgh s nem knyszerti ki 999 esetben a kapcsol egyedtpus
(VEV/RENDELS) nem is igazn kifejez egyednek az alkalmazst.
4.vltozat: A pldn mg csavarhatunk egyet. Tegyk fel, hogy a rendelsben az els helyen
alr tartozik nagyobb felelssggel. Mondjuk a fizet, a msik pedig a kezes. A mechanikusan
gondolkod tervez ekkor a 19.4 plda szerkezett alkalmazn, amelyben a Felelssg adat utalna
a fizet/kezes jellegre.

19.4 plda

VEV (Vevkd, ...)


RENDELS (Rendelsszm, ...)
VEV/RENDELS (Vevkd+Rendelsszm, ..., Felelssg)

Ez a vltozat kt problmval is jr. Egyrszt 999 rendelsnl mg mindig feleslegesen alkal-


mazzuk a kapcsol egyedtpust, mert a rendelsnek csak egy vevje van. Radsul a Felelssg
adatot is szksgtelenl tltjk ki ezek esetben. Msrszt a tbbszrs vevknl programmal kell
kontrolllnunk, hogy pontosan csak egy fizet s egy kezes vev kapcsoldjk a rendelshez.
Ezrt a fentinl clszerbb a 19.5 plda szerkezete.

19.5 plda

VEV (Vevkd, ...)


RENDELS (Rendelsszm, ..., Fizet-vevkd, Kezes-vevkd)

291
Ebben a megoldsban a RENDELS egyed tbbszrs kapcsolattal (ld. 18.2 pont) ktdik a
VEV egyedhez a kt minst szerepneven keresztl, amelyek kt dolgot mutatnak. Egyrszt
mindkett vals vevre hivatkozik. Msrszt elruljk, hogy nem egyenrang prosrl, nem egy
rejtett harmadik partnerrl van sz.
Persze a 19.3 s 19.5 plda megoldsa nem tkletes. Az elbbi esetben utalni kellett volna
arra a rendelsben, hogy vigyzat, itt prosrl van sz. Az utbbinl pedig hinyzik egy megjel-
l adat, amely kt dolgot mondana el. Egyrszt azt, hogy a Kezes-vevkdot nem kell kitlteni,
ha egyetlen vev adta fel a megrendelst. Msrszt ezzel sszefggsben azt, hogy a fizet egyben
kezes is. Teht mindkt plda RENDELS egyedben fel kellett volna tntetnnk a Vevszm
vagy hasonl nev tulajdonsgot.
Mg egy utols, nem lnyegtelen megjegyzs, amely az absztrakcival kapcsolatos s csino-
san sszefoglalja az egyed, tulajdonsg s kapcsolat egyttes elgondolsnak a szksgessgt.
Tegyk fel, hogy a tervez a Vevnv tulajdonsgban megengedi a Kovcs Lajos s Kovcs
Lajosn tartalmat. Ez annyiban klnbzik a Szab Ferenc s trsa rtktl, hogy az utbbi
egy cget, egy vals lnyeget, mg az elbbi kt kln egyedet jell. Teht az s szcska hasz-
nlata teljesen mst jelent a kt esetben.
Ha Kovcs Lajos s Kovcs Lajosn kln-kln is kuncsaftunk, akkor tbbszrs hibt
kvet el a tervez. Kt klnbz lnyeget egyetlen tulajdonsgba srt. Egyetlen azonostt ad
nekik anlkl, hogy utalna a valdi azonost prosra (ld. 19.3 plda). Az sszetett nv miatt a
rendels nem lesz kapcsolhat sem Kovcs rhoz, sem felesghez. Teht vllalatunk sohasem
tudja meg, hogy mikppen ll anyagilag Kovcs rral s miknt a nejvel. A karbantarthatsg
krdsrl pedig ne is beszljnk. Ha az adatbzisban valahol szerepel a Kovcs Lajos s
Asztalos Ica megnevezs s Ica frjhez megy Lajoshoz, akkor az j Kovcs Lajosn nevet
sohasem fogjuk erre mdostani a konkatenlt nvben. Ezrt a tervezknek be kellene tartaniuk
az alapvet szablyt, amely szerint

egy jelensg = egy fogalom = egy modellezsi egysg = egy nv.

19.2.3 A krlrs hinya

Az elz fejezet vgn utaltunk arra, hogy mennyire fontos lenne az adatmodell tnyezinek
a sokoldal osztlyozsa. Akkor is, ha az adatkezelnk szemantikailag szegnyes s nem
tmogatja az egyedek, tulajdonsgok s kapcsolatok klnbz besorolsait. Annak dacra, hogy
az osztlyozs a majdani validlsok miatt a sajt rdekeit szolgln, a tervez nem fogkony erre
a modellezsi rszmveletre. Nem a fogalmi modellben - ott volna a helye -, hanem majd csak a
programspecifikciban s krlmnyesen magyarzza meg, ha nem felejti el, az egyedtpus
jellegt. Pedig mennyivel egyszerbb lenne egyetlen egyszer megegyezni abban, hogy pldul a
csaldfa jelleg egyedtpus azt jelenti, hogy... s azt gy kell validlni, hogy..., majd a modellben
csak annyit mondani, hogy ez az egyedtpus csaldfa osztly...
A tervezk nem hajlamosak az adatmodell tnyezinek a szveges lersra sem, noha az
effajta tjkoztats igen hasznos lenne a felhasznlkkal val egyeztets sorn, az j belpk
felvilgostsra stb.
Persze mindennek az a valdi oka, hogy a tervezk nem fogalmi szinten akarnak modellezni,
hanem azonnal a kezelhz igaztott adatbzisterveket kvnnak kszteni. Ezrt vesznek el
pldul az adattpus tnyezjt illeten is. Csakis a tmogatott fizikai adattpusokban gondolkod-
nak. A kezelsi idtbblet miatt ritkn hatroznak meg sajt adattpusokat. A modern kezelk
lehetv teszik a sajt tpus kijellst, de azok alkalmazsnak hatkonysgi ra van. Emiatt a
tervez elfeledkezik a tpus s a validls kapcsolatrl.

292
Az ismeret szemantikai jelentst a jelek hordozzk. Nagyon sokszor elfordul, hogy csak
rnznk egy adatra s mris tudjuk, hogy azt hov tegyk. Mi jut eszbe az olvasnak errl a
jelsorrl: (036) 1-1168-119? Ugye, hogy a telefonszm? s mi akadlya van annak, hogy fogal-
mi szinten meghatrozzunk egy ilyen adattpust? Semmi. Mg ha fizikailag nem is gy fogjuk
trolni az adatot, logikailag akkor is gy kell majd kezelnnk. Ezrt br az adatbrzols nem
tisztn fogalmi szint tnyez, lni kell annak lehetsgeivel.
Mindez sszefgg egy msik tnyezvel. Az adatbrzolsnak rsze az adathossz is. A ter-
vezk gyakori hibja, hogy a hosszt alul- vagy tlmretezik. Netn szoksok rabjaiv vlnak s a
mreteket sablonosan hatrozzk meg. Pldul a Teleplsnv hosszt standard mdon 40 karak-
teresre veszik fel, holott a leghosszabb magyar teleplsnv is csak 24 jelbl ll. Mskor meg a
sablonokkal szemben ppen hogy ad-hoc mreteket jellnek ki.
Az olvas most joggal krdezi, hogy mi kze van az adathossznak a fogalmi adatmodelle-
zshez? Az els rnzsre nem sok. Valjban azonban a hossz nem csak fizikai adatszerkezeti
tnyez. A zavaros brzolsi mretek a fogalmi terv tisztzatlansgrl rulkodnak. Nzznk
csak hrom pldt.
Els plda: Az X rendszerben a lakcm ismeret rsze az Irnytszm. A tervez az adatot
ngy numerikus jelknt hatrozta meg. Nem tudta, hogy a magyar irnytszm ma mr t jelbl
ll s az tdik jel karakteres. Mirt fogalmi szint krds ez? Azrt, mert a terveznek fogalma
sem volt arrl, hogy vannak az els ngy karakterben azonos mdon jellt, de azokon bell az
tdik jellel megklnbztetett irnyt-rszkrzetek.
Msodik plda: A tervez alkalmazza a Vltozs-mdja s a Mdosts-oka adatokat. Az
egyiket 27, a msikat 45 hosszra definilja. Majd kiderl, hogy egyes vltozsi mdok s
mdostsi okok egybeesnek. Teht a kt adatfle redundns. Egyazon vals jelensg tkrzsre
egyfle hosszat illenk alkalmazni. Ha a md s az ok egybeesik, de az brzolsi hossz eltr,
akkor vilgos, hogy a terveznek nem volt tiszta fogalma e jelensgekrl.
Harmadik plda: A tervezk sprolni kvnnak a mretekkel. Ezrt tbb fogalmat is
ugyanabba a tulajdonsgba gymszlnek. Pldul a Cikkszm osztlyoz kd csak 6 karakteres.
Ha tudjuk, hogy a Cikkszmban tkrztt osztlyozsi ismrvek kzl a vgtermkek X, az alap-
anyag Y, a megmunkls (technolgia) Z vltozatot jelentenek s az X+Y+Z rtke millinl
nagyobb, akkor evidens, hogy a Cikkszm fogalmilag zavaros. A tervez az egyes kdpozcik
jelentst sszekeverte. Klnben a millis ttel azonostsa lehetetlen lett volna 6 jelben.
A tervezk legnagyobb hibja, hogy a validlsokat - az ismereti korltokat - nem a fogalmi
modellben, hanem csak a programspecifikci szintjn adjk meg. Ebbl szksgszeren kvet-
kezik a redundancia s az ellentmonds. Csakis egyszer, egyetlen helyen - az adatmodellben -
kellene megfogalmazni pldul azt, hogy a Szemlynv tulajdonsg olyan tulajdonnv, amelynek
minden tagjt egyetlen res vlasztja el; ellrl nem lehet res; a nv tagjai nagybetvel
kezddnek; a titulus (dr., zv., ifj. stb.) a nv vgre kerljn s gy tovbb...
Most megint felvethet a krds, hogy mi kze mindennek a fogalmi modellhez. Nagyon is
sok. A szemlyek tulajdonneve egy bevett fogalom. Vezetknvbl, keresztnvbl s opcionlis
titulusbl ll. Ha az adatmodell mindezt nem tkrzi, nem egyetlen helyen jelli ki a Szemlynv
brzolst s validlst, akkor elknyvelhetjk, hogy a terveznek fogalma sincs arrl, hogy
mit is jelent a Szemlynv.

19.3 A CSAK szindrma

A csoportokrl (CS), azonostkrl (A) s a kdokrl (K) lesz sz ebben a pontban. Ezek a
tnyezk annyira bonyolultan fggenek ssze egymssal, hogy - bevalljuk - rtelmes rend szerinti
trgyalsukra nem talltunk megfelel mdot. Hiszen vannak kdolt s csoportos azonostk. Ha

293
ilyet lt az ember s megkrdezi a tervezt, hogy mirt is alaktotta gy ki az elsdleges kulcsot
vagy ler ttelt, akkor egyetlen vlaszt kap - CSAK.
A problmk feltrst kezdjk a csoportoknl. Az implicit - rejtett - sszettelekkel van baj.
Vegyk pldul a gpkocsik Alvzszm tulajdonsgt. Ennek els nhny jele lltlag a kocsi
tpusra utal. Ezek utn mire vljk, hogy a KOCSI egyedtpusban szerepel egy Kocsitpus nev
tulajdonsg is? Ez az ismeret nyilvnvalan ktszeres, redundns. Mi tbb, ellentmondsok
forrsa. Mert mi garantlja, hogy az adat kezelst vgz szemly a Kocsitpus adatot s az
Alvzszm els pr karaktert mindig egymsnak megfelel mdon fogja kitlteni? Miutn,
termszetesen, az Alvzszm csoportba rejtett tpus s a Kocsitpus kdolsa teljesen eltr...
Teht az els problma az implicit csoportokkal kapcsolatos.
Ezzel a bajjal szmtalanszor tallkozhatunk a rosszul kialaktott mestersges azonostk
kapcsn, amelyek burkoltan csoportos szerkezetek. Mivel a relcis rendszerekben nem lehet
csoportot megadni, a tervez a modellben sehol sem rulja el pldul azt, hogy a Rendelsszm
valjban a Vevkd s egy sorszm egyttese. Mi tbb, a Szmlaszm is a Vevkdbl s egy
sorszmbl tevdik ssze. Mivel a csoport nem bonthat ki, a tervez - a hivatkozsi integrits
jegyben - kln is felveszi a Vevkd-ot a RENDELS, a Rendelsszm ttelt a SZMLA
egyedben. Amivel a rejtett Vevkd rtk megtbbszrzdik. Termszetesen a tervez magt a
Vevkd-ot is gy alaktja ki, hogy annak rtke - minden modellezsi elv dacra - idvel vltoz-
hat. Annak az eslye, hogy ilyen vltozs utn a Vevkdot a Rendelsszmban s a Szmla-
szm-ban is karbantartjk, nulla.
A mestersges azonost csoportok egybknt is sok gondot okoznak. Az elszeretettel
alkalmazott relatv sorszmokrl van sz. Az sszetett A+B azonost gy pl fel, hogy az A
valamilyen msik egyedre utal, mg a B relatv sorszm. Tipikus plda a RENDELSTTEL
(Rendelsszm+Ttelsorszm, ...) kulcsa. Mi az ilyenfle azonostkkal a baj? A relatv sorszm
nem fogalmi tnyez, hanem paprhoz kttt fizikai megjells. Ha az adott rendels tdik
ttelt felmondjk (nem krik), akkor az azonostnak lttek. Mert nem fogjk az sszes
ttelazonostt mnusz egy rtkkel tdolgozni, viszont ugyanakkor mr az sem lesz igaz, hogy
a hatodik ttelsor hatodik, hiszen - a felmonds miatt - mr valjban csak tdik. Ezrt relatv
sorszmot - ami nem fogalmi tnyez - nem igazn illik az azonost rszeknt hasznlni.
Az elbbi kittelt egy tovbbi pldval igazoljuk. Tegyk fel, hogy szerzdseinket egy
Terleti-kd s egy Relatv-sorszm azonostja. Az elbbi adat arra utal, hogy milyen krzetben
ktttk a szerzdst. Az utbbi arra, hogy hnyadik megkttt gyletrl van sz. Ez a csoportos,
terletre kdolt, sorszmot tartalmaz kulcs ktszeresen is rossz. Ha a szerzdst tadjk az X
krzetbl az Y terletre, akkor nemcsak a Terleti-kd vltozik, ha-nem a Relatv-sorszm is
mdosul. Mert a szerzds az X egysgben az tdik volt, az Y krzetben viszont mr a huszon-
egyedik lesz.
J azonostt krelni nem kis mvszet. A legjobb elsdleges kulcs a csoportoktl s kdol-
soktl mentes abszolt sorszm. A General Motors (GM) 1975-s esete jl bizonytja ezt a
kittelt. Akkoriban a GM tven milli dollrt fizetett a Brish Co. kdolsi szakrt vllalatnak
azrt, hogy a mintegy 7-800 ezer alkatrsznek jl megfoghat osztlyoz azonostkdot
ksztsen. A Brish csodkat mvelt. Mindssze nyolc karakterben azonostotta a GM valamennyi
alkatrszt. A tz centimter vastag kdknyvbl mindenki pr msodperc alatt kikereshette, hogy
mi az alumniumbl ksztett, x-dimenzis, hajltott rgztelem kdja, szemben az aclbl
kszlt, ugyanolyan mret, hegesztett rgztelem kulcsval.
A GM ezt a kdot, amit tbb szz milli dollrrt vezetett be, hamarosan kidobta, mint
azonostt. A technolgia, a forma, az anyag vltozott. Ezrt az instabil kulcsot llandan s
rengeteg helyen t kellett rni. A GM mr akkor megtudta, hogy csoportos osztlyoz kdot
legfeljebb csak ler tulajdonsgknt szabad alkalmazni. Az azonosts tern pedig tvltott a
legegyszerbb megoldsra: a sima abszolt sorszmra.

294
A terletileg osztott adatbzisok esetben a tervezk azrt nem vllaljk az abszolt sorszm
azonostt, mert gymond annak kiadsa s egyedisgnek az ellenrzse nehzkes. Ha vllala-
tunk terletenknt kt szerzdseket a partnereivel, de nincs on-line adatbevitel egyetlen kzponti
szmtgpre, akkor valban nehznek ltszik az azonosts krdse. Mi garantlja, hogy a
Kecskemten 10 ra 50 perckor rgztett szerzds 1234567 sorszma utn a Kszegen 10 ra 51
perckor megkttt gylet a 1234568 sorszmot kapja?
Semmi. s mirt kellene azt a kulcsot kapnia? Az abszolt sorszm lnyege az, hogy nem
tkrz semmilyen ismeretet. Sem helyet, sem idt, sem mst. Csak az egyedisg az egyetlen
kritriuma. Ezrt terletileg osztott adatbevitel esetben nyugodtan ki lehet osztani az azonost
tartomnyait az X, Y s ... Z krzetek kztt. A lnyeg az, hogy eszbe ne jusson valakinek ezt az
elzetes kiosztst terleti behatrol ismeretnek tekinteni. Az azonost felszabdalsa - most oda
adtuk ki az xxx-yyy tartomnyt - csak technikai manver. A Szegeden felhasznlt 3456789
sorszm olyan szerzdst azonost, amely ksbb Debreceni illetsg lesz, ugyanezzel a szm-
mal.
Ja, hogy a sorszmok sorozata ettl lyukas lesz? Mert Egerben mg nem fogyott el a kvta,
mikzben Pcsett mr jabb tartomnyt kell kiosztani? Kit rdekel! Az abszolt sorszmnak nem
az a lnyege, hogy zrt sorrendet alkosson. Hanem az, hogy biztosan egyedi legyen. Ez pedig
minimlis szervezssel biztosthat. A tnyleges adatbzison bell minden ttel gyis sajtos
bels kulcsot kap, amelynek az gadta vilgon semmi kze sincs a kls, a felhasznlk ltal
alkalmazott azonosthoz. Csak a rgi COBOL-vilgban plt a bels fizikai kulcs a kls
logikaira. gy az abszolt kls sorszm a megfelel megolds.
A kdolt csoportos azonostk egyb veszlyeket is hordoznak. Hierarchikusra szktik le a
valjban hls viszonyokat. Itt van ez a szerelvny, amely az xxx azonostj termk rsze.
Nosza, adjuk neki az xxxa kulcsot. Csakhogy a szerelvny az yyy azonostj termkbe is
bepl. Ezrt a mrnkk annak az yyyb rajzszmot jellik ki. Mi a kvetkezmny? Az xxx
termk gyrtshoz Q, az yyy termelshez W darab azonos szerelvny tartalkolsra van
szksg. Az egyttes igny ennl nyilvnvalan kisebb. Valjban a cgnek csak V < Q+W alkat-
rsz szksges. Mivel a szerelvnynek nincs egyetlen - sorszm jelleg - kulcsa, az azonostja a
vgtermkekhez ktdik (xxxa s yyyb), a cikk ktfle jelensgknt jelenik meg az adatbzisban -
s felesleges kszlete igen drga lesz.
A szerz 1965-ben a Csepel Autgyr raktrosaknt lte meg ezt a helyzetet. A normlia
zembl X cikkszmon Q darab, Y cikkszmon Z darab tmtgyrt szerzett be. Ht nem
lttya, hoty utyanasz. Moszt miknt stjk el. Itt fok llni egy vig. - mondta a szerb-nmet Ali
bcsi. Mondta? Lehordott a srga fldig. Igaza volt. Tle tanultam meg, hogy a cikkszm - az
azonosts - nem jtk. A zseni mrnkk, a tuds kzgazdk semmit sem sejtettek az informci
lnyegrl. Ali bcsi, aki trte a magyart s hat elemit sem vgzett, azonnal tudta a drgst:
Ugyanasz - brmit isz mondanak odafenn asz urak. Moszt nekemnek kell aztatat elsszniam. f
minek hoszta itten a nyakamomra eszt megind, Bla?.
Miutn Ali bcsi rendesen eligaztott az azonos jelensg - tbb azonost csacskasgaiban,
mr csak annyi marad htra, hogy az sszetett kulcsokrl, a konkatenlt azonostkrl emlkez-
znk meg. A hlsan kapcsol egyedtpusok kulcsrl van sz. Ha a Rendelsszm azonostotta
RENDELS s a Cikkszm kulcs CIKK hlsan - M:N fok viszonnyal - kapcsoldik, akkor
evidens, hogy a kapcsol RENDELSTTEL kulcsa a kt viszonyban ll egyed azonostjnak
a konkatencija (Rendelsszm+Cikkszm).
Ez eddig elvileg rendben is lenne. Csakhogy a gyakorlatban elfordulnak olyan esetek,
amelyekben az A+B sszetett kulcsnak a B rsze ismeretlen. Pldul nem ismerhet fel, hogy a
szerzdsben (A) ki az gyfl (B). A papr elmosdott, rosszul kitlttt. A tervez mgis ragasz-
kodik a homlyos ismeret bevitelhez. Ezrt az ilyen esetekben a B-nek mestersges tartalmat ad.
Vals gyfelet jell az xxx... kezdet kulcs, ismeretlent az yyy... karaktersorral kezdd.

295
Az effajta megoldsok alssk az adatbzis hitelessgt. Mert vagy kiktjk, hogy minden
szerzdsnek ltez gyflhez kell kapcsoldnia, amely esetben a nemltez gyfelet is kln
mestersges egyedknt kell bevinni. Teht lesz egy yyy... azonostj, valjban nem is ltez
gyfelnk. Vagy azt mondjuk, hogy a SZERZDS/GYFL egyed viszonya az GYFL fel
opcionlis. Nem ktelez. Ekkor viszont azt sem tudjuk ellenriztetni automatikusan, hogy a jl
megfogalmazott szerzdsek gyfelei tnylegesen lteznek-e az adatbzisban.

19.4 Egyb csacskasgok

Nha tallkozhatunk olyan adatbzistervvel, amelyben egy egyedtpus egy adott tulajdonsg-
tpusra mindig ugyanazt az rtket veszi fel. Pldul egy knyvvel kapcsolatosan a szemly sze-
repe mindig lektor. Ez olyankor fordulhat el, ha az adatbzisban ltezik a szerepre kihegyezett
egyedtpus, pldul LEKTORLS. Azt a tulajdonsgot, amely az adott egyed lnyegbl
kvetkezik s ezrt minden elfordulsra azonos rtk, generikus tulajdonsg-tpusnak
nevezzk. Termszetesen ilyenkor a generikus tulajdonsg tartalma redundns s azrt ezt a ttelt
el kell hagyni az egyedtpusbl.
Mikppen fordulhat el ez a hiba? ltalban vve az implicit - nemtudatos specializcinl
kell szmolni ezzel a helyzettel. A tervez ltrehozza a SZEMLY egyed implicit SZERZ s
LEKTOR altpusait, majd azokban felejti a szemly szerept (szerz, lektor), ami generikus
tulajdonsgg vlik a specializci utn. Nha az is elfordul, hogy sszetett, pldul A+B
azonostj egyedtpushoz kvnnak kapcsolni egy alrendeltet, amelynek mondjuk A+B+C a
kulcsa. Csak ppen gy, hogy a C rtke mindig azonos. Jelentse az A+B a knyvet s a szemlyt,
a C pedig a szemlynek a knyvvel kapcsolatos szerept. Ha a KNYV/SZEMLY egyed al
kvnjuk helyezni a LEKTORLS egyedet, akkor a C rtke mindig lektor lesz. Mivel egy
knyvnek tbb lektora is lehet s egy knyvvel kapcsolatosan ugyanaz a szemly tbb funkcit is
betlthet (r, rajzol), az alsbb szint egyedben feltallt generikus tulajdonsg sokszor a felsbb
szint egyed rossz tervezettsgre utal. A KNYV/SZEMLY s a LEKTORLS egyttesen
hibs. Az alsbb szint egyed generikus tulajdonsgnak (szerep) mindig a felsbb szint
egyedben, nem ritkn ppen annak azonostjban van a helye.
Felhvjuk a figyelmet arra, hogy a generikus tulajdonsg nha opcionlis is lehet. Pldul a
lektor mindig az x rszlegrl kerl ki vagy nincs rszlege, az nem rtelmezhet (klss s a kls
szervezet bennnket nem rdekel). Ettl mg maga a tulajdonsg generikus. Mivel a nem-
rtelmezhet (NA) rtknek nincs haszna, az rtelmezhet rtk pedig mindig ugyanaz, az ilyen
esetekben is el kell hagyni a generikus tulajdonsgot.
Az explicit csoportokkal mr az elz pontban foglalkoztunk. Most az implicit csoportokrl
kell nhny jabb szt ejtennk. A csoport implicit, ha az eleminek mutatott tulajdonsg rtkei
valjban kt vagy tbb tagbl llnak. Ilyenkor ltalban az els tag(ok) tipizlnak s az utols
az, ami a tpuson bell sztvlasztja a jelensgeket. Pldul: a Szervezeti-egysg-kd els pr jele
az egysg tpust mutatja, a tbbi pedig a tpuson bell konkrtan behatrolja az egysget.
Az implicit csoport kt problmt okozhat. Az egyik az, hogy nem ad mdot az explicit
kapcsolat meghatrozsra. A msik az, hogy az elz ok miatt a csoport els - tipizl - rszt
kln tulajdonsgtpusknt is feltntetik, amivel persze hatalmas redundancit okoznak. Ez a
fajta redundancia - a generikus tulajdonsghoz hasonlan - nem fedezhet fel s nem szntethet
meg a szoksos normalizlsi eljrsokkal.
Az implicit csoport egyik fajtja a vektor. Olyan tulajdonsg, amely elre meghatrozott
szm rszbl ll gy, hogy mindegyik sszetev rtelme azonos. Pldul a tervez a RENDE-

296
LS egyedben alkalmaz egy Felttelek nev tulajdonsgot, amely 5 klnbz felttelkdot
tartalmaz egyms mellett a rendels minemsgnek a fggvnyben.
Az ilyen vektor nem ms, mint rejtett ismtld csoport annak minden problmjval egytt.
Pldul a hatodik felttel esetben t kell alaktani az adatbzist. Ha az ismtldsek szma
biztosan nem fog vltozni, akkor is modellezsi bajokkal kell szmolni. Tegyk fel, hogy ltezik a
FELTTEL (Felttelkd, ..., Felttelnv) egyednk. Az implicit vektor esetben nem tudjuk
ehhez kapcsolni a RENDELS egyedet tbbszrs kapcsolattal, mert hiszen nem ltszdnak
maguk a kapcsol tulajdonsgok. Ezrt a hivatkozsi integritst procedurlisan kell ellenrizni.
Emiatt az azonost abszolt szerep tulajdonsgok esetben a vektor nem megengedett fogalmi
szint tnyez.
Sok adatbzisban jelent problmt a ketts azonosts. Itt tbb klnbz bajrl kell beszl-
nnk. ltalban az adatbzisok konverzija - kezdeti feltltse vagy mshonnan val ttltse -
sorn szoktak alkalmazni a konverzi menett ellenrz sajtos azonostkat. Ilyen-s-ilyen
szmmal mr bevittk azt a ttelt, hogy ... Azutn a tervez elfeledkezik arrl, hogy ezt a
technikai adatot csak tmenetinek sznta s a mestersges adat lni kezd, vagyis a konverzi
befejezse utn is alkalmazzk. A ketts azonostsnak ez a mdja nyilvn redundancia, amely
ellentmondsokra is vezethet. Ezrt kerlend.
A 14.7 pontban beszltnk az alternl kulcsokrl, amelyek a ketts azonosts egy specilis
esett jelentik. Nem akarjuk azt mondani, hogy az alternl kulcsok feleslegesek, mert vannak
olyan specilis helyzetek, amikor hasznlhatk. (Persze csakis a valdi alternl kulcsokrl
beszlnk. Ha valamelyik, az egyedelfordulst illeten egyedi rtk tulajdonsg tartalma lehet
ismeretlen is, akkor az egyszeres ler tulajdonsg, de semmikppen sem kulcs.) Alternl
azonostk fellphetnek a specializci esetben. Az orvos is szemly, teht van Szemlyiszm
(vagy azt ptl) adata s ugyanakkor van Orvoskd nev egyedi azonostja is. Br ez a helyzet
nem szerencss, elkpzelhet, hogy a szemly azonostjnl jval rvidebb Orvoskd hasznlata
praktikus.
Az alternl kulcsok akkor okoznak igazi problmkat, ha alternl kapcsolkknt lpnek
fel, vagyis nemcsak az alapegyedben (pl. ORVOS) szerepelnek egyttesen, hanem annak
valamilyen alrendeltjben is (pl. ORVOS/RENDELS). Ezt a helyzetet felttlenl kerlni kell.
Azrt, mert tbbszrsen mutatja ugyanazt az egy kapcsolatot. Ha mindkt adatot kitltik az
alrendeltben, akkor ellenrizni kellene, hogy a pros rtke megegyezik-e a flrendeltben lv
prosval. ltalban is megfontoland, hogy az A s B alternl pros esetben az egyik tulaj-
donsg (B) csak az alapegyedben szerepeljen s minden ms egyedben csakis a msik tulajdons-
got (A) szerepeltessk kapcsolknt. Knnyen zavarokra vezethet, ha a modell nhny egyedben
az egyik, a tovbbi egyedeiben pedig a msik tulajdonsgot alkalmazzuk a kapcsolt hordoz
ttelknt.
Mg a feledkenysgrl s az abbl fakad inkonzisztencirl kell szlnunk. A tervezk haj-
lamosak elfeledkezni arrl, hogy az adatmodell nem rekordkpek zne s ezrt a kapcsolat-
tpusokat is tartalmaznia kell. Ha viszont ksztenek kapcsolattpus-listt, az nha nem felel meg
az egyedtpusokban rejtz kapcsol tulajdonsgok listjnak. Magyarul: explicit kapcsolatknt
megneveznek olyan egyedviszonyokat is, amelyeket az egyedek tulajdonsgai nem tmasztanak
al. Megfordtva: a listn nem tnnek fel olyan kapcsolatok, amelyek pedig kvetkeznek az egye-
dek bels szerkezetbl. Az ellentmondsnak sokszor az az oka, hogy a tervez teljesen megfeled-
kezik a szerepnevek explicit kijellsrl. Ha nem mondja meg, hogy a Lektor-azonost is egy
Szemly-azonost, akkor persze nem hatrozza meg helyesen a lektornak, mint sajtos szerep
szemlynek a kapcsolatait sem.

297
19.5 Statikus szemllet

19.5.1 Az id modellezse

Knyvnkben mindeddig statikus szemlletben foglalkoztunk az adatmodellel. Olyan terve-


zsi pldkat mutattunk be, amelyek a jelensgek pillanatnyi llapott tkrztk. Pedig a jelens-
gek vltoznak. A mlt hten X.Y. mg a Forint utcban lakott, viszont ma mr a Peng kzben
l. A statikus felfogs adatbzisban a megvltozott lakcmet aktualizljuk, vagyis a rgi tartal-
mat az jjal rjuk fell. Termszetesen ezzel a korbbi llapotra vonatkoz ismeret elveszik. Ezrt
jogosan merl fel a krds, hogy mikppen kell s lehet megszerkeszteni az adatmodellt, ha
szksgnk van a mltbeli adatokra is?
Nem vletlen, hogy ezt a krdskrt ppen a tervezsi hibkkal foglalkoz fejezetben vettk el. Az
adatbzistervek igen gyakran megsrtik az idre s a kapcsold tnyezkre vonatkoz egyrtelmsgi,
teljessgi s minimalitsi modellezsi szablyokat. Mindez arra vezethet vissza, hogy a modelle-
zk nem ismerik e tnyezk elmleti sszefggseit. Ezrt ebben a pontban egytt trgyaljuk a
dinamikus adat-modell kialaktsnak az elveit s az azok mellzsbl fakad problmkat.
Maga az id vgtelen s folyamatos. A vgtelensg s a folyamatossg modellezsre nincs
lehetsg. Ezrt el kell dnteni, hogy rsznkre az id milyen intervallumot, idkzt jelent s mi
szmunkra az id diszkrt mrtkegysge. Az intervallumrl mg azt is meg kell hatroznunk,
hogy az zrt-e vagy nylt-e, azaz felleli-e a kezd s a zr idpontot, vagy sem. Vgeredmny-
ben meg kell alkotnunk az adatmodell minden tnyezjt behatrol ltalnos ID fogalmat.
Mint tudjuk, az adatmodell egyed-, tulajdonsg- s kapcsolattpusok valamint az ezekre
vonatkoz korltok szervezett egyttese. Ezrt az id modellezsre tbb, clszeren kivlasz-
tand megolds ltezik. A 18.1 bra metamodellje tfle szerkezeti tnyezt tartalmaz. Ennek
megfelelen az id modellezsben is t strukturlis ttelre kell tekintettel lennnk.
Legels feladatunk az, hogy meghatrozzuk az id ltalnos tulajdonsgot, a felteheten
algoritmikus ellenrzs Id rtktartomnyt. Adatbzisunk az X idponttl az Y idpontig tart
zrt idintervallumba tartoz jelensgekre vonatkozan fog adatokat trolni gy, hogy az id
mrtkegysge a nap (vagy az ra, a perc stb.). Valahnyszor egy egyedben id jelleg tulajdon-
sg, vagyis attribtum jelenik meg (ld. egyed-tulajdonsg-viszony), az csak az ltalnos tarto-
mnyba tartoz rtket vehet fel. A tervezk nem lnek ezzel a lehetsggel. Ezrt tallkozhatunk
olyan adatbzissal, amelyben a SZERZDS egyed Fizetsi-dtum adatban 1893-as keltezs
szerepel.
Abban az esetben, ha egy attribtum az Id ltal elrtnl alulrl s/vagy fellrl szkebb
intervallumot felttelez, a korltoz szerepnv megoldshoz folyamodhatunk (ld. tulajdonsg-
struktra). Ha egy szerzdsfle csak Z dtumtl kthet, akkor a Kts-dtum az Id alulrl
korltoz szerepneve. Ugyancsak korltknt szolgl, szrmaztatsi jelleg tulajdonsg-struktr-
ban kthetjk ki, hogy a Szllts-dtum rtke nagyobb/egyenl viszonyban ll a Rendels-
dtum tartalmval. Ha az adatmodell a szz-szzalkos elv dacra nem tartalmazza ezt a
struktrt, akkor persze a megvalsts sorn elfeledkeznek a validlsrl. gy fordulhat el, hogy
a Trleszts-kezdete ttel tartalma korbbi keltezst mutat, mint a Hitel-megkts-dtum rtke.
Arrl pedig mr sokszor beszltnk, hogy a dtumot explicit csoportos tulajdonsg-struktraknt
is meg kell adni.
Az adatmodellben az idt egyedtpusknt is lehet tkrzni. Termszetesen az ID (vagy
DTUM) szingulris egyedtpus (ld. 18.7 pont) nem mindig kerl megvalstsra konkrt, az
idpontokat egyed-elfordulsokknt tartalmaz tblaknt. Van elnye annak, ha mgis ilyenknt
alkalmazzuk. Az ID (Id) egyedtpus minden olyan msik egyednek a flrendeltje, amelyben
megtallhat az Id domjn minst vagy korltoz szerepneve. Pldul az ID a SZERZDS

298
ktszeres flrendeltje, amennyiben az utbbi egyedben tallhat a Kts-dtum s a Lejrat-
dtum szerepnvpros.
Amint ltjuk, ebben az esetben az id kapcsol tulajdonsgokra kapcsolattpusok plnek, s
gy az id valban rinti az adatmodell mind az t szerkezeti tnyezjt. A megolds elnye pedig
az, hogy automatikusan rvnyesthet a kt egyed kztti hivatkozsi integrits. Csak olyan ttel
vihet a SZERZDS egyedbe, amelyben a dtumok tartalmai az ID (Id) rtkeiknt is
lteznek. Ezt a modellezsi megoldst akkor is rdemes megfontolni, ha esznk gban sincs
megvalstani az ID egyedtpust s annak kapcsolatait.
A modell szerkezeti felptse lesz vilgosabb, ami megknnyti az elemzst.

19.5.2 Esemny, vltozs, llapot

Az esemny fogalmat ktfle rtelemben hasznljuk az adatmodellezsben. Vannak olyan


jelensgek, amelyek eleve esemny jellegek. A 12.5 bra KR egyedtpusa ilyen jelensget
tkrz. Sajnlatos mdon az adatkezelk nem tmogatjk az egyedtpusok esemny/nem-esemny
tpusnak megfelel minstst sem. Pedig a ktfle egyed mskppen viselkedik.
Az adatmodellezsben nagy szerepe van az egyedek n. letciklusnak. Az adatbzisok
egyedei valamikor megszletnek, esetleg megvltoznak, majd idvel meghalnak. Kovcs Rzsa
kocsitulajdonos lett (hozzads); lakcme mdosult (aktualizls); majd eladta a kocsijt (trls).
Az esemny jelleg egyedtpusokra (KR) nem vonatkozhat aktualizls, mert az esemny egy-
szer gy trtnt meg, ahogyan a dolog esett. (Ismt elmondjuk, hogy a hibajavts csak technikai
rtelemben vltoztats, fogalmi skon nem az. Mert nem magval a jelensggel trtnt valami.)
A fentiekbl kvetkezik, hogy az esemny jelleg egyedtpusoknak mindig kell, hogy legyen
egy, az esemny bekvetkeztnek az idpontjra utal, az Id domjn szerepneveknt szolgl
illetve az ID egyedtpushoz kapcsol dtum tulajdonsga. Ennek - s az egyed sszes tbbi
tulajdonsgnak - a tartalma mindig egyszeres s sohasem mdosulhat.
Ezzel szemben a nem-esemny jelleg egyedtpusokhoz ktfle tulajdonsg ktdhet. Az
egyik vltozhat, a msik nem. Pldul a remnytelen ksrletezseket kizrva szerintnk a
Szemly-neme tulajdonsg (frfi s n) sohasem vltozhat, szemben a lakcmmel. Most ne
beszljnk arrl, hogy a tervezk rengetegszer megsrtik azt a szablyt, hogy egy egyed azonost
tulajdonsgnak - s gy termszetesen annak rszeinek - mindig stabilnak, vltoztathatatlannak
kellene lennik. Azt is csak futlag emltjk, hogy a szemantikval nem bven elltott mai
adatkezelkben nincs md az attribtumok stabil/instabil - vltoztathat/nem az - minstsre.
Nagyobb baj az, hogy a fejlesztk s a felhasznlk nem gondoljk t azt, hogy melyik ismeret
vltozhat s melyik nem. Ennek legfbb oka az, hogy a technikai javtsokat egy kalap al veszik -
mivel egy rutinnal kezelik - a vals vltozsokkal. Ugyanaz a program kpes az elrt Frint utca
karaktersort a Forint utca rtkre javtani, mint a Peng kz j tartalomra mdostani. Mivel
a fogalmi rtelemben nem vltoztathat tulajdonsg betsort is be lehet rosszul tni s ppen
azrt azt ki kell tudni javtani, a technikai s az rdemi trs klnbsge eleve elhomlyosul.
A statikus szemlletbl kvetkezik, hogy a valdi esemnyek clszer modellezsre sem
kerl sor. Most tallkozunk az esemny sz msodik rtelmvel. Esemny a jelensg szletse,
mdosulsa, megsznse. Az els s az utols esemny nyilvn csak egyszeres lehet, mg a
mdosuls tbbszrs. Rengeteg hibt lehet elkvetni, ha nem figyelnk erre a klnbsgre.
A legcsacsibb megolds az idtartam modellezse az idpontok helyett. Volt alkalmunk
tallkozni olyan adatbzissal, amelyben a szemly letkor nev tulajdonsga szerepelt. Ez az adat
minden pillanatban vltozik, teht alkalmazsa a nem-vltoz Szletsi-dtummal szemben
hallos bn. (Persze itt is mrlegelnnk kell. Pldul egy statisztikai felmrs esemny jelleg -
soha nem vltoz - egyedtpusokat involvl. Kovcs Rzsa az X adatgyjts idejn Y ves volt.
Ez nem-vltoz tny. Ezrt a felmrsekben elfordulhat az letkor nev tulajdonsg.)

299
Gyakori problma az ismtldsek elhagysa. A tervez az egyedben a Vltozs-oka s a
Vltozs-dtuma tulajdonsg-prost alkalmazza. Kovcs Rzsa ekkor (dtum) kltztt el (ok) a
Forint utcbl. Ez a megolds ktszeresen rossz. Egyrszt Rzsa tbbszr is lakhelyet vltoztathat
(az ok ugyanaz, a dtum ms). Msrszt neve is mdosulhat az elkltzs napjn (a dtum
ugyanaz, az ok ms). A tervez nem veszi figyelembe, hogy a vltozs a jelensg ismtld
csoportja, mind a vltozs trgyt (tulajdonsg), mind annak keltt illeten. gy aztn az ese-
mnyt rgzt adatok (vltozs oka s dtuma) maguk is mdosulhatnak. A vgeredmny: a kt
adat senkinek semmi hasznos ismeretet sem nyjt. A vltozsi indok s keltezs csak a legutols
rtket tartalmazza. Az adatmodell tovbbra is statikus, mert csak az aktulis llapotra utal.
A fejlesztk egy rsze az id dilemmjt a megrzssel, az archivlssal prblja feloldani.
Nem-tudatos, sztns, megoldssal llunk itt szemben. Flrerts ne essk: semmi bajunk sincs
az archivlssal. Csak azt akarjuk kifejteni, hogy az technikai - fizikai szint - megolds. Nem
ptolja az id fogalmi szint modellezst. Ugyanezrt nem foglalkozunk az n. idblyegzkkel
(angolul: time-stamp) sem. Ezek a trolt fizikai ttel kezelsnek az idpontjt mutatjk s nem a
jelensg vals vltozsnak az idejt rgztik.
A vltozsok helyes modellezshez azt kell megrteni, hogy a vltozsok maguk is
ismeretekkel tkrzend jelensgek. Tipikusan jellemzi ket a vltozs ltal rintett egyed
(SZEMLY/Kovcs Rzsa); a mdosult ismeretfle (Lakcm); az esemny dtuma; a rgi (Forint
utca) s az j (Peng kz) tulajdonsgrtk. Ha az esemnyeket valban gy modelleznnk, akkor
a kvetkez kpet kapnnk:

19.6 plda

SZEMLY (Szemly-azonost, ..., Lakcm)


SZEMLY-LAKCMVLTOZS (Szemly-azonost+Dtum, Rgi-lakcm, j-lakcm)

Ez a megolds tbbfle ktsget breszt. A kt egyedtpus egytt is redundns, a vltozsi


egyed nmagban is az. A Lakcm tartalma nyilvn azonos az j-lakcm-mel s a msodik j-
lakcm rtke megegyezik az els Rgi-lakcm tartalmval. Ezen knny segteni: mivel az j-
lakcm nyltan redundns, azt egyszeren elhagyjuk a vltozsi egyedbl. Ezzel viszont egy jabb
bajt generlunk. Mgpedig azt, hogy a lakcmek kezelse nem lesz homogn. A rgi lakcmeket a
msodik egyedbl, az aktulisat pedig az alapegyedbl kell elkeresni.
Azutn fellp egy mg komolyabb problma. Egy jelensgnek szmos olyan ismerete lehet,
ami vltozik. Ebbl az kvetkezne, hogy a SZEMLY-hez tbb vltozsi egyedet (pl. SZE-
MLY-CSALDI-LLAPOTVLTOZS) kellene kapcsolni. Tegyk fel, hogy a szemlyeknek
hszfle adata vltozhat. gy azt kikeresni, hogy egy adott napon mi is jellemezte Kovcs Rzst,
meglehetsen knyelmetlen lenne, hiszen 21 egyedben kellene tallzni (hsz vltozsiban s a
vltozatlan adatokrt az alapegyedben).
Ezt a problmt ktfle mdon lehet feloldani. Elrebocstjuk, hogy mindkt megolds tk-
letlen s egyelre a modellezs-elmlet nem ismer kielgt mdszert a vltozsok tkrzsre.
Vannak, akik az llapot-modellezs hvei. A jelzett problmt gy oldjk fel, hogy a 19.7
pldnak megfelel struktrt alkotnak.

19.7 plda

SZEMLY (Szemly-azonost+Dtum, ..., Lakcm, Vltozs-ok)


Ez a vltozat elvileg tbbszrsen is hibs. Kovcs Rzsa egyetlen vals jelensg, teht egy
tkrkpnek (egyed-elfordulsnak) kellene lennie az adatbzisban. Viszont ez a SZEMLY
egyed tbb - dtumonknt egy - elfordulst tartalmaz ugyanarra a szemlyre. Az csak rszben
baj, hogy egy napon tbbfle vltozs is fellphet. Ezeket a sokszoros vltozsokat nem szabad a

300
Vltozs-ok sszetett kdolsval (pl. 1=lakcm-, 2=nv-, 9=lakcm- s nvvltozs) feloldani.
Ilyenkor a Vltozs-ok ttelt az azonost rszv kell tenni. Mindez persze nem segt azon, hogy
a nem-vltozott, de vltoztathat adatokat tbbszrsen troljuk. Radsul az egyed csak els
normlformj, hiszen a szemly nem-vltoztathat tulajdonsgai (pl. Nem, Szletsi-dtum)
rszlegesen fggnek az sszetett azonost els rsztl.
Az llapot-modellezs gyakorlati knyelmetlensgeket is okoz. Az nem nagy gond, hogy az
aktulis - legutols - llapotot tbb kzl kell kikeresni procedurlisan. Komolyabb baj, hogy az
egyedtpus elforduls-halmaza tbbszrsre duzzad s ezltal jelentsen megn a kezelsi id.
Ha a mltbeli adatokra csak ritkn, a jelenlegire gyakran van szksgnk, akkor az llapot-
modellezs nagyon rossz hatkonysgra vezet.
Az elmondottak miatt sokan az esemny-modellezs mellett voksolnak. Ebben a vltozatban
a modellrszlet a 19.8 plda mintjt kveti:

19.8 plda

SZEMLY (Szemly-azonost, ..., Lakcm)


SZEMLYVLTOZS (Szemly-azonost+Dtum+Vltozs-ok, Rgi-adat)

Ez a megolds sem tkletes. Elvileg azrt nem az, mert a Rgi-adat nev tulajdonsg rtke
inhomogn. Hol lakcmet, hol csaldi llapotot, hol mst jelent. A Vltozs-ok utal az rtk
tartalmra. gy nem teljesl az egy ismeret = egy nv elve. Felttelesen - vagyis procedurlisan -
lehet csak kezelni a Rgi-adat tartalmt. Gyakorlati nehzsgek is fellpnek. Ha azt akarjuk
megtudni, hogy melyek voltak Kovcs Rzsa adatai egy mltbeli napon, akkor tbb vltozs
egyed-elfordulst kell kikeresni. Radsul nemcsak a vonatkoz dtum szerintieket, hanem
esetleg a korbbiakat is. Rzsa X napon kltztt el s az X-Y napon vltoztatott llst. Tegnap
is j munkahelye lett. Ahhoz, hogy megismerjk Rzsa X napi munkakrt, el kell keresnnk az
X-Y nappal azonostott egyed-elfordulst is.
Amint ltjuk, a vltozsok modellezsre nincsen kielgt megolds. Ezrt nem tudunk
minden helyzetben alkalmazhat mdszert ajnlani. Tekintettel arra, hogy a mltbeli adatok
kztti keresgls ltalban ritkbb, mint az aktulis ismeretek irnti igny s nem jellemz,
hogy egy jelensgnek minden rgi ismeretre egyszerre vagyunk kvncsiak, inkbb a 19.8 plda
megoldsa fel hajlunk.
Bizonyos krnyezetekben ennek a vltozatnak a generalizlsa is megfontoland. Sokszor
alkalmaznak gynevezett trtneti (angolul: history) egyedtpust, amely egy helyen rgzti a
klnbz egyb egyedtpusokra vonatkoz esemnyeket a 19.9 plda mdjn:

19.9 plda

ESEMNY (Egyedtpus+Egyedazonost+Dtum+Vltozs-ok, Rgi-adat)

Ha tucatnyi egyedtpusunk van, amelyek mindegyike vltozkony, akkor ugyanannyi X-


VLTOZS egyedet is fel kellene venni a modellbe. A proceduralits - egybknt nem meg-
engedhet - nvelsnek a bekalkullsval a modellt az egyetlen (vagy nhny) trtneti egyed-
tpus bevezetsvel kivtelesen egyszersteni lehet. Ez az egyed az ismeret ngy dimenzijt az
tdikkel, az idvel tvzi. Utal a megvltozott egyed tpusra (pl. SZEMLY), a konkrt elfor-
dulsra (Kovcs Rzsa), a tulajdonsg tpusra (Vltozs-ok=Lakcm), a vltozs idpontjra
(Dtum) s a volt rtkre (Rgi-adat).
Azt mindenki lthatja, hogy az ESEMNY egyedtpus kezelse kellemetlenl sszetett.
Viszont ennek a megoldsnak van egy hallatlan elnye. Az llapot- s esemny-modellezs
felttelezi, hogy a jelensg megvltozott ismeretnek a szemantikai lnyege azonos legyen a

301
korbbival. Ha mst rtnk ma Lakcm-en, mint tegnap - pldul a Lakcm csoport s megvltoz-
tatjuk a felptst -, akkor a 19.6 s 19.7 plda megoldsai nem alkalmazhatk. A generikus
ESEMNY egyedtpusban viszont az is rgzthet, hogy a SZEMLY-nek korbban volt egy ma
mr nem hasznlt vagy rtelmben megvltozott adata. Ezrt a kiforratlan szerkezet, struktur-
lisan is mdosul adatbzisok esetben a korbbi llapotok/esemnyek megrzsre kivlan
alkalmas a trtneti egyedtpus.
Vegyk szre, hogy ez a megolds nem egyenrang az archivlssal. Az archv llomnyokat
ugyancsak archivlt programokkal kell feldolgozni. Ha maguk a programok mdosulnak a
megvltozott adatszerkezet szerint, akkor a rgi programokat kell elkeresni a korbbi struktrj
ismeretek kezelsre. Ezzel szemben a trtneti egyed kezelsre rhatunk egy viszonylag
egyszer ltalnostott programot. Persze mindennek az a felttele, hogy a rgi s az j - immr
ms rtelm - ismereteket pontosan el tudjuk klnteni. Ha ma mst jelent a Lakcm, mint
tegnap, akkor a trtneti egyedben ne legyen azonos a hivatkozsuk.
Mieltt az id modellezsvel kapcsolatos gondolatokat lezrnnk, ki kell trnnk a korltok
egy specilis fajtjra. Az tmenet korltairl (angolul: traversing) van sz, amely az
llapotokkal kapcsolatos s amelyekrl a tervezk sokszor elfeledkeznek.
Tipikus pldaknt a csaldi llapotot szoktk emlteni. Senki sem lehet zvegy, ha eltte nem
volt hzas. Csak akkor lehet elszr hzas, ha korbban nem volt az. Ms: egy szerzds nem
szntethet meg, mieltt megktttk volna. Ha tmenetileg szneteltetett llapotban van, akkor
jraleszthet, de ha vgleg megsznt, akkor nem. Az id s az llapot visszafordthatatlan
prosairl van itt sz, amelyeket az adatmodellben kellene korltknt meghatrozni. Ezt sokszor
nem tesszk meg - s adatbzisaink inkonzisztenss vlnak.

19.6 Modell-sablonok

Az adatbzistervezs bizonyos rtelemben hasonlt a mrnki munkra. (Az angol


engineering sz tervezst jelent.) Vannak j s rossz mrnkk, figyelmes s figyelmetlen adat-
bzistervezk. Az elkpek, a rszmintk, a sablonok hasznlatban mutatkozik meg a klnbsg.
A rossz mrnk, a figyelmetlen tervez visszal a sablonokkal. A korbban bevlt meg-
oldsokat erlteti olyan helyzetben is, ahov azok nem illenek. Bevalljuk, hogy kicsit flnk az
gymond rutinos szmtstechnikusoktl. X.Y. mr a sokadik kszletgazdlkodsi adatbzist
tervezi. Elveszi korbbi sablonjait. Anlkl, hogy a konkrt helyzetet elemezn, a rgi mintk
alapjn rgtnz, mert azt a rszletet gy szokta megoldani, hogy... Radsul az reg harcik az
els pillanatban nagyon is meggyzen tudjk eladni a rgi megoldsokat. A felhasznl mg
szbe sem kapott, mris van egy rossz adatbzisa. Olyan lova, amit nem is akart.
A rutin sohasem ptolhatja a krltekintst, a figyelmessget, a jelensgek lnyegnek
mindenkori pontos feltrst. Ugyanakkor nagy csacsisg lenne az is, ha nem hasznlnnk ki a
tpustervek lehetsgeit. Ha nem lnnk a jl bevlt sablonokkal. Szemben a gyakorlott
tervezvel, aki tartalmilag is a sajt elkpzelseit erlteti, a kezd fejleszt nem ismeri fel s nem
alkalmazza az ltalnos formai-szerkezeti mintkat. Minden egyes helyzetben, j feladatnl jra
feltallja a spanyolviaszt. Ezrt nhny tippel szolglunk a szmra.
1. sablon: Keresni kell az adatmodellben az alapvet termszetkben azonos vagy hasonl
jelensgeket. Ha a modellben van a SZEMLY mellett ORVOS, ZLETKT, TANR, ZENE-
SZERZ vagy hasonl nev egyedtpus, akkor lehet, hogy valami nem stimmel. Ilyenkor lni kell
a specializci sablonval. Ha van Szemlynv s Orvosnv nev adatunk, akkor adatbzisunk
redundns s inkonzisztens lesz. A doktorn frjhez megy s nevt megvltoztatja, mint orvos, a
vltozst pedig nem vezetjk t az ltalnosabb SZEMLY egyedben - vagy ppen megfordtva.

302
2. sablon: Kutassunk az adatmodellben az azonos mintk utn. A vevnek is van neve, a szl-
ltnak is. A vevnek is van cme, szmlaszma stb., a szlltnak is. Radsul a vev ms helyzetben
lehet szlltnk is. Ekkor elvesszk a generalizci sablont. Nem hagyjuk magunkat meg-
tveszteni a minstett megnevezsektl (pl.: Vevnv/ Szlltnv, Vevcm/ Szlltcm stb.).
3. sablon: Figyeljnk a homogenitsra. Ha brmilyen homogn hlzat modellezsrl van
sz, akkor biztosan a csaldfa-egyed megoldshoz kell nylnunk. Helyettest cikkek, utak,
csatornk, ltalban vezetkek, egymsba fond projektek, tbbszrs clra adott pnzek, term-
szetes szemlyek rokoni kapcsolatai, alternl szlltsi tvonalak stb. esetben a csaldfa-egyed
holtbiztos megolds. Ezzel szemben figyelnnk kell a hierarchikus jellegre. A cg bels, fix
szervezeti felptse, a rszletekben fizetend szmla, a hz laksai illetve a laksok helyisgei
stb. adott esetben a tipikusan alkalmazhat visszamutat kapcsolat megoldst kvetelik meg.
4. sablon: A tbbszrs kapcsolat is azonnal adja magt. Olyan tbbrtk tulajdons-
gokrl van sz, amelyek nem valdi ismtlsek. Nem ugyanazt jelentik s ezrt nincs szksg
kln egyedtpusra a modellezskhz. Lssunk csak pr pldt. A szemlyeknek pontosan csak
egy lland s egy ideiglenes lakcmre vagyunk kvncsiak. A kt cmben lv Irnytszm
ktszeresen kapcsol a TELEPLS egyed fel, mert a telepls nevt csak ebben az llomnyban
fogjuk tartani. A ZENE egyedtpusban utalnunk kell a zeneszerzre s a szvegrra. Ha a
ZENE/zeneszerz s a ZENE/szvegr sszefggst nem akarjuk kln ismerettel is jellemezni
(pl. jogdj), akkor a SZEMLY - ZENE ktszeres kapcsolatot fogjuk alkalmazni. (Ha a viszony-
hoz kln ismeret is ktdik, akkor mris ott van a msik sablon: az M:N-es sszefggst
kifejez kapcsolegyed.) Ha modellezzk az idt, akkor a RENDELS (Rendelsszm, ...,
Rendelsdtum, Szlltsdtum) ketts kapcsolata a DTUM egyed fel kzenfekv.
5. sablon: Itt egy jabb titkot rulunk el. Adatbzisaink tele vannak gynevezett ktoszlopos
(angolul: two-column) tblkkal. Ezek a rgi gyakorlatbl tvett kd-megnevezs prosokat rg-
ztik. Fizetsi-md-kd/Fizetsi-md-megnevezs. Vltozs-oka-kd/Vltozs-oka-megnevezs.
Terlet-jellege-kd/Terlet-jellege-megnevezs stb. Vegyk szre, hogy a brmilyen kd mr
maga sem igazndi fogalmi szint tnyez. Ezrt a mostani mondanivalnk kicsit kilg a
modellezs tmakrbl. De ha mr itt tartunk, akkor nem mulaszthatjuk el a helyzetre vonat-
koz tippnket.
A bemenet gyorsasgt s ellenrizhetsgt javtani akar kdok s a kimenet emberi
lvezhetsgt szolgl megnevezsek prosai teszik ki az aprlkosan megtervezett adatmodell
egyedtpusainak a felt. A tervez kszt FIZETSI-MD, VLTOZS-OKA s TERLET-
JELLEGE egyedtpusokat. Ezt ktszeresen is feleslegesen teszi. Egyrszt azrt, mert a modellt
teljesen hibavalan elbonyoltja, hiszen - mint emltettk - a kdok nem valdi fogalmi tnye-
zk. Ezrt az ilyen megolds elvileg hibs. Msrszt azrt, mert az effle legyedtpusok
rettenten lelasstjk az adatkezelst. Az rdemi adatok kezelsi idejt hatalmasan megnveli a
kd-megnevezs tblkban val keresgls. Nem azrt, mert ezek a tblk nagyok, hanem azrt,
mert az alapllomnyoktl el kell mozogni hozzjuk.
Ezrt a szakrtk azt javasoljk, hogy a ktoszlopos tblkbl egy (vagy kevs) hrom-
oszloposat kell kszteni. Pldul ilyen mdon: KDOLT-ISMERET (Kdtpus+Kdrtk,
Megnevezs). Ez a tbla az adatkezels kezdetn a memriba tlthet s gy a sokkal nagyobb
lemezhozzfrsi-id helyett a trkezelsi-id alatt elrhet.
Nincs lehetsgnk arra, hogy az adatmodellezs sablonjait - tipikus megoldsait - tovbb
rszletezzk. Ez nincs is szndkunkban. Minden terveznek magnak kell kialaktania a szok-
sait a 19.1 pontban emltett fegyelmezett fantzia szerint. Ezt a pontot azzal a kittellel zrjuk,
hogy a flig-lusta tervez a j tervez. Az, aki keresi a fontosat, az jat, a specilis jelentst, de
nem minden helyzetben tallja ki a mr rg ismert megoldsokat. Aki ismeri a sablonok
alkalmazsnak az arany kzptjt.

303
19.7 Szinttveszts

Nem bcszhatunk el ettl a fejezettl a legslyosabb modellezsi hiba emltse nlkl. Az


ismereti szintek sszekeversrl, vgeredmnyben az adatmodell lnyegnek a meg nem
rtsrl van sz.
Az adatbzis az egyfle elrendezs szerint, egyidejleg s egyttesen, klnleges technikai
beavatkozsok nlkl kezelhet ismeretek egyttese. Az egyfle elrendezs szerint kittelnek
semmi kze sincs a szoftverhez. Ugyanazon az adatbzison tbbfle kezelvel is dolgozhatunk. A
lnyeg az, hogy adott az egyetlen s egyfle mdon szervezett adatmodellnk. Ellenplda: A
trsadalmi biztostsokat pr ve teljesen ms ismeretek jellemeztk, mint ma. Ms volt az alapok
elosztsa, felhasznlsa, elszmolsa. Ezrt sz sem lehet arrl, hogy ltezik egy folyamatos
trsadalombiztostsi adatbzis. Volt valamikor egy ilyen cl adatrendszer, ma pedig van egy
msik, amelynek az elbbihez az gadta vilgon semmi kze sincs. Az adatbzisok s modelljeik
is szletnek, majd meghalnak...
Nem tekinthet egy adatbzisnak az a hasonl vagy azonos ismereteket tartalmaz kt
adattrol rendszer sem, amelynek az elrendezse - az adatmodellje - klnbzik. Ha tavaly az X,
idn az Y mdon szerveztk meg biztostsi ismereteinket, gy a kt adatrendszer akkor sem
kpez egy adatbzist, ha ma ugyanazon a szmtgpen, ugyanazzal a kezelvel manipulljuk a
kt adathalmazt. Az adatbzis s az adatmodell klcsns s egyrtelm viszonyban ll
egymssal. Ha ms a szerkezet, akkor ms az adatbzis is.
Nem lnyegtelen az egyidejleg s egyttesen kittel sem. A technikai fogyatkossgok
miatt sokszor knyszerlnk arra, hogy az elvileg egysges adatbzis rszeit gy ismteljk meg
(idegen szval: replikljuk) tbb szmtgpen, hogy a rszek egyidej s egyttes kezelsre
nincs md. Van egy kzpontunk s vannak lenyvllalataink, fikjaink, kihelyezett rszlegeink.
Nincs viszont on-line kapcsolatunk. Ezrt nem tudjuk a rszlegben megismtelt, a kzpontban is
trolt ismereteket egyidejleg s egyttesen kezelni. Pldul ugyanabban a minutban karbantar-
tani. Mindennek semmi kze sincs a szoftverhez. Nem az a baj, hogy a kzpontban s a fikban
ms adatkezel dolgozza fel az azonos felpts, azonos modell (!) adathalmazt. Hanem az,
hogy ezt nem egyidejleg s egytt teszik. Az adatbzis - egy elvt srtve valjban tbb adat-
bzisunk van. Nem kell rszleteznnk, hogy ebbl milyen ismereti ellentmondsok fakadhatnak.
A technika vaskemny korltai ellen a modellez semmit sem tehet. Viszont elkerlhetn a
nem is olyan szigor kelepcket. Azokat, amelyekben sajt maga fogja meg nmagt. Most
trnk t a szinttvesztssel kapcsolatos valdi mondanivalnkra.
Lttunk szmos olyan gymond adatbzist, amelyben az ismeretek osztlyozsa - rd s
mondd - adathordoz szerint trtnt. Az els floppy az X megye, a msodik az Y megye stb.
adatait hordozza. Az adatbzis szerkezetnek - st: modellnek - titullt valamijben, annak egyed-
tpusaiban (?) utals sem trtnt a megyre. Ha az X floppy-t teszik be, akkor annak az adatait, ha
az Y-t, akkor az azon rgztett ismereteket dolgozzk fel. Magyarul: a lemezke fizikai cme
jelenti az azonostst. Az adatbzis akkor mkdik, ha klnleges technikai beavatkozsra
kerl sor, azaz bedugjk, tmsoljk a floppy-t. No ez kuruzsls, berhels, mtstechnika.
Minden, csak nem adatbzis.
Ezzel rdemi mondanivalnkat lezrtuk. Kvetkezzk a puding prbja.

304
20. ELEMZS S DOKUMENTLS

20.1 Egy mintaplda

Eddigi szoksunkkal ellenttben most nem runk bevezet pontot. Azonnal a dolgok kzep-
be vgunk. Az olvas szveskedjk ttanulmnyozni az aprcska mintapldt s prblja meglla-
ptani az abban rejl hibkat. Majd a kvetkez pontban elmondjuk sajt elemzsi eljrsunkat is.
A tervet a 20.1 plda mutatja. Az utols sorban a | jells azt fejezi ki, hogy a jel utni ttelek
az azt megelz tnyez szerepnevei.

20.1 plda

CIKK (Cikkszm, Megnevezs, Egysgr, Sly, rucsoport-jel, Termk-kd,


Raktrkd)
NORMLIA (Normliakd, Nv, Egysgr, Sly, rucsoport-jel, Raktrkd)
RUCSOPORT (rucsoport-kd, Megnevezs)
TERMK (Termkkd, Befogad-cikkszm, Bepl-cikkszm, Darab)
RAKTR (Raktrkd, Raktrcm, Raktrnv, Fraktrkd)
FRAKTR (Fraktrkd, Raktrcm, Raktrnv)
ZLET (zletkd, Boltcm, Boltnv, X...)
KSZLET-1 (Cikk-kd+Raktrkd+Dtum, Mennyisgi-egysg, Mennyisg, rtk)
KSZLET-2 (Normliakd+Raktrkd+Dtum, Mennyisgi-egysg, Mennyisg, rtk)
BEVTEL (Diszpoziciszm+Cikkszm, Bevtel-dtum, Egysgr, Mennyisg, rtk,
Raktrkd, Kszlet)
KIADS (Diszpoziciszm+Cikkszm, Kiads-dtum, Egysgr, Mennyisg, rtk,
Raktrkd, Kszlet)
Cikkszm | Normliakd, Befogad-cikkszm, Bepl-cikkszm

Cgnk szmtgpes berendezseket s alkatrszeket forgalmaz. A cikkeket rucsoportokba


soroljuk. A csoportokat csoportkddal azonostjuk s megnevezskkel rjuk le. A cikkeket cikk-
szm, megnevezs, egysgr s sly jellemzi. A cikkszm els kt karaktere utal az rucsoportra.
Az alkatrszekrl tudnunk kell, hogy melyik berendezshez tartoznak s azokbl hny szksges
egy termkhez. Ezeket az ismeretet vezetni kvnjuk az n. normlikrl - csavarok, alttek,
madzagok stb. - is.
ruinkat clspecifikus raktrakban troljuk. Vagyis egy-egy ruflt csak egy helyen tro-
lunk. Kivtelt jelentenek a normlik, amelyek minden raktrunkban megtallhatk. A raktrt
kd azonostja, nv s cm rja le. Lerakataink csillagrendszerek, vagyis a terleti raktrak egy-
egy kzponti raktrhoz tartoznak.
Specilis raktrnak szmtanak az zletetek, ahol cikkeinket forgalmazzuk. Az zletet
szmos egyb adat is jellemzi.
Termkeinkrl napi kszletnyilvntartst vezetnk. A berendezsekrl s alkatrszekrl
darab, a normlikrl csomag szerinti nyilvntartst tartunk. A bevteleket s kiadsokat diszpo-
zici- s cikkszm azonostja. r, mennyisg s rtk rja le. Nhny esetben az eladsi s a
beszerzsi r kedvezmnyes.

305
20.2 A mintaplda tartalmi hibi

A tartalmi problmk elemzst mindig a valsghsg kritriumnl kezdjk. Vagyis azt


vizsgljuk, hogy a ttelek megfelelnek-e a tnyleges jelensgeknek illetve absztrakcijuk - tpusba
sorolsuk - helyesen trtnt-e. Mivel nhny esetben az r kedvezmnyes, a tulajdonsgok kzl a
kt utols egyed Egysgr ttele hamisan tkrzi a valsgot. A kt egyedbe a Beszerzsi-r s az
Eladsi-r illik. (Ezeket termszetesen csak akkor tltjk ki, ha az r eltr az Egysgrtl.) Ezt a
problmt formai ton, normalizlssal is felfedezhetjk. A BEVTEL s a KIADS formailag
rszleges fggst (Cikkszm Egysgr). tartalmaz. Mivel azonban a CIKK egyeddel szemben
ebben a kt egyedtpusban az Egysgr valjban nem redundancia, hanem homonima, ezt a
tulajdonsgot nem tvoltjuk el az egyedekbl, hanem j megnevezseket alkalmazunk.
A terv tves, amennyiben a NORMLIA egyedben szerepel a Raktrkd. A normlikat a
lers szerint tbb raktr is trolhatja. Ezrt a plda vagy helytelenl tkrzi a valsgot, vagy
pedig a NORMLIA egyedtpus nem-normalizlt, mert abban a Raktrkd ismtld adat. Ezt a
problmt is feltrhatjuk formai mdon. A KSZLET-2 egyedtpusban a Normliakd s a
Raktrkd hls viszonyt mutat, a NORMLIA egyedben viszont - a ltszat szerint - hierarchi-
kusat. Ez a bels kulcstrs tipikus esete.
A Cikkszm/Normliakd s a Megnevezs/Nv prostl eltekintve a CIKK s a NORM-
LIA adatai megegyeznek. Mi tbb, a Normliakd a Cikkszm szerepneve, vagyis az is egy cikk-
megjells. A tervez nem lt a generalizci lehetsgvel, vagyis rossz absztrakcit alkalma-
zott. A kt egyedtpus sszevonhat ppen gy, mint a kt KSZLET egyed is.
A kvetkez vizsglati szempont az egyrtelmsg. A Cikkszm/Cikk-kd illetve az ru-
csoport-kd/rucsoport-jel prosok szinonimk, amit a formlis kapcsolati hinyon is lthatunk.
A KSZLET-1 s az RUCSOPORT formailag nem kapcsolhat a CIKK-hez, az RUCSO-
PORT a NORMLI-hoz sem. Ha nem fedeztk volna fel a szinonimt, akkor a kapcsolat-
elemzsnl derlt volna ki a turpissg. (Amint ltjuk, a kritriumok sszefggenek. Adott esetben
az egyrtelmsg s a teljessg hinya egytt mutatkozott.)
A tulajdonsgok kztt - a vizsglatbl mr kiesett Egysgron kvl - szmos homonimra
bukkanhatunk. Ilyen a Megnevezs s a Mennyisg. Ezek ler tulajdonsgok, ezrt kzs nevk
csak bocsnatos bn, ami megfelel minstssel azonnal korriglhat. Viszont a Diszpozici-
szm is homonima. Ez a ttel kulcsrsz, s gy a Cikkszm-mal prosban srti az azonostk
egyedisgre vonatkoz szablyt, amely szerint kt egyedtpusnak (BEVTEL s KIADS) nem
lehet ugyanaz az elsdleges kulcsa.
Homonimaknt mutatkozik az rtk is. Ezzel azrt nem foglalkozunk, mert szrmaztatott
adatrl van sz, amely srti a plusz egy szablyt. Az rtk a mennyisgbl s az rbl - amely
egysgr esetn egy elrssel megkaphat a CIKK illetve a NORMLIA egyedbl - kiszmthat,
teht trolsra nem kerlhet sor sem a kszletekben, sem a mozgsokban. Ms lenne a helyzet,
ha a tervez jellte volna, hogy az rtk az adott egyedeket jellemzi, de azok trolsra nem
kerl sor. Ekkor a homonima-problma vals s tnevezsekkel kell pontostani a modellt.
A legcsnybb ttel a Kszlet. Ez a mozgs utni kszletet mutatja, teht valjban olyan
szinonima, amelynek tartalma a kt KSZLET egyed Mennyisg rovatval egyezik.
Most ttrnk a kvetkez kritriumra, a tartalmi teljessgre. Elmaradt a tervbl a Raktr-
kd | Fraktr-kd szerepnv megjells s emiatt formailag nem tudhatjuk, hogy a lerakat
melyik terleti kzponti raktrhoz tartozik. Persze ezt a hinyossgot a msik kritrium - a mini-
malits - vizsglata sorn is feltrhattuk volna. Ktszeresen szerepel a modellben a Raktrnv s
Raktrcm adat. Mivel a fraktr is egy raktr, a FRAKTR egyedre egyltaln nincs szksg;
a fraktrak adatait is trolhatjuk a RAKTR egyedben.

306
Mg komolyabb gond, hogy a modell egyszeren nem tkrzi azt a tnyt, hogy a boltokban is
van kszlet, vagyis az zlet is bizonyos rtelemben raktr. Ha mshonnan nem, onnan minden-
kppen szrevehettk ezt a bajt, hogy az ZLET egyed semmilyen ms egyedhez nem kapcsol-
dik. Itt pedig megtorpanunk. Mert az mgsem lenne helyes, valsgh, ha az zleteket raktrknt
modelleznnk. Hiszen az zletnek szmos egyb adata (X) van.
Itt a generalizci s specializci proshoz kell folyamodni. A RAKTR, FRAKTR s
ZLET egyednk mindegyike nvvel s cmmel elltva. Egszen prma megolds lenne, ha
alkalmaznnk egy generikus EGYSG egyedtpust s annak az altpusa, specializltja lenne a sok
sajtos adatot felvonultat ZLET. Bizonyos egysgekhez kapcsoldna KSZLET. Amivel meg-
oldannk azt a hinyossgot is, hogy a modell nem tkrzi az zletekbe, mint raktrakba trtn
bevteleket s kiadsokat...
Most elrkeztnk a minimalits aspektushoz. A rossz logikai redundancikat normaliz-
lssal fedezhetjk fel. A plda szerint a Mennyisgi-egysg (darab, csomag) kzvetlenl a
cikkeket jellemzi. Ehhez kpest a kt KSZLET egyed rszleges fggst mutat, mert a Cikkszm
egyedl is meghatrozza a Mennyisgi-egysget. Ezrt a KSZLET egyedekbl ki kell emelni ezt
a tulajdonsgot s azt t kell tenni a CIKK egyedbe. Ha eddigre mr nem jttnk volna r, akkor
a normalizls sorn azt is szrevennnk, hogy a BEVTEL s a KIADS egyedben a Kszlet
fgg a Cikkszm+Dtum+Raktrkd egyttestl. A kt egyed nem volt 3NF alakban, mert nem
minden meghatroz az egyed kulcsjelltje (v. a BCNF alakkal).
Utols lpsknt mg a rejtett fizikai redundancikra vadszunk. A TERMK szemmel
lthatan csaldfa egyedtpus akar lenni. ltalban gy illik, hogy a csaldfa azonostja az alap-
egyed kulcsnak a szerepneveibl lljon. Mivel most nem ez a helyzet, gyant fogunk. Az olvas
nem fedezhette fel, hogy a ktszeres ketts azonosts gynyr pldnyval ll szemben. Mivel a
Befogad-cikkszm+Bepl-cikkszm pros is alkalmas az egyed azonostsra, a Termkkd
felesleges. Nagyon gyakran elfordul, hogy a vgtermknek van egy cikkszma is s egy
termkazonostja is (Termkkd). Ez nmagban vve nem baj. A CIKK egyedben a Termkkd
nem alternl kulcs, mert nem minden cikk vgtermk. A TERMK-ben viszont a Termkkd s
a Befogad-cikkszm ugyanazt a dolgot jelli, srtve az egyszeres azonosts elvt.
Egy tovbbi problma: az lesszemek nyilvn szrevettk, hogy az rucsoport-jel a CIKK
egyedben implicit redundancit okoz, hiszen ez az ismeret a Cikkszm els kt jelvel meg-
egyezik. Ezrt ezt az adatot el kell tvoltani, mikzben a Cikkszm implicit csoportot explicitt
kell tenni.
Ezzel a plda elemzst befejeztk. Ezen a miniterven is lthattuk, hogy mennyi csacsisgot
kpes egy tervez elkvetni. Az eset jl mutatta, hogy a mechanikus normalizls rengeteget
segthet a hibk feltrsban, de csak akkor, ha a modellt elbb egyrtelmv tesszk. Vannak
viszont olyan - s tbbnyire slyosabb - problmk, amelyek csakis trtelmezssel, szemantikus
normalizlssal kszblhetk ki. Gondoljunk csak a TERMK helytelen kulcsra, vagy az
EGYSG fogalmnak a bevezetsre.
A 20.2 plda mutatja a feladat els - helyes, de igen hevenyszett - megoldst. A {} pros a
csoportokat, a | jel a szerepneveket, a jells az altpusokat, a sima vastag szedet a szrmaz-
tatott, de nem trolt adatokat jelzi.

307
20.2 plda

CIKK (Cikkszm, Cikk-megnevezs, Egysgr, Mennyisgi-egysg,


Termkkd, Sly, Egysgkd)
Cikkszm {rucsoport-kd, Cikk-sorszm}
RUCSOPORT (rucsoport-kd, rucsoport-megnevezs)
TERMKCSALDFA (Csaldfa-azonost, Bepl-darab)
Csaldfa-azonost {Befogad-cikkszm+Bepl-cikkszm}
EGYSG (Egysgkd, Egysgnv, Egysgcm, Fraktrkd)
Egysgkd | Fraktrkd, zletkd
ZLET (zletkd, X...) EGYSG
KSZLET (Kszletazonost, Kszlet-mennyisg, Kszletrtk)
Kszletazonost {Cikkszm+Egysgkd+Dtum}
Kszletrtk = Kszlet-mennyisg*CIKK(Egysgr)
BEVTEL (Bevtelazonost, Kszletazonost, Bevteli-r, rtpus, Bevtel-
mennyisg, Bevtelrtk)
Bevtelazonost {Bevtel-diszpoziciszm+Cikkszm}
Bevtelrtk = Ha rtpus=standard, CIKK(Egysgr)*Bevtel-mennyisg,
egybknt Bevteli-r*Bevtel-mennyisg
KIADS (Kiadsazonost, Kszletazonost, Kiadsi-r, rtpus, Kiads-
mennyisg, Kiadsrtk)
Kiadsazonost {Kiads-diszpoziciszm+Cikkszm}
Kiadsrtk = Ha rtpus=standard, CIKK(Egysgr)*Bevtel-mennyisg,
egybknt Kiadsi-r*Bevtel-mennyisg

20.3 Az adatmodell dokumentlsa

Most pedig elmondjuk, hogy a fenti megolds mirt hevenyszett. Az adatmodell doku-
mentlsnak nagyon szigor szablyai vannak s a 20.2 plda nem tesz eleget ezeknek a
kvetelmnyeknek. Nzzk csak meg, hogy mikppen pl fel egy jl meghatrozott adatmodell-
dokumentci!
A terv els fejezete megadja az adatbzis nevt (pldul: RUFORGALOM), majd rviden
lerja annak cljt illetve krnyezett. Mondjuk gy: Az RUFORGALOM adatbzis a cgnk
sszes rszlege ltal forgalmazott termkeknek, az azokkal kapcsolatos kszleteknek s kszlet-
mozgsoknak, a termkek felptsnek s trolsi helyeinek az ismereteit rgzti. Clja az,
hogy...

308
rucsoport-kd Egysgkd

RUCSOPORT EGYSG
Fraktrkd

rucsoport-kd+ Cikkszm+ zletkd


Cikk-sorszm Egysgkd+
ZLET
Dtum
CIKK
KSZLET
Egysgkd

Befogad-cikkszm+ Bevtel-diszpo- Kiads-diszpo-


Bepl-cikkszm ziciszm+ ziciszm+
Cikkszm Cikkszm
TERMK CSALDFA
BEVTEL KIADS
Egysgkd Egysgkd
Dtum Dtum

20.1 bra: Az RUFORGALOM adatbzis-rszletnek a diagramja

A bevezet fejezetnek felttlenl tartalmaznia kell a modell Bachman-diagramjt. A mi


pldnkt a 20.1 bra mutatja. A diagramhoz rvid magyarzatot illik fzni fleg akkor, ha a
modellben vannak ktsgeket breszt tnyezk. Nagyon kevesen rtik meg pldul azt, hogy a
szervezeti egysgek sszevonhatk egyetlen egyedtpusba s a raktrakat, fraktrakat, zleteket
mr csak azrt is egy EGYSG-ben j tkrzni, mert klnben tbb KSZLET egyedtpusra
lenne szksg. A CIKK s az EGYSG kzvetlen kapcsolata is ktelyeket okozhat, mivel van
kzvetett kapcsolatuk is a KSZLET-en t. El kell ezrt mondani, hogy a berendezseket
specifikus raktrakban troljk s arra utal a kapcsolat, mikzben a normlik tbb raktrban is
fellelhetk.
Az els fejezetben utalni kell arra a Fggelkre, amely a lersokban, listkban s diagramo-
kon alkalmazott konvencionlis jellseket ismerteti. Az pedig termszetes, hogy a jl megszer-
kesztett tartalomjegyzken kvl a bevezetben is illik felsorolni a tbbi fejezet vrhat tartalmt.
A dokumentci kvetkez fejezetei nem ktttek, teht a most elmondottakat nem kell
szentrsnak venni. Mi ltalban az egyedtpusok listjt adjuk meg a msodik rszben. Ez nem
tvesztend ssze a rekordkpekkel. A listaszer felsorols az egyedtpusok nevt, rvid magya-
rz lerst, darabszmt, minstst stb. tartalmazza. Mindez a kezdetben fontosabb, mint az,
hogy milyen adatok is tartoznak az egyedhez. Lsd a 20.3 plda nem teljes felsorolst.

309
20.3 plda

CIKK A CIKK az ltalunk forgalmazott rukat jelenti. Ezek kztt


vannak szmtgpes berendezsek, alkatrszek s segdanyagok
(normlik).... A CIKK alapegyed. Minimum X, tlagosan Y,
maximum Z ttel nyilvntartsra van szksg.
...
TERMK CSALDFA Az ltalunk forgalmazott ruk felptst, szerkezett mutatja ...
...
ZLET Cgnk szervezeti rszlegeinek (ld. EGYSG) az altpusa, amely...

Az egyedlistt ltalban nevk ABC sorrendjben lltjuk ssze. Ez a tbbi tnyezre is


vonatkozik. Az adatmodellezs ebbl a szempontbl nem ismer olyan minstseket, hogy
fontosabb, vagy elbb stb.
A harmadik fejezetet a kapcsolattpusok listjnak szentelnnk. Az ugyanis rszletkrds,
hogy pldul a cikknek van-e neve. Bizonyra van; no s aztn? Sokkal lnyegesebb, hogy a cikk,
a kszlete, a bevtele s a kiadsa helyes sszefggsben ll-e egymssal. A kapcsolatlistban,
amely szintn ABC-szerinti, a fl- s alrendelt egyedtpus neve utn megadjuk a kapcsol
tulajdonsg nevt, a kapcsolat jellemzit (fok, opcionalits, minsts). Szemben az itteni 20.4
pldval, a kapcsolattpusokhoz is rvid lersokat fznk, amennyiben az kvnatosnak ltszik.
Termszetesen a korbban emltett Fggelkben elmondjuk, hogy mit is jelent az 1:N fok, a
K-K ktirnyan ktelez kapcsolat stb.

20.4 plda

RUCSOPORT - CIKK rucsoport-kd 1:N K-K birtoklsi


CIKK KSZLET Cikkszm 1:N O-K birtoklsi
CIKK - TERMKCSALDFA-1 Befogad-cikkszm 1:N O-K csaldfa
CIKK - TERMKCSALDFA-2 Bepl-cikkszm 1:N O-K csaldfa
EGYSG - CIKK Egysgazonost 1:N O-O birtoklsi
EGYSG - EGYSG Fraktrkd 1:N O-O visszamutat
EGYSG - KSZLET Egysgkd 1:N O-K birtoklsi
EGYSG - ZLET zletkd 1:1 O-K altpus
KSZLET - BEVTEL Kszletazonost 1:N O-K birtoklsi
KSZLET - KIADS Kszletazonost 1:N O-K birtoklsi

Mi a negyedik fejezetbe tennnk a tblakpeket, vagyis az egyed-tulajdonsg-viszony listkat.


Termszetesen nem a 20.2 pldban mutatott mdon. Az ilyen tmr brzolsra csak az elem-
zsnl van lehetsg s a szakknyv terjedelme miatt szksg. Egy valdi dokumentciban a
tulajdonsgok szerepre, opcionalitsra, egyedisgre, fogalmi szint brzolsra, az egyedhez
kttt specilis validlsra stb. is utalni kell. Egy dokumentlsi rszletet mutat a 20.5 plda.

20.5 plda

CIKK

Tulajdonsgnv Adattpus Hossz Szerep Opcionalits Egyedisg Megjegyzs


Cikkszm Csoport Kulcs Ktelez Egyedi
rucsoport-kd Karakteres 2 Kulcsrsz Ktelez Egyedi
Cikk-sorszm Numerikus 5 Kulcsrsz Ktelez Egyedi
Termkkd Karakteres 8 Ler Opcionlis Egyedi 1)

310
Tervezi rossz szoks, hogy az alkot a tblakpben, netn ppen a tulajdonsg nevben
sorolja fel a megengedett rtkeket s az egyb korltokat. Ez persze megtri az ttekintst. A
helyes megolds az, hogy a lista utn rjuk le a megjegyzseinket. Pldul a validlsra vonatkoz
kitteleinket. Ezt se tegyk meg akkor, ha a megjegyzs a tulajdonsgra mindig - egyedtl fgget-
lenl, vagyis minden egyedben - vonatkozik. Ezrt nem igazn profi megolds, ha most az 1)
megjegyzs alatt elmondjuk, hogy a Termkkdot akkor kell kitlteni, ha az rucsoport-kd
xy-xz rtket vesz fel...
A dokumentci tdik fejezetben kellene ezt megtennnk, ahol egyszeresen - egyedektl
fggetlenl - adjuk meg a tulajdonsgok listjt. Ez nevet, rvid lerst, ltalnos brzolst s
validlst, abszolt szerepet tartalmaz. Br a tulajdonsgstruktra a 18.1 bra szerint kln
modellezsi tnyez, annak nem felttlenl sznnnk kln hatodik fejezetet. Valamilyen
brzolsi konvenci szerint a tulajdonsglistban tntetnnk fel a csoportok s a szrmaztatott
adatok tnyezit illetve a szerepneveket. Persze ha nagyon preczek akarunk lenni, akkor ezt
kln fejezetben tesszk, mert...
Az adatmodell dokumentcijnak nagyon pontosnak kell lennie. Nemcsak azt kell tudni
visszakeresni belle, hogy a Csaldfa-azonostnak rsze a Bepl-cikkszm, hanem azt is, hogy
a Bepl-cikkszm a Csaldfa-azonost csoport tagja. Ebbl kvetkezik, hogy az adatmodell-
dokumentci szksgszeren redundns. Az adatmodell tnyezi kztti sszefggseket oda-
vissza - tbbszrsen - tartalmazza. Ez pedig szksges baj.
Gondot fog jelenteni pldul, hogy az egyedtpusok nevt azonosan rjuk-e az egyedlistban,
a kapcsolatlistban s a tblakpekben. Ha az X tulajdonsg csoportos tnyezjnek emltjk az
Y ttelt, akkor ezt fordtva is megtesszk-e s ugyanezt a kt nevet alkalmazzuk-e?
Amint ltjuk, eljutottunk a dnt krdshez. Minden szempontbl konzekvens adatmodell-
dokumentcit csak szmtgppel tudunk kszteni. Olyan sztrprogrammal, amely magt a
modellt is adatbzisszeren - teht tnyezit egyszeresen - trolja, viszont tetszleges nzetben
jelenti meg. (Ld. a metaadatbzisokrl szl 9. fejezetet.)
Mr csak egy vitapont maradt htra, br egyltaln nem knny tmrl van sz. Pusztn
csak arrl, hogy mit is neveznk adatbzisnak? A kezelrendszerek adatbzisnak az egy fizikai
egysgen - ez lehet egy kapcsolt hlzat is! - egyidejleg s egytt kezelhet adatok halmazt
tekintik egy adatbzisnak. Ez a megkzelts kt problmt szl.
A kezel szmra nem egy adatbzis rsze az a kt fogalmilag sszefgg adat, amelynek
egyikt az X gpen, a msikt az Y eszkzn kezelik gy, hogy a gpek kztt nincs a kezel-
rendszer ltal menedzselhet on-line kapcsolat. Ezzel szemben a kezel rszre az ltala mani-
pullt bemeneti, kimeneti, tmeneti, biztonsgi stb. ttelek is az adatbzis rszt jelentik, noha a
bemenet, a kimenet, a technikai adat stb. nem tartozik az adatmodellbe.
A fejlesztk, felhasznlk s vezetk kzs risi tvedse, hogy az adatmodell-doku-
mentcit sszetvesztik az adatbzisterv dokumentcijval. Pontosabban szlva az elbbit el
sem ksztik. A technikai, fizikai, berhelt megoldsokkal terhelt, a modell egsze szempontjbl
nem-teljes, eszkzkhz kttt rekordkpek rendetlen halmazra rfogjk, hogy adatmodell. gy
persze nem lehet modellezni, modellt elemezni, informcis rendszert fejleszteni.
A relcis kezelk hasznlata sorn a vals jelensget tkrz tbla (pl. CIKK), az annak
karbantartsra szolgl bemenet, a hiballomny, a lekrdezett ismerethalmaz is - relci. Ezrt
megrtjk a tervezk azon vgyt, hogy ezeknek a tblknak a lersait egy dokumentciban
szeretnk ltni. Engedve szigorunkbl most azt mondjuk, hogy m ksztsenek egyetlen doku-
mentcit. mde ebben az esetben adjk fel a korbbi ABC-sorrend elvt s a dokumentciban
kln alfejezetekben klntsk el az adatbzis valdi modelljnek a lerst az adatbzis
manipullsval kapcsolatos tnyezk lersaitl.

***

311
Most mr szinte mindent elmondtunk, amit az adatmodellrl tudni kell. Nhny titkot persze
megriztnk magunknak. Pldul azt, hogy vannak olyan titkok is, amelyeknek magunk sem
ismerjk a nyitjt. Mindenesetre knyvnk majdnem a vghez rt. Mr csak annyi maradt htra,
hogy a 21. fejezetben, az utolsban, az eddigieknl egy kicsit komolyabb pldval tegyk prbra
az olvas trelmt.

312
21. TERVEZSI ESETTANULMNY

21.1 A plda kerete

Elrkeztnk knyvnk vghez. Most eljutottunk arra a pontra, hogy sszegeznnk illik az
elmondottakat. Az ttekints sorn nem hajtjuk megismtelni a korbbi kitteleket. Sokkal cl-
szerbbnek ltszik az, hogy egy sszetettebb pldhoz kapcsoldan, egymssal sszefggsben
villantsuk fel az adatbzistervezs momentumait.
Termszetesen a valsg nemigen produkl olyan esettanulmnyt, amely az sszes lehets-
ges szerkezetet, megoldsi mdot s - szmunkra ez is fontos - valamennyi modellezsi hibt
felvonultatn. Illetve a szerz mr tallkozott ilyen modellekkel, de azokat nem lehet itt ismer-
tetni. Egyrszt azrt nem, mert az nem lenne ildomos; az informatikust is kti a titoktarts.
Msrszt a mretek sem teszik lehetv egy vals eset bemutatst.
gy arra knyszerltnk, hogy sszelltsunk egy mestersges llatorvosi l esetet, aminek
segtsgvel sszegezhetjk a legfontosabb tervezsi tudnivalkat.
Elre is figyelmeztetjk a gyengbb idegzet olvaskat, hogy egy meglehetsen kompliklt
plda bemutatsra vllalkoztunk. Ezrt csak azok vgjanak a feladvny megoldsba, akik
ahhoz elg ert s trelmet reznek magukban. A tbbieknek azt ajnljuk, hogy mellzzk a
ksrletezst. Viszont olvassk el a pldtl fggetlen sszekt szveget, amelyben az adatbzis-
tervezs egyb titkaira hvjuk fel a figyelmet.

Ennek a fejezetnek kt clja van. Az els rszben egy mintapldt ismertetnk azzal a
szndkkal, hogy felkrjk az olvast a pldban rejl hibk nll felfedezsre. A msodik
rszben az ltalunk alkalmazott mdszer(ek) lpseinek a bemutatsa kzben feltrjuk a
mintaplda hibit s sszelltjuk a hibamentes adatbzistervet.

Ennek a fejezetnek az okos hasznlathoz legyen szabad valamit tancsolnunk. Az olvas


tanulmnyozza t a 21.2 pontban lert pldt. Fogalmi szint modellrl van sz. Ezrt a trolsi
s az brzolsi aspektusokkal nem kell trdni. Az egyszersg rdekben csak kevs (nem-
strukturlis) korltot fogunk alkalmazni. gy a plda lnyegben az egyed-, a tulajdonsg- s a
kapcsolattpusoknak s ezek sszefggseinek a kialaktsra koncentrl.
Az olvas prblja meg feltrni a kiindul modell hibit. Majd ezek alapjn ksrelje meg
sajt maga az optimlis modell sszelltst. Csak ezutn lpjen t a kvetkez pontokra,
amelyek tanulmnyozsa sorn sszevetheti a sajt mdszert s eredmnyt a minkkel.
Egy fontos megjegyzs: A 21.2 pont minden lnyeges tudnivalt tartalmaz. mbtor lehet,
hogy ezek kztt vannak alapveten ellentmondak. A feladatok kz tartozik az ellentmondsok
kiszrse is. Viszont a megolds nem lesz sikeres, ha az olvas sajt felttelezsekkel l s olyan
j tnyezket vezet be, amelyeket a feladat nem lel fel. A feladat lnyege a pldban lv
ismeretek mrlegelse s tstrukturlsa, ehhez pedig nincs szksg teljesen j fogalmakra.

313
21.2 A kiindul modell

Ez a plda rendezvnyrl illetve rendezvnyekrl szl. A rendezvny jellege kzmbs.


Elkpzelhetnek tnchzat, kongresszust, killtst, tanfolyamot stb. A lnyeg az, hogy van egy
rendezvnyszervez cg, a Rendezvny Iroda (a tovbbiakban: RI), amelyet ismeretekkel kell
elltni. Adatbzisba kell szervezni a rendezvnnyel kapcsolatos adatokat. A tervezk az albbiak-
ban lert modellt lltottk ssze. Elszr az egyed-, majd a kapcsolattpusokat ismertetjk.
Minden rendezvnynek van egy beceneve s egy teljes neve. Minden rendezvnyrt vala-
melyik vros az elsdleges felels. Ld. 21.1 tbla.

21.1 tbla

RENDEZVNY
Becenv Rendezvny neve Rend.vros Kezddtum Zrdtum
DFF Debreceni Folklr DEB xx.yy.zz xx.mm.nn
Fesztivl
BVK96 Budapesti Vilgkillts BUD qq.vv.ww qq,kk.ll
1996

A rendezvnyekben rdekelt vrosok listjt tartalmazza a 21.2 tbla, ami nem ms, mint egy
kd-megnevezs pros.

21.2 tbla
VROS
Vroskd Vros
BUD Budapest
DEB Debrecen

Az idpontok elrendezse rdekben definiljuk a rendszerben fontos dtumok listjt a 21.3


tbla szerint. Errl nincs tbb mondanival, ezrt nem is adunk meg pldartkeket.

21.3 tbla

DTUM (Dtum)

Termszetesen a rendezvnyeken emberek mkdnek kzre, nagyon klnbz minsgek-


ben. A 21.4 tbla mutatja a rjuk vonatkoz lnyeges ismeretek egy rszt.

314
21.4 tbla

SZEMLY
Egyedi az Nv Cm Vros Lakcm Telefon
AB XXX Dr Budapest C1 1-...
CD YYY Id Szeged C2 62-...
EF ZZZ Prof Pcs C3 -
GH QQQ Dr Szeged C4 62-...

A Telefon opcionlis adat. Ha kitltik, akkor meg kell adni a vros krzeti hvszmt is az
adat elejn.
A szemlyek nagyon sokfle mdon mkdnek kzre egy rendezvnyen. Elszr is ott van az RI
sajt stbja. A Rendez Iroda bizottsgi rendszerben mkdik. Vannak a rendezvnyek technikai,
pnzgyi, szemlyi stb. feltteleinek a biztostsval foglalkoz bizottsgok. Ezt mutatja a 21.5
tbla.

21.5 tbla

RENDEZ EGYSG TPUS


Rend Egy Tpus Kd RET nv
EL Elnksg
TB Technikai Bizottsg
PB Pnzgyi Bizottsg

Az egysgtpusokon bell vannak konkrt, adott rszfeladatokkal megbzott egysgek. A


rszfeladatok egy rsze standard, ms rsze lehet ad-hoc is. Pldul nem minden esemnynl van
szksg j beruhzsra. A 21.6 tbla mutatja a rszegysgeket. A Ltrehozs adat az egysg letre
hvsnak az vt jelli. Az egysgek a fentebbi tpusokba soroltak.

21.6 tbla

RENDEZ EGYSG
Rend egysg az Rend egysg tpus Rendez egysg megnevezs Ltrehozs
TB1 TB Bels ptszet 19xx
TB2 TB Szllts 19yy
PB1 PB Beruhzs 19xx
PB2 PB Br s djazs 19zz

A RENDEZ EGYSG-ek feladatait szemlyek ltjk el. Mivel bizottsgokrl van sz,
azoknak van elnke illetve titkra, tbb tagja, esetleg adminisztrtora stb. Ezeket a tipikus szere-
peket mutatja a 21.7 tbla.

315
21.7 tbla

RI FELADAT
RI Feladat kd RI Feladat megnevezs
TBT TB titkr
TBG TB tag
PBE PB elnk

A konkrt szemly ltal elltott funkcit a 21.8 tbla mutatja. A tblban akkor trtnik
utals a vrosra, ha a szerep betltse adott helyhez ktdik. Egybknt ennek az adatnak nincs
tartalma.

21.8 tbla

SZEMLY FELADATA
Szemly azonost RI feladat RI szerv egysg Rend vros kd
AB TBT TB1 BUD
CD TBG TB1 -
EF PBT PB2 PEC
GH TBG TB2 -

A rendezvny pnzgyi fedezethez tmogatkat keresnek. Tmogat lehet maga a rendez


egysg, a rendezvnyt tart vros vagy brmilyen ms szervezet. Ezt mutatja a 21.9 tbla.

21.9 tbla

RENDEZVNY TMOGAT
Rendezvny becenv Tmogat RI Szerv Egysg Rend Vros Egyb
DFF T1 TB1 - -
DFF T2 - DEB -
BVK96 T1 PB1 - -
BVK96 T2 - - ABCDE

A RENDEZ EGYSG az IR kvzi fix stbja. Amikor egy konkrt rendezvnyre kerl sor,
akkor ktfle ad-hoc bizottsgot hoznak ltre. Az egyik a rendezvny tartalmrt, a msik annak
krlmnyeirt felel. Lsd a 21.10 tblt.

316
21.10 tbla

RENDEZVNY EGYSG
Rendezvny becenv Rendezvny egys kd Megnevezs
DFF PB Programbizottsg
DFF RB Rendezbizottsg
BVK96 PB Programbizottsg
BVK96 RB Rendezbizottsg

Mrmost ezek a bizottsgok is emberekbl llnak, akik meghatrozott feladatokat ltnak el a


rendezvny aktulis szervezeti egysgeiben. A feladatok tpusait mutatja a 21.11 tbla.

21.11 tbla

RENDEZVNY FELADAT
Rendezvny feladat tpus kd Feladat megnevezs
PBE Programbizottsg elnk
BIR Program brl
RBE Rendezbizottsg elnk
ZST Zsritag

A 21.12 tbla ismerteti, hogy melyik szemly milyen feladatokat tlt be a konkrt rendezvny
kt bizottsgnak valamelyikben. Vannak olyan specilis feladatok is, amelyek nem ktdnek a
szervezeti egysgek egyikhez sem. Ugyanaz a szemly tbb feladatot is ellthat egy rendezv-
nyen. A Kezddtum mutatja a tisztsg betltsnek a kezdett.

21.12 tbla

SZEMLY RENDEZVNYI FELADATA


Rendezvny becenv Feladattpus Szemly az Szerv Egys Kezddtum
DFF PBE AB PB xx.yy.dd
DFF PBT CD PB xx.yy.dd
DFF PBT EF PB xx.zz.dd
DFF XXX CD - xx.qq.dd

A rendezvnyek programcsoportokbl llnak, amelyeket itt msoroknak fogunk nevezni.


Minden msornak sajt neve van. Kt rendezvnyen nem szerepel ugyanaz a msor. (Ugyanolyan
nev msor elfordulhat, de ugyanolyan kulcs nem.) A Kezds s a Zrs a msor kezdetnek s
befejezsnek az idpontja. Egy rendezvnyen lehetnek prhuzamosan fut msorok is. Lsd a
21.13 tblt.

317
21.13 tbla

MSOR
Rendezvny becenv Msorsz Dtum Kezds Zrs Msornv
DFF 1 D1 K1 Z1 Megnyit
DFF 2 D1 K2 Z2 Felvonuls
DFF 3 D2 K1 Z3 Tnchz
DFF 4 D2 K3 Z4 Szalagavat

Az egyes msorok programokbl llnak. Ugyanaz a program nem szerepelhet tbb rendez-
vnyen ill. egy rendezvny tbb msorban. Azonos nev program elfordulhat, de azonos kulcs
nem. A programok egyedi azonostjt s cmt tartalmazza a 21.14 tbla.

21.14 tbla

PROGRAM
Programsz Cm
1 XY elads
2 ZQ tnccsoport
3 YV szavalat

A programokat a msorokhoz kell rendelni. Ezt mutatja a 21.15 tbla.

21.15 tbla

MSOR/PROGRAM
Rendezvny becenv Msor szm Program sz
DFF 1 28
DFF 1 68
DFF 2 22
DFF 2 55

Vannak programok, amelyeket nem egy, hanem tbb szemly kszt s ad el. A programok
tnyleges kzremkdit mutatja a 21.16 tbla. Egy programban tbb szemly vehet rszt - s
megfordtva. A rszvtel minstsre nincs szksg.

318
21.16 tbla

KZREMKDK
Programsz Szemly az
1 AB
2 CD
3 EF

A rendezvny rendezi nyomon akarjk kvetni az egyes programokat. Azt, hogy kit - ponto-
sabban milyen programot - hvtak meg s mikor. Ki fogadta/utastotta el a meghvst s mikor.
Ki jelentkezett nknt stb. A programokkal kapcsolatos tipikus esemnyeket a 21.17 tbla sorolja
fel.

21.17 tbla

PROGRAM-ESEMNYTPUS
Program esemny Esemny megnevezs
tpus kd
MEG Meghvs
JEL Sajt jelentkezs
ELB Elbrls

Termszetesen az esemnytpusokat a konkrt programokra kell vonatkoztatni. Ezt teszi meg


a 21.18 tbla.

21.18 tbla

PROGRAM ESEMNYEI
Programsz Program esemnykd Dtum Rendezvny becenv
22 JEL D1 DFF
78 MEG D1 DFF
22 ELB D2 DFF
68 ELB D3 BVK96

Az esemnyek egyike az elbrls. Ez persze nem mindegyik programra vonatkozik. m


amelyikre igen, annak az esetben az RI mindent tudni akar a brlatrl. Ennek egyes ismereteit
mutatja a 21.19 tbla.

319
21.19 tbla

BRLAT
Rendezvny becenv Programsz Dtum Szemly az Szerep Esemny
DFF 22 D1 KL BIR ELB
DFF 22 D1 LJ BIR ELB
DFF 22 D2 FH BIR ELB
DFF 68 D2 KL BIR ELB

A rendezvnnyel kapcsolatos szemlyeket tjkoztatni kell az esemnyekrl. A rszvtel


minsgnek megfelelen vagy djat kell kapni tlk, vagy ppen ellenkezleg, fizetni kell a
szmukra. A szemlyekre vonatkoz esemnyek tpusait mutatja a 21.20 tbla.

21.20 tbla

SZEMLY-ESEMNYTPUS
Szemly esemny Szemly esemny
tpus kd megnevezs
MEG Meghvs
VIS Visszajelzs
SZA Szmlzs

Persze mindezeket az esemnyflket konkrt szemlyekhez kell kapcsolni. Erre szolgl a


21.21 tbla.

21.21 tbla

SZEMLY ESEMNYEI
Becenv Szemly esemnykd Dtum Egyedi azonost
DFF MEG D1 AB
DFF VIS D1 AB
DFF SZA D2 AB
BVK96 MEG D3 CD

Vgre elrkeztnk utols tblnkhoz. Az RI szeretn ismerni, hogy a rendezvny egyes


msorain kik s milyen minsgben vesznek rszt. Vannak, akiknek a szerepe ltalnos s
akadnak olyanok is, akiknek a feladata konkrt programhoz ktdik. Ezrt a program megadsa
opcionlis. A PRO feladattpus programbeli eladt jelent. Lsd a 21.22 tblt.

320
21.22 tbla

MSOR/SZEMLY
Rendezvny becenv Feladattpus Szemly az Msor Programsz
DFF PRO AB 1 1
DFF YYY CD 1 -
DFF ZST EF 2 22
DFF XXX CD 2 -

Az egyedtpusokat s sszefggseiket a 21.1 bra mutatja.

3
Vros Rend Egys Rendezvny Dtum Program
4
Tpus

11
1 10
17

19 7 Rendezvny
Tmogat Rend Egys Szemly Kzrem- 9
Feladattp
kdk
16

2 20 5 14 24
15
12
Rendezvny Program
RI feladat 18 Szemly 6
Szerv Egys Esemtpus
Feladata
13
8
25
23

Szemly 26 Szemly Szemly Program


Msor Rendezvny
Esemtpus esemnyei esemnyei
Feladat
22
28
21
29
27 30

Msor/ Msor/
Brlat
Szemly Program

21.1 bra: Az esettanulmny diagramja

Az brn minden lefel mutat kapcsolat 1:N fok. Ezrt nincsenek feltntetve a nyilak. A
kapcsolattpusok listjt a szmoknak megfelelen a 21.23 tbla tartalmazza.

321
21.23 tbla

FLRENDELT ALRENDELT

1 VROS RENDEZVNY TMOGAT


2 VROS SZEMLY FELADATA
3 DTUM RENDEZVNY
4 DTUM RENDEZVNY
5 SZEMLY SZEMLY FELADATA
6 SZEMLY SZEMLY ESEMNYEI
7 SZEMLY KZREMKDK
8 SZEMLY SZEMLY RENDEZVNYI FELADATA
9 PROGRAM KZREMKDK
10 PROGRAM PROGRAM ESEMNY
11 RENDEZVNY RENDEZVNY TMOGAT
12 RENDEZVNY SZEMLY ESEMNYEI
13 RENDEZVNY MSOR
14 RENDEZVNY SZEMLY RENDEZVNYI FELADATA
15 RENDEZVNY RENDEZVNY EGYSG
16 RENDEZVNY PROGRAM ESEMNYEI
17 RENDEZ EGYSG TPUS RENDEZ EGYSG
18 RI FELADAT SZEMLY FELADATA
19 RENDEZ EGYSG RENDEZVNY TMOGAT
21 RENDEZ EGYSG SZEMLY FELADATA
21 MSOR MSOR/SZEMLY
22 MSOR MSOR/PROGRAM
23 PROGRAM ESEMNYTPUS PROGRAM ESEMNYEI
24 RENDEZVNY FELADAT SZEMLY RENDEZVNYI FELADATA
25 RENDEZVNY EGYSG SZEMLY RENDEZVNYI FELADATA
26 SZEMLY ESEMNYTPUS SZEMLY/ESEMNY
27 SZEMLY RENDEZVNYI MSOR/SZEMLY
FELADATA
28 SZEMLY RENDEZVNYI BRLAT
FELADATA
29 PROGRAM ESEMNY BRLAT

Az olvas most rtkelheti az esettanulmny adatbzistervt. Prblja meg feltrni annak


hibit a sajt mdszere szerint. Majd prblja meg felvzolni a helyes modellt. Fel kell hvnunk a
figyelmet arra, hogy a plda egy alapvet ellentmondst tartalmaz. Amg erre r nem jn az olva-
s, addig nem fog j megoldst tallni. Segtsgknt annyit mondunk, hogy figyelje a kulcsokat s
a krds az, hogy valami egy-e vagy tbb-e. Megoldsunkban mi a tbbet felttelezzk.

21.3 Az esettanulmny megoldsa el

A tovbbi pontokban szmos titkot fogunk elrulni arrl, hogy mikppen vgezzk az adat-
bzistervek rtkelst. Persze erre sokan gy szlnak magukban: hja, ha mr van mit elemezni,
akkor knny. De mirt nem a nullrl indul az esettanulmny?

322
Vlaszunk tbbszrs. Az adott plda kiindul helyzetnek a lersa igen terjedelmes lett
volna. Valsznleg a jelenleginl is sokkal tbb ktsget bresztett volna az olvasban. Knyvn
keresztl pedig nem lehet krdezni, interjkat csinlni - vagyis mmelni a valsgot. A terjedel-
mes szveges lersbl mindenki egy sajt tervet ksztett volna, amelyet a szerz nem ismerhet
s gy nem tudn szemlltetni a tipikus modellezsi hibkat s azok kikszblsnek a mdjt.
Azutn gondoljuk meg, hogy manapsg az adatbzisok nem a semmibl szletnek. Tbbnyire
mr vannak szmtgpen kezelt adataink. Az esettanulmnyt gy is fel lehet fogni, mintha az
egyes tbli mr valban lteznnek s az lenne a feladat, hogy a meglv - a tblakpeknek
megfelel - llomnyainkat integrljuk.
Vgl nem az a gondunk, hogy a tervezk elsre tkletlen adatbzisterveket ksztenek.
Hanem az, hogy a szinte sztnsen meglmodott modellt nem veszi kritika al. Nem rtkelik a
sajt terveiket. Pedig nmi figyelemmel sokat tudnnak javtani az els vltozaton. Ennek a
tkletestsnek a technikjt kvnjuk feltrni az albbiakban.
A megolds ismertetse kzben r fogunk mutatni arra, hogy az elemzsnek melyik pontjn
s milyen mdon hasznlhat egy j szmtgpes elemzsi segdeszkz.

21.4 Ismerkeds az elemzend tervvel

Mivel a tovbbiakban a sajt mdszeremet ismertetem, t fogok trni az egyes szm els
szemlyre. Remlem megrtik, hogy gy knnyebb magyarznom.
Amikor kezemhez kapom egy adatbzis tervnek a dokumentcijt, legelszr formai szem-
pontokbl vizsglom azt. gy, mint brmilyen dokumentcit, st knyvet. Az els krdsem az,
hogy van-e tartalomjegyzke a lersnak s az megfelel-e az elz fejezetben az adatbzisterv
dokumentlsval kapcsolatosan megadott kvetelmnyeknek. Taln nevetsgesen hangzik, de az
oldalszmozs hinya, a nem egysges kp, a kereszthivatkozsok elmaradsa azonnal gyant
kelt bennem. Esettanulmnyunk lersa aligha felel meg egy adatmodell formai dokumentcis
kvetelmnyeinek. A formrl - pldul a diagramokban alkalmazott konvencikrl, a listkban
hasznlt kdokrl - mg sokat lehetne beszlni, de a formai aspektusok rtkelst itt lezrom.
Msodik lpsem az, hogy megprblom bemrni az adatmodell bonyolultsgt. Ehhez
bizonyos szmokat s - ha van - a diagramot hasznlom fel. Mintapldnk csak 22 egyed- s 29
kapcsolattpust tartalmaz, teht abszolt rtelemben kicsi modellnek szmt. (Dolgoztam mr
tbb szz egyed- s kapcsolattpust fellel terven is.) Nem akad olyan tbla, amelyben az attrib-
tumok szma meghaladn a hatot. Mrmost az olyan modell, amely kevs egyedtpust tartalmaz
gy, hogy azokhoz sok tulajdonsg kapcsoldik, ltalban egyszernek tekinthet. Ezzel szemben
az olyan terv, amelyben a tulajdonsgokhoz kpest magas az egyedtpusok szma, tbbnyire
bonyolultnak szmt.
A komplexits behatrolsban az azonostk els ttekintse is segthet. A modell egysze-
rsge az elemi - egytag - kulcsok hnyadval nagyjbl arnyos. A mi pldnkban magas az
sszetett kulcsok arnya. Ez a tny, valamint egy pillants a Bachman-diagramra azt sejteti, hogy
kis mretn bell mintapldnk meglehetsen kompliklt. Tl magas benne a kulcs/kulcsrsz
tulajdonsgok arnya a lerkhoz kpest. Ez nem baj, ez a helyzet.
Az sszetettsgre utalnak a lthat s a rejtett altpusok is. Az esettanulmnyban nincsenek
expliciten megfogalmazott altpusok. Csakis a szemlyek szertegaz szerepe mutatja a ktdsek
bonyolultsgt. Ez nem jelenti felttlenl azt, hogy majd altpusokat kell meghatrozni. Persze ha
ms ismeretek is fontosak lennnek, akkor felvetdhetne a szemly specializlsnak a krdse.
(Pldnkban erre nem lesz szksg.)

323
Az sszetettsg megllaptsa azrt fontos, mert a bonyolult modellnl mindig l bennem a
gyan, hogy a kapcsolattpusokat helytelenl hatroztk meg. Ezt vrom az esettanulmny
pldjtl is.
Az rtkelsi feladat nagyon megnehezl, ha a terv hinyos - mint a mink - s nem egyrtel-
m. Ezrt az els tnzskor megprblom behatrolni az egyrtelmsg szintjt. Az esettanul-
mny tervrl azonnal megllapthat, hogy hemzsegnek benne a homonimk s a szinonimk. A
homonimkra a nem-minstett nevekbl (pl. Cm, Megnevezs) lehet kvetkeztetni. Persze a
minstett nv is lehet homonima (Kezddtum). Mivel terveznk nem alkalmazott nvszab-
vnyokat, egszen biztos, hogy a technikai szinonimk garmadjval kell szmolnunk. Vgl a
tervez lthatlag nem ismeri a szerepnv lnyegt. Ezt az ssze-vissza minstsbl rzkelem.
Emiatt s a szerepek hinya miatt feltehet, hogy a terv kapcsolati rendszere nem lesz egy-
rtelm.

21.5 Az egyrtelmsg elemzse

Mivel olyan modellt nem lehet normalizlni, amely nem egyrtelm, legels feladat az egy-
rtelmsg megteremtse. Br mintapldnk mrete nem nagy, a szerkezet mgis elgg bonyo-
lult. Emiatt felttlenl szmtgpes adatsztrt hasznlok az elemzshez. Sorra veszem a tbla-
kpeket s sztrba viszem az egyed-tulajdonsg-viszonyokat. Ekzben fokozatosan bvtem a
kln egyed- s tulajdonsglistt. Teht amikor elknyvelem, hogy a SZEMLY egyedhez
kapcsoldik a Nv tulajdonsg, akkor e viszony mellett rgztem az egyedlistn a SZEMLY, a
tulajdonsglistn a Nv ttelt.
Persze ezt nem egszen gy teszem. Egyrszt - szemben a mintaplda tervezjvel - sajt
egysges konvencimnak megfelelen rom t a neveket. Msrszt ltalban kerlm a rvid-
tseket. Pl. a Rend Egy Tpus Kd nevet n gy rom: Rendez-egysg-tpuskd. A modellek
egyik hibja a helytelen minsts. Ezrt a tlminstett neveket egyszerstem. Pl. a Rend vros
kd-ban a jelz nem korltoz, ezrt feleslegesen minst. Brmelyik vros lehet rendez. Ezrt
itt az egyszer Vroskd nevet hasznlom. Ezzel szemben az alulminstett neveket kibvtem.
gy lesz a program Cm-bl Programcm. A rosszul beszl neveket trom. Teht a szemly
zavar Cm adatbl Titulus lesz.
Vegye szre az olvas, hogy ezzel a keresztelvel eleve kiszrm a homonimk s szinoni-
mk egy rszt anlkl, hogy kutatnom kellene utnuk. A kiindul modellben a Cm homonima
volt - mr nem az. A Rend vros kd s a Vroskd technikai szinonima volt - amit mris
felszmoltam.
Amennyiben a sztr feltltsnl mgis ktszeres ttelre bukkanok, gy tbb eset lehetsges.
Kt tnyeznek nem lehet azonos a neve. Ezrt helytelen, hogy a kapcsolatlistn kt DTUM -
RENDEZVNY nev kapcsolat tallhat. Persze a kapcsolat ketts, de nevk ennek ellenre nem
lehet azonos. A tervezk ritkn kvetik el azt a hibt, hogy kt egyedtpusnak azonos nevet
adnak. Ha ilyen mgis fellpne, a homonimt azonnal meg kell szntetni. A legtbb baj a tulaj-
donsgtpusokkal van ppen azrt, mert a tervek nem tartalmaznak tulajdonsglistt. gy a
tulajdonsgokat a tervez csak egyedekhez kttten ltja. Ebbl szksgszeren kvetkezik a
homonimk s szinonimk tmege.
Amikor tbb egyedben is szerepel ugyanolyan nev tulajdonsg, hrom helyzetet kell vizsgl-
ni. A legrosszabb esetben a tulajdonsg homonima. Ekkor jn az tnevezs, amit ltalban mind-
kt egyedben clszer vgrehajtani. Nem j az, ha a Cm-bl az egyik egyedben Programcm lesz,
a msikban Cm marad. A legjobb esetben a tulajdonsg olyan ttel, amely az egyik egyedben
kulcs, a msikban kapcsol. Ekkor nincs teend. (Persze ennek feltrshoz a sztrban vezetni

324
kell a szerepeket.) Ha a tulajdonsg ler, akkor nha nincs teend (pl. Dtum), nha az ember
inkbb minst (ilyen eset nincs a pldban).
Az embernek persze azonnal szemet szr nhny szinonima. Az eltr rsmdbl fakad
technikaiakat (pl. RI szerv egysg s RI Szerv Egysg) knny megtallni. Azonban a telje-
sen eltreket (pl. a szemly kulcsa az Egyedi az s a Szemly az) nehz felfedezni. A feltrt
szinonimkat termszetesen azonnal megszntetjk. Majd a sztr feltltse utn kt kis trkkt
alkalmazunk. Elszr ksztnk egy ABC-sorrend listt a tulajdonsgokrl. Ebben azonnal
felfedezzk - ha addig nem tettk volna -, hogy a Szemly az s a Szemly azonost ttelek
slampossgbl fakad technikai szinonimk. Egy kis programmal azt is knnyen megllapt-
hatjuk, hogy az egyik nv rsze-e a msiknak. gy felfedezhetjk, hogy a Rendezvny becenv
s a Becenv szinonimk.
Az esetleg a modellben marad szinonimk s homonimk kiszrsnek van egy drzslt
mdja is, amelyre majd a kapcsolatelemzsnl utalunk. Lsd a 21.9 pontot. Most mg a szerep-
nevekkel kell foglalkoznunk. n a modellben az egyszersg kedvrt ltalban csak korltoz
szerepneveket hasznlok. Minstket csak akkor, ha egy egyedben tbb azonos tartomnybl
szrmaz ttel van. Lsd a RENDEZVNY Kezddtum s Zrdtum ttelt. A modell nem
egyrtelm, mert nem jelenti ki e kt tnyezrl, hogy a Dtum szerepnevei. Mirt hiba ez? A
tervez kt kapcsolatot felttelezett - helyesen - a DTUM s a RENDEZVNY kztt arra
alapozva, hogy a kezddtum s a zrdtum is dtum. Igen m, de elfeledkezett a DTUM -
SZEMLY RENDEZVNYI FELADATA kapcsolatrl, noha az utbbi egyedben is van Kezd-
dtum nev adat. Ez amgy homonima. A lnyeg az, hogy a szerepnevek explicit megadsnak
az elmaradsa ilyen hinyossgokhoz vezethet. Ezrt a sztr feltltsnl n mindig expliciten
utalok az elsdleges tulajdonsg (Dtum) s a szerepnv (Kezddtum) kztti sszefggsre.
Mi a teend a Kezddtum homonimval? s mi lenne a teend ezzel az adattal, ha az csak a
SZEMLY RENDEZVNYI FELADATA egyedben szerepelne? Nos, a felesleges minsts
mindig plusz modelltnyezre (szerepnv-viszony) vezet. Ezrt kerlm n a nem-korltoz
szerepneveket. A vonatkoz egyedben a sima Dtum nevet alkalmaznm, ezzel megszntetve a
homonimt s megteremtve a DTUM fel a kapcsolatot. Ha valaki a minstst kedveli, m
tegye. Ekkor viszont a Kezddtum homonima kiirtand. Pldul a Feladat-kezddtum nevet
kell adni neki. Errl pedig expliciten ki kell jelenteni, hogy a Dtum szerepneve.

21.6 Azonost- s azonossgelemzs

A tervezett tblkban szmos problma lphet fel. Nagyon sokszor megsrtik az azonostkra
vonatkoz korltokat. Tbb egyednek ugyanaz a tulajdonsg a kulcsa, vagy megfordtva, egy
egyednek tbb kulcsot jellnek ki nem ismerve az alternl kulcs intzmnyt. Mintapldnkban
nem fordul el ilyen hiba.
Trkks problma a szerkezeti azonossg. Egy adatmodellben a kvetkez rszszerkezetek
fordulnak el: egyed-tulajdonsg-viszony (tblakp), kapcsolat s tulajdonsgstruktra. Az
utbbin bell szrmaztatsi, csoport s szerepnv szerkezeteket klnbztetnk meg (ld. 18.8
pont). E struktrarszek furcsa problmkat okozhatnak. Csak hrom pldt emltnk.
Tegyk fel, hogy a tervez modellezi a csoportokat. Mintapldnk alkotja ezt nem tette
meg. Nha elfordul, hogy a tervben X {A+B+C} s Y {A+B+C} csoportok tallhatk. Mivel
ezek felptse azonos, de nevk eltr, az ilyen esetekben strukturlis szinonimkrl beszlnk.
Ezeket ki kell szrni. n az sszetett kulcsokat mindig kln nvvel ltom el s sztramba
viszem az ehhez tapad csoportstruktrt. Ennek szmos oka van. Itt csak a jelzett szinonima
kiszrhetsgre utalok. Mert azt knny felfedezni, hogy kt egyednek megegyezik az egyszer

325
A azonostja. mde sok egyedet tartalmaz modellben azt tltni, hogy itt is, meg ott is szerepel
az A+B+C+D sszetett kulcs, mr nem olyan egyszer. Az explicit csoportmeghatrozst kvet
azonossg-elemzs segt e hiba feltrsban. (N.B.: Ugyanez a megllapts a szrmaztatott
adatokra is vonatkozik. Ha az X s az Y adatnak ugyanazok a tnyezi, akkor mirt szksges a
kt nv - szinonima -, ha a szrmaztatsi algoritmus is azonos?)
Szerkezeti szinonima a kapcsolatoknl is fellphet. Az X kapcsolat is az A s a B egyedet
kti ssze, meg az Y viszony is. Akkor, ha a kt egyednek csak egy kzs kapcsoltulajdonsga
van, a kapcsolatmeghatrozs redundns; megszntetend tvedsbl szletett. m e hiba feltr-
shoz az szksges, hogy a kapcsolati struktrkat az adatsztrba vigyk s elemezzk a
fl/alrendelt prosok azonossgt.
Vgl az is megtrtnik, hogy a tervez kt X (A, C, D) s Y (B, C, D) egyedtpust krel. A
kt egyed minden ler tulajdonsgban megegyezik. Ekkor a tervez vagy nem alkalmazta a
generalizci mvelett, vagy - tvedsbl - kt azonos egyedtpust alkotott. Mindkt helyzet
megoldand s mindkettre az azonossgelemzs irnytja a figyelmet.
Mintapldnkban nem szerepelnek a fenti gondok. A tapasztalatlan szakember akr azt is
mondhatn, hogy ekkora - elnzst - krsgeket az letben nem kvetne el. Csakhogy nem
szabad arrl elfeledkezni, hogy egy valban sszetett adatmodellt nem egyetlen tervez llt
ssze. Az adatbzis - egy, m a tervezje sok. Ezrt bizony elfordulhat, hogy kt tervez ugyan-
azt vagy nagyjbl ugyanazt az egyedet lmodja meg eltr neveket adva a kt tnyeznek. (N.B.:
Sajt elemznk tfedsi szzalkot is szmt. Kimutatja, hogy kt egyedtpusnak N szzalkban
azonosak a tulajdonsgai. Ha az N magas, akkor a tervez elgondolkozhat az ltalnostson.)
Most pedig trjnk a mindennaposabb, gyakoribb problmkra. Nevezetesen az azonost
helytelen meghatrozsra. Az azonost kijellse tern szmos rossz megoldssal tallkozunk.
Elssorban az sszetett azonostk okoznak gondokat. Nevezetesen vagy azt, hogy az sszettel a
valsgban kptelen azonostani az egyedeket, mert az sszettel rtke nem egyedi. Vagy azt,
hogy az sszettel felesleges tnyezket tartalmaz. Ezrt n, mieltt brmifle mlyelemzsbe
vagy plne normalizlsba kezdenk, megvizsglom a kulcsok megfelelsgt. A normalizls
nem lehet sikeres, ha a kulcsot rosszul adtuk meg.
Mintapldnkban a MSOR egyed kulcsa katasztroflis. Egy rendezvnyen tbb msor sze-
repelhet, de ugyanaz a msor nem fordulhat el tbb rendezvnyen. Az pedig evidens, hogy egy
msor nem kezddhet s vgzdhet klnbz idpontokban. Ezrt az egyed kulcsa tlhatrozott.
Az azonostsra elegend a Konferencia-becenv s a Msor-sorszm egyttese. Teljesen feles-
leges a behatrolshoz a Dtum, a Kezds s a Zrs. Ezek valjban csak ler tulajdonsgok.
Most trnk ki a plda alapvet ellentmondsra, mert az az azonostssal kapcsolatos. A
PROGRAM egyed kapcsn kijelentettk, hogy minden program kulcsa egyedi. Ha ez gy igaz,
akkor a Programszm funkcionlisan meghatrozza a Msor-sorszmot, ill. magt a Rendezvny-
becenv ttelt is. Hiszen ugyanaz a program nem szerepelhet tbb msorban, st rendezvnyen.
Ha ez igaz, akkor, rossz a MSOR/PROGRAM egyedtpus azonostja. Hiszen azt sejteti, hogy a
program s a msor funkcionlisan fggetlen.
Ehhez kpest a Rendezvny-becenv s a Programszm tulajdonsg a mintaplda szmos
egyedben mindenfle variciban egytt szerepel. Ha a Programszm egyedi, akkor meghatroz-
za a Rendezvny-becenv ttelt, teht a kt adat csak egyetlen egyedben tnhetne fel egyttesen:
magban a PROGRAM-ban. (Emlkezznk r, hogy ha egy tulajdonsg msikat meghatroz,
akkor az utbbinak az elbbi ltal azonostott egyedben van a helye. Ezt mondja ki a teljessgi
szably. Ld. a 17.2 pontot.)
Vajon mikppen jttem r n erre az alapvet turpissgra? Nos, egyrszt figyelmesen
olvasok. Ez sokszor kevs lenne. Viszont kis normalizl segdeszkzm azonnal felfedezte a
MSOR/PROGRAM egyedben lv bels kulcstr fggst (ld. 16.4 pont). A Programszm
meghatrozza a Rendezvny-becenv adatot a lers szerint, viszont ugyanakkor egy kulcsban is
szerepel vele. Nono, ez nem stimmel.

326
Itt dnteni kell. Ktszeresen is az egy vagy tbb krdse merl fel. Nzzk csak meg a 21.2
pont els mondatt! Rendezvny vagy rendezvnyek... A tervez nem tudott dnteni a modell
hatkrrl (ld. 19.2.2 alpont). Eredetileg egyetlen rendezvny tervezsbl indult ki, amely eset-
ben a program egyedisge nem krdses. Majd hirtelen tvltott a tbb rendezvny gondolatra.
Ekkor viszont felmerl az a krds, hogy ugyanaz a program szerepelhet-e tbb rendezvnyen.
Ha nem, akkor a PROGRAM kulcsa meghatrozza a RENDEZVNY-t. Ekkor a Programszm
s a Rendezvny becenv sohasem szerepelhetne egytt a PROGRAM-on kvl egyetlen ms
egyedtpusban sem. Viszont ezt mintapldnk esetben szmtalanszor megteszi. Ezrt javaslom
azt, hogy maradjunk meg a tbb-nl, vagyis annl, hogy egy program tbb rendezvnyen is
megjelenhet. Lsd a 21.2 pont utols mondatt.
Ezzel az azonost- s az azonossgelemzs tmakrt egyelre befejeztk. Vegye szre az
olvas, hogy ez a pont mg mindig az egyrtelmsg krl forgott. Az egyedek egyrtelm
azonostsrl s a struktrk egyrtelmsgrl volt sz.

21.7 A plda tmenetileg javtott vltozata

Azonostkat kellett rendbe tennnk. Homonimkat s szinonimkat megszntetnnk.


Implicit szerepnv s csoport szerkezeteket explicitt tennnk. A kiindul modellen annyi
mindent kellett vltoztatnunk, hogy nem haladhatunk tovbb az eddigi vltozat rgztse nlkl.
Magukat az eredeti tblzatokat nem kvnnm megismtelni, ezrt az albbiakban csak a javtott
listakpeket mutatom. A csoportokat {}, a szerepneveket [ ] jelek kztt rszletezem. Az sszetett
kulcsokat az egyed nevhez tett cs - csoport - betvel jellm. Az ABC-sorrend elvt meghg-
va, az ttekinthetsg kedvrt a korbbi tblk sorrendjben ismertetem az egyedtpusokat.

RENDEZVNY (Rendezvny-becenv, Rendezvnynv, Vroskd, Kezddtum, Zrdtum)


Dtum [Kezddtum, Zrdtum]
VROS (Vroskd, Vrosnv)
DTUM (Dtum)
SZEMLY (Egyedi-az, Szemlynv, Titulus, Vrosnv, Lakcm, Telefon)
RENDEZ EGYSG TPUS (Rendez-egysg-tpuskd, Rendez-egysg-tpusnv)
RENDEZ EGYSG (Rendez-egysg-azonost, Rendez-egysg-tpuskd, Rendez-
egysg-megnevezs, Ltrehozs-ve)
RENDEZ EGYSG FELADAT (Rendez-egysg-feladatkd, Rendez-egysg-feladat-nv)
SZEMLY RENDEZ FELADAT (Szemly-rendez-feladat-cs, Vroskd)
Szemly-rendez-feladat-cs {Szemly-azonost+Rendez-egysg-feladatkd+Rendez-
egysg-azonost}
RENDEZVNY TMOGAT (Rendezvny-tmogat-cs, Rendez-egysg-azonost,
Vroskd, Egyb-szervezetkd)
Rendezvny-tmogat-cs {Rendezvny-becenv+Tmogat-sorszm}
RENDEZVNY EGYSG TPUS (Rendezvny-egysgkd, Rendezvny-egysg-megnevezs)
RENDEZVNY EGYSG (Rendezvny-egysg-cs, Rendezvny-egysg-megnevezs)
Rendezvny-egysg-cs {Rendezvny-becenv+Rendezvny-egysgkd}
RENDEZVNY FELADAT (Rendezvny-feladat-tpuskd, Rendezvny-feladat-megnevezs)
SZEMLY RENDEZVNY FELADAT (Szemly-rendezvny-feladat-cs, Rendezvny-
egysgkd, Dtum)
Szemly-rendezvny-feladat-cs {Rendezvny-becenv+Rendezvny-feladat-tpus-
kd+Szemlyi-azonost}

327
MSOR (Msor-cs, Dtum, Kezd-idpont, Zr-idpont, Msornv)
Msor-cs {Rendezvny-becenv+Msor-sorszm}
PROGRAM (Programszm, Programcm)
MSOR/PROGRAM (Msor/program-cs)
Msor/program-cs{Rendezvny-becenv+Msor-sorszm+Programszm}
KZREMKD (Kzremkd-cs)
Kzremkd-cs{Programszm+Szemly-azonost}
PROGRAM ESEMNYTPUS (Program-esemny-tpuskd, Program-esemny-tpus-
megnevezs)
PROGRAM ESEMNY (Program-esemny-cs, Rendezvny-becenv)
Program-esemny-cs {Programszm+Program-esemny-tpuskd+Dtum}
BRLAT (Brlat-cs, Rendezvny-feladat-tpuskd, Program-esemny-tpuskd)
Brlat-cs {Rendezvny-becenv+Programsszm+Dtum+Szemly-azonost}
SZEMLY ESEMNYTPUS (Szemly-esemny-tpuskd, Szemly-esemny-tpus-megnevezs)
SZEMLY ESEMNY (Szemly-esemny-cs)
Szemly-esemny-cs {Rendezvny-becenv+Szemly-esemny-tpuskd+Dtum+
Egyedi-azonost}
MSOR/SZEMLY (Msor/szemly-cs, Programszm)
Msor/szemly-cs {Rendezvny-becenv+Rendezvny-feladat-tpuskd+Szemly-azonost
+Msor-sorszm}

Tudom, hogy a fenti lista sszelltsa mennyire nehz feladat. Ehhez tbb megjegyzsem
van. Egyrszt nem knldtam volna ennyit, ha az eredeti terv egyrtelm lett volna. Msrszt a
nevek hosszak, de magyarzak. Ezeken lehet mg faragni: eddig szndkosan nem tettem.
Mert pldul a REFETIKOD nvbl az olvas nem tudn, hogy a Rendezvny-feladat-tpuskdra
gondolok. Az adatmodellnek beszlnek kell lennie, ami sok nyggel jr. Harmadrszt ez a
modell mr majdnem egyrtelm - s ennyit megrt az eddigi knlds.

21.8 A rejtett redundancik elemzse

A fenti majdnem sz kicsit aggaszt. Nem llhatunk meg egy fligksz elemzsnl. Az adat-
modellezssel gy van, mint a knyvelssel. Pr forintos eltrs utni kutats trja fel, hogy
millikrl van sz. Egyetlen adatmodellezsi hiba is szmos mst szlhet. Ezrt folytatnom kell a
nyomozst. Elszr a szemmel lthat apr hibk fel fordulok.
A mintasorokkal szemlltetett tblakpek azrt hasznosak, mert segtsgkkel feltrhatjuk a
modell rejtett redundanciit. Ebben a pontban hromfle titkos fizikai adattfedsre irnytjuk a
figyelmet.
A 21.6 tblban a Rend egysg tpus ttel rtke mindig megegyezik a Rend egysg az
tulajdonsg rtknek az els kt karaktervel. Itt az implicit csoportbl kvetkez fizikai redun-
dancia tipikus esetvel llunk szemben. Lsd a 19.4 pontot. Az utbbi tnyez olyan csoport,
amely impliciten tartalmazza az elbbit. Jogos teht a krds, hogy mirt kell egy egyed-el-
forduls sornak ktszer tartalmaznia ugyanazt az ismeretet? A kzenfekv megolds az, hogy az
azonostt explicit csoportknt adjuk meg. Ettl maga a modell persze bonyolultabb lesz. Viszont
elkerljk a karbantartsi anomlikat. Ezrt n bizony minden egyedben explicitt fogom tenni
a csoportot.
A msik problma a generikus tulajdonsgokkal kapcsolatos. Lsd a 19.4 pontot. A 21.19
tblban a Szerep s az Esemny olyan tulajdonsgok, amelyeknek az rtke mindig ugyanaz.

328
Akkor pedig nyilvnvalan feleslegesen terhelik az egyedet. Hiszen annak lnyege a brlat,
amelyben a szerep mindig brl, az esemny mindig elbrls. Az ilyen tteleket ki kell irtani.
Ennek sorn nagy vatossggal kell eljrni. Meg kell nzni, hogy valban mindig csak egyfle-e
az rtk. Ugyanis a mintk flrevezetek is lehetnek. Vessnk csak egy pillantst a 21.12 tblra.
Abban a Szerv Egys ttel mindig csak PB vagy res rtket vesz fel. m ez megtveszt: a
ttel nem generikus tulajdonsg. Hiszen a tbla eltti szveg azt sejteti, hogy a ktfle
bizottsgban betlttt feladatokrl van sz.
Most jutottunk el az alapvet normlformk krdshez. Most elrulunk egy jabb titkot. A
helytelen normlalakok csak akkor fedezhetk fel automatval, ha a helytelenl fgg tulajdon-
sg nylt logikai redundancit okoz. Ha a Vevnv a VEV s a RENDELS egyedben is
szerepel a meghatroz Vevkd ttellel egytt, akkor a tranzitv fggst brmilyen automata
knnyen feltrja. m ha a Vevnv csak a RENDELS egyedben tallhat a Vevkddal egytt,
gy a tranzitivits automatikus feltrsra nincs md. Ekkor kzzel kell normalizlni. Mrmost
a normlformahiba mindig fizikai redundancival jr. Ezrt feltrsukban ismt csak a minta-
sorok segtenek. A 21.10 tblban feltn a Megnevezs redundancija. Ez a ttel rszlegesen
fgg a kulcstl. A SZERVEZSI EGYSG nincs 2NF alakban. Ezrt abbl ki kell emelni ezt a
tulajdonsgot egy j egyedbe.

21.9 Kapcsolatelemzs

Az egyedek bels szerkezetnek az elemzse utn ideje a kls szerkezettel is foglalkoznunk.


Vizsgljuk meg a mintaplda ltal sugallt kapcsolatokat (ld. 21.23 tbla). Ilyenkor lefuttatom kis
elemz programomat s dbbenten tapasztalom a kvetkezket: A begrt 29 kapcsolattpus tbb
ttele nem megalapozott az egyedtpusok bels szerkezete - kapcsol tulajdonsgai - alapjn,
viszont ugyanakkor sok ltez kapcsolatot nem definilt a mintaplda szerzje. Most ne rszle-
tezzk a tbbleteket s a hinyokat: az adatmodell nem konnektv (ld. 17.2 pont). A SZEMLY
egyed mshoz nem kapcsolhat.
Persze a problmk egy rszt tmogat automata nlkl is fel lehet fedezni. Arra egy pilla-
nat alatt rjvk, hogy a Bachman-diagramon harminc, a kapcsolatlistn viszont csak 29 viszony
van feltntetve. Nem ez a nansznyi hiba aggaszt. A kzzel ksztett modellben mindig lesznek
ilyen kvetkezetlensgek. Azokat csak akkor kerlhetjk el, ha az adatmodellt eleve szmt-
gppel ksztjk. Akkor is elfordul, hogy a tervez ltal expliciten megadott s az egyedtpusok
kapcsol tulajdonsgai ltal igazolt kapcsolatok eltrnek egymstl. A fejleszt olyan kapcsolatot
is megad, amelyet nem tmogat kapcsol tnyez, viszont ugyanakkor nem utal expliciten olyan
kapcsolatokra, amelyeket pedig valdi kapcsol tulajdonsg alapoz meg.
Kt egyedtpus kztt akkor definilhatunk nem-vals kapcsolatot a modellezs elvei szerint,
ha a kzs nev tulajdonsg az egyiknek kulcsa s a msikban is szerepel, de nem ugyanazon
tartalommal. Magyarul: a kapcsol tulajdonsg neve homonima. Ezen kvl az is gyakran el-
fordul, hogy a tervez kzvetlenl is meghatroz egy valjban csak kzvetett kapcsolatot. Ha
ltezik az A, az A+B s az A+B+C ltal azonostott egyed, akkor az els s a harmadik kap-
csolata csak kzvetett - magyarul: tranzitv. Vgl megtrtnik, hogy a tervez M:N-es viszonyt
ad meg kapcsolatknt, mivel kt egyedtpusnak kzs tulajdonsga vagy tulajdonsgai vannak.
Elfeledkezik arrl a szablyrl, hogy kapcsolat csak akkor definilhat, ha a kzs tulajdonsg
vagy csoport az egyik egyed azonostja.
Ha viszont a felttelezett kapcsolat hinyzik, akkor kt eset lehetsges. A viszony azrt nem
mutatkozik, mert a kapcsol tulajdonsg szinonima. Ht persze, hogy inkonnektv a mintaplda
modellje, amikor a SZEMLY kulcst egyetlen kapcsold egyedben sem nevezzk az Egyedi

329
az nven. A msik eset trkksebb s az sszetett azonostkkal fgg ssze. A tervez nem hat-
roz meg csoportot. Ezrt nem is veszi szre, hogy az A+B ltal azonostott egyed kapcsolatban ll
a msikkal, amelyben szintn szerepel az A s a B. Az automata ezt a hibt azonnal kiszri.
A harmadik helyzetre mr utaltunk. A tervez csak implicit szerepnevet alkalmaz. Nem
mondja meg, hogy a SZEMLY RENDEZVNY FELADAT-ban a Kezddtum a Dtum
szerepneve. gy termszetesen hinyozni fog ez a kapcsolat is.
Most elrulunk egy tovbbi titkot. Mr a sztr els feltltsnl feltnhetett szmunkra a
Vrosnv redundancija. Ez a VROS s a SZEMLY egyedben szerepel. Mivel a ttel mindkt
egyedben ler tulajdonsg, azon kapcsolat sohasem lteslhet. Viszont a redundancia kapcsn
elgondolkodhatunk azon, hogy nem kellene-e a szemlyeket a vrosokhoz kapcsolni? Ha igen,
akkor arra nyilvn a Vroskd ttel alkalmas.
Az ltalunk felttelezett, de a modell ltal al nem tmasztott kapcsolatokat a megfelel
kapcsoltulajdonsg alkalmazsval hozhatjuk rendbe. A szmunkra feleslegeseket a kapcsol-
ttel kiemelsvel illetve a homonimk tnevezsvel szntethetjk meg. Ezeken a mveleteken
tl a kapcsolatelemzs mg egy momentumot tartalmaz: ennek a lpsnek a sorn szrjk ki az
egyedek kztti esetleges ciklusokat.
De trjnk t a gyakorlatra, mintapldnk vals problmira. A tervez a DTUM egyedet
csak ktszer hatrozta meg flrendeltknt. Holott mindenki lthatja, hogy a Dtum adat ms
egyedtpusokban is kapcsol szerepet tlt be. A kapcsolatok kzl hinyzanak a DTUM kvet-
kez alrendeltjei: MSOR, SZEMLY RENDEZVNY FELADAT, PROGRAM ESEMNY,
BRLAT, SZEMLY ESEMNY. Mindezekben szerepel a Dtum tulajdonsg, a kapcsolat
definilsa mgis elmaradt. A VROS is mostoha sorsra jutott: nem definiltk a SZEMLY s
a RENDEZVNY fel val kapcsolatt. A tbbi hiny a tbblettel, a rosszul megadott viszonyok-
kal fgg ssze.
A SZEMLY RENDEZVNY FELADAT s a PROGRAM ESEMNY egyednek a BR-
LAT fel val kapcsolatt, a PROGRAM ESEMNY s a MSOR/PROGRAM viszonyt a
tulajdonsgok nem indokoljk. Pldul a PROGRAM ESEMNY nem tartalmazza a Msor
sorszmt. E tvesen meghatrozott viszonyok miatt a BRLAT kicsit a levegben lg: annak a
RENDEZVNY-nyel, SZEMLY-lyel s PROGRAM-mal val viszonya hinyzik. Mivel a
PROGRAM ESEMNY nem kapcsoldik kzvetlenl a MSOR/PROGRAM egyedhez, az
utbbinak a PROGRAM-mal val viszonya lenne szksges.
Persze a tbbszrs sszettel kulcsokon rosszul meghatrozott kapcsolatokat s azt, hogy
azokat egyszerbbekkel kell kivltani, mr csak automata segtsgvel fedezhetjk fel. Meglepd-
nk, ha a plda megoldsra vllalkozk kzl valaki is el tudn helyesen rendezni e picinyke
esettanulmny egyedeinek az sszefggseit.

21.10 A plda idleges megoldsa

Az albbiakban kzreadom a plda idleges megoldsi vltozatt. Majd ezen ismertets utn
adok magyarzatot az idleges jelzre. A listban immr a rgebben megszokott dltbets
szedettel mutatom a kapcsol tulajdonsgokat.

RENDEZVNY (Rendezvny-becenv, Rendezvnynv, Vroskd, Kezddtum, Zrdtum)


Dtum [Kezddtum, Zrdtum]
VROS (Vroskd, Vrosnv)
DTUM (Dtum)
SZEMLY (Szemly-azonost, Szemlynv, Titulus, Vroskd, Lakcm, Telefon)

330
RENDEZ EGYSG TPUS (Rendez-egysg-tpuskd, Rendez-egysg-tpusnv)
RENDEZ EGYSG (Rendez-egysg-cs, Rendez-egysg-megnevezs, Ltrehozs-ve)
Rendez-egysg-cs {Rendez-egysg-tpuskd, Rendez-egysg-jel}
RENDEZ EGYSG FELADAT (Rendez-egysg-feladatkd, Rendez-egysg-feladat-nv)
SZEMLY RENDEZ FELADAT (Szemly-rendez-feladat-cs, Vroskd)
Szemly-rendez-feladat-cs {Szemly-azonost+Rendez-egysg-feladatkd+Rendez-egysg-cs}
RENDEZVNY TMOGAT (Rendezvny-tmogat-cs, Rendez-egysg-cs, Vroskd,
Egyb-szervezetkd)
Rendezvny-tmogat-cs {Rendezvny-becenv+Tmogat-sorszm}
RENDEZVNY EGYSG TPUS (Rendezvny-egysgkd, Rendezvny-egysg-megnevezs)
RENDEZVNY EGYSG (Rendezvny-egysg-cs)
Rendezvny-egysg-cs {Rendezvny-becenv+Rendezvny-egysgkd}
RENDEZVNY FELADAT (Rendezvny-feladat-tpuskd, Rendezvny-feladat-megnevezs)
SZEMLY RENDEZVNY FELADAT (Szemly-rendezvny-feladat-cs, Rendezvny-
egysgkd, Dtum)
Szemly-rendezvny-feladat-cs {Rendezvny-becenv+Rendezvny-feladat-tpus-kd+
Szemlyi-azonost}
MSOR (Msor-cs, Dtum, Kezd-idpont, Zr-idpont, Msornv)
Msor-cs {Rendezvny-becenv+Msor-sorszm}
PROGRAM (Programszm, Programcm)
MSOR/PROGRAM (Msor/program-cs)
Msor/program-cs {Rendezvny-becenv+Msor-sorszm+Programszm}
KZREMKD (Kzremkd-cs)
Kzremkd-cs {Programszm+Szemly-azonost}
PROGRAM ESEMNYTPUS (Program-esemny-tpuskd, Program-esemny-tpus-
megnevezs)
PROGRAM ESEMNY (Program-esemny-cs, Rendezvny-becenv)
Program-esemny-cs {Programszm+Program-esemny-tpuskd+Dtum}
BRLAT (Brlat-cs)
Brlat-cs {Rendezvny-becenv+Programsszm+Dtum+Szemly-azonost}
SZEMLY ESEMNYTPUS (Szemly-esemny-tpuskd, Szemly-esemny-tpus-megnevezs)
SZEMLY ESEMNY (Szemly-esemny-cs)
Szemly-esemny-cs {Rendezvny-becenv+Szemly-esemny-tpuskd+Dtum+
Egyedi-azonost}
MSOR/SZEMLY (Msor/szemly-cs, Programszm)
Msor/szemly-cs {Rendezvny-becenv+Rendezvny-feladat-tpuskd+Szemly-azonost+
Msor-sorszm}

21.24 tbla

FLRENDELT ALRENDELT

1 VROS RENDEZVNY TMOGAT


2 VROS SZEMLY FELADATA
3 DTUM RENDEZVNY
4 DTUM RENDEZVNY
5 SZEMLY SZEMLY FELADATA
6 SZEMLY SZEMLY ESEMNYEI
7 SZEMLY KZREMKDK
8 SZEMLY SZEMLY RENDEZVNYI FELADATA

331
9 PROGRAM KZREMKDK
10 PROGRAM PROGRAM ESEMNY
11 RENDEZVNY RENDEZVNY TMOGAT
12 RENDEZVNY SZEMLY ESEMNYEI
13 RENDEZVNY MSOR
14 RENDEZVNY SZEMLY RENDEZVNYI FELADATA
15 RENDEZVNY RENDEZVNY EGYSG
16 RENDEZVNY PROGRAM ESEMNYEI
17 RENDEZ EGYSG TPUS RENDEZ EGYSG
18 RI FELADAT SZEMLY FELADATA
19 RENDEZ EGYSG RENDEZVNY TMOGAT
21 RENDEZ EGYSG SZEMLY FELADATA
21 MSOR MSOR/SZEMLY
22 MSOR MSOR/PROGRAM
23 PROGRAM ESEMNYTPUS PROGRAM ESEMNYEI
24 RENDEZVNY FELADAT SZEMLY RENDEZVNYI FELADATA
25 RENDEZVNY EGYSG SZEMLY RENDEZVNYI FELADATA
26 SZEMLY ESEMNYTPUS SZEMLY/ESEMNY
27 SZEMLY RENDEZVNYI MSOR/SZEMLY
FELADATA
* SZEMLY RENDEZVNYI BRLAT
FELADATA
* PROGRAM ESEMNY BRLAT
30 DTUM SZEMLY RENDEZVNY FELADAT
31 DTUM MSOR
32 DTUM PROGRAM ESEMNY
33 DTUM BRLAT
34 DTUM SZEMLY ESEMNY
35 VROS RENDEZVNY
36 VROS SZEMLY
37 PROGRAM MSOR/PROGRAM
38 PROGRAM BRLAT
39 RENDEZVNY BRLAT
40 SZEMLY BRLAT

Az idlegesen vgs kapcsolattpusok listjt a 21.24 tbla mutatja. A csillaggal jellt


ttelek nem-valsak, megszntek. Az azok utniak a tulajdonsgok ltal tnylegesen alt-
masztott j kapcsolatokat mutatjk. Az j adatmodellt nem rajzolom fel: azt mr brki megteheti
a korbbi bra alapjn. Mr csak annyit kell elrulnom, hogy mirt idleges ez a megolds is.
Icipici redundancik mg mindig maradtak a modellben. A SZEMLY egyed Telefon ttel-
nek els pr karaktere a teleplsre utal. Nyilvnval fizikai redundancit okoz. Az egyes fel-
adatok kdjai a rendez illetve rendezvny egysgek kdjainak a kiegsztsei. Ez is redundancia
s a mdostsoknl bajokat eredmnyezhet. Taln elviselheteket. Csak arra akarom felhvni a
figyelmet, hogy a kdba ptett kd problmkat okozhat. Ha valakinek nem tetszik a Rendez-
bizottsg megjells s ahelyett Szervezbizottsg nevet akar - ez bizony gyakran megesik a
mindennapi letben -, akkor a korbbi RB kdokat t kell rni minden feladatot jell rokon
tulajdonsgban is SB-re. Az egymsra ptett beszlkdok nem jl trik a vltoztatsokat...
A normlformk szempontjbl pedig modellnk - rossz. Remlhetleg valakinek feltnt,
hogy a MSOR/PROGRAM Msor/program-cs {Rendezvny-becenv+Msor-sorszm+Prog-
ramszm} azonostja ellentmondsos. Ugyanis a Rendezvny-becenv s a Programszm

332
egyttese mg mindig bels kulcstr fggst okoz. Miutn ugyanaz a program egy rendezvny
tbb msorban nem fordulhat el, a Rendezvny-becenv+Programszm meghatrozza a Msor-
sorszmot. Vagy lnk ezzel a helyzettel, ami esetnkben nem okoz karbantartsi gondot, vagy
jra kell gondolnunk a rendezvny, a msor s a program viszonyt.

21.11 Zrsz

Lnyom szerint egyszerbb pldk sorozatval kellett volna prbra tennem az olvas trel-
mt, mieltt egy ilyen gymond kompliklt esetet vezetek fel. Mi tagads, rszben igazat adtam
neki, de vgl is nem hallgattam r. A valsghsg megsrtsre, az egyrtelmsg hinyra (a
homonimkra, szinonimkra, implicit szerepnevekre, rossz azonostsokra) mindig addnak egy-
szer pldk. Azt is knnyen be lehet mutatni, hogy egy modell hinyos vagy ppen redundns.
Kis mintapldkon mindez kivlan mkdik. Az ember nagy sikert arat azzal, hogy rbk: az X
egyed nincs az n-dik normlformban.
Az adatmodell optimumkritriumai egymssal sszefggenek. Ha a modell redundns vagy
hinyos, akkor feltehetleg nem is egyrtelm. Ameddig nem egyrtelm, addig nem trhatk fel
a hinyossgok s a redundancik. Mindez nem mutathat ki a szakirodalomban megszokott
minipldkon.
Sajt feladatommal mg nmagamat is jl megdolgoztattam. Pedig engem egy meglehetsen
pomps modellelemz szoftver tmogatott. gy nem csodlnm, ha az olvask jelents rsze
felhagyott volna a ksrletezssel. A pldrt mgsem krek elnzst. Ha egy picurka kis rendez-
vnyszervezsi adatbzis megtervezse ennyi gondot okoz, akkor mikppen tudjuk elrendezni egy
vals cg sokkal sszetettebb, sokkal komolyabb ismereteit?
Remlhetleg hrom tanulsggal mindenkppen szolglt ez az esettanulmny. Az egyik az,
hogy egy mr rosszul megtervezett pletet sokkal nehezebb talaktani, mint eleve j pletet
tervezni. Egyes krnyezetekben a majd integrlunk jelsz jegyben fejlesztenek. gy vlem,
hogy sikerlt kimutatni az utlagos integrls nehzsgeit. Elre kell integrlni, nem utlag. Az
adatbzis - egy trvnyre figyelve szabvnyokkal s az azok betartst ellenrz eszkzkkel
s mdszerekkel elkerlhet lenne az egyrtelmsgi, azonostsi, kdolsi, csoportostsi kosz
kialakulsa.
A msodik kvetkeztets is kzenfekv. Ha az olvas megbeszlhette volna velem, hogy
valjban mi mit is jelent, akkor egyszerbb lett volna a megolds. Ha lett volna md az rtelmes
kommunikcira, a modellezs nlklzhetetlen kellkre...! Ha rthetbben rtam volna le a
pldt...! Nos, a mindennapok sorn a terveznek lenne alkalma felkeresni a magyarzatokban
illetkest, mgsem teszi elg intenzven. Volna mdja arra, hogy rthetbben fogalmazza meg az
adatbzistervet, mgsem l ezzel a lehetsggel. Pedig az esettanulmny jl mutatja a szbeli s
rsbeli kommunikci elgg nem hangslyozhat fontossgt.
A harmadik tanulsg ltalnosabb. Az adatmodellezshez nemcsak szakmai tudsra, nem-
csak egy j adag tapasztalatra, hanem bizonyos tovbbi kpessgekre - ha szabad gy mondanom:
ernyekre - is szksg van. Tervezsi erny a trelem, a rszletek irnti fogkonysg, a rend-
rzk, a gondolati fegyelmezettsg, az odafigyels, az ignyessg, a ksrletezsi hajlam - s mg
sorolhatnm. A szakmai-technikai ismereteket le lehet rni. Azokat lehet oktatni, gyakoroltatni,
magyarzgatni. A tapasztalatot nem lehet tadni: azt mindenkinek magnak kell megszereznie
fradsgos munkval. s az ernyek? Az adatmodellezsre nemcsak tantani, hanem nevelni is
kellene.
Nemcsak magamnak rossz, ha tkletlen az adatbzistervem, hanem msoknak is. Nemcsak
nekem j, ha elegns - optimlis - adatmodellt alkotok, hanem partnereimnek is az. Knyvnket

333
az ismeret mint szellemi kenyr fontossgnak a megvilgtsval kezdtk s a msokra val fi-
gyels fontossgt hangslyoztuk. Fejezzk be ugyanitt. n nem azrt rgdok egy adatmodellen
napokat-heteket, mert azrt pnzt kapok. J, az is kell. Nem is azrt, hogy megdicsrjenek: ez jl
sikerlt. Persze a sikerlmny is szksges. n azrt trekszem egy j terv sszelltsra, mert -
az a dolgom. Nem a munkm, hanem a feladatom. Ehhez rtek, ez a hivatsom. Aminek lehet-
leg maradktalan betltsre - neveltek.
Ebben a knyvben nemcsak tudsomat, hanem szemlletemet is szerettem volna tadni az
olvasnak. Nemcsak oktatni, hanem nevelni is akartam volna. Azokat, akik erre mg taln kap-
hatak. Ezrt szlt ez a kiadvny elssorban a fiataloknak.

334
FELADATMEGOLDSOK

1/01 A. A kzls nem tartalmaz j ismeretet.


1/02 A. A lert ismeret mindig csak adat. Ha valaki nem tudja azt, hogy mi a rendszm
vagy a kocsitpus, abban nem szlethet informci.
1/03 S. Tudja n, hogy ki az a Sri? Szemly vagy l?
1/04 Aki olvasni tud, az szleli s rzkeli a jelsort. Ha nem ismeri a szt, akkor itt meg is
reked (3). Aki tud eszperantul, az ismeri a magyar megfelelt: navigls, teht a
kzlst felfogja (6). Aki tudja, hogy ez a sz mit jelent, csak az kpes rtelmezni is a
kzlst (10).

2/01 2, T, 1, 3
2/02 E, V, V, E. A frhely s a hdhossz nem vezet sehov. Viszont a rendelsttel cikkszm
ismerete azt sejteti, hogy a cikkrl is van mondanivalnk. Ha Gbor szervezi tanfo-
lyamra jr, akkor a tanfolyam maga is fontos, Gbortl fggetlenl lerhat jelensg.
2/03 I, H, H, I
2/04 H, I, I, I

3/01 H, T, I
3/02 1. Csakis egyetlen egyedtpusrl lehet sz, mivel az orvos, a beteg s a lehetsges beteg
egyarnt SZEMLY. Az egyedaltpusokrl majd ksbb lesz sz. Tbb egyedtpus
krelsa az adott esetben ismeretredundancival jrna. Hiszen az orvos is biztostott s
is lehet beteg.
3/03 M. A ptlk a szemly brt rja le, teht tulajdonsgtpusknt tkrzend. Viszont tbb
szemly is ugyanazt a ptlkot kapja feladattl fggen. gy a ptlk ltalnosan is le-
rhat a Ptlknv, Ptlksszeg, Ptlkfelttel ismeretekkel. Ezrt egyedtpusknt is
megfogalmazand.
3/04 A Rendelsdtum nem vezet sehov. Ezzel szemben a Vevkd egy msik egyedre, a
konkrt vevre utal a VEV - RENDELS ltalnos kapcsolat szerint. Ezrt a kt
tulajdonsg kztt elgg lnyeges az eltrs.
3/05 H, H, I, H

4/01 T. A duplapontossg adat kimondottan trolsi trkk.


4/02 L.
4/03 I, I, I, I
4/04 V, E, N, V, N

5/01 3. Kln egyed a kocsi, a kresemny s a kocsit rt kr. Egy kocsi akrhny krt szen-
vedhet, ezrt a kr adata nem kapcsolhat oda. Egy balesetben tbb kocsi vehet rszt, gy
az elbbi llts megfordtva is igaz. Vegyk szre, hogy ms jelensg a kocsi, a valahol
trtnt baleset s a kocsit rt kr.
5/02 R, R, H
5/03 2
5/04 I, I, I
5/05 H, H, H, I

335
6/01 H, H, I. Ha nem gy gondolkodnnk, Cliff Richard dalait sszekevernnk Little Richard
ntival.
6/02 L, S, H
6/03 AA, LL, AK, AA, LL
6/04 3
6/05 1. Ismtld csoportot nem szabad alkalmazni. A legmagasabb kpzettsg pedig azrt
csacsisg, mert valakinek lehet tbb ilyen kpzettsge is.
6/06 3
6/07 Szmlaszm: AA. Vevkd: AK. Sorszm: RR.
6/08 4. Sokan a 3. megoldst vlasztjk. Nem jutnak vele messzire, mert kiderl, hogy tves
az egsz ismeretsor. Minden jelensgnek tnylegesen azonosthatnak kell lennie. Amed-
dig nem az, addig nem lehet vele szmolni.

7/01 N, H, N
7/02 H, I, I, I
7/03 I, H, H
7/04 R, J, J
7/05 R, R, J
7/06 F, P
7/07 2, 4
7/08 3, 4

8/01 I, I, I
8/02 K, K, F, K
8/03 I, H, I, I, H, I. A Szmlartk a Szmlattel-rtkbl egy hozzfrssel kiszmthat,
mert a SZMLA a SZMLATTEL kzvetlen flrendeltje.
8/04 3
8/05 A knyvels minden ismerete msutt mr kezelt alapadatokra pl. Ha azokat nem
troljuk a szmtgpen, akkor manulisan kell bevinni ket. Ez pedig igen komoly
hibk forrsa. Nem beszlve a csalsi szndkrl, a szmtgpes knyvels sokszor azrt
nem sikeres, mert frissen bevitt - s nem ab ovo trolt - adatokra pl.
8/06 2, 3, 1, 0, 4

12/01 1 - A Vevcm nylt logikai tfedst okoz.


12/02 3, 5 - A Vevnv s Vev-megnevezs szinonima. A kt egyed nem kapcsolhat.
12/03 7 - A rszlet egyenslytalan. Knnyen kikereshet az, hogy egy szemly milyen nyelve-
ket beszl. Viszont nehezen keressk ki, hogy ki tud angolul.
12/04 K - Mivel brmikor szksg lehet jabb keltezsre (pl. szllts dtuma), az ltalnos
Dtum nv alkalmazsa nem clszer. A lerkat minsteni illik. Ezrt a Rendelsdtum
nv hasznlata helyesebb lenne.
12/05 K - A terv technikai szinonimt tartalmaz. Gondolkozni kell azon, hogy a kt adszm
azonos lnyeg-e. Az azonostkat kapcsol szerepk miatt nem illik minsteni. Itt helye-
sebb lenne az egyszer Adszm nv hasznlata.
12/06 B - Tipikus bizonylatszemllet. A szemly trzslapjn szerepel a foglalkoztat szervezeti
egysg kdja s neve. Ezrt a tervez mindkettt felvette a SZEMLY llomnyba, holott
kln SZERVEZET llomnyban lenne csak szabad a nevet rgzteni. Ha a Szervezetnv
vltozik, akkor azt gy minden foglalkoztatottjnl karban kell tartani, teht a feldolgo-
zs tbbszrs.
12/07 K - Tipikus kimenetorientlt terv. Nem magra a lnyegre (cikk) utal annak azonost-
jval (Cikkszm), hanem osztlyozsi ismrveket sorol fel.

336
12/08 Els rnzsre az r nylt logikai tfeds, redundancia. Azonban knnyen meglehet,
hogy homonimrl van sz. Ltezik a cikkre jellemz Egysgr s egyes rendelsekben
kialkudott, kedvezmnyes vagy szerzdses rakat alkalmaznak. Ha egy cikk Szerz-
dses-ra mindig azonos, de nem egyezik meg az Egysgrral, akkor a CIKK-ben kell
szerepeltetni a kt rat s a RENDELSTTEL-ben nincs r. Ha a kedvezmnyes rak
alkalomszerek, akkor az rnak a RENDELSTTEL-ben is van helye, de minden-
kppen ms - minstett - nvvel.

13/01 1,4
13/02 E - Ez becsaps volt. A TELEPLS egyeden bell minden teleplsnek van neve s
irnytszma.
13/03 A - Gyerekkd Apakd
B - Gyerekkd </> Apakd
13/04 Raktrkd </> Cikk-kd
Raktrkd Cikk-kd
Rendelsszm Cikk-kd
Rendelsszm </> Cikk-kd
Irnytszm Kerletkd
Frjkd Felesgkd
Frjkd </> Felesgkd
13/05 J - Minden teleplsnek van irnytszma, de nem minden ilyen szm azonost
teleplst.
13/06 3
13/07 3 - Kt tulajdonsg viszonya nem lehet ilyen is, meg olyan is. Ha milli rendels kztt
csak egy is van, amelyben tbb cikket krnek, akkor mr a RENDELS s a CIKK egyed
M:N-es viszony, teht kulcsaik egymstl fggetlenek.
13/08 S - A terv rejtett ismtldst tartalmaz, amit sohasem szabad lnevekkel leplezni.
13/09 SZEMLY (Trzsszm, ...)
SZMLA (Trzsszm+Hnap, ..., Szmla-sszeg)

14/01 0 - Az egyed ismtldst tartalmaz.


14/02 1
14/03 1
14/04 CIKK (Cikkszm, Egysgr)
SZMLATTEL (Szmlaszm+Cikkszm, ..., Ttelrtk)
14/05 2
14/06 3 - Minden kocsinak van ktelez biztostsa. Ezrt a Rendszm s a KB-ktvnyszm
fggs klcsns. Az utbbi ttel valdi kulcs, amelynek fggseit nem vizsgljuk a
3NF alakig bezran. Ellenesetknt szolgl a 14.11 plda Casco-ktvnyszm tulajdon-
sga, amely nem volt valdi kulcsvltozat.
15/01 I, I, I, H - Elmletileg egy ktoszlopos csupakulcs tblzat lebonthat kt unris tblra.
Gyakorlatilag ennek nincs jelentsge, ezrt nem is rszletezzk a tmt.
15/02 H - Egy egyed nemcsak a funkcionlis, hanem a tbbrtk fggs esetn is megbont-
hat sszekapcsolhat mdon. Teht a kittelt gy kell mdostani: az E (A, B, C) egyed
csak akkor egyenl az E1 (A, B) s E2 (A, C) lebontsainak az sszekapcsolsval, ha
fennll az A ==> B tbbrtk fggs.
15/03 I, I, I, H
15/04 I, H, I

337
15/05 Az els egyedben krkrs JD fedezhet fel, teht az egyed csak 4NF alak s hrmas
megbontst lehetne alkalmazni. Viszont a msodik egyedben az els hrom ttel funkcio-
nlisan meghatrozza a negyediket (melyik csapat, melyik asztalnl, milyen leosztsban
milyen eredmnyt rt el). Ezrt ez az egyed nem bonthat meg ismeretvesztesg nlkl.
A plda jl mutatja, hogy az 5NF csak elmleti trkk. A gyakorlatban igen ritka a meg-
bonthat, csupakulcs, ler tulajdonsg nlkli egyedtpus.
16/01 I, I, I, I, I
16/02 A TERMK egyedben tetszleges - ltez - dolgozra s gpre lehet utalni gy, hogy a
dolgoz nem is kezeli azt a gpet. Hinyzik a kt egyed kzti hivatkozsi integritsi
korlt. A helyes megolds:

HASZNLJA (Hasznlja-azonost, ..., Mszak)


TERMK (Termkazonost, Hasznlja-azonost)
Hasznlja-azonost {Dolgoz-azonost+Gpazonost}
16/03 A Dolgoz-azonost impliciten redundns. Azt a Helyettestett-dolgoz-azonost
ttellel kell kivltani a homonima elkerlsre. Az egyik azonost Szabra, a msik
Kovcsra fog utalni.
16/04 A Rendelsszm Szmlaszm fggs miatt pszeudo-tranzitivits ll fenn. Az rtk
vagy pszeudo-tranzitv fggs, vagy homonima. Feltehetleg az elbbi.
16/05 A problma a kvetkez: a Szerzdsszmot megadhatjuk elemi tulajdonsgknt, de
akkor nem tudunk a Vevkdon a VEV fel kapcsolni s nem rvnyesthetjk a
hivatkozsi integritst. Vagy rszeire bontjuk, de akkor procedurlisan kell ellenrizni a
Ktsszm Szerzdsszmon belli egyedisgt. Nem deklarlhatjuk egyetlen helyen az
egyedisget. Termszetesen a clszer megolds a csoport lenne. A fogalmi tervezsi
szinten felttlenl az, hogy mindegyik integritsi korltot ki tudjuk fejezni.

338
IRODALOMJEGYZK

[1] IBM: Vocabulary for Data Processing, Telecommunications and Office Systems. 7.
kiads, 1981. jlius.
[2] Idegen szavak kzisztra. Szerk.: Bakos Ferenc. Terra, Budapest, 1967.
[3] Bachman, C.W.: Data Space Mapped into Three Dimensions. Infotech State of the Art
Report 15., 1973.
[4] Falkenberg, E.: Significations: The Key to Unify Data Base Management. Information
Systems, Vol. 2, No. 1, 1976.
[5] Nijssen, G.M.: Architecture and Models in Data Base Management. North-Holland,
Amsterdam, 1977.
[6] Hall P. et al.: Relations and Entities. In: Modelling in Data Base Management Systems
(ed.: Nijssen, G.M.), North-Holland, Amsterdam, 1976.
[7] Quittner Pl: Adatbzis-kezels a gyakorlatban. Akadmia, Budapest, 1993.
[8] Proc. of IFIP TC2 Working Conference on Data Base Architecture. Velence, 1979.
North-Holland, Amsterdam, 1979.
[9] Object-Oriented Databases. Proc. of 1st Internat. Workshop, IEEE Computer Society
Press, 1986.
[10] ANSI/X3/SPARC Study Group on Data Base Management Systems. Interim Report.
FDT (ACM SIGMOD bulletin) 7, No. 2, 1975.
[11] ISO TC97/SC5/WG5: A Database Management System REFERENCE MODEL for
STANDARDISATION. 1984 szeptember.
[12] Chen, P.P.S.: The Entity-Relationship Model - Toward a Unified View of Data. ACM
TODS Vol. 1, No. 1, 1976.
[13] Rustin, R. (ed.): Data Models: Data Structure Set versus Relational. Proc. 1974 ACM
SIGMOD Workshop on Data Description, Access and Control, Vol. 2, 1974.
[14] Bachman, C.W.: Data Structure Diagrams. Data Base (ACM SIGBDP) Vol. 1, No. 2,
1969.
[15] Griethuysen (ed.) ISO TC97/SC5/WG3: Concepts and Terminology for the Conceptual
Schema and Information Base, ANSI, 1982.
[16] Codd, E.F.: Extending the Database Relational Model to Capture More Meaning. ACM
TODS, Vol. 4, No. 4, 1979.
[17] Appleton, D.S.: SYSTEM 2000 DBMS. Proc. of GUIDE 37. 1975.
[18] Malcolm, E.: SSADM Version 4. A Users Guide. McGraw-Hill, London, 1992.
[19] Codd, E.F.: A Relational Model of Data for Large Shared Data Banks. CACM, Vol. 13,
No. 6, 1970.
[20] Armstrong, W.W.: Dependency Structures of Data Base Relationships. Proc. IFIP
Congress 1974.
[21] Codd, E.F.: Further Normalization of the Data Base Relational Model. Data Base
Systems, Courant Computer Science Symposia Series, Vol. 6, Englewood Cliffs, N.J.,
Prentice-Hall, 1972.
[22] Date, C.J.: An Introduction to Database Systems. 3.kiads, Addison-Wesley, Reading,
Massachusetts, 1981.
[23] Rissanen, J.: Independent Components of Relations. ACM TODS, Vol. 2, No. 4, 1977.
[24] Codd, E.F.: Recent Investigations into Relational Data Base Systems. Proc. IFIP
Congress, 1974.
[25] Fagin, R.: Multivalued Dependencies and a New Normal Form for Relational Databases.
ACM TODS, Vol. 2, No. 3, 1977.

339
[26] Aho, A.V. s msok: The Theory of Joins in Relational Databases. ACM TODS, Vol. 4,
No. 3, 1979.
[27] Smith, J.M.: A Normal Form for Abstract Syntax. Proc. 4th Intertnational Conf. on Very
Large Data Bases, 1978.
[28] Fagin, R.: A Normal Form for Relational Databases That is Based on Domains and
Keys. IBM Research Report RJ2520, 1980.
[29] Fagin, R.: The Decomposition Versus the Synthetic Approach to Relational Database
Design. Proc. 3rd International Conference on Very Large Data Bases, 1977.
[30] Bernstein, P.A.: Synthesizing Third Normal Form Relations from Functional
Dependencies. ACM TODS, Vol. 1, No. 4, 1976.
[31] Halassy, B.: Normal forms and normalization: practical designers view. Information
and Software Technology, Vol. 33, No. 6, 1991.

340
FOGALOMJEGYZK
1NF 196 Csaldfa egyedtpus 96, 275
2NF 202 Csoport 232
3NF 206 Csoportfggs 241
4NF 225 Csupakulcs egyed 84, 223
5NF 229 Deklaratv adatkezels 90
braorientlt tervezs 129 Denormalizls 207
Abszolt szerep 75 Deszkriptor 29
Adat 14, 28 Domjn 181
Adatbrzols 53 Egyed 33
Adatadminisztrtor 140 Egyed bels szerkezete 72
Adatllomny 27 Egyed kls szerkezete 72
Adatalmodell 66 Egyed-elforduls 33
Adatbank 29 Egyed-elfordulshalmaz 33
Adatbzis 43 Egyedaltpus 101, 277
Adatbzisgp 110 Egyedciklus 259
Adatbziskezels 114 Egyedtpus 33
Adatbevitel 149 Elemi azonost 83
Adatcsoport 48 Elemi fggs 177
Adatdimenzik 23 Elhelyezsi md 54
Adatfeldolgozsi mvelet 111 Elsdleges kulcs 74
Adatkezelsi mvelet 110 Ers fggs 179
Adatkimenet 151 rtkhalmaz 35
Adatkonverzi 138, 148 rtktartomny 90, 180
Adatmodell 44 rvnyests 52
Adatmodell-diagram 68 Eszkzfggsg 46
Adatrgzts 149 Fejlesztsi adatbzis 121
Adatsztr 124 Feltteles fggs 276
Adatttel 28 Fizikai adatfggetlensg 55
Additivitsi szably 177 Fizikai adatszerkezet 53
Alapadat 111 Fizikai tfeds 166
Alrendelt egyed 77 Fizikai particionls 109
Alkalmazsi adatbzis 121 Fogalmi adatszerkezet 51
llomnykezels 113 Fogalmi sma 66
llomnykezel 32 Fogalmi szint 64
Alternl kulcs 212 Fogalomalkots 144
Asszocici 37 Fonl 263
Atomi egyedtpus 218 Flrendelt egyed 77
Attribtum 180 Funkcionlis fggs 177
Azonosts 39 Fggser 179
Azonost 40, 74 Generalizci 102, 278
Azonost szerep 73 Globlis nzet 61
BCNF 218 Gyenge fggs 179
Bels kulcstr fggs 236 Hls viszony 79, 256
Bels szint 64 Hzastrs viszony 98
Bemenetorientltsg 172 Hierarchikus viszony 78, 256
Binris relci 37 Hivatkozs-integrits 249
Birtoklsi viszony 77 Homonima 162
Bizonylat 148 Hozzfrsi md 54

341
Idegen kulcs 75 Navigls 114
Informci 14 Nem-rtelmezhet tulajdonsg 100
Informcis erforrs sztr 125 Nem-fggetlen lebonts 211
Inkonnektivits 165 Nem-normalizlt egyedtpus 184
Integritsi korlt 180 Nzet 65
Interj 145 Nzetorientltsg 58
Is-egy kapcsolat 102 Normlforma 184, 195
Ismtld adat 48, 183 Normlforma dekompozci 199
Ismtld csoport 183 Normlforma szintzis 252
Ismtld tulajdonsg 79 Normalizlsi alap 247
Kapcsolsfggs 228 Normalizlsi eljrs 247
Kapcsolat 76, 104 Nylt logikai tfeds 161
Kapcsolat foka 77 Objektumtpus 37
Kapcsolat opcionalitsa 77 rklds 102
Kapcsolat-elforduls 41 sszekapcsols 210
Kapcsolat-elforduls-alhalmaz 41 sszetett azonost 83
Kapcsolat-elfordulshalmaz 41 sszetett fggs 178
Kapcsolathiny 248 Parcilis nzet 62
Kapcsolattpus 41 Pragmatika 19
Kapcsol szerep 75 Procedurlis adatkezels 89
Kiegyenslyozatlansg 167 Projektivitsi szably 197
Kimenetorientltsg 173 Pszeudo-tranzitv fggs 244
Kiterjeds (extenzi) 108 Reflexivitsi szably 177
Kivetts 199 Rejtett logikai tfeds 163
Konstans 283 Rekord 27
Korlt 63 Relatv szerep 75
Klcsns fggs 178 Rszleges fggs 180, 197
Klcsns viszony 84 Specializci 101, 277
Knyvtr 29 Szrmaztatott adat 111
Kulcsjellt 211 Szz-szzalkos elv 90
Kulcsmtrix 266 Szemantika 19
Kulcsrsz 84 Szemantikai adatbzis 24
Kulcstr fggs 217 Szerepnv 91
Kls szint 65 Szingulris egyed 281
Ltszlagos logikai tfeds 162 Szinonima 163
Lebonthatatlan relci 38 Szintaktika 19
Ler szerep 74 Sz 28
Lineris viszony 257 Szvegllomny 32
Logikai adatfggetlensg 65 Szvegkezel 32
Logikai adatszerkezet 52 Szvegszerkeszt 23
Logikai particionls 108 Tartalom (intenzi) 108
Metaadat 122 Tartomnyfggs 181
Metaadatbzis 123 Technikai adatok 117
Metaadatmodell 123 Technikai homonima 164
Metaismeret 127 Technikai szinonima 164
Metaszabvny 136 Teljes fggs 180
Metszetfggs 238 Tervezsi folyamat 137
Mez 27 Tervtermk 136
Mondat 28 Tezaurusz 29
Mondattpus 25, 38 Tbbrtk fggs 224

342
Tbbszrs kapcsolat 270 Unris egyed 279
Tranzitv fggs 204 Univerzlis relci 251
Tranzitivitsi szably 204 Validls 149
Trivilis fggs 234 Vltozsmenedzsels 139
Tulajdonsg 35 Vertiklis lekpezs 56
Tulajdonsg szerep 74 Vesztesgmentes dekompozci 209
Tulajdonsg-struktra 282 Virtulis egyed 65
Tulajdonsg-vndorls 259 Visszamutat kapcsolat 95, 274
Tulajdonsgrtk 35 Visszamutat viszony 95, 273
Tulajdonsgtpus 35

343

Anda mungkin juga menyukai