122
1. fejezet - Adatbázisok és adatbázis-felhasználók 1.1. Bevezetés Az adatbázisok és az adatbázis-technológia nagy hatással vannak a számítógépek elterjedésére. Azt mondhatjuk, hogy az adatbázisok kritikus szerepet játszanak szinte minden olyan területen, ahol számítógépeket használunk, beleértve az üzletet, az elektronikus kereskedelmet, a mérnöki tudományokat, az orvostudományt, a jogot, az oktatást és a könyvtártudományt. Az adatbázis szó használata annyira elterjedt, hogy annak a definiálásával kell kezdenünk, mi is az az adatbázis. Az első definíciónk meglehetősen általános. Az adatbázis egymással kapcsolatban álló adatok gyűjteménye. Adat alatt olyan ismert tényeket értünk, amelyek feljegyezhetők, és amelyeknek implicit jelentésük van. Ilyenek például az ismerőseink nevei, telefonszámai és címei. Ezeket az adatokat feljegyezhetjük egy indexelt névjegyzékbe, vagy tárolhatjuk merevlemezen is egy személyi számítógépen egy olyan szoftverrel, mint például a Microsoft Access vagy Excel. Az ilyen implicit jelentéssel bíró, egymással összefüggő adatok gyűjteménye az adatbázis. Az adatbázisnak ez a definíciója meglehetősen általános; egymással összefüggő adatoknak tekinthetjük például az ezen az oldalon található szavak gyűjteményét, amelyek ezáltal egy adatbázist alkotnak. Az adatbázis kifejezést viszont általában ennél korlátozottabb értelemben használhatjuk. Az adatbázis a következő implicit tulajdonságokkal rendelkezik: Az adatbázis a valós világ valamely részét reprezentálja, amelyet néha minivilágnak vagy a modellezés tárgyának nevezünk. A minivilágban bekövetkező változások megjelennek az adatbázisban. Az adatbázis adatok logikailag összetartozó gyűjteménye a benne rejlő jelentéssel együtt. Az adatok egy véletlenszerű összességét nem tekinthetjük adatbázisnak. Az adatbázist egy konkrét céllal tervezzük és építjük, továbbá konkrét céllal tárolt adatokkal töltjük föl. Jól meghatározott felhasználói csoport használja jól meghatározott, számukra értelmes céllal. Más szóval az adatbázisnak van valamilyen forrása, ahonnan az adatok származnak, valamilyen szinten kölcsönhatásban áll a valós világ eseményeivel, és van egy közönsége, amelyet aktívan érdekel a tartalma. Az adatbázis végfelhasználói végrehajthatnak üzleti tranzakciókat (például egy vevő vásárol egy kamerát), vagy olyan események történhetnek (például egy alkalmazottnak gyereke születik), amelyek az adatbázisban tárolt információk megváltozását okozzák. Ahhoz, hogy egy adatbázis minden pillanatban pontos és megbízható legyen, hűen kell tükröznie az általa reprezentált minivilágot; ezért a változásokat, amint csak lehetséges, át kell vezetni az adatbázisba. Egy adatbázis tetszőleges méretű és összetettségű lehet. A korábban említett, neveket és címeket tartalmazó lista például csak néhány száz, egyszerű szerkezetű rekordból állhat. Egy hatalmas könyvtár számítógépesített katalógusa viszont akár félmillió bejegyzést is tartalmazhat különböző — az első szerző vezetékneve, a mű tárgya, illetve címe szerinti — kategóriákba szervezve, az egyes kategóriákon belül ábécérendben. Ennél is nagyobb méretű és összetettségű az Internal Revenue Service (IRS) által karbantartott adatbázis, amely az amerikai adófizetők adóbevallásait tartalmazza. Ha feltételezzük, hogy százmillió adófizető van, akik közül mindenki átlagosan öt bevallást készít, amelyek mindegyike 400 karakternyi információt tartalmaz, akkor egy 100 × 10 6 × 400 × 5 karakter (bájt) mennyiségű információt tartalmazó adatbázist kapunk. Ha az IRS minden adófizető esetén az aktuálison kívül az utolsó három adóbevallást is megőrzi, akkor egy 8 × 10 11 bájt (800 gigabájt) méretű adatbázist kapunk. Ezt a hatalmas mennyiségű információt úgy kell szervezni és kezelni, hogy a felhasználók szükség szerint kereshessék, lekérdezhessék és módosíthassák a benne szereplő adatokat. Nagy üzleti adatbázisra példa az Amazon.com, amely több mint 20 millió könyvről, CD-ről, videóról, DVD-ről, játékról, elektronikai eszközről, ruházati cikkről és egyéb termékről tartalmaz adatokat. Ez az adatbázis több mint 2 terabájtot foglal el (1 terabájt egyenlő 10 12 bájttal), és 200 különböző számítógépen (adatbázisszerveren) tárolódik. Naponta kb. 15 millió látogató éri el az Amazon.com-ot, és használja vásárlásaihoz az adatbázist. Az adatbázist folyamatosan aktualizálják, ahogy új könyveket és egyéb cikkeket vesznek nyilvántartásba, a raktáron lévő mennyiségeket pedig a vásárlások során frissítik. Nagyjából 100 ember felelős az Amazon adatbázisának karbantartásáért. Az adatbázist létrehozhatjuk és karbantarthajuk kézzel vagy számítógép segítségével. Egy könyvtári katalógus például egy olyan adatbázis, amelyet kézzel hozunk létre és tartunk karban. Egy számítógéppel kezelt adatbázist vagy konkrétan erre a célra írt alkalmazásokkal hozunk létre és tartunk karban, vagy pedig egy adatbázis-kezelő rendszerrel. Ebben a jegyzetben csak számítógéppel kezelt adatbázisokkal foglalkozunk.

adatbazis

Embed Size (px)

DESCRIPTION

Adatbázis, oktatás

Citation preview

  • 1. fejezet - Adatbzisok s adatbzis-felhasznlk

    1.1. Bevezets

    Az adatbzisok s az adatbzis-technolgia nagy hatssal vannak a szmtgpek elterjedsre. Azt mondhatjuk, hogy azadatbzisok kritikus szerepet jtszanak szinte minden olyan terleten, ahol szmtgpeket hasznlunk, belertve az zletet, azelektronikus kereskedelmet, a mrnki tudomnyokat, az orvostudomnyt, a jogot, az oktatst s a knyvtrtudomnyt. Azadatbzis sz hasznlata annyira elterjedt, hogy annak a definilsval kell kezdennk, mi is az az adatbzis. Az elsdefincink meglehetsen ltalnos.

    Az adatbzis egymssal kapcsolatban ll adatok gyjtemnye. Adat alatt olyan ismert tnyeket rtnk, amelyekfeljegyezhetk, s amelyeknek implicit jelentsk van. Ilyenek pldul az ismerseink nevei, telefonszmai s cmei. Ezeket azadatokat feljegyezhetjk egy indexelt nvjegyzkbe, vagy trolhatjuk merevlemezen is egy szemlyi szmtgpen egy olyanszoftverrel, mint pldul a Microsoft Access vagy Excel. Az ilyen implicit jelentssel br, egymssal sszefgg adatokgyjtemnye az adatbzis.

    Az adatbzisnak ez a defincija meglehetsen ltalnos; egymssal sszefgg adatoknak tekinthetjk pldul az ezen azoldalon tallhat szavak gyjtemnyt, amelyek ezltal egy adatbzist alkotnak. Az adatbzis kifejezst viszont ltalban ennlkorltozottabb rtelemben hasznlhatjuk. Az adatbzis a kvetkez implicit tulajdonsgokkal rendelkezik:

    Az adatbzis a vals vilg valamely rszt reprezentlja, amelyet nha minivilgnak vagy a modellezs trgynakneveznk. A minivilgban bekvetkez vltozsok megjelennek az adatbzisban.

    Az adatbzis adatok logikailag sszetartoz gyjtemnye a benne rejl jelentssel egytt. Az adatok egy vletlenszersszessgt nem tekinthetjk adatbzisnak.

    Az adatbzist egy konkrt cllal tervezzk s ptjk, tovbb konkrt cllal trolt adatokkal tltjk fl. Jlmeghatrozott felhasznli csoport hasznlja jl meghatrozott, szmukra rtelmes cllal.

    Ms szval az adatbzisnak van valamilyen forrsa, ahonnan az adatok szrmaznak, valamilyen szinten klcsnhatsban ll avals vilg esemnyeivel, s van egy kznsge, amelyet aktvan rdekel a tartalma. Az adatbzis vgfelhasznlivgrehajthatnak zleti tranzakcikat (pldul egy vev vsrol egy kamert), vagy olyan esemnyek trtnhetnek (pldul egyalkalmazottnak gyereke szletik), amelyek az adatbzisban trolt informcik megvltozst okozzk. Ahhoz, hogy egyadatbzis minden pillanatban pontos s megbzhat legyen, hen kell tkrznie az ltala reprezentlt minivilgot; ezrt avltozsokat, amint csak lehetsges, t kell vezetni az adatbzisba.

    Egy adatbzis tetszleges mret s sszetettsg lehet. A korbban emltett, neveket s cmeket tartalmaz lista pldul csaknhny szz, egyszer szerkezet rekordbl llhat. Egy hatalmas knyvtr szmtgpestett katalgusa viszont akr flmillibejegyzst is tartalmazhat klnbz az els szerz vezetkneve, a m trgya, illetve cme szerinti kategrikbaszervezve, az egyes kategrikon bell bcrendben. Ennl is nagyobb mret s sszetettsg az Internal Revenue Service(IRS) ltal karbantartott adatbzis, amely az amerikai adfizetk adbevallsait tartalmazza. Ha felttelezzk, hogy szzmilliadfizet van, akik kzl mindenki tlagosan t bevallst kszt, amelyek mindegyike 400 karakternyi informcit tartalmaz,

    akkor egy 100 106 400 5 karakter (bjt) mennyisg informcit tartalmaz adatbzist kapunk. Ha az IRS minden

    adfizet esetn az aktulison kvl az utols hrom adbevallst is megrzi, akkor egy 8 1011 bjt (800 gigabjt) mretadatbzist kapunk. Ezt a hatalmas mennyisg informcit gy kell szervezni s kezelni, hogy a felhasznlk szksg szerintkereshessk, lekrdezhessk s mdosthassk a benne szerepl adatokat. Nagy zleti adatbzisra plda az Amazon.com, amelytbb mint 20 milli knyvrl, CD-rl, viderl, DVD-rl, jtkrl, elektronikai eszkzrl, ruhzati cikkrl s egyb termkrl

    tartalmaz adatokat. Ez az adatbzis tbb mint 2 terabjtot foglal el (1 terabjt egyenl 1012 bjttal), s 200 klnbzszmtgpen (adatbzisszerveren) troldik. Naponta kb. 15 milli ltogat ri el az Amazon.com-ot, s hasznljavsrlsaihoz az adatbzist. Az adatbzist folyamatosan aktualizljk, ahogy j knyveket s egyb cikkeket veszneknyilvntartsba, a raktron lv mennyisgeket pedig a vsrlsok sorn frisstik. Nagyjbl 100 ember felels az Amazonadatbzisnak karbantartsrt.

    Az adatbzist ltrehozhatjuk s karbantarthajuk kzzel vagy szmtgp segtsgvel. Egy knyvtri katalgus pldul egyolyan adatbzis, amelyet kzzel hozunk ltre s tartunk karban. Egy szmtgppel kezelt adatbzist vagy konkrtan erre a clrart alkalmazsokkal hozunk ltre s tartunk karban, vagy pedig egy adatbzis-kezel rendszerrel. Ebben a jegyzetben csakszmtgppel kezelt adatbzisokkal foglalkozunk.

  • Az adatbzis-kezel rendszer (DBMS) olyan programok gyjtemnye, amelyek lehetv teszik a felhasznlknak, hogyltrehozzanak s karbantartsanak adatbzisokat. A DBMS egy ltalnos cl szoftverrendszer, amely lehetv teszi klnbzfelhasznlk s alkalmazsok szmra az adatbzisok definilst, ltrehozst, manipullst s megosztst. Az adatbzisdefinilsa az adatbzisban troland adatokra jellemz adattpusok, adatszerkezetek s megszortsok megadst jelenti. Azadatbzis-definci, azaz az adatbzist ler informcik szintn az adatbzisban troldnak adatbzis-katalgus vagy sztrformjban; ezeket metaadatoknak nevezzk. Az adatbzis ltrehozsa az a folyamat, amikor eltroljuk az adatokatvalamilyen, a DBMS ltal vezrelt adathordozn. Az adatbzis manipullsa olyan funkcikat foglal magban, mint pldul azadatbzis lekrdezse konkrt adatok lekrse cljbl, az adatbzis mdostsa a minivilg vltozsnak tkrzse cljbl,vagy jelentsek ksztse az adatok alapjn. Az adatbzis megosztsa lehetv teszi, hogy tbb felhasznl s programprhuzamosan hozzfrjen az adatbzishoz.

    Az alkalmazi programok a DBMS fel kldtt lekrdezsekkel vagy adatok irnti ignyekkel frnek hozz az adatbzishoz.A lekrdezs ltalban bizonyos adatok letltst jelenti; mg a tranzakci bizonyos adatok olvassval s bizonyos adatokrsval jr az adatbzisban.

    A DBMS ltal biztostott egyb fontos funkcik kz tartozik az adatbzis vdelme s a hossz idn t trtn karbantartsa. Avdelem magban foglalja a hibs hardver- vagy szoftvermkds (sszeomls) elleni rendszervdelmet, valamint azilletktelen vagy rosszindulat hozzfrs elleni biztonsgi vdelmet. Egy tipikus nagy adatbzisnak tbbves letciklusa lehet,a DBMS-nek teht karban kell tartania az adatbzist, mikzben hagyja, hogy a rendszer folyamatosan fejldjn, ahogyan akvetelmnyek idvel vltoznak.

    Nem szksgszeren kell ltalnos cl DBMS szoftvert hasznlnunk egy szmtgppel kezelt adatbzis megvalstshoz.rhatunk sajt programokat is az adatbzis ltrehozshoz s karbantartshoz, amellyel gyakorlatilag elksztjk sajt,specilis cl DBMS szoftvernket. Mindkt esetben akr ltalnos cl DBMS-t hasznlunk, akr nem rendszerint nagymennyisg sszetett szoftvert kell teleptennk. Valjban a legtbb DBMS rendkvl sszetett szoftverrendszer.

    1.1. bra - Az adatbzisrendszer leegyszerstett smja

    Hogy teljess tegyk a kezdeti definciinkat, az adatbzist, a felhasznlkat, a DBMS szoftvert, illetve a DBMS-t futtat s azadatbzist trol hardvert egytt adatbzisrendszernek nevezzk. Az 1.1. bra illusztrl nhnyat az eddig trgyalt fogalmakkzl.

    1.2. Egy plda

    Tekintsnk egy egyszer pldt, amely a legtbb olvas szmra ismers lehet: egy EGYETEM adatbzist hallgatkra,trgyakra s eredmnyekre vontakoz informcik karbantartsra egy egyetemi krnyezetben. Az 1.2. bra bemutatja azadatbzis szerkezett s nhny plda adatot egy ilyen adatbzishoz. Az adatbzist t llomnyba (fjlba) szervezzk, melyek

  • mindegyike azonos tpus adatrekordokat trol.[1] A HALLGAT llomny az egyes dikokra, a TRGY llomny az egyestrgyakra, a KURZUS llomny a trgyak egyes kurzusaira vonatkoz adatokat trolja, az INDEXSOR llomny azokat azeredmnyeket trolja, amelyeket a hallgatk a klnfle, ltaluk mr teljestett kurzusokbl elrtek, mg az ELFELTTELllomny az egyes trgyak elfeltteleit trolja.

    1.2. bra - Egy adatbzis, amely hallgatkrl s trgyakrl trol informcikat.

    Egy adatbzis definilshoz az egyes rekordokban troland, klnbz tpus adatelemek definilsval meg kell adnunk azegyes llomnyok rekordjainak a szerkezett. Az 1.2. brn minden egyes HALLGAT rekord tartalmazza a hallgat nevt,hallgati azonostjt, vfolyamt (1, 2, s gy tovbb) s szakjt (PTI a programtervez informatikus szakon, GI agazdasginformatikus szakon, stb.) reprezentl adatokat; minden egyes TRGY rekord tartalmazza a trgynevet, trgykdot, akreditszmot s a tanszket (amelyik a trgyat hirdeti) reprezentl adatot; s gy tovbb. Egy rekordon bell meg kell adnunkegy adattpust is minden egyes adatelemhez. Pldul megadhatjuk, hogy a HALLGAT neve egy alfabetikus karaktersorozat,a HALLGAT hallgati azonostja egy egsz szm, az INDEXSOR rdemjegye pedig szintn egy egsz szm (az {1, 2, 3, 4,5} halmazbl). Hasznlhatunk egy kdolsi smt is egy adatelem rtknek a reprezentlsra. Pldul az 1.2. brn 1-es rtkreprezentlja egy elsves, 2-es egy msodves, 3-as egy harmadves, 4-es egy negyedves, 5-s pedig egy tdvesHALLGAT vfolyamt.

    Az EGYETEM adatbzis elksztsekor az egyes hallgatkat, trgyakat, kurzusokat, indexsor-bejegyzseket s elfeltteleketegy-egy rekordknt troljuk a megfelel llomnyban. Megjegyzend, hogy a klnfle llomnyokban lv rekordokkapcsolatban llhatnak egymssal. Pldul a Kovcsra vonatkoz rekord a HALLGAT llomnyban kt rekordhoz

  • kapcsoldik az INDEXSOR llomnyban, amelyek megadjk Kovcs eredmnyeit kt kurzusbl. Hasonlan, minden egyesrekord az ELFELTTEL llomnyban kt trgy rekordhoz kapcsoldik: az egyik a trgyat reprezentlhoz, a msik azelfelttelt reprezentlhoz. A legtbb kzepes vagy nagy mret adatbzis sokfle tpus rekordot tartalmaz, s szmoskapcsolat ltezik bennk a rekordok kztt.

    Az adatbzis manipulcija a lekrdezst s a frisstst foglalja magban. Lekrdezsekre pldk a kvetkezk:

    Ksztsnk egy kimutatst 'Kovcs' tanulmnyairl adjuk meg az sszes, ltala teljestett kurzus s a bellk elrteredmnyeknek a listjt.

    Listzzuk ki azoknak a hallgatknak a neveit, akik felvettk az 'Adatbzisrendszerek' trgy kurzust a 2010/11-es tanvszi flvben, s adjuk meg ezen hallgatk eredmnyeit is ebbl a kurzusbl.

    Listzzuk ki az 'Adatbzisrendszerek' trgy elfeltteleit.

    A frisstsi pldk a kvetkezket foglaljk magukba:

    Vltoztassuk 'Kovcs' vfolyamt msodvesre.

    Hozzunk ltre egy j kurzust az 'Adatbzisrendszerek' trgyhoz erre a flvre.

    rjunk be egy 5-s rdemjegyet 'Kovcs'-nak a legutbbi flv 'Adatbzisrendszerek' kurzusra.

    Ezeket az informlis lekrdezseket s frisstseket a DBMS lekrdez nyelvben pontosan definilni kell, mielttvgrehajthatnnk ket.

    Ezen a ponton clszer az adatbzist egy nagyobb egysg, egy szervezeten belli informcis rendszer rszeknt lerni. Egyvllalaton bell az Informcitechnolgia osztly tervezi meg s tartja karban az informcis rendszert, amely klnfleszmtgpekbl, troleszkzkbl, alkalmazi szoftverekbl s adatbzisokbl ll. Egy ltez adatbzishoz egy jalkalmazs tervezse, vagy egy j adatbzis tervezse a kvetelmnydefincinak s analzisnek nevezett fzissal indul.Ezeket a kvetelmnyeket rszletesen dokumentljk, majd talaktjk egy koncepcionlis tervv, amelyet szmtgpeseszkzkkel lehet reprezentlni s kezelni, ezltal knnyen karbantarthat s mdosthat lesz, valamint knnyen t lehetalaktani egy adatbzis-implementciv. A 3. fejezetben bemutatunk egy modellt, amely ezt a clt szolglja, s amelyet egyed-kapcsolat modellnek neveznk. A tervet ezutn talaktjk logikai tervv, amelyet egy kereskedelmi DBMS-ben implementltadatmodellel lehet kifejezni. Ebben a jegyzetben az 5. fejezettl kezdden a relcisnak nevezett adatmodellre helyezzk ahangslyt. Jelenleg ez a legnpszerbb megkzeltse az adatbzisok tervezsnek s implementlsnak a (relcis) DBMS-ekkrben. Az utols fzis a fizikai tervezs, amelynek sorn tovbbi specifikcikat adnak az adatbzis trolsra s elrsrevonatkozan. Az adatbzistervet implementljk, feltltik tnyleges adatokkal, s folyamatosan karbantartjk, hogy hventkrzze a minivilg llapott.

    1.3. Az adatbzisszemllet jellegzetessgei

    1.3. bra - Az 1.2. bra adatbzisbl szrmaz kt nzet. (a) A LECKEKNYV nzet. (b) ATRGY_ELFELTTELEK nzet.

  • 1.4. A sznpadi szereplk

    Egy kis mret, szemlyes adatbzis esetn (mint amilyen az 1.1. alfejezetben emltett cmjegyzk) tipikusan egy szemlydefinilja, hozza ltre s kezeli az adatbzist, amely nincs megosztva. Nagy szervezetek esetn azonban sok ember rintett atbb szz felhasznlval rendelkez nagy adatbzisok tervezsben, hasznlatban s karbantartsban. Ebben a fejezetbenbemutatjuk azokat az embereket, akiknek a feladatai kz tartozik egy nagy adatbzis mindennapi hasznlata; ket hvjuksznpadi szereplknek. Az 1.5. alfejezetben azokat a szemlyeket tekintjk t, akiket httrmunksoknak nevezhetnk: k azok,akik azon dolgoznak, hogy fenntartsk az adatbzisrendszer krnyezett, de nem foglalkoznak aktvan magval az adatbzissal.

    1.4.1. Adatbzis-adminisztrtorok

    Minden olyan szervezetnl, ahol sok ember hasznlja ugyanazokat az erforrsokat, szksg van egy vezet adminisztrtorra,aki felgyeli s kezeli azokat. Adatbzis krnyezetben az elsdleges erforrs maga az adatbzis, a msodlagos erforrs pediga DBMS s a kapcsold szoftverek. Ezen erforrsok adminisztrlsa az adatbzis-adminisztrtor (DBA) feladata. A DBAfelels az adabzishoz val hozzfrs engedlyezsrt, az adatbzis hasznlatnak koordinlsrt s felgyeletrt, valaminta szksges szoftver- s hardvererforrsok beszerzsrt. A DBA krhet szmon olyan problmk esetn, mint amilyen abiztonsgi rs vagy a lass vlaszid. Nagy szervezeteknl a DBA-t egy stb segti, akik elltjk ezeket a feladatokat.

    1.4.2. Adatbzis-tervezk

    Az adatbzis-tervezk feladata az adatbzisban troland adatok azonostsa, illetve ezen adatok reprezentlshoz strolshoz a megfelel adatszerkezetek kivlasztsa. Ezeket a mveleteket jrszt mg azeltt vgrehajtjk, mieltt azadatbzist tnylegesen implementlnk s feltltenk adatokkal. Az adatbzis-tervezk felelssge, hogy beszljenek azadatbzis sszes leend felhasznljval abbl a clbl, hogy megrtsk az ignyeiket, s hogy egy olyan tervet hozzanak ltre,amely megfelel ezeknek az ignyeknek. A tervezk gyakran a DBA-t segt csapat tagjai, akik ms feladatokat kapnak, miutnaz adatbzis tervezse befejezdtt. Az adatbzis-tervezk rendszerint elbeszlgetnek az egyes potencilis felhasznlicsoportokkal, majd olyan nzeteket fejlesztenek az adatbzishoz, amelyek megfelelnek ezen csoportok adat- s feldolgozsikvetelmnyeinek. Ezutn minden nzetet elemeznek s integrlnak ms felhasznli csoportok nzeteivel. A vgsadatbzistervnek kpesnek kell lennie az sszes felhasznli csoport ignyeinek a tmogatsra.

    1.4.3. Vgfelhasznlk

    A vgfelhasznlk azok az emberek, akik a munkjuk sorn ignylik az adatbzishoz val hozzfrst lekrdezsi, mdostsis jelentsksztsi clbl; az adatbzis elssorban rtk ltezik. A vgfelhasznlknak tbb kategrijt klnbztetjk meg:

    Az eseti vgfelhasznlk csak idnknt rik el az adatbzist, viszont minden alkalommal ms-ms informcira lehetszksgk. Egy kifinomult adatbzis-lekrdez nyelvet hasznlnak a krseik megfogalmazsra; k tipikusan kzp-vagy felsvezetk, esetleg egyb alkalomszer bngszk.

    A naiv vagy parametrikus vgfelhasznlk szmottev rszt teszik ki az adatbzis vgfelhasznlinak. Munkjukfleg az adatbzis lland lekrdezse s mdostsa krl forog, tpuslekrdezseket s -mdostsokat hasznlva,amelyeket dobozolt tranzakciknak neveznk, s amelyeket elzleg gondosan leprogramoztak s teszteltek. Az ilyenfelhasznlk klnfle feladatokat ltnak el:

    A banktisztviselk ellenrzik a szmlaegyenlegeket, s pnzkivteket, -betteket knyvelnek.

    Lgitrsasgok, szllodk s autklcsnzk gyintzi ellenrzik a kapott krsek teljesthetsgt, s megteszika helyfoglalst.

    A szlltsi cgek fogadllomsain az gyintzk csomagazonostkat visznek be vonalkdok segtsgvel,valamint tovbbi ler informcikat billentyzettel, gy mdostva a megrkezett s a tovbbszlltand csomagokkzponti adatbzist.

    A tanult vgfelhasznlk (szakemberek) magukban foglaljk a mrnkket, tudsokat, zleti elemzket s msokat,akik alaposan megismerkednek a DBMS lehetsgeivel abbl a clbl, hogy sajt alkalmazsokat fejlesszenek azsszetett ignyeik kielgtsre.

  • A fggetlen felhasznlk szemlyes adatbzisokat tartanak karban ksz programcsomagok segtsgvel, amelyekegyszeren hasznlhat mens vagy grafikus interfszekkel rendelkeznek. Ilyen pldul egy olyan adcsomagfelhasznlja, amely szemlyes pnzgyi adatok sokasgt trolja adzsi clbl.

    Egy tipikus DBMS tbb eszkzt biztost az adatbzisok elrshez. A naiv vgfelhasznlknak csak nagyon keveset kellismernik a DBMS ltal nyjtott szolgltatsokbl; nekik csupn a szmukra tervezett s fejlesztett tpustranzakcikfelhasznli felleteit kell megrtenik. Az eseti felhasznlk is csak az ltaluk jra s jra felhasznlt eszkzket ismerik. Atanult felhasznlk megprbljk megismerni a DBMS legtbb szolgltatst, hogy kielgthessk az sszetett ignyeiket. Afggetlen felhasznlk ltalban meglehetsen jrtasak lesznek egy bizonyos szoftvercsomag hasznlatban.

    1.4.4. Rendszerelemzk s alkalmazsprogramozk (szoftvermrnkk)

    A rendszerelemzk hatrozzk meg a vgfelhasznlk, klnsen a naiv felhasznlk ignyeit, majd rgztik az ezenignyeknek megfelel dobozolt tranzakcik specifikciit. Az alkalmazsprogramozk a megadott specifikcik alapjnimplementljk ezeket a tranzakcikat mint programokat, amelyeket azutn tesztelnek, nyomkvetnek, dokumentlnak skarbantartanak. Az elemzknek s a programozknak akiket kzs nven szoftverfejlesztknek vagyszoftvermrnkknek hvnak a DBMS ltal nyjtott szolgltatsok teljes trhzval tisztban kell lennik ahhoz, hogyfeladatukat ellssk.

    1.5. A httrmunksok

    Egy adatbzis tervezi, felhasznli s adminisztrtorai mellett msok a DBMS szoftver- s rendszerkrnyezett tervezik,fejlesztik s mkdtetik. Ezek a szemlyek ltalban nem foglalkoznak magval az adatbzissal. ket nevezzkhttrmunksoknak, akik a kvetkez kategrikba sorolhatk:

    A DBMS rendszertervezk s programozk tervezik s implementljk a DBMS moduljait s interfszeit mintszoftvercsomagokat. A DBMS egy nagyon sszetett szoftverrendszer, amely sok komponensbl, modulbl ll. Idetartoznak a katalgust megvalst, a lekrdeznyelvet feldolgoz, az interfszt feldolgoz, az adatok elrst spufferelst biztost, a konkurenciakezel vagy az adatvisszalltst s biztonsgot kezel modulok. A DBMS-nekfelletet kell biztostania ms rendszerszoftverekhez, mint pldul az opercis rendszerhez vagy a klnbzprogramozsi nyelvek fordtprogramjaihoz.

    Az eszkzfejlesztk eszkzket terveznek s implementlnak. Az eszkzk olyan szoftvercsomagok, amelyekmegknnytik az adatbzis-modellezst s -tervezst, az adatbzisrendszer tervezst s a teljestmny nvelst. Olyanopcionlis csomagokrl van sz, amelyeket gyakran kln kell megvsrolni. Ide tartoznak az adatbzis-tervezsre,teljestmnymonitorozsra, termszetes nyelvi vagy grafikus felletek kezelsre, prototpus-kezelsre, szimulcira stesztadat-generlsra szolgl csomagok. Sok esetben fggetlen szoftvergyrtk fejlesztik s ruljk ezeket azeszkzket.

    Az opertorok s a karbantart szemlyzet (rendszeradminisztrcis szemlyzet) felels az adatbzisrendszer hardver-s szoftverkrnyezetnek tnyleges futtatsrt s karbantartsrt.

    Br a felsorolt kategrikba tartoz httrmunksok tevkenyen kzremkdnek abban, hogy az adatbzisrendszer elrhetlegyen a vgfelhasznlk szmra, sajt cljaikra ltalban nem hasznljk az adatbzist.

    1.6. A DBMS megkzelts hasznlatnak elnyei

    1.6.1. A redundancia kezelse

    1.4. bra - A Hallgat_nv s a Trgykd redundns trolsa az INDEXSOR-ban. (a) Konzisztens adatok. (b)Inkonzisztens rekord.

  • 1.6.2. A jogosulatlan hozzfrs korltozsa

    1.6.3. Perzisztens trolhely biztostsa a program objektumainak szmra

    1.6.4. Trszerkezetek biztostsa a hatkony lekrdezsfeldolgozshoz

    1.6.5. Mentsi s visszalltsi lehetsg biztostsa

    1.6.6. Tbb felhasznli fellet biztostsa

    1.6.7. Az adatok kztti sszetett kapcsolatok reprezentlsa

    1.6.8. Az integritsi megszortsok kiknyszertse

    1.6.9. Kvetkeztetsek s tevkenysgek szablyok hasznlatval

    1.6.10. Az adatbzis megkzelts hasznlatnak tovbbi kvetkezmnyei

    Ebben az alfejezetben az adatbzis megkzelts hasznlatnak tovbbi olyan kvetkezmnyeit trgyaljuk, amelyekbl alegtbb szervezet profitlhat.

    Szabvnyok kiknyszertsnek a lehetsge.

    Rvidebb alkalmazsfejlesztsi id.

    Rugalmassg.

    Napraksz informcik rendelkezsre llsa.

    Gazdasgos mkds biztostsa a sklzhatsggal.

    [1] Az llomny (fjl) fogalmt itt informlisan hasznljuk. Koncepcionlis szinten egy llomny nem ms, mint rekordoknakegy gyjtemnye (kollekcija), amely lehet rendezett vagy rendezetlen.

    2. fejezet - Az adatbzisrendszer alapfogalmai s architektrja

    2.1. Adatmodellek, smk s pldnyok

    Az adatbzis megkzelts egyik alapvet jellemzje, hogy egy bizonyos fok adatabsztrakcit biztost. Az adatabsztrakciltalnosan az adatok szervezsre s trolsra vonatkoz rszletek elhagyst, illetve a leglnyegesebb tulajdonsgokkiemelst jelenti az adatok jobb megrtse rdekben. Az adatbzis megkzelts egyik f jellemzje, hogy tmogatja az

  • adatabsztrakcit, s gy a klnbz felhasznlk az ltaluk preferlt rszletessgi szinten lthatjk az adatokat. Ezt azabsztrakcit az adatmodell biztostja. Az adatmodell olyan eszkzk sszessge, amelyek segtsgvel lerhat egy adatbzisszerkezete. Az adatbzis szerkezetn az adattpusokat, az adatok kztti kapcsolatokat s a rjuk vonatkoz megszortsokatrtjk. A legtbb adatmodell az adatbzis lekrdezst s mdostst ler alapmveleteket is tartalmaz.

    Manapsg egyre gyakoribb, hogy az adatmodell az alapmveleteken kvl olyan eszkzket is tartalmaz, amelyekkel azadatbzis alkalmazsok dinamikus aspektusa vagy viselkedse is lerhat. Ez lehetv teszi, hogy az adatbzis tervezjemegadhassa az adatbzis objektumain vgezhet rvnyes felhasznli mveleteket. Ilyen mveletre plda az TLAGSZMTS,amely HALLGAT objektumokra alkalmazhat. Msrszrl viszont azokat az ltalnos mveleteket, amelyek egy tetszlegesobjektum beszrsra, trlsre, mdostsra vagy lekrdezsre szolglnak, gyakran az adatmodell alapmveleteitartalmazzk. A viselkeds lersra szolgl eszkzk alapvetek az objektumorientlt adatmodellekben, de mr ahagyomnyosabb adatmodellekben is kezdenek megjelenni. Az objektum-relcis modellek pldul az alap relcis modelltegsztik ki tbbek kztt ilyen eszkzkkel. A relcis adatmodellben is tervezik, hogy a relcikhoz viselkedst lehessenhozzrendelni perzisztens trolt modulok, npszer nevn trolt eljrsok formjban.

    2.1.1. Az adatmodellek csoportostsa

    Szmos adatmodellt terveztek, amelyeket az adatbzis szerkezetnek lersra ltaluk hasznlt eszkzk tpusai szerintcsoportosthatunk. A magas szint vagy koncepcionlis adatmodellek olyan eszkzket nyjtanak, amelyek kzel llnakahhoz, ahogyan a legtbb felhasznl ltja az adatokat, mg az alacsony szint vagy fizikai adatmodellek ltal nyjtotteszkzk rszletesen lerjk, hogyan troldnak az adatok a szmtgpen. Az alacsony szint adatmodellek ltal biztostotteszkzk ltalban szmtgpes szakemberek szmra kszltek, nem a tipikus vgfelhasznlk szmra. E kt vglet kztthelyezkednek el a reprezentcis (vagy implementcis) adatmodellek. Ezek a modellek olyan eszkzket nyjtanak,amelyeket a vgfelhasznlk is megrthetnek, de nem llnak messze attl sem, ahogyan az adatok a szmtgpenszervezdnek. A reprezentcis adatmodellek elrejtik az adattrols bizonyos rszleteit, ugyanakkor kzvetlenlimplementlhatk egy szmtgpes rendszeren.

    A koncepcionlis adatmodellek olyan fogalmakat hasznlnak, mint pldul az egyed, a tulajdonsg s a kapcsolat. Az egyedegy olyan vals vilgbeli objektumot vagy fogalmat reprezentl, amely szerepel az adatbzisban, mint pldul egy alkalmazottvagy egy projekt. A tulajdonsg vagy attribtum az egyedet ler, a modell szempontjbl rdekes jellemz, mint pldul azalkalmazott neve vagy fizetse. Egy kt vagy tbb egyed kztti kapcsolat az egyedek kztt fennll valamilyen viszonytjell. Ilyen pldul a dolgozik rajta kapcsolat egy alkalmazott s egy projekt kztt. A ksbbiekben bemutatsra kerlegyed-kapcsolat (Entity-Relationship, ER) modell egy npszer magas szint koncepcionlis adatmodell. Az ER modellkiegszthet tovbbi absztrakcis eszkzkkel, mint amilyen a generalizci, a specializci s a kategria.

    A reprezentcis vagy implementcis adatmodellek azok, amelyeket a leggyakrabban hasznlnak a hagyomnyoskereskedelmi DBMS-ekben. Ilyen pldul a szles krben hasznlt relcis adatmodell, valamint a korai adatmodellek ahls s a hierarchikus modellek , amelyeket a mltban szles krben hasznltak. Hamarosan rszletesen bemutatjuk arelcis adatmodellt, a mveleteit s nyelveit. A reprezentcis adatmodellek az adatokat rekord szerkezetekben troljk, ezrtnha rekord alap adatmodelleknek is nevezik ket.

    Az objektum adatmodell csoport (object data model group, ODMG) olyan magasabb szint implementcis adatmodellekegy j csaldjnak tekinthet, amelyek kzelebb llnak a koncepcionlis adatmodellekhez. A ksbbiekben bemutatjuk azobjektum-adatbzisok s az ODMG ltal javasolt szabvny ltalnos jellemzit. Az objektum adatmodelleket gyakranhasznljk magas szint koncepcionlis modellekknt is, elssorban a szoftvertervezs terletn.

    2.1.2. Smk, pldnyok s adatbzis-llapot

    2.2. A hromsma architektra s az adatfggetlensg

    Az adatbzisszemlletnek a 1.3. alfejezetben felsorolt ngy fontos jellegzetessge kzl hrom: (1) a programok s adatoksztvlasztsa (program-adat s program-mvelet fggetlensg), (2) tbb felhasznli nzet tmogatsa, s (3) egy katalgushasznlata az adatbzis lersnak (a smnak) a trolsra. Ebben az alfejezetben kzelebbrl megadjuk azadatbzisrendszerek egy architektrjt, az n. hromsma architektrt, amelyenek a clja, hogy segtsen megrteni smegjelenteni ezeket a jellegzetessgeket. Ezutn a tovbbiakban az adatfggetlensg fogalmt trgyaljuk.

    2.2.1. A hromsma architektra

  • 2.1. bra - A hromsma architektra

    A 2.1. brn lthat hromsma architektra clja, hogy elklntse a felhasznli alkalmazsokat s a fizikai adatbzist. Ebbenaz architektrban a kvetkez hrom szinten definilhatunk smkat:

    A bels szintnek van egy bels smja, amely az adatbzis fizikai trolsi szerkezett rja le. A bels sma egy fizikaiadatmodellt hasznl, s lerja az adattrols sszes rszlett, valamint a hozzfrsi utakat az adatbzishoz.

    1.

    A koncepcionlis szintnek van egy koncepcionlis smja, amely a teljes adatbzis szerkezett rja le a felhasznlksszessgnek. A koncepcionlis sma elrejti a fizikai trolsi szerkezetek rszleteit, csak az egyedek, adattpusok,kapcsolatok, felhasznli mveletek s megszortsok lersra korltozdik. ltalban egy reprezentcis adatmodelltszoktunk hasznlni a koncepcionlis sma lersra, amikor megvalstunk egy adatbzist. Ez az implementciskoncepcionlis sma gyakran egy koncepcionlis smaterven alapul egy magas szint adatmodellben.

    2.

    A kls (nzet) szint szmos kls smt (felhasznli nzetet) foglal magban. Mindegyik kls sma azadatbzisnak egy olyan rszt rja le, amely irnt egy bizonyos felhasznli csoport rdekldik, s elrejti ez ell afelhasznli csoport ell az adatbzis tbbi rszt. Az elz esethez hasonlan mindegyik kls smt jellemzen egyreprezentcis adatmodell felhasznlsval implementljuk, esetleg egy magas szint adatmodellbeli kls smraalapozva.

    3.

    A hromsma architektra egy knyelmes eszkz, amellyel a felhasznl maga el kpzelheti a smaszinteket egyadatbzisrendszerben. A legtbb adatbzis-kezel rendszer nem vlasztja szt teljesen s hatrozottan a hrom szintet, debizonyos mrtkben tmogatja a hromsma architektrt. Vannak adatbzis-kezel rendszerek, amelyek a fizikai szintrszleteket belertik a koncepcionlis smba. A hromszint ANSI architektrnak fontos szerepe van az adatbzistechnolgia fejlesztsben, mert vilgosan sztvlasztja a felhasznl kls szintjt, a rendszer koncepcionlis szintjt s abels trolsi szintet egy adatbzis tervezsekor. Manapsg is jl alkalmazhat adatbzis-kezel rendszerek tervezsben. Alegtbb adatbzis-kezel rendszer, amely tmogatja a felhasznli nzeteket, a kls smkat ugyanabban az adatmodellbenadja meg, amely lerja a koncepcionlis szint informcikat (pldul egy olyan relcis adatbzis-kezel rendszer, mint azOracle, az SQL-t hasznlja erre). Nhny adatbzis-kezel rendszer megengedi klnbz adatmodellek hasznlatt akoncepcionlis s a kls szinteken. Plda erre az Universal Data Base (UDB), az IBM adatbzis-kezel rendszere, amelyrelcis adatmodellt hasznl a koncepcionlis sma lersra, egy kls sma lershoz viszont objektumorientlt modellt islehet hasznlni benne.

    Vegyk szre, hogy a hrom sma csak a lersa az adatoknak; a trolt adatok, amelyek valjban lteznek, a fizikai szintentallhatk. Egy hromsma architektrra alapozott adatbzis-kezel rendszerben minden felhasznli csoport csak a sajtkls smjra tud hivatkozni. Ezrt az adatbzis-kezel rendszernek egy kls smra vonatkoz krst t kell alaktania egyolyan krss, amely a koncepcionlis smn rtelmezhet, majd aztn egy bels smra vonatkoz krss a fizikai adatbzisfeldolgozshoz. Ha egy krs egy adatbzis-lekrdezs, a fizikai adatbzisbl kinyert adatokat vissza kell alaktani gy, hogyaz illeszkedjen a felhasznl kls nzethez. A krsek s eredmnyek egyes szintek kztti talaktsnak a folyamattlekpezseknek hvjuk. Ezek a lekpezsek idignyesek lehetnek, ezrt nhny adatbzis-kezel rendszer klnsen azok,amelyeket kis adatbzisok tmogatsra terveztek nem tmogatja a kls nzeteket. Mindazonltal mg az ilyenrendszerekben is szksg van bizonyos mennyisg lekpezsre a krsek talaktshoz a koncepcionlis s a bels szintek

  • kztt.

    2.2.2. Az adatfggetlensg

    A hromsma architektra az adatfggetlensg fogalmnak tovbbi kifejtsre is felhasznlhat, amely definilhat gy is,mint a sma megvltoztatsnak a kpessge egy adatbzisrendszer valamely szintjn anlkl, hogy meg kellene vltoztatni asmt a kvetkez magasabb szinten. Az adatfggetlensgnek kt tpust definilhatjuk:

    A logikai adatfggetlensg a koncepcionlis sma megvltoztatsnak a kpessge anlkl, hogy meg kellenevltoztatni a kls smkat vagy az alkalmazi programokat. Megvltoztathatjuk a koncepcionlis smt az adatbziskiterjesztsvel (egy rekordtpus vagy egy smaelem hozzadsval), a megszortsok mdostsval, vagy az adatbziscskkentsvel (egy rekordtpus vagy egy smaelem eltvoltsval). Az utbbi eset azokra a kls smkra, amelyekcsak a megmarad adatokra hivatkoznak, nem lehet hatssal. Az 1.3. (a) brn lthat kls sma pldul nem vltozhatmeg, ha a 1.2. brn lthat INDEXSOR llomny (vagy rekordtpus) az 1.4. brn lthatra mdosul. Egy adatbzis-kezel rendszerben, amely tmogatja a logikai adatfggetlensget, csak a nzetdefincikat s a lekpezseket kellmegvltoztatni. Miutn a koncepcionlis sma keresztlment a logikai jraszervezsen, az alkalmazi programoknak,amelyek a kls smaelemekre hivatkoztak, ugyangy kell mkdnik, mint azeltt. A megszortsok mdostsaianlkl alkalmazhatk a koncepcionlis smra, hogy hatssal lennnek a kls smkra vagy az alkalmaziprogramokra.

    1.

    A fizikai adatfggetlensg a bels sma megvltoztatsnak a kpessge anlkl, hogy meg kellene vltoztatni akoncepcionlis smt. Ennlfogva a kls smkat sincs szksg megvltoztatni. A bels smt rint vltozsok azrtvlhatnak szksgess, mert nhny fizikai llomnyt jraszerveznk pldul tovbbi hozzfrsi szerkezetekltrehozsval a lekrdezsek vagy a mdostsi mveletek hatkonysgnak nvelse rdekben. Ha ezek utnugyanazok az adatok maradnak az adatbzisban, akkor elvileg nem kell megvltoztatnunk a koncepcionlis smt. Hapldul a sebessg nvelse rdekben biztostunk egy elrsi utat a kurzus rekordok (1.2. bra) tanv s flv szerintilekrdezshez, elvileg nem kell megvltoztatnunk egy olyan lekrdezst, mint pldul hogy listzzuk ki a 2009/10-estanv szi flvben meghirdetett kurzusokat, br a lekrdezst a DBMS hatkonyabban fogja vgrehajtani az j elrsi thasznlatval.

    2.

    A fizikai adatfggetlensg a legtbb adatbzisban s llomnykrnyezetben jelen van; ekkor az adatok pontos elhelyezkedse alemezen, a httrtron val trols mikntje, a rekordok elhelyezse, tmrtse, sztdarabolsa s sszeillesztse stb. rejtvevannak a felhasznlk ell. Az alkalmazsoknak nem szksges tudniuk ezekrl a rszletekrl. Msrszrl a logikaiadatfggetlensget nagyon nehz elrni, mivel az szerkezeti s megszortsbeli vltozsokat is megenged anlkl, hogy azok azalkalmazi programokra hatssal lennnek, s ez sokkal szigorbb kvetelmny.

    Ha tbbszint DBMS-sel rendelkeznk, a katalgust ki kell egszteni olyan informcikkal, amelyek azt mondjk meg, hogyhogyan kell lekpezni a krseket s az adatokat a klnbz szintek kztt. A DBMS tovbbi szoftvereket hasznl ezeknek alekpezseknek a megvalstsra, amelyek a katalgusban szerepl lekpezsi informcikat veszik alapul. Azadatfggetlensg ott jelenik meg, hogy amikor a sma egy adott szinten mdosul, akkor a kvetkez, magasabb szinten lvsma vltozatlan marad; csak a kt szint kztti lekpezs vltozik. gy az alkalmazi programokat, amelyek a magasabb szintsmra hivatkoznak, nem kell mdostani.

    A hromsma architektra megknnyti az igazi adatfggetlensg elrst mind fizikai, mind logikai szinten. A lekpezsek ktszintje azonban plusz munkt kvetel meg egy lekrdezs vagy program lefordtsa vagy vgrehajtsa kzben, s ez cskkenti aDBMS hatkonysgt. Emiatt csak kevs DBMS implementlja a teljes hromsma architektrt.

    2.3. Az adatbzisrendszer krnyezete

    2.4. Az adatbzis-kezel rendszerek osztlyozsa

    3. fejezet - Adatmodellezs az ER modell segtsgvel

    A koncepcionlis modellezs nagyon fontos fzisa egy sikeres adatbzis alkalmazs tervezsnek. Az adatbzis alkalmazskifejezs ltalnossgban egy konkrt adatbzisra s a hozz kapcsold programokra utal, amelyek az adatbzis-lekrdezseket s -mdostsokat valstjk meg. Egy BANK adatbzis alkalmazs pldul, amely az gyfelek szmlit tartjanyilvn, olyan programokat tartalmazhat, amely az gyfelek pnzmozgsainak megfelel adatbzis-mdostsokatimplementlja. Ezek a programok felhasznlbart grafikus felhasznli felletekkel (GUI-kkal) rendelkeznek, amelyek

  • rlapokat s menket biztostanak az alkalmazs vgfelhasznli (jelen esetben a banki gyintzk) szmra. Ezrt az adatbzisalkalmazs rszt kpezi ezen alkalmazi programok tervezse, implementcija s tesztelse is. Az alkalmazi programoktervezst s tesztelst hagyomnyosan inkbb a szoftvertervezs terlethez tartoznak tekintik, mintsem az adatbzis-tervezshez kapcsoldnak. Mivel azonban az adatbzis-tervezsi mdszertanok egyre tbb, az adatbzis-objektumokonvgzend mveletekre vonatkoz eszkzt tartalmaznak, a szoftvertervezsi mdszertanok pedig egyre rszletesebbenmeghatrozzk a programok ltal hasznlt s elrt adatbzis szerkezett, nyilvnval, hogy ezek a tevkenysgek szorosansszetartoznak.

    Ebben a fejezetben a hagyomnyos megkzeltst kvetjk, azaz az adatbzis-tervezs sorn az adatbzis szerkezetre smegszortsaira koncentrlunk. Ismertetjk az egyed-kapcsolat (ER) modell fogalmait, amely egy npszer magas szintkoncepcionlis adatmodell. Ezt a modellt s klnbz vltozatait gyakran hasznljk az adatbzis alkalmazsokkoncepcionlis tervezsnl, s sok adatbzis-tervez eszkz hasznlja a fogalmait. Bemutatjuk az ER modell alapvetadatszerkezeti fogalmait s megszortsait, s lerjuk ezek hasznlatt az adatbzis alkalmazsok koncepcionlis sminaktervezse sorn. Ismertetjk az ER modellhez ktd grafikus jellsrendszert is, amelyet ER diagramnak neveznk.

    Ez a fejezet a kvetkezkppen pl fl: A 3.1. alfejezet a magas szint koncepcionlis adatmodelleknek az adatbzis-tervezsben jtszott szerept trgyalja. A 3.2. alfejezetben egy plda adatbzis alkalmazs kvetelmnyeit adjuk meg, hogyillusztrljuk az ER modell fogalmainak a hasznlatt. Ezt a plda adatbzist hasznljuk a kvetkez fejezetekben is. A 3.3.alfejezetben definiljuk az egyed s az attribtum fogalmt, s fokozatosan bevezetjk az ER sma grafikus megjelentsnektechnikjt. A 3.4. alfejezetben a binris kapcsolatokrl, azok szereprl s a strukturlis megszortsokrl ejtnk szt. A 3.5.alfejezet a gyenge egyedtpusokrl szl. A 3.6. alfejezet megmutatja, hogyan lehet egy smatervet gy finomtani, hogykapcsolatokat is tartalmazzon. A 3.7. alfejezet az ER diagramok jellseit ismerteti, sszefoglalja a smatervezs sornfelmerl krdseket, s lerja, hogy hogyan kell az adatbzissmban tallhat konstrukcik neveit megvlasztani. A 3.8.alfejezet a kapcsolatok sszetettebb tpusait trgyalja. A 3.9. alfejezet sszefoglalja a fejezetet.

    A 3.8. alfejezet anyaga elhagyhat egy bevezet kurzusbl. Ha az olvas az adatmodellezsi fogalmakban s a koncepcionlisadatbzis-tervezsben alaposabb jrtassgot szeretne szerezni, akkor a 3.7. alfejezet utn a 4. fejezettel folytathatja, amelybenaz ER modell olyan kiterjesztseit ismertetjk, melyek a kibvtett ER (EER) modellhez vezetnek. Az EER modell olyanfogalmakat tartalmaz, mint a specializci, a generalizci, az rklds s az uni tpusok (kategrik).

    3.1. Magas szint koncepcionlis adatmodellek hasznlata az adatbzis-tervezsben

    A 3.1. bra az adatbzis-tervezsi folyamat egy leegyszerstett lerst mutatja. Az els lps a kvetelmnyrendszerfellltsa s analzise. Ebben a lpsben az adatbzis-tervezk elbeszlgetnek az adatbzis leend felhasznlival, hogymegrtsk s dokumentljk az adatkvetelmnyeiket. Ennek a lpsnek az eredmnye a felhasznlk kvetelmnyeinekrsban rgztett, lnyegretr listja. Ezeket a kvetelmnyeket olyan rszletes s teljes formban kell specifiklni, amennyirecsak lehetsges. Az adatkvetelmnyek megadsval prhuzamosan hasznos, ha az alkalmazs ismert funkcionliskvetelmnyeit is megadjuk. Ezek azokbl a felhasznl ltal definilt mveletekbl (vagy tranzakcikbl) llnak,amelyeket az adatbzisra fogunk alkalmazni, belertve a lekrdezseket s a mdostsokat is. A szoftvertervezsbenleggyakrabban adatfolyam-diagramokat, szekvenciadiagramokat, forgatknyveket s ms technikkat alkalmazunk afunkcionlis kvetelmnyek lersra. Egyik felsorolt technikt sem trgyaljuk itt; ezeket rszletesen a szoftvertervezsrl szlszakirodalmak rjk le.

    3.1. bra - Egy egyszerstett bra az adatbzis-tervezs fbb fzisainak illusztrlsra.

  • Amint az sszes kvetelmnyt sszegyjtttk s elemeztk, a kvetkez lps az adatbzis koncepcionlis smjnakltrehozsa egy magas szint koncepcionlis adatmodell felhasznlsval. Ezt a lpst koncepcionlis tervezsnek nevezzk.A koncepcionlis sma a felhasznlk adatkvetelmnyeinek egy tmr lersa, s az egyedtpusok, a kapcsolatok s amegszortsok rszletes lerst tartalmazza; ezeket a magas szint adatmodell eszkzeivel fejezzk ki. Mivel ezek az eszkzknem tartalmaznak megvalstsi rszleteket, a laikus felhasznlk szmra rendszerint knnyebben rthetk, gy a velkfolytatott kommunikci sorn jl hasznlhatk. A magas szint koncepcionlis sma hivatkozsknt is hasznlhat annakrdekben, hogy az sszes felhasznl adatkvetelmnyei egysgesen jelenjenek meg, s hogy ezek a kvetelmnyek nemondjanak ellent egymsnak. Ez a megkzelts lehetv teszi az adatbzis-tervezk szmra, hogy az adatok tulajdonsgait atrols rszleteinek figyelembevtele nlkl specifikljk. Ennek kvetkeztben knnyebben tudnak j koncepcionlisadatbzistervet kszteni.

    A koncepcionlis sma tervezse kzben vagy utn az adatmodell alapvet mveleteit hasznlhatjuk azoknak a magas szintfelhasznli mveleteknek a megadsra, amelyeket a funkcionlis elemzs sorn azonostottunk. Ez azt a clt is szolglja,hogy meggyzdjnk arrl, hogy a koncepcionlis sma minden funkcionlis kvetelmnynek megfelel. Amennyiben bizonyosfunkcionlis kvetelmnyeket nem tudunk lerni a kezdeti sma segtsgvel, akkor mdosthatjuk a koncepcionlis smt.

    Az adatbzis-tervezs kvetkez lpse az adatbzis tnyleges megvalstsa egy kereskedelmi DBMS felhasznlsval. Alegjabb kereskedelmi DBMS-ek egy implementcis adatmodellt mint amilyen a relcis vagy az objektum-relcisadatmodell hasznlnak, a koncepcionlis smt teht a magas szint adatmodellrl az implementcis adatmodellre alaktjukt. Ezt a lpst logikai tervezsnek vagy az adatmodell lekpezsnek nevezzk; ennek eredmnye egy, a DBMSimplementcis adatmodelljben lert adatbzissma.

    Az utols lps a fizikai tervezs fzisa, amelynek sorn megadjuk az adatbzis llomnyainak bels trolsi szerkezett,indexeit, elrsi tjait s llomnyszervezsi mdjait. Ezekkel a tevkenysgekkel prhuzamosan tervezzk meg simplementljuk az alkalmazi programokat mint adatbzis tranzakcikat a magas szint tranzakcispecifikcinakmegfelelen.

    Ebben a fejezetben csak a koncepcionlis smatervezshez legszksgesebb ER modellbeli fogalmakat ismertetjk. Tovbbi

  • modellezsi fogalmakat vezetnk be a 4. fejezetben, ahol az EER modellrl trgyalunk.

    3.2. Egy plda adatbzis alkalmazs

    Ebben az alfejezetben a VLLALAT nev plda adatbzis alkalmazst mutatjuk be, amely az alapvet ER modellbelifogalmakat s azoknak a smatervezs sorn trtn felhasznlst illusztrlja majd. Most felsoroljuk az adatbzisadatkvetelmnyeit, a ksbbiek folyamn pedig lpsrl lpsre elksztjk a koncepcionlis smjt, prhuzamosan az ERmodell modellezsi fogalmainak a bevezetsvel. A VLLALAT adatbzis egy vllalat dolgozit, osztlyait s projektjeit tartjanyilvn. Tegyk fel, hogy a kvetelmnygyjtsi s elemzsi fzis utn az adatbzis-tervezk a minivilg (a vllalat azon rsze,amelyet az adatbzisban reprezentlni szeretnnk) albbi lerst adjk meg:

    A vllalat osztlyokbl ll. Minden osztlynak egyedi neve s egyedi azonostszma van, valamint tartozik hozz egykonkrt dolgoz, aki az osztlyt vezeti. Nyilvntartjuk azt a kezd dtumot, amikor ez a dolgoz vezetni kezdte azosztlyt. Egy osztly szmos helysznnel rendelkezhet.

    Egy osztly szmos projektet irnyt, amelyek mindegyiknek van egy egyedi neve, egy egyedi szma s egyetlenhelyszne.

    Troljuk az egyes dolgozk nevt, szemlyi szmt, lakcmt, fizetst, nemt s szletsi dtumt. Egy dolgoz egyosztlyhoz van hozzrendelve, azonban tbb projekten is dolgozhat, amelyeket nem felttlel ugyanaz az osztly irnyt.Nyilvntartjuk, hogy egy dolgoz az egyes projekteken hetente hny rt dolgozik. Nyilvntartjuk az egyes dolgozkkzvetlen fnkt is.

    Nyilvn szeretnnk tartani az egyes dolgozk hozztartozit is biztostsi clokbl. Troljuk az egyes hozztartozkkeresztnevt, nemt, szletsi dtumt, valamint azt, hogy milyen kapcsolatban ll a dolgozval.

    A 3.2. bra mutatja, hogy hogyan brzolhatjuk ennek az adatbzis alkalmazsnak a smjt azzal a grafikus jellssel, amelyetER diagramnak neveznk. Ezt az brt fokozatosan fogjuk majd elmagyarzni, ahogyan az ER modell fogalmait ismertetjk.Azt a folyamatot, amelynek sorn a fenti kvetelmnyekbl szrmaztatjuk ezt a smt, az ER modell fogalmainakbevezetsvel prhuzamosan fogjuk lpsrl lpsre bemutatni, mikzben az ER diagramok jellseit is elmagyarzzuk.

    3.2. bra - Egy ER sma diagram a VLLALAT adatbzishoz. Az bra grafikus jellseit ebben a fejezetbenfokozatosan ismertetjk.

  • 3.3. Egyedtpusok, egyedhalmazok, attribtumok s kulcsok

    Az ER modell az adatokat mint egyedeket, kapcsolatokat s attribtumokat rja le. A 3.3.1. alfejezetben ismertetjk az egyedeks attribtumaik fogalmt. Az egyedtpusokat s kulcs attribtumokat a 3.3.2. alfejezetben tgyaljuk. Aztn a 3.3.3. alfejezetbenmegadjuk az egyedtpusok egy lehetsges koncepcionlis tervt a VLLALAT adatbzishoz. A kapcsolatokat a 3.4.alfejezetben trgyaljuk.

    3.3.1. Egyedek s attribtumok

    Egyedek s attribtumaik. Az ER modell ltal kezelt alapvet objektum az egyed, amely a vals vilgnak egy olyan darabja,amely nll lttel br. Az egyed lehet fizikai szinten ltez objektum (pldul szemly, aut, hz, dolgoz) vagy lehet fogalmiszinten ltez objektum (pldul vllalat, foglalkozs vagy egy egyetemi tantrgy). Minden egyednek vannak attribtumai az t ler tulajdonsgok. Pldul egy dolgoz egyedet a dolgoz nevvel, letkorval, cmvel, fizetsvel s foglalkozsvallehet lerni. Egy konkrt egyed minden egyes attribtumhoz tartozik egy rtk. Az egyedeket ler attribtumrtkek fogjkalkotni az adatbzisban trolt adatok nagy rszt.

    A 3.3. bra kt egyedet s az attribtumaik rtkeit brzolja. Az e1 DOLGOZ egyednek ngy attribtuma van: Nv, Cm,

    letkor s Otthoni telefonszm; az rtkeik rendre 'Kovcs Jnos', '4032 Debrecen, Virg utca 18.', '55' s '52/123456'. A c1

    VLLALAT egyednek hrom attribtuma van: Nv, Szkhely s Elnk; az rtkeik rendre 'Fiastyk Bt.', 'Pusztakotkodcs' s'Kovcs Jnos'.

    3.3. bra - Kt egyed, az e1 DOLGOZ s a c

    1 VLLALAT egyed, s az attribtumaik.

  • Az ER modellben klnbz fajta attribtumok lteznek: egyszer vagy sszetett, egyrtk vagy tbbrtk, illetve trolt vagyszrmaztatott attribtumok. Elszr definiljuk ezeket az attribtumtpusokat, s pldk segtsgvel illusztrljuk ket. Utnabevezetjk a NULL rtk fogalmt egy attribtumra vonatkozan.

    sszetett s egyszer (atomi) attribtumok. Az sszetett attribtumok kisebb rszekre bonthatk, amelyek tbb,egymstl fggetlen jelentssel br elemi attribtumot reprezentlnak. Pldul a 3.3. brn bemutatott alkalmazott Cm

    attribtuma Irnytszm[2], Telepls s Lakcm attribtumokra bonthat fel, '4032', 'Debrecen' s 'Virg utca 18.' rtkekkel.Azokat az attribtumokat, amelyeket nem bontunk rszekre, egyszer vagy atomi attribtumoknak nevezzk. Az sszetettattribtumok hierarchit alkothatnak; pldul a Lakcm tovbb bonthat ngy egyszer attribtumra: Utca, Hzszm, Emelet sAjt attribtumokra, ahogyan az a 3.4. brn lthat. Egy sszetett attribtum rtke az t alkot egyszer attribtumokrtkeinek a konkatencija.

    3.4. bra - sszetett attribtumok egy hierarchija.

    Az sszetett attribtumok nagyon hasznosak olyan szitucik modellezsnl, amelyekben a felhasznl nha egysgknthivatkozik az sszetett attribtumra, mskor viszont kln-kln hivatkozik annak komponenseire. Ha az sszetett attribtumracsak mint teljes egszre hivatkozunk, akkor nincs szksg arra, hogy komponensekre bontsuk. Ha pldul nem kellhivatkozunk egy cm nll komponenseire (Irnytszm, Utca stb.), akkor a teljes cm egy egyszer attribtum lehet.

    Egyrtk s tbbrtk attribtumok. A legtbb attribtum egy egyedben csak egy rtkkel rendelkezik; az ilyenattribtumokat egyrtknek nevezzk. Pldul az letkor egy szemly egyrtk attribtuma. Bizonyos esetekben egyattribtum rtkek egy halmazval rendelkezhet ugyanazon egyedben pldul egy aut Sznek attribtuma vagy egy szemlyDiplomk attribtuma. Egyszn autk esetn a Sznek attribtum egyetlen rtkkel rendelkezik, mg a kt sznnel fnyezettautk esetben kt rtkkel. Hasonlan, egy szemlynek lehet, hogy egyetlen diplomja sincs, egy msik szemlynek egy, egyharmadiknak kett vagy tbb diplomja lehet; ezltal a Diplomk attribtum klnbz szemlyeknl klnbz szm rtketvehet fel. Az ilyen attribtumokat nevezzk tbbrtknek. Egy tbbrtk attribtumnak lehet als s fels korltja, amelyekbehatroljk a klnbz egyedeknl a felvehet rtkek szmt. Pldul az aut Sznek attribtuma legalbb egy s legfeljebbhrom rtket vehet fel, ha felttelezzk, hogy egy aut legfeljebb hrom sznre fnyezhet.

    Trolt s szrmaztatott attribtumok. Bizonyos esetekben kett (vagy tbb) attribtum rtkei kapcsolatban llnakegymssal pldul egy szemly letkor s Szletsi id attribttumai. Egy konrt szemly egyed esetn az letkor rtkemeghatrozhat az aktulis (mai) dtum s az adott szemlyhez tartoz Szletsi id rtkbl. Az letkor attribtumot emiattszrmaztatott attribtumnak nevezzk, s azt mondjuk, hogy a Szletsi id attribtumbl szrmaztathat, amelyet pedigtrolt attribtumnak neveznk. Egyes attribtumrtkek az egyeddel kapcsolatban ll ms egyedekbl szrmaztathatk;pldul egy OSZTLY egyed Dolgozk_szma attribtuma gy szrmaztathat, hogy megszmoljuk az adott osztlyhoztartoz (azaz ott dolgoz) alkalmazottakat.

    NULL rtkek. Elfordulhat, hogy egy adott egyed valamelyik attribtumnak nincs hasznlhat rtke. Pldul egy cm Ajtattribtuma csak azon cmek esetn jtszik szerepet, ahol a laksokat ajtnknt szmozzk; msfajta pleteknl, mint pldul acsaldi hzaknl, nem. Hasonlan, a Diplomk attribtum csak diplomval rendelkez szemlyeknl rdekes. Az ilyenhelyzetekben egy specilis rtket alkalmazunk, amelyet NULL rtknek neveznk. A csaldi hzak cmben az Ajtattribtum, egy diplomval nem rendelkez szemly esetn pedig a Diplomk attribtum lesz NULL rtk. A NULL rtkethasznljuk akkor is, ha nem ismerjk egy adott egyed valamelyik attribtumnak az rtkt pldul ha nem ismerjk a 3.3.brn lthat 'Kovcs Jnos' otthoni telefonszmt. A NULL rtk elbbi formjnak a jelentse az, hogy nem alkalmazhat,mg az utbbi az, hogy ismeretlen. Az ismeretlen kategria tovbbi kt esetre oszthat. Az egyik esetben tudjuk, hogy azattribtumrtk ltezik, de hinyzik pldul NULL rtk egy szemly Magassg attribtuma. A msik esetben nem tudjuk,hogy az adott attribtumrtk ltezik-e pldul NULL rtk egy szemly Otthoni_telefonszm attribtuma.

  • Komplex attribtumok. Vegyk szre, hogy az sszetett s a tbbrtk attribtumok tetszlegesen egymsba gyazhatk.Ezt a tetszleges egymsba gyazst gy reprezentlhatjuk, hogy az sszetett attribtumok komponenseit kerek zrjelekkztt csoportostjuk, s a komponenseket vesszvel vlasztjuk el; a tbbrtk attribtumokat pedig kapcsos zrjelek kzrjuk. Az ilyen attribtumokat komplex attribtumoknak nevezzk. Pldul ha egy szemlynek egynl tbb laksa lehet, s

    minden laksnak tbb telefonja, akkor a szemly Cm_Telefon attribtuma a 3.5. brn lthat mdon adhat meg.[3] A Telefons Cm maguk is mindketten sszetett attribtumok.

    3.5. bra - Egy komplex attribtum: a Cm_Telefon.

    3.3.2. Egyedtpusok, egyedhalmazok, kulcsok s rtkkszletek (tartomnyok)

    Egyedtpusok s egyedhalmazok. Egy adatbzis ltalban hasonl egyedek csoportjait tartalmazza. Egy dolgozk szzaitalkalmaz vllalat vlheten hasonl informcikat szeretne trolni minden egyes dolgozjrl. Ezek a dolgoz egyedekugyanazon attribtumokkal rendelkeznek, de minden egyed sajt rtk(ek)et vesz fel minden attribtumn. Egy egyedtpusolyan egyedek egy kollekcijt (vagy halmazt) definilja, amelyek azonos attribtumokkal rendelkeznek. Az adatbzisbanminden egyedtpus a nevvel s az attribtumaival van megadva. A 3.6. bra kt egyedtpust brzol: a DOLGOZ-t s aVLLALAT-ot, valamint mindketthz egy-egy attribtumlistt. Mindkt tpus nhny konkrt egyede is lthat rajta, azattribtumaik rtkeivel egytt. Az adatbzis egy konkrt egyedtpusa sszes egyednek egy adott idpillanatban vettkollekcijt egyedhalmaznak nevezzk; Az egyedhalmazra ltalban ugyanazzal a nvvel hivatkozunk, mint az egyedhalmazra.Pldul a DOLGOZ egyarnt hivatkozik az egyedtpusra s az adatbzis sszes dolgoz egyednek aktulis halmazra.

    3.6. bra - Kt egyedtpus, a DOLGOZ s a VLLALAT, valamint nhny egyedk.

    Az egyedtpusokat az ER diagramokon (lsd a 3.2. brt) egy tglalappal reprezentljuk, amelybe belerjuk az egyedtpus nevt.Az attribtumneveket ovlisokba rjuk, s egyenes vonallal ktjk az egyedtpusukhoz. Az sszetett attribtumok akomponenseikhez szintn egyenes vonallal kapcsoldnak. A tbbrtk attribtumokat dupla szegly ovlisokba rjuk. A 3.7.(a) bra az AUT egyedtpust brzolja ezzel a jellssel.

    3.7. bra - Az AUT egyedtpus kt kulcs attribtummal, a Rendszmmal s az Alvzszmmal. (a) ER diagram jells.(b) Egyedhalmaz hrom egyeddel.

  • Egy egyedtpus az azonos szerkezet egyedek halmaznak a smjt vagy intenzijt rja le. Egy konkrt egyedtpusegyedeinek kollekcijt egy egyedhalmazba csoportostjuk, amelyet az egyedtpus extenzijnak is neveznk.

    Az egyedtpusok kulcs attribtumai. Az egyedtpusok egyedeinek egy fontos megszortsa az attribtumokon rtelmezettkulcs vagy egyedisgi megszorts. Az egyedtpusok ltalban rendelkeznek egy olyan attribtummal, amelynek az rtkeiklnbzek az egyedhalmaz minden egyes egyede esetn. Az ilyen attribtumot kulcs attribtumnak nevezzk, rtkeitpedig az egyes egyedek egyedi azonostsra hasznlhatjuk. A 3.6. brn szerepl VLLALAT egyedtpusnak pldul a Nvattribtum kulcsa, mivel kt vllalatnak nem lehet ugyanaz a neve. A SZEMLY egyedtpusnak az Szsz (szemlyi szm) atipikus kulcs attribtuma. Nha tbb attribtum egytt alkot kulcsot, ami azt jelenti, hogy az attribtumrtkekkombincijnak kell klnbznek lenni minden egyes egyed esetn. Ha egy attribtumhalmaz ilyen tulajdonsggal br, akkorezt az ER modellben gy kell helyesen reprezentlni, hogy definilunk egy sszetett attribtumot, s azt jelljk meg azegyedtpus kulcs attribtumaknt. gyeljnk r, hogy az ilyen sszetett kulcsnak minimlisnak kell lennie; azaz az sszetettattribtumnak minden komponens attribtumot tartalmaznia kell ahhoz, hogy az egyedisgi tulajdonsga fennlljon. A kulcsnem tartalmazhat flsleges attribtumokat. Az ER diagramokon a kulcs attribtumokat gy jelljk, hogy a nevketalhzzuk az ovlisban, ahogy a 3.7. (a) brn lthat.

    Az, hogy egy attribtumot egy egyedtpus kulcsaknt definilunk, azt jelenti, hogy a fent emltett egyedisgi tulajdonsgnak azegyedtpus minden egyes egyedhalmazra fenn kell llnia. Emiatt ez egy olyan megszorts, amely tiltja, hogy kt egyedegyidejleg ugyanazon rtkkel rendelkezzen a kulcs attribtumon. Ez nem egy konkrt extenzi tulajdonsga, hanem azegyedtpus sszes extenzijnak egy megszortsa. Ez a kulcs megszorts (s ms megszortsok is, amelyeket ksbbtrgyalunk) az adatbzis ltal reprezentlt minivilg megszortsaibl szrmazik.

    Egyes egyedtpusok egynl tbb kulcs attribtummal rendelkeznek. Az AUT egyedtpusnak (3.7. bra) pldul a Rendszm saz Alvzszm attribtuma is nmagban kulcsa. A Rendszm attribtum j plda az sszetett kulcsra, amely kt egyszerkomponens attribtumbl, az llambl s a Jelsorozatbl tevdik ssze, amelyek kzl nmagban egyik sem kulcs. Az iselfordulhat, hogy egy egyedtpusnak nincs kulcsa, ebben az esetben gyenge egyedtpusnak nevezzk (lsd a 3.5. alfejezetet).

    Az attribtumok rtkkszlete (tartomnya). Az egyedtpusok minden egyszer attribtumhoz kapcsoldik egyrtkkszlet (vagy rtktartomny), amely azon rtkek halmaza, amelyeket az attribtumhoz hozzrendelhetnk az egyeskonkrt egyedekben. Ha a 3.6. brn a dolgozk letkora 16 s 70 kz eshet, akkor a DOLGOZ letkor attribtumnakrtkkszlett a 16 s 70 kztti egsz szmok halmazaknt definilhatjuk. Hasonlan a Nv attribtum rtkkszlett szkzkarakterekkel elvlasztott, alfabetikus karakterekbl ll sztringknt definilhatjuk, stb. Az rtkkszleteket nem tntetjk felaz ER diagramokon. Az rtkkszleteket tipikusan az alapvet adattpusokkal adjuk meg, amelyek a legtbb programozsinyelvben elrhetk, mint pldul az egsz, a sztring, a logikai, a vals, a felsorolsos tpus, az intervallum tpus stb. Dtumot,idt s ms fogalmakat reprezentl tovbbi adattpusokat is alkalmazhatunk.

    Matematikailag egy E egyedtpus A attribtumt, amelynek az rtkkszlete V, egy E-bl V-nek a P(V) hatvnyhalmazba[4]

    kpez fggvnyknt definilhatjuk:

  • A : E P(V)

    Az e egyed A attribtumnak az rtkre A(e) formban hivatkozunk. Az elz definci az egyrtk s tbbrtkattribtumokat, valamint a NULL rtkeket is lefedi. A NULL rtket az res halmaz reprezentlja. Egyrtk attribtumokesetn az A(e) egyelem halmaz lesz az E minden e egyede esetn, mg tbbrtk attribtumok esetn nincs semmilyen

    megkts.[5] Egy A sszetett attribtum esetn a V rtkkszlet a P(V1), P(V2), , P(Vn) Descartes-szorzata, ahol V1, V2, ,

    Vn az A-t alkot egyszer komponens attribtumok rtkkszletei:

    V = P(V1) P(V2) P(Vn)

    Az rtkkszlet minden lehetsges rtket tartalmaz. Rendszerint ezen rtkek kzl csak kevs tallhat meg az adatbzisban,azok, amelyek a minivilg llapott ler adatokat reprezentljk. Ezek felelnek meg azoknak az adatoknak, amelyek aminivilgban tnylegesen lteznek.

    3.3.3. A VLLALAT adatbzis kezdeti koncepcionlis terve

    Ezek utn definilhatjuk a VLLALAT adatbzis egyedtpusait a 3.2. alfejezetben lert kvetelmnyek alapjn. Mostdefinilunk nhny egyedtpust s az attribtumaikat, majd a 3.4. alfejezetben finomtjuk a tervnket, miutn bevezetjk akapcsolat fogalmt. A 3.2. alfejezetben felsorolt kvetelmnyek alapjn ngy egyedtpust azonosthatunk, egyet-egyet aspecifikciban megadott ngy pont mindegyikhez (lsd a 3.8. brt):

    Az OSZTLY egyedtpust Nv, Szm, Helysznek, Osztlyvezet s Kezd_dtum attribtumokkal. A Helysznek azegyetlen tbbrtk attribtum. Megadhatjuk, hogy mind a Nv, mind a Szm (kln) kulcs attribtumok legyenek,mivel mindkettt egyedinek definiltuk.

    1.

    A PROJEKT egyedtpust Nv, Szm, Helyszn s Irnyt_osztly attribtumokkal. Mind a Nv, mind a Szm (kln)kulcs attribtumok.

    2.

    A DOLGOZ egyedtpust Nv, Szsz, Nem, Lakcm, Fizets, Szdtum, Osztly s Fnke attribtumokkal. Mind a Nv,mind a Lakcm lehet sszetett attribtum; ez azonban nem volt megadva a kvetelmnyek kztt. Vissza kell mennnk afelhasznlkig, hogy lssuk, hogy brmelyikk is fog-e hivatkozni a Nv egyes komponenseire (vezetknv, keresztnv)vagy a Lakcm egyes komponenseire.

    3.

    A HOZZTARTOZ egyedtpust Dolgoz, Hozztartoz_neve, Nem, Szdtum s (a dolgozval vett) Kapcsolatattribtumokkal.

    4.

    3.8. bra - Egyedtpusok elzetes terve a VLLALAT adatbzishoz. A feltntetett attribtumok nmelyikt aksbbiekben kapcsolatokk fogjuk finomtani.

  • Eddig nem reprezentltuk azt a tnyt, hogy egy dolgoz tbb projekten is dolgozhat, mint ahogy azt sem, hogy egy dolgozhny rt dolgozik hetente az egyes projekteken. Ezek a jellemzk a 3.2. alfejezetben felsorolt harmadik kvetelmny rszekntvoltak megadva, s a DOLGOZ Dolgozik_rajta nev tbbrtk sszetett attribtumval reprezentlhatk, amely a (Projekt,rk) egyszer komponensekkel rendelkezik. Egy msik lehetsg lenne, hogy a PROJEKT Dolgozk nev tbbrtksszetett attribtumval reprezentljuk ket a (Dolgoz, rk) egyszer komponensekkel. A 3.8. brn, amely a fent lertegyedtpusokat brzolja, az els megoldst vlasztottuk. A DOLGOZ Nv attribtuma az brn sszetett attribtumkntlthat, felteheten a felhasznlkkal trtnt konzultci hatsra.

    3.4. Kapcsolattpusok, kapcsolathalmazok, szerepkrk s strukturlismegszortsok

    A 3.8. brn szmos implicit kapcsolatot lthatunk klnbz egyedtpusok kztt. Valjban valahnyszor egy egyedtpus egyattribtuma egy msik egyedtpusra hivatkozik, valamilyen kapcsolat ll fenn. Az OSZTLY Osztlyvezet attribtumapldul egy olyan dolgozra hivatkozik, aki vezeti az osztlyt; a PROJEKT Irnyt_osztly attribtuma arra az osztlyrahivatkozik, amelyik irnytja a projektet; a DOLGOZ Fnke attribtuma egy msik dolgozra hivatkozik (arra, aki ennek adolgoznak a fnke); a DOLGOZ Osztly attribtuma arra az osztlyra hivatkozik, ahol a dolgoz dolgozik; s gy tovbb.Az ER modellben ezeket a hivatkozsokat nem attribtumokknt, hanem kapcsolatokknt rdemes reprezentlni, amelyekrlebben a fejezetben lesz sz. A VLLALAT adatbzissmt finomtani fogjuk a 3.6. alfejezetben gy, hogy a kapcsolatokatexplicit mdon brzoljuk. Az egyedtpusok kezdeti tervben a kapcsolatokat tipikusan attribtumok formjban jelentjkmeg. Ahogy a tervet finomtjuk, ezeket az attribtumokat talaktjuk az egyedtpusok kztti kapcsolatokk.

    Ez az alfejezet a kvetkezkppen pl fl: a 3.4.1. alfejezet bevezeti a kapcsolattpus, kapcsolathalmaz s kapcsolat-elforduls fogalmait. A 3.4.2. alfejezetben definiljuk a kapcsolat foka, a szerepkrnv s a rekurzv kapcsolat fogalmt, majda 3.4.3. alfejezetben a kapcsolatok strukturlis megszortsairl pldul a szmossgrl s a ltezsfggsgrl trgyalunk. A 3.4.4. alfejezet azt mutatja be, hogy hogyan lehetnek a kapcsolattpusoknak is attribtumaik.

    3.4.1. Kapcsolattpusok, -halmazok s -elfordulsok

  • Az E1, E

    2, , En-nel jellt n darab egyedtpus kztti R kapcsolattpus egy megfeleltets-halmazt ms szval egy

    kapcsolathalmazt definil az ezen egyedtpusokbl szrmaz egyedek kztt. Mint az egyedtpusok s az egyedhalmazokesetn, egy kapcsolattpusra s a neki megfelel kapcsolathalmazra ugyanazzal a nvvel, R-rel szoks hivatkozni.Matematikailag az R kapcsolathalmaz ri kapcsolatelfordulsok egy halmaza, ahol minden ri n darab egyedet (e1, e2, ,

    en-et) kapcsol ssze, s minden ri-beli ej egyed az Ej egyedtpus eleme, 1 j n. Ennlfogva egy kapcsolattpus rtelmezhet

    E1, E2, , En fltti matematikai relciknt; azaz definilhat az E1 E2 En Descartes-szorzat egy rszhalmazaknt.

    Az E1, E2, , En egyedtpusokrl azt mondjuk, hogy rszt vesznek az R kapcsolattpusban; s hasonlan, az e1, e2, , enegyedekrl azt mondjuk, hogy rszt vesznek az ri = (e1, e2, , en) kapcsolatelfordulsban.

    Informlisan az R-beli ri kapcsolat-elfordulsok egyedek olyan asszocicii, amelyek minden rszt vev egyedtpusbl

    pontosan egy egyedet tartalmaznak. Minden ilyen ri kapcsolatelforduls azt a tnyt fejezi ki, hogy az ri-ben rszt vev

    egyedek valamilyen mdon kapcsolatban llnak egymssal a megfelel minivilgbeli szituciban. Tekintsk pldul aDOLGOZ s az OSZTLY egyedtpusok kztt rtelmezett MUNKAHELYE kapcsolattpust, amely minden dolgozhozhozzrendeli azt az osztlyt, ahol az illet dolgozik. A MUNKAHELYE kapcsolathalmazbeli minden egyes kapcsolat-elforduls egy DOLGOZ egyedet s egy OSZTLY egyedet rendel egymshoz. A 3.9. bra illusztrlja ezt a pldt, amelyenaz ri kapcsolat-elfordulsok lthatk, sszektve az ri-ben rszt vev DOLGOZ s OSZTLY egyedekkel. A 3.9. bra ltal

    reprezentlt minivilgban az e1, e3 s e6 dolgozk a d1 osztlyon dolgoznak; az e2 s e4 dolgozk a d2 osztlyon dolgoznak; az

    e5 s e7 dolgozk pedig a d3 osztlyon dolgoznak.

    3.9. bra - Nhny elforduls a MUNKAHELYE kapcsolathalmazbl, amelyek egy MUNKAHELYE kapcsolattpustreprezentl a DOLGOZ s az OSZTLY kztt.

    Az ER smkban a kapcsolattpusokat rombusz alak dobozokkal brzoljk, amelyek folytonos egyenes vonalakkalkapcsoldnak a kapcsolatban rsztvev egyedtpusokat reprezentl tglalap alak dobozokhoz. A kapcsolat nevt a rombuszalak dobozba rjk (lsd 3.2. bra).

    3.4.2. A kapcsolat foka, szerepkrnevek s rekurzv kapcsolatok

    Kapcsolattpus foka. Egy kapcsolattpus foka a kapcsolatban rszt vev egyedtpusok szma. gy pldul a MUNKAHELYEkapcsolat foka kett. A msodfok kapcsolatot binris, a harmadfokt ternris kapcsolatnak hvjuk. A 3.10. brn bemutatottSZLLTS kapcsolat pldul egy ternris kapcsolat, ahol minden egyes ri kapcsolatelforduls hrom egyedet egy s

    szlltt, egy p alkatrszt s egy j projektet kapcsol ssze, valahnyszor egy s szllt egy p alkatrszt szllt egy jprojekthez. A kapcsolatok ltalban brmilyen fokak lehetnek, de a leggyakoribbak a binris kapcsolatok. A magasabb fokkapcsolatok ltalban komplexebbek, mint a binris kapcsolatok; a 3.8. alfejezetben fogjuk ket tovbb trgyalni.

    3.10. bra - Nhny kapcsolat-elforduls a SZLLTS ternris kapcsolathalmazbl.

  • Kapcsolatok mint attribtumok. Nha az a knyelmes, ha a kapcsolattpusokra mint attribtumokra gondolunk, ahogy azt a3.3.3. alfejezetben is tettk. Tekintsk a 3.9. brn lthat MUNKAHELYE kapcsolattpust. Elkpzelhetnk egy attribtumot aDOLGOZ egyedtpusban, amelyet Osztlynak hvunk, s amelynek rtke minden egyes alkalmazott egyed esetn az azOSZTLY egyed (vagy egy hivatkozs r), ahol az alkalmazott dolgozik. gy ennek az Osztly attribtumnak az rtkhalmazaaz sszes OSZTLY egyed halmaza, amely azonos az OSZTLY egyedhalmazzal. Ezt tettk a 3.8. brn, amikor aVLLALAT adatbzis DOLGOZ egyedtpusnak kiindul tervt adtuk meg. Ha azonban egy binris kapcsolatraattribtumknt gondolunk, mindig kt lehetsgnk van. Ebben a pldban a msik lehetsg az, hogy az OSZTLYegyedtpusban kpzelnk el egy Alkalmazottak tbbrtk attribtumot, amelynek az rtke minden egyes OSZTLY egyedesetn azon DOLGOZ egyedek halmaza, akik az adott osztlyon dolgoznak. Ennek az Alkalmazottak attribtumnak azrtkhalmaza a DOLGOZ egyedhalmaznak hatvnyhalmaza. Az emltett kt attribtum a DOLGOZ Osztlyattribtuma vagy az OSZTLY Alkalmazottak attribtuma egyarnt alkalmas a MUNKAHELYE kapcsolattpus

    reprezentlsra. Ha mindkettt reprezentljuk, akkor egyms inverzeinek kell lennik.[6]

    Szerepkrnevek s rekurzv kapcsolatok. Minden egyedtpus, amely rszt vesz egy kapcsolattpusban, egy konkrt szerepetjtszik a kapcsolatban. A szerepkrnv jelli azt a szerepet, amelyet az egyedtpusnak a kapcsolatban rszt vev egyedeijtszanak az egyes kapcsolatelfordulsokban, s segt megrteni, mit is jelent a kapcsolat. Pldul a MUNKAHELYEkapcsolattpusban a DOLGOZ az alkalmazott vagy dolgoz szerept, az OSZTLY pedig az osztly vagy munkltatszerept jtssza.

    A szerepkrnevek technikailag nem szksgesek azokban a kapcsolattpusokban, ahol az sszes rszt vev egyedtpusklnbz, mivel minden rszt vev egyedtpus neve hasznlhat szerepkrnvknt. Bizonyos esetekben azonban ugyanazonegyedtpus egynl tbbszr vesz rszt egy kapcsolattpusban klnbz szerepekben. Ezekben az esetekben szksgess vlik aszerepkrnv, hogy megklnbztessk az egyes rszvtelek jelentseit. Az ilyen kapcsolattpusokat rekurzv kapcsolatoknaknevezzk. A 3.11. bra mutat erre egy pldt. A FNKE kapcsolattpus sszekt egy dolgozt egy fnkkel, ahol mind azalkalmazott, mind a fnk egyedek ugyanazon DOLGOZ egyedtpusbl valk. gy a DOLGOZ egyedtpus ktszer veszrszt a FNKE kapcsolatban: egyrszt a fnk, msrszt a beosztott (vagy alrendelt) szerepben. A FNKE minden rikapcsolatelfordulsa kt dolgoz egyedet kapcsol ssze (ej-t s ek-t), amelyek kzl az egyik jtssza a fnk szerept, a msik

    pedig a beosztottt. A 3.11. brn az 1-essel jellt vonalak jellik a fnk szerepkrt, a 2-essel jelltek pedig a beosztottszerepkrt; gy e

    1 fnke e

    2-nek s e

    3-nak, e

    4 fnke e

    6-nak s e

    7-nek, e

    5 fnke e

    1-nek s e

    4-nek. Ebben a pldban minden

    kapcsolat-elfordulsnak kt vonallal kell rendelkeznie, egy 1-essel jelltnek (fnk) s egy 2-essel jelltnek (beosztott).

    3.11. bra - A FNKE rekurzv kapcsolat a fnk szerepkr DOLGOZ (1) s a beosztott szerepkr DOLGOZ (2)kztt.

  • 3.4.3. A kapcsolattpusok megszortsai

    A kapcsolattpusok ltalban rendelkeznek bizonyos megszortsokkal, amelyek korltozzk azokat a lehetsgesegyedkombincikat, amelyek rszt vehetnek a megfelel kapcsolathalmazban. Ezeket a megszortsokat a kapcsolatok ltalreprezentlt minivilgbeli szituci alapjn hatrozzuk meg. Ha pldul a 3.9. brn a vllalatnak van egy olyan szablya, hogyminden dolgoznak pontosan egy osztlyon kell dolgoznia, akkor ezt a megszortst szeretnnk a smn is megjelenteni. Akapcsolatokra vonatkoz megszortsoknak kt f tpust klnbztetjk meg: szmossg s rszvtel.

    A binris kapcsolatok szmossga. A binros kapcsolatok szmossga meghatrozza azon kapcsolat-elfordulsokmaximlis szmt, amelyekben egy egyed rszt vehet. A MUNKAHELYE binris kapcsolattpus esetn pldul azOSZTLY:DOLGOZ 1:N szmossg, ami azt jelenti, hogy minden osztly akrhny dolgozhoz kapcsoldhat (azaz

    tetszleges szm dolgozt alkalmazhat),[7] viszont egy dolgoz csak egy osztlyhoz kapcsoldhat (azaz csak egy osztlyondolgozhat). A binris kapcsolattpusok lehetsges szmossgai: 1:1, 1:N, N:1 s M:N.

    3.12. bra - Az 1:1 szmossg VEZETI kapcsolat.

    1:1 szmossg binris kapcsolatra plda a VEZETI (3.12. bra), amely az egyes osztly egyedeket sszekapcsolja azzal adolgozval, aki az adott osztlyt vezeti. Ez azokat a minivilgbeli megszortsokat reprezentlja, hogy brmelyidpillanatban egy dolgoz csak egy osztlyt vezethet, s egy osztlynak csak egy vezetje lehet. A DOLGOZIK_RAJTAkapcsolattpus (3.13. bra) M:N szmossg, mert a minivilg szablya szerint egy dolgoz akrhny projekten dolgozhat, segy projekthez akrhny dolgoz tartozhat.

    3.13. bra - Az M:N szmossg DOLGOZIK_RAJTA kapcsolat.

  • A binris kapcsolatok szmossgt az ER diagramokon gy reprezentljuk, hogy 1-est, M-et vagy N-et runk a rombuszokmell, ahogy a 3.2. brn lthat.

    Rszvteli megszortsok s ltezsfggsg. A rszvteli megszorts megadja, hogy egy egyed ltezse fgg-e attl, hogykapcsolatban ll-e egy msik, a kapcsolattpuson keresztl elrhet egyeddel. Ez a megszorts meghatrozza azon kapcsolat-elfordulsok minimlis szmt, amelyekben az egyes egyedek rszt vehetnek, ezrt nha minimum szmossgimegszortsnak is nevezzk. A rszvteli megszortsoknak kt tpusa ltezik (totlis s rszleges), amelyeket pldkkalillusztrlunk. Ha egy vllalat elrsai kimondjk, hogy minden dolgozt hozz kell rendelni egy osztlyhoz, akkor egy dolgozegyed csak akkor ltezhet, ha legalbb egy MUNKAHELYE kapcsolat-elfordulsban rszt vesz (3.9. bra). AMUNKAHELYE kapcsolatban a DOLGOZ rszvtelt teht totlis rszvtelnek nevezzk, ami azt jelenti, hogy a dolgozegyedek teljes halmazban minden egyednek kapcsoldnia kell egy osztly egyedhez a MUNKAHELYE kapcsolaton keresztl.A totlis rszvtelt ltezsfggsgnek is nevezzk. A 3.12. brn nem vrjuk el, hogy minden dolgoz vezessen egy osztlyt,gy a DOLGOZ rszvtele a VEZETI kapcsolattpusban rszleges, ami azt jelenti, hogy a dolgoz egyedek halmaznak csakegy rsze kapcsoldik valamely osztly egyedhez a VEZETI kapcsolaton keresztl, de nem felttlenl az sszes. Aszmossgra s a rszvteli megszortsokra egyttesen a kapcsolattpusok strukturlis megszortsaiknt fogunk hivatkozni.

    Az ER diagramokon a totlis rszvtelt (vagy ltezsfggsget) egy olyan dupla vonallal jelljk, amely a rszt vevegyedtpust kti ssze a kapcsolattal, mg a rszleges rszvtelt szimpla vonallal reprezentljuk (lsd a 3.2. brt).

    3.4.4. A kapcsolattpusok attribtumai

    A kapcsolattpusoknak is lehetnek attribtumaik, amelyek hasonlak az egyedtpusokihoz. Ha pldul szeretnnk feljegyezni,hogy egy dolgoz hetente hny rt dolgozik egy konkrt projekten, felvehetnk egy rk attribtumot a 3.13. braDOLGOZIK_RAJTA kapcsolattpushoz. Egy msik plda lehet, hogy felvesszk azt a dtumot, amikor egy osztlyvezetmegkezdte egy osztly vezetst, a 3.12. bra VEZETI kapcsolattpusnak egy Kezd_dtum elnevezs attribtumaknt.

    Vegyk szre, hogy az 1:1 s az 1:N szmossg kapcsolattpusok attribtumait hozzcsatolhatjuk a rszt vev egyedtpusokegyikhez. A VEZETI kapcsolat Kezd_dtum attribtuma akr a DOLGOZ, akr az OSZTLY attribtuma is lehet, brkoncepcionlisan a VEZETI kapcsolathoz tartozik. Ez azrt van, mert a VEZETI egy 1:1 szmossg kapcsolat, ezrt mindenosztly s minden dolgoz egyed legfeljebb egy kapcsolat-elfordulsban vesz rszt. Emiatt a Kezd_dtum attribtum rtkekln is meghatrozhat vagy a rszt vev osztly egyeden, vagy a rszt vev dolgoz (osztlyvezet) egyeden keresztl.

    Egy 1:N szmossg kapcsolattpus esetn a kapcsolat attribtuma csak a kapcsolat N oldali egyedtpushoz csatolhat. Hapldul a 3.9. brn a MUNKAHELYE kapcsolat szintn rendelkezne egy Kezd_dtum attribtummal, amely azt jelezn,hogy egy dolgoz mikor kezdett az adott osztlyon dolgozni, akkor ezt az attribtumot a DOLGOZ egy attribtumaknt isfelvehetnnk. Ez azrt van, mert minden dolgoz csak egy osztlyon dolgozik, gy a MUNKAHELYE kapcsolat legfeljebb egyelfordulsban vesz rszt. Mind az 1:1, mind az 1:N kapcsolattpusok esetn az a dnts, hogy egy kapcsolat egy attribtumthov helyezzk (azaz hogy a kapcsolattpushoz vagy az egyik rszt vev egyedtpushoz csatoljuk-e), a smatervez szubjektvdntse.

    Az M:N kapcsolattpusok esetn bizonyos attribtumok csak a kapcsolat-elfordulsokban rszt vev egyedek kombincijasegtsgvel hatrozhatk meg, egyetlen egyed segtsgvel azonban nem. Az ilyen attribtumokat a kapcsolat

  • attribtumaiknt kell definilni. Plda erre az M:N szmossg DOLGOZIK_RAJTA kapcsolat rk attribtuma (3.13. bra);az egy dolgoz ltal egy projektre fordtott heti munkark szmt egy dolgoz-projekt kombinci alapjn tudjuk csakmeghatrozni, kln ezen egyedek egyikvel azonban nem.

    3.5. Gyenge egyedtpusok

    Azokat az egyedtpusokat, amelyek nem rendelkeznek sajt kulcs attribtumokkal, gyenge egyedtpusoknak nevezzk. Ezzelellenttben azokat a hagyomnyos egyedtpusokat, amelyeknek van kulcs attribtumuk s amelyek kz az sszes eddigtrgyalt plda is tartozik ers egyedtpusoknak nevezzk. A gyenge egyedtpushoz tartoz egyedek azonostsa egyrsztegy msik egyedtpus bizonyos egyedeinek, msrszt sajt attribtumrtkeik kzl egynek a felhasznlsval trtnik. Ezt a

    msik egyedtpust azonost vagy tulajdonos egyedtpusnak[8] nevezzk, a gyenge egyedtpust a tulajdonosval sszekt

    kapcsolattpust pedig a gyenge egyedtpus[9] azonost kapcsolatnak hvjuk. A gyenge egyedtpus mindig totlis rsztvevjeaz azonost kapcsolatnak (ltezsfggsg), mert egy gyenge egyedet nem lehet azonostani tulajdonos egyed nlkl. Nemminden ltezsfggsg eredmnyez azonban gyenge egyedtpust. Pldul egy JOGOSTVNY egyed nem ltezhet egykapcsold SZEMLY egyed nlkl, br neki is van sajt kulcsa (a Vezeti_engedly_szma), s ezrt nem gyenge egyed.

    Vegyk pldul a HOZZTARTOZ egyedtpust, amely a DOLGOZ egyedtpushoz kapcsoldik, s amelyet az egyesdolgozk hozztartozinak a trolsra hasznlunk egy 1:N kapcsolattpuson keresztl (3.2. bra). A HOZZTARTOZattribtumai a Nv (a hozztartoz keresztneve), a Szdtum, a Nem s a Kapcsolat (a dolgozval). Kt klnbz dolgoz kthozztartozjnak vletlenl lehet ugyanaz a Neve, Szdtuma, Neme s Kapcsolata, annak ellenre, hogy klnbzegyedekrl van sz. Ezrt csak azutn azonosthatk klnbz egyedekknt, ha mr meghatroztuk azokat a konkrtalkalmazott egyedeket, amelyekhez az egyes hozztartozk kapcsoldnak. Azt mondjuk, hogy az egyes DOLGOZ egyedektulajdonosai a hozzjuk kapcsold HOZZTARTOZ egyedeknek.

    A gyenge egyedtpusoknak rszleges kulcsuk van, amely azon attribtumok halmaza, amelyek egyrtelmen azonostjk

    azokat a gyenge egyedeket, amelyek ugyanazon tulajdonos egyed(ek)hez kapcsoldnak.[10] A pldnkban, ha felttelezzk,hogy ugyanazon alkalmazott kt hozztartozjnak nem lehet azonos a keresztneve, akkor a HOZZTARTOZ Nvattribtuma a rszleges kulcs. Legrosszabb esetben a gyenge egyedtpus sszes attribtumbl kpzett sszetett attribtum lesza rszleges kulcs.

    Az ER diagramokban a gyenge egyedtpust dupla szegly tglalappal, az azonost kapcsolatt dupla szegly rombusszaljelljk (lsd a 3.2. brt). A rszleges kulcs attribtumot szaggatott vagy pontozott vonallal hzzuk al.

    A gyenge egyedtpusokat nha komplex (sszetett, tbbrtk) attribtumokknt is reprezentlhatjuk. Az elz pldbanmegadhatnnk a DOLGOZ egyedtpushoz egy tbbrtk Hozztartozk attribtumot, amely sszetett attribtum lenne Nv,Szletsi id, Nem s Kapcsolat attribtumokkal. Hogy melyik reprezentcit hasznljuk, azt az adatbzis tervezje dnti el. Agyenge egyedtpus reprezentcit clszer hasznlni akkor, ha sok attribtumunk van. Ha a gyenge egyedtpus az azonostkapcsolattpusn kvl ms kapcsolattpusokban is rszt vesz, akkor nem clszer komplex attribtumknt modellezni.

    ltalnossgban gyenge egyedtpusok tetszleges szm szintjt definilhatjuk; a tulajdonos egyedtpus maga is lehet gyengeegyedtpus. Egy gyenge egyedtpus radsul egynl tbb azonost egyedtpussal is rendelkezhet, gy az azonostkapcsolattpusa kettnl magasabb fok is lehet, ahogy azt a 3.8. alfejezetben majd ltni fogjuk.

    3.6. A VLLALAT adatbzis ER tervnek finomtsa

    A 3.8. bra adatbzistervt tovbb finomthatjuk, ha azokat az attribtumokat, amelyek kapcsolatokat reprezentlnak,kicserljk kapcsolattpusokra. Az egyes kapcsolattpusok szmossga s rszvteli megszortsa a 3.2. alfejezetben felsoroltkvetelmnyek alapjn kerl meghatrozsra. Ha valamilyen szmossg vagy fggsg nem hatrozhat meg akvetelmnyekbl, akkor a felhasznlkat kell ismtelten megkrdezni az ilyen strukturlis megszortsoknak a meghatrozsavgett.

    Pldnkban a kvetkez kapcsolattpusokat definiljuk:

    VEZETI, egy 1:1 szmossg kapcsolattpus a DOLGOZ s az OSZTLY kztt. A DOLGOZ rszvtele rszleges.Az OSZTLY rszvtele nem derl ki pontosan a kvetelmnyekbl. Megkrdezzk teht a felhasznlt, aki azt mondja,

    hogy egy osztlynak mindig kell, hogy legyen egy vezetje, amelybl kvetkezik a teljes (totlis) rszvtel.[11] AKezd_dtum attribtumot ehhez a kapcsolattpushoz rendeljk hozz.

  • MUNKAHELYE, egy 1:N szmossg kapcsolattpus az OSZTLY s a DOLGOZ kztt. Mindkt rszvtel teljes(totlis).

    IRNYTJA, egy 1:N szmossg kapcsolattpus az OSZTLY s a PROJEKT kztt. A PROJEKT rszvtele teljes(totlis), mg az OSZTLY rszvtele rszleges lesz, miutn a felhasznlkkal trtn konzultci sorn kiderl, hogylehetnek olyan osztlyok, amelyek nem irnytanak projekteket.

    FNKE, egy 1:N szmossg kapcsolattpus a (fnk szerepkr) DOLGOZ s a (beosztott szerepkr) DOLGOZkztt. Mindkt rszvtelt rszlegesnek (parcilisnak) definiljuk, miutn a felhasznlk jelzik, hogy nem mindendolgoz fnk s nem minden dolgoznak van fnke.

    DOLGOZIK_RAJTA, egy M:N szmossgnak definilt kapcsolattpus az rk attribtummal, miutn a felhasznlkjelzik, hogy egy projekten tbb dolgoz is dolgozhat. Mindkt rszvtelt teljesnek (totlisnak) definiljuk.

    HOZZTARTOZJA, egy 1:N szmossg kapcsolattpus a DOLGOZ s a HOZZTARTOZ kztt, amely egyttala HOZZTARTOZ gyenge egyedtpus azonost kapcsolata is. A DOLGOZ rszvtele rszleges (parcilis), mg aHOZZTARTOZ rszvtele teljes (totlis).

    A fenti hat kapcsolattpus definilsa utn eltvoltjuk a 3.8. bra egyedtpusaibl az sszes olyan attribtumot, amelyblkapcsolattpust ksztettnk. Ilyen az Osztlyvezet s a Kezd_dtum az OSZTLY-ban; az Irnyt_osztly a PROJEKT-ben;az Osztly, a Fnke s a Dolgozik_rajta a DOLGOZ-ban; illetve a Dolgoz a HOZZTARTOZ-ban. Fontos, hogy aredundancia a lehet legkisebb legyen, amikor egy adatbzis koncepcionlis smjt tervezzk. Ha valamilyen redundanciamgis kvnatos a trolsi szinten vagy a felhasznli nzet szintjn, azt be lehet vezetni ksbb, ahogyan errl a 1.6.1.alfejezetben mr szltunk.

    3.7. ER diagramok, elnevezsi konvencik s tervezsi krdsek

    3.7.1. Az ER diagramokban hasznlt jellsek

    A 3.9-tl 3.13-ig szmozott brk az egyedtpusoknak a kapcsolattpusokban val rszvtelre mutatnak pldkat az extenziikmegjelentsvel, azaz az egyedhalmazokban s kapcsolathalmazokban szerepl egyed-elfordulsok s kapcsolat-elfordulsok felsorolsval. Az ER diagramokon azonban a hangsly nem a pldnyok, hanem a smk reprezentlsn van.Ez sokkal hasznosabb az adatbzis-tervezs sorn, mivel az adatbzissma ritkn vltozik, mg az egyedhalmazok tartalmagyakran. Radsul a smt ltalban knnyebb megjelenteni, mint az adatbzis extenzijt, mivel sokkal kisebb.

    A 3.2. bra a VLLALAT ER adatbzissmjt brzolja ER diagramknt. Most ttekintjk az ER diagramok teljesjellsrendszert. Az egyedtpusokat, mint pldul a DOLGOZ, az OSZTLY s a PROJEKT, tglalapokkal brzoljuk. Akapcsolattpusokat, mint pldul a MUNKAHELYE, a VEZETI, az IRNYTJA s a DOLGOZIK_RAJTA, rombuszokkaljelljk, amelyeket egyenes vonalakkal ktnk ssze a rszt vev egyedtpusokkal. Az attribtumokat ovlisokkal brzoljuk,s minden attribtumot egy egyenes vonal kt az egyedtpushoz vagy a kapcsolattpushoz. Az sszetett attribtumokkomponens attribtumait hozzkapcsoljuk az sszetett attribtumot jelkpez ovlishoz, ahogy az a DOLGOZ Nvattribtumnl lthat. A tbbrtk attribtumokat dupla szegly ovlisokba rjuk, ahogy az az OSZTLY Helysznekattribtumnl lthat. A kulcs attribtumok nevt alhzzuk. A szrmaztatott attribtumokat szaggatott szegly ovlisokbarjuk, ahogy az az OSZTLY Dolgozk_szma attribtumnl lthat.

    A gyenge egyedtpusokat gy klnbztetjk meg, hogy dupla szegly tglalapokba rjuk a nevket, az azonostkapcsolatukat pedig dupla szegly rombuszokba, ahogy az a HOZZTARTOZ egyedtpusnl s a HOZZTARTOZJAazonost kapcsolattpusnl lthat. A gyenge egyedtpus rszleges kulcst szaggatott vonallal hzzuk al.

    A 3.2. brn az sszes binris kapcsolattpus szmossgt gy jelltk, hogy egy 1-est, egy M-et vagy egy N-et rtunk akapcsold lekre. A VEZETI kapcsolatban az OSZTLY:DOLGOZ szmossga 1:1, mg a MUNKAHELYE kapcsolatbanaz OSZTLY:DOLGOZ szmossga 1:N, a DOLGOZIK_RAJTA kapcsolatban pedig a szmossg M:N. A rszvtelimegszortst gy adjuk meg, hogy szimpla vonalat hzunk a rszleges rszvtel esetn, mg dupla vonalat a totlis rszvtelesetn (ltezsfggsg).

    A 3.2. brn megadtuk a szerepkrneveket a FNKE kapcsolattpusnl, mert a DOLGOZ egyedtpus jtssza mindktszerepet a kapcsolatban. Vegyk szre, hogy a szmossg 1:N a fnktl a beosztott fel, mivel a beosztott szerepkrdolgozknak legfeljebb egy kzvetlen fgke van, mg a fnk szerepkr dolgozk nulla vagy tbb dolgoznak lehetnek afnkei.

  • A 3.14. bra sszefoglalja az ER diagramok jellsrendszert.

    3.14. bra - Az ER diagramok jellseinek sszefoglalsa.

    3.7.2. A smaelemek helyes elnevezse

    Az adatbzissma tervezse sorn az egyedtpusok, az attribtumok, a kapcsolattpusok s (klnsen) a szerepkrk neveinekmegvlasztsa nem mindig nyilvnval. Olyan neveket clszer vlasztani, amelyek a lehet legjobban utalnak a smaklnbz konstrukciihoz kapcsold jelentsre. Az egyedtpusok szmra mi egyes szm fneveket vlasztunk, nem pedigtbbes szmt, mert az egyedtpus neve az adott egyedtpushoz tartoz minden egyes egyedre vonatkozik. Az ERdiagramjainkban azt a konvencit kvetjk, hogy az egyedtpusok s a kapcsolattpusok neveit csupa nagybetvel, azattribtumnevek els betit szintn nagybetvel, a szerepkrneveket pedig csupa kisbetvel rjuk. Ezt a konvencit alkalmaztuka 3.2. brn is.

    ltalnos gyakorlat, hogy az adatbzis kvetelmnyek szvegszer lersban elfordul fnevek az egyedtpusok neveit, azigk pedig a kapcsolattpusok neveit jelzik. Az attribtumnevek ltalban azokbl a tovbbi fnevekbl szrmaznak, amelyekaz egyedtpusoknak megfelel fneveket rjk le.

    Egy msik elnevezsi szoks az, hogy a binris kapcsolatok neveit gy vlasszuk meg, hogy a sma ER diagramja balrl jobbras fellrl lefel legyen olvashat. ltalban mi is kvettk ezt az irnyelvet a 3.2. brn.

    3.7.3. Tervezsi lehetsgek a koncepcionlis tervezs sorn

    Idnknt nehz eldnteni, hogy a minivilg egy konkrt fogalmt egyedtpusknt, attribtumknt vagy kapcsolattpuskntclszer-e modellezni. Ebben az alfejezetben adunk nhny rvid irnyelvet arra vonatkozan, hogy melyik konstrukcitclszer vlasztani konkrt szitucikban.

    ltalban a smatervezsi folyamatot egy iteratv finomtsi folyamatknt kell tekinteni, ahol elszr egy kezdeti tervet hozunk

  • ltre, majd iteratvan finomtjuk azt, amg meg nem kapjuk a legmegfelelbb tervet. A gyakran hasznlt finomtsi lehetsgekkzl az albbiakban felsorolunk nhnyat:

    Egy fogalmat elszr attribtumknt modellezhetnk, amit aztn kapcsolatt finomthatunk, ha azt tapasztaljuk, hogy azattribtum egy msik egyedtpusra hivatkozik. Gyakori eset, hogy az olyan attribtumprok, amelyek egyms inverzei,binris kapcsolatt finomthatk. A finomtsnak errl a fajtjrl rszletesen trgyaltunk a 3.6. alfejezetben.

    Hasonlan, egy tbb egyedtpusban is ltez attribtumot egy fggetlen egyedtpuss lptethetnk el. Tegyk felpldul, hogy az EGYETEM adatbzisban tbb egyedtpus (pldul HALLGAT, OKTAT s TANTRGY) isrendelkezik egy Tanszk attribtummal a kezdeti tervben; a tervez ekkor dnthet gy, hogy ltrehoz egy TANSZKegyedtpust egyetlen attribtummal (Tanszk_neve), amelyet megfelel kapcsolatokon keresztl sszekapcsol a hromegyedtpussal (HALLGAT, OKTAT s TANTRGY). A TANSZK tovbbi attribtumait/kapcsolatait a ksbbieksorn is megadhatjuk.

    Az elz eset inverz finomtsa is alkalmazhat. Ha pldul az eredeti tervben ltezik egy TANSZK egyedtpusegyetlen attribtummal (Tanszk_neve), s csak egyetlen msik egyedtpushoz, a HALLGAT-hoz kapcsoldik, akkor aTANSZK-et a HALLGAT egy attribtumv fokozhatjuk le.

    A 3.8. alfejezet trgyalja a kapcsolatok fokra vonatkoz lehetsgeinket. A 4. fejezetben tovbbi finomtsokrl lesz sza specializcival/generalizcival kapcsolatban.

    3.7.4. Alternatv jellsek az ER diagramokon

    Sok alternatv grafikus jells ltezik az ER diagramok brzolsra.

    Ebben az alfejezetben egy, a kapcsolatok strukturlis megszortsainak megadsra hasznlt alternatv ER jellst mutatunk be.Ezt a jellst hasznlva egy (min, max) egszszm-prt runk egy R kapcsolattpusban rszt vev E egyedtpus rszvtelhez,ahol 0 min max s max 1. A szmok azt jelentik, hogy minden E-beli e egyed esetn e-nek legalbb min, legfeljebb maxR-beli kapcsolatelfordulsban kell rszt vennie brmely idpillanatban. Ennl a mdszernl min = 0 jelenti a rszleges, mgmin > 0 a totlis rszvtelt.

    3.15. bra - A VLLALAT sma ER diagramja (min, max) jells strukturlis megszortsokkal s szerepkrnevekkel.

  • A 3.15. bra a VLLALAT adatbzis smjt brzolja a (min, max) jells hasznlatval.[12] Rendszerint vagy aszmossg/szimpla vonal/dupla vonal, vagy a (min, max) jellst hasznljuk. A (min, max) jells pontosabb, s tetszlegesfok kapcsolattpusok strukturlis megszortsainak megadsra hasznlhatjuk. Mindazonltal nem alkalmas magasabb fokkapcsolatok bizonyos kulcsra vonatkoz megszortsainak megadsra, ahogy azt majd a 3.8. alfejezetben trgyaljuk.

    A 3.15. bra a VLLALAT adatbzissma sszes szerepkrnevt is brzolja.

    3.8. Kettnl magasabb fok kapcsolattpusok

    A 3.4.2. alfejezetben a kapcsolattpusok fokt a rszt vev egyedtpusok szmval definiltuk, valamint a msodfokkapcsolattpusokat binrisnak, a harmadfokakat pedig ternrisnak neveztk. Ebben az alfejezetben a binris s a magasabbfok kapcsolatok kztti klnbsgeket (pldul hogy mikor vlasszunk magasabb fok s mikor binris kapcsolatokat), illetvea magasabb fok kapcsolatokra vonatkoz megszortsokat vesszk grcs al.

    3.8.1. Vlaszts a binris s ternris (vagy magasabb fok) kapcsolatok kztt

    A 3.16. (a) brn egy ternris kapcsolattpus ER diagram jellst lthatjuk; ez az bra a SZLLTS kapcsolattpus smjtmutatja, amelyet pldny szinten a 3.10. bra brzol. Ne feledjk, hogy a SZLLTS kapcsolathalmaz olyan (s, j, p)kapcsolat-elfordulsok halmaza, ahol s egy BESZLLT, aki szllt egy p ALKATRSZ-t a j PROJEKT-hez.ltalnossgban egy n-edfok R kapcsolattpusbl n vonal indul ki egy ER diagramban, amelyek R-et ktik ssze az egyesrszt vev egyedtpusokkal.

    3.16. bra - Harmadfok kapcsolattpus. (a) A SZLLTS kapcsolattpus. (b) Hrom binris kapcsolattpus, amelynem ekvivalens a SZLLTS-sal. (c) A gyenge egyedtpusknt reprezentlt SZLLTS.

  • A 3.16. (b) bra hrom binris kapcsolattpus ER diagramjt mutatja: TUD_SZLLTANI, FELHASZNL s SZLLT.ltalnossgban egy ternris kapcsolattpus ms informcit reprezentl, mint hrom binris kapcsolattpus. Tekintsk pldula TUD_SZLLTANI, FELHASZNL s SZLLT binris kapcsolattpusokat. Tegyk fel, hogy a BESZLLT s azALKATRSZ kztti TUD_SZLLTANI kapcsolat akkor tartalmaz egy (s, p) elfordulst, ha az s szllt tud szlltani palkatrszt (valamely projekthez); a PROJEKT s az ALKATRSZ kztti FELHASZNL kapcsolat akkor tartalmaz egy (j, p)elfordulst, ha a j projekt felhasznlja a p alkatrszt; a BESZLLT s a PROJEKT kztti SZLLT kapcsolat pedig akkortartalmaz egy (s, j) elfordulst, ha az s szllt szllt valamilyen alkatrszt a j projekthez. A TUD_SZLLTANI,FELHASZNL s SZLLT kapcsolatokban szerepl (s, p), (j, p) s (s, j) hrom kapcsolat-elforduls ltezsbl nemfelttlenl kvetkezik, hogy a SZLLTS ternris kapcsolatban ltezik egy (s, j, p) elforduls, mivel a jelentsk klnbz.Gyakran nem egyszer eldnteni, hogy egy konkrt kapcsolatot egy n-edfok kapcsolattpusknt, vagy tbb alacsonyabb fokkapcsolattpussal clszer-e reprezentlni. A terveznek az ppen reprezentlt konkrt szituci szemantikja vagy jelentsealapjn kell ezt a dntst meghoznia. Tipikus megolds, hogy a ternris kapcsolathoz hozzvesznk mg egyet vagy tbbet abinris kapcsolatok kzl is, ha azok ms jelentstartalommal brnak, s ha az alkalmazsnak mindegyikre szksge van.

    Egyes adatbzis-tervezsi eszkzk az ER modell olyan vltozatain alapulnak, amelyek csak binris kapcsolatokat engednekmeg. Ebben az esetben a ternris kapcsolatokat, mint pldul a SZLLTS, rszleges kulcs nlkli gyenge egyedtpuskntkell reprezentlni, hrom azonost kapcsolattal. A hrom rszt vev egyedtpus (a BESZLLT, az ALKATRSZ s aPROJEKT) egytt alkotjk a tulajdonos egyedtpusokat (lsd a 3.16. (c) brt). A 3.16. (c) bra SZLLTS gyengeegyedtpusnak egy egyedt teht a BESZLLT, az ALKATRSZ s a PROJEKT egyedtpusokbl vett hrom tulajdonosegyednek kombincija azonostja.

    A ternris kapcsolatot hagyomnyos egyedtpussal is reprezentlhatjuk egy mestersges vagy helyettest kulcs bevezetsvel.Pldnkban egy Szllts_ID kulcs attribtumot hasznlhatunk a SZLLTS egyedtpushoz, amellyel hagyomnyosegyedtpuss alaktjuk azt. Ekkor hrom binris 1:N kapcsolat kapcsolja a SZLLTS-t a hrom rszt vev egyedtpushoz.

  • 3.17. bra - Ternris vagy binris kapcsolattpusok egy msik plda.

    Egy msik pldt lthatunk a 3.17. brn. A HIRDET ternris kapcsolattpus olyan oktatkrl ad informcikat, akik bizonyosflvekben bizonyos tantrgyakat hirdetnek; azaz akkor tartalmaz egy (i, s, c) kapcsolat-elfordulst, ha az i oktat az sflvben meghirdeti a c tantrgyat. A 3.17. brn lthat hrom binris kapcsolattpus jelentse a kvetkez: a TARTHAT egytantrgyat kapcsol ssze azokkal az oktatkkal, akik tarthatjk az adott trgyat, az OKTAT/OKTATOTT egy flvet kapcsolssze azokkal az oktatkkal, akik az adott flvben tartanak/tartottak rkat, mg a MEGHIRDETVE egy flvet kapcsol sszeazokkal a tantrgyakkal, amelyeket az adott flvben hirdetett meg brmelyik oktat. Ezek a ternris s binris kapcsolatokklnbz informcikat reprezentlnak, de a kapcsolatok kztt bizonyos megszortsoknak kell fennllniuk. Pldul egy (i, s,c) kapcsolat-elforduls csak akkor szerepelhet a HIRDET kapcsolatban, ha egy (i, s) elforduls szerepel azOKTAT/OKTATOTT kapcsolatban, egy (s, c) elforduls szerepel a MEGHIRDETVE kapcsolatban, valamint egy (i, c)elforduls szerepel a TARTHAT kapcsolatban. A fordtottja azonban nem mindig igaz; elfordulhat, hogy van egy (i, s), egy(s, c) s egy (i, c) elfordulsunk a hrom binris kapcsolattpusban, de nincs ezeknek megfelel (i, s, c) elforduls a HIRDETkapcsolatban. Vegyk szre, hogy ebben a pldban a kapcsolatok jelentse alapjn a HIRDET elfordulsaiblkvetkeztethetnk az OKTAT/OKTATOTT s a MEGHIRDETVE elforulsaira, de nem kvetkeztethetnk a TARTHATelfordulsaira; emiatt az OKTAT/OKTATOTT s a MEGHIRDETVE redundnsak s elhagyhatk.

    Br ltalban hrom binris kapcsolat nem helyettesthet egy ternris kapcsolatot, bizonyos tovbbi megszortsok fennllsaesetn ezt mgis megtehetik. Ha a pldnkban a TARTHAT kapcsolat 1:1 szmossg (egy oktat egy trgyat tarthat, s egytrgyat csak egy oktat tarthat), akkor a HIRDET ternris kapcsolat elhagyhat, mert kikvetkeztethet a TARTHAT, azOKTAT/OKTATOTT s a MEGHIRDETVE binris kapcsolatokbl. A smaterveznek minden konkrt szituci jelentstelemeznie kell ahhoz, hogy el tudja dnteni, hogy mely binris s ternris kapcsolattpusok szksgesek.

    Figyeljk meg, hogy egy gyenge egyedtpusnak lehet ternris (vagy n-edfok) azonost kapcsolattpusa. Ebben az esetben agyenge egyedtpusnak tbb tulajdonos egyedtpusa lehet. Egy plda lthat a 3.18. brn.

    3.18. bra - Az INTERJ gyenge egyedtpus ternris azonost kapcsolattpussal.

    3.8.2. A ternris (vagy magasabb fok) kapcsolatok megszortsai

    Ktfle jells ltezik az n-edfok kapcsolatok strukturlis megszortsainak megadsra, s ezek klnbz megszortsokatdefinilnak. Ezrt mindkettt hasznlni kell, ha fontos szmunkra hogy teljesen megadjuk egy ternris vagy magasabb fok

  • kapcsolat strukturlis megszortsait. Az els jells a binris kapcsolatok szmossgnak 3.2. brn lthat jellsn alapul. Ittegy 1-est, egy M-et vagy egy N-et runk mindegyik rszvtelt jelz vonal mell (az M s az N szimblumok mindegyike sok

    vagy brmennyi jelents).[13] Ezt a megszortst a 3.16. bra SZLLTS kapcsolatnak segtsgvel illusztrljuk.

    Emlkezhetnk r, hogy a SZLLTS kapcsolathalmaz olyan (s, j, p) kapcsolat-elfordulsok halmaza, ahol s egyBESZLLT, j egy PROJEKT, p pedig egy alkatrsz. Tegyk fel, hogy van egy olyan megszortsunk, amely szerint egyadott projekt-alkatrsz kombinci esetn csak egy beszlltt hasznlunk (csak egy beszllt szllt egy adott alkatrszt egyadott projekthez). Ebben az esetben 1-est runk a BESZLLT rszvtelhez s M-et, illetve N-et a PROJEKT s azALKATRSZ rszvtelhez a 3.16. brn. Ez azt a megszortst definilja, hogy egy adott (j, p) kombinci legfeljebb egyszerjelenhet meg a kapcsolathalmazban, mivel minden ilyen (PROJEKT, ALKATRSZ) kombinci egyrtelmen meghatroz egykonkrt beszlltt. gy minden (s, j, p) kapcsolat-elfordulst egyrtelmen azonost a kapcsolathalmazban a (j, p)kombincija, amely (j, p)-t a kapcsolathalmaz kulcsv teszi. Ebben a jellsben azok a rszvtelek, amelyek mellett 1-es

    szerepel, nem szksgesek a kapcsolathalmaz azonost kulcshoz.[14]

    A msodik jells a binris kapcsolatokra vonatkoz, 3.15. brn lthat (min, max) jellsen alapul. Egy rszvtel mell rt(min, max) itt azt definilja, hogy minden egyed legalbb min, legfeljebb max kapcsolat-elfordulshoz ktdik akapcsolathalmazban. Az ilyen megszortsok nem kpezhetik az alapjt egy n-edfok kapcsolat kulcsa meghatrozsnak, ahol

    n > 2,[15] ehelyett egy msfajta megszortst definilnak, amely arra vonatkozan ad korltozst, hogy hny kapcsolat-elfordulsban vehetnek rszt az egyes egyedek.

    3.9. sszefoglals

    Ebben a fejezetb