adatmodellezés alapfogalmai (2004, 46 oldal)

Upload: annamaria-cserfalvi

Post on 01-Mar-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    1/46

    Adatmodellezs alapfogalmai:informci: aminek van hrrtke, pl: sivatagban esik; alapegysge: bit pl: pnzfeldobs: fejvagy rs? ez 1 biten eltrolhat ehhez kthet binris szmrendszer, a gpek nyelve(feszltsg meglte vagy nemlte). 1 bit 1 inf, 2 bit 4 inf 8 bit 256adat: informci lert, rgztett vltozata, szgpen: trolt infk (vals vilg modellezse)

    adatmodell: olyan koncepcik gyjtemnye, amelyek egy adatbzis szerkezett egyrtelmenlerjk. Szerkezeten az adatbzis tpust, adatok kapcsolatt, adatok bevitelt, mdostst,trlst, lekrdezst rtjk.adatbzis: egy megvalstott adatmodell, amely tartalmazza az adatok tpust, kapcsolatokatler, n. metaadatokat. Ehhez van szksg:

    DDL-re (Data Definition Language): adatszerkezet ler nyelvre SDL-re (Storage Descriptions Language): fizikai szerkezetet ler nyelvre DML-re (Data Manipulation Language): trolt adatok visszakeresst tmogat

    nyelvre

    Egy adott szakterlet jellemz adatait trolja az adatbzis valamifle rendezelv szerint

    (visszakeress miatt). Adattrols sorn 1re tbben tblzatos formban gondolkodnak. Pl:ALKALMAZOTT

    azonost nv cm fkd foglalkozs17211 Hapci B. Erd fasor 3 bm bnyamrnk17012 Kuka K. Bnya kz 11 va vjr16780 Vidor B. Komls tr 1 va vjr27407 Hfehr T. Boszorka dl 2 bm bnyamrnkFlsleges ismtlds: redundancia flsleges (redundns) trolshoz vezet. Emellett

    bvtsi, mdostsi s trlsi anomlit is okozhat. PL:bvtsi anomlia:

    azonost nv cm fkd foglalkozs17211 Hapci B. Erd fasor 3 bm bnyamrnk17012 Kuka K. Bnya kz 11 va vjr16780 Vidor B. Komls tr 1 va vjr? ? ? ke kellenrz27407 Hfehr T. Boszorka dl 2 bm bnyamrnkMez mindaddig res marad, amg ilyen foglalkozs dolgozt fel nem vesznek.Trlsi anomlia: Ha Kuka K. s Vidor B. kilp, megsznnek vjr foglalkozsra vonatkozadatok.Mdostsi anomlia: ha a vjrt vjrfnkre mdostom, akkor foglalkozs oszlopban tbbhelyen is meg kne vltoztatni rtket.Megolds: sztbonts 2 tblzatra, gy a redundancia cskken, mivel foglalkozsneveket csak1 szer kell trolni, s a kt tbla kapcsolatban marad FKD oszloppal. (RAJZ) Emellett

    bvtsi, trlsi s mdostsi anomlik is megsznnek. Feldolgozskor azonban atblzatokat ssze kell rakni!

    Adatmodellezs szintjei: kls szint: lerja, hogyan ltjk az egyes felhasznlk az adatbzist kzps vagy koncepcionlis szint: teljes adatbzis szerkezett lerja (kapcsolatokat

    is) bels vagy fizikai szint: lerja az adatok fizikai elhelyezst s elrsi mdjait

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    2/46

    2

    Adatbzis-tervezs fzisai:1. fzis: Adatignyek Mveletignyekignyek sszegyjtses elemzse

    2. fzis: Koncepcionlis sma Tranzakcik lersakoncepcionlis (pszeudokd)terv elksztse (magas szint modell)(ab.kezel rsz fggetlen)(=DBMS)

    3. fzis:DBMS tpusnakkivlasztsa

    4. fzis: logikai sma

    lekpezs (alacsony szint modell)(DBMS fgg)

    5. fzis: bels smafizikai tervezs (fizikai szerkezetek, hozzfrsi mdok)

    6. fzis: DDL s SDL nyelvi lers Tranzakcik kdjamegvalsts (konkrt DBMS)

    2.: adatokat ignyek szt csoportostjuk, egyes csop-ok kztt feltrjuk sszefggseket kialaktjuk ab. magas szint modelljt5: ignyek + konkrt ab-kezel szoftver ismeretben megtervezzk adattrolsi szerkezetekets hozzfrsi mdokat (faszerk, indexelt) + elre tervezhet ab-kezel mveletek(lekrdezs, tranzakci) smit6: ltrehoz, felhasznlbartt tesz, feltlt adatokkal

    Az adatmodellezs elemei:magas szint modell: ER-modell (Entity-Relationship Model), EER-modell (Enchanced ER)koncepcionlis modell fonots szerep abtervezsbenkoncepcionlis smk magukban foglaljk: az egyes adattpusokat, azok jellemzit, kztkfennll kapcsolatokat s korltozsokat; szemlletes formban, brkkal mutatjk be a

    ltrehozand adatbzis logikai felptst gy, hogy nlklzik a konkrt megvalsts sornfelhasznland specilis eszkzket.

    ER-modell: egyszer, szemlletes brval mutatja be a valsg azon kis darabjt, amitmodellezni akarunk. Mieltt rszletesebben megnznnk milyen elemekbl pl fel ER-modell, nzznk egy pldt:

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    3/46

    3

    anyagkd anyagnv

    ALAPANYAG

    M 1 fre

    mennyisg-BL

    KSZL 2 freAZ

    fehrje

    N energia sszidtelnv

    TEL sznhidrttelkd

    zsr ksztsi rszidM

    lps lpsszm

    KELLHOZZ

    eszkzkd eszkznv

    NESZKZ

    ER-modell felptst tekintve egyedtpusokbl, a kztk lv kapcsolatokbl s az egyesegyedtpusokhoz tartoz attribtumokbl pl fel. Egy bizonyos egyedtpushoz tartozkonkrt egyedeket egyedelfordulsoknak nevezzk. Tervez feladata modellalkots sorn,hogy felhasznl ltal tmasztott ignyeket figyelembe vve, az egyedtpusok kialaktsa smegfelel attribtumokkal val elltsa, valamint a kztk lv kapcsolatok pontosfeltrkpezse modell rajzolsa.Magas szint modellbl alacsony szint modellt kl. lekpezsi szablyokkal kszthetnk,

    amely szablyok ezt a folyamatot szinte automatikuss teszik, ksbb megismerkednkezekkel.

    EGYEDTPUS: vilg 1 kis darabjt szeretnnk modellezni, s az ebben elfordul adatokattrolni. Az egyedtpusok ennek az elmleti modellnek az ptkvei. Ezeknek az elemeknekmegvannak a sajt, jellemz tulajdonsgaik (attribtumok). Ezek kzl lnyeges eldntse:mire akarjuk ab-t hasznlni. Elemeket egyms mell rakjuk s kapcsolatba hozzuk ket.

    Az egyedtpusok a modellezni kvnt vilg 1-1 kzs tulajdonsgokkal jellemezhet s

    egymstl egyrtelmen elklnthet kisebb csoportjai (halmazai), melyek tartalmazzk a

    vals elfordulsokat (egyedeket). 1-1- halmazba tartozik: meghatrozott felttelnek elegettesz

    egyedtpus lehet: l, lettelen, trgyi, fogalmi jelleg; beszdes nev, lt. 1 szbl ll, egyesszm fnevek lt.SPORTOL, VERSENYSZM, SZPONZOR, HELYSZN, IDPONT

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    4/46

    4

    ATTRIBTUM: egyes egyedtpusokat jellemz tulajdonsgok (HZ: alapterlet, emeletekszma, tpusa, szne, mibl kszlt)egyszavas, beszdes nevekMeghatrozott rtkeket vehetnek fel rtelmezsi tartomnyuk mindig adott (alapter:pozitv)Adott attribtumhoz rtket vges vagy vgtelen lehetsgek kzl vlaszthatunk

    (alapter:vgtelen sokfle, emelet: max. 200, lehet ktrtk attrib is)csoportosts: egyszer: kisebb 1sgre nem oszthat (magassg)

    sszetett: tovbbi kisebb 1sgekre oszthat (lakcm) egyrtk: egyetlen rtket vehet fel (magassg)

    tbbrtk: egy egyed esetben tbb rtket vehet fel forrs: azok, melyek ahhoz szksgesek, hogy a szrmaztatott attribot kiszmoljunk

    szrmaztatott: amit forrsbl ki lehet szmtani (hotelben hny napot tlt vki)kulcs-attribtum: egyedtpus ltrehozsakor fontos meghatrozsa: egyrtelmen azonostjaaz egyedet, vagyis 1 konkrt egyedet klnbztet meg a tbbitl (szemlyi szm). Fontosennek kivlasztsa. Ha nincs olyan attrib, ami 1rtelmen azonost s tbb attrib

    kombinlsval sem ll el, akkor terveznek kell ltrehozni ilyen mezt (azonost), lehetsszetett kulcs isPl: SZPONZOR: cgnv, cgjelleg +trzsszm v. telephely cgnvhez SPORTOL: nv,szigszm, letkor, magassg, sly, rmak, egyeslet HELYSZN: vrosIDPONT: idpontVERSENYSZM: versenyszmnv, magyarcscs, vilgcscs, eurocscs, olimpiacscseredmny: SPORTOL+HELYSZN+IDPONTsszeg: SZPONZOR+SPORTOLKulcs+llapts!!!attribtum lehetne egyedtpus, csak akkor ttekinthetetlen lenne ER-modell!HELYSZN+IDPONT mirt kell? ha attrib lenne, nem lett vne olyan egyedtpus, ill.egyedtpusok kapcsolata, amelyhez az eredmny attribtumot rendelhettk vna

    GYENGE EGYEDTPUSegyedtpus spec. vltozata: nincs olyan attribja, amelyet kulcsknt hazsnlhatnnk + ltezikegy vele kapcsolatban lv egyedtpusok kzl legalbb 1, amellyel val kapcsolata rvn agyenge egyedtpus egyedeit azonostani lehet, (lehet tbb egyedtpussal val kapcsolat isazonost)gyenge egyed azonostst biztost egyedtpusokat a gyenge egyedtpus szlegyedtpusnak is nevezhetjk, a szl s gyenge egyedtpus kztt fennll kapcsolatot

    pedig azonost kapcsolatnakvan parcilis kulcsa, amely szln bell azonostja gyenge egyedet1rtelm azonosts: 1 vagy tbb szl kulcsattribja + gyenge egyed parcilis kulcsa

    PL: akvrium, amiben tbb szemly hala van, felttel: tbb hal is lehet azonos nev, hagazdja ms, de tulajok kztt nincs azonos nev: TULAJDONOS tulajnv HAL halnv

    KAPCSOLATTPUSOKAkkor mondjuk, hogy 2 vagy tbb egyed kapcsolatban van egymssal, ha ltezik egy olyan, afeladat szempontjbl fontos rendezelv, mely az egyedtpusok egyedeit egymshoz rendeli.

    Nem szksges 1 egyedtpusnak sszes tbbivel kapcsolatban lennie, elfordulhat azonban,hogy kt egyedtpus kztt tbb, kl. tpus kapcs. fedezhet felPl: SPORTOLSZPONZOR: Ki tmogatja? SPORTOLVERSENYSZM: Milyenversenyszmban versenyez? SPORTOL+HELYSZN+IDPONT kzti kapcsolat adja megegy sportl adott versenyszmban valamely idpontban s helysznen elrt eredmnyt

    Mely adatok kzt ll fenn kapcs? ezt felhasznli (adat- s feldolgozsi) ignyek szablykmeg.

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    5/46

    5

    kapcsolat azonostsa: nvvel, lt. 1 szbl (ige) llnak, kapcs. kialaktsnak alapjra utalnak(S-SZ KI_TMOGATJA, S-VSZ MIBEN, S-H-I VERSENYEZ)Fontos jellemzje: kapcsolat fokszma pozitv egsz szm, amely megadja, hogy akapcsolatban hny egyedtpus vesz rszt (KI_TMOGATJA, MIBEN =2 biner,VERSENYEZ=3 terner) 2nl magasabb fokszm kapcsolatot N-g kapcsolatnak hvjuk.

    szemlltets: n. tojsdiagranmmokkal, 1 kapcs=1 klnll diagrambrzolshoz ellipszist hasznlnak, amelyek szma a kapcs. fokszmnl eggyel tbb. Ezazrt van, mert egyedtpus s kapcsolat is ellipszissel van jellve! Egyedtpushoz tartozegyedeket teljessg ignye nlkl a megfelel ellipszisbe rjuk a kapcsolatot vonallal jelljk,amely thalad a kapcsolatot jelkpez ellipszisen. Ellipszis fl kapcsolat ill. egyedtpus nevtrjuk. PL: (emberek hzhoz val viszonya)

    HZ LAKIK EMBER

    h1 l1 e1h2 l2 e2h3 l3 e3 l4 e4

    l5 e5l6 e6

    biner kapcs., EGYEDTPUS: hz, lakik, KAPCSOLAT: lakik, h1,h2,h3 Hz egyedtpusegyedeit jellikegyedtpusokat sszekt kapcsolatokat klnbz szempontok alapjn lehet csoportostani:

    egyed kapcsolatban vel rszvtele alapjn:o teljes: egy kapcsban lv egyedtpus minden egyede valban rszt vesz a

    kapcsolatban, azaz minden egyed kapcsolatban van legalbb egy msikegyeddelo rszleges: vmely egyedtpus elfordulsa nem ltest kapcsolatot egyetlen

    msik egyeddel sem (minden gazdinak van kutyja (teljes), de nem mindenkutynak van gazdija (rszleges))

    egy adott egyedtpushoz tartoz egyed alapjn (azaz egy egyed hny msikegyedtpushoz tartoz egyeddel van kapcsolatban):

    o 1:1 kapcsolat: ha a kapcsolatban rsztvev egyedek legfeljebb 1 msikegyedtpusbeli egyeddel ltestenek kapcsolatot (versenyz, kap rajtszm)

    o 1:N kapcs: az egyik oldal egyedei legfeljebb egy msik oldalbeli egyeddelltestenek kapcsolatot, mg a msik oldal elfordulsai kztt biztosan van

    legalbb 1 olyan egyed, amely tbb elz oldalbeli egyeddel van kapcsolatban(fest, alkotta, m tojsdiagrammal is)

    o M:N: mindkt oldal tartalmaz legalbb 1 olyan egyedet, amely tbb msikoldalbeli elfordulssal van kapcsolatban (zenekar, jtszik, zensz)

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    6/46

    6

    Logikai (implemetcis) adatmodellek:1. Hierarchikus adatmodell: azrt hoztk ltre, hogy knnyebben s szemlletesebbentudjk bemutatni a valsgban elfordul kl. rendszerek szerkezeti felptst. Kzvetlen stermszetes mdon brzolja a hierarchikus szerkezetek egymssal al s fl rendezettsgiviszonyban lv elemeit.

    Adatokat faszerkezetben trolja, a klnbz szinteken lv csompontok kztt szl-gyerek kapcsolat van, adatfeldolgozsi mveletek=fa-struktrk bejrsa, az adatstruktraelemei (rekordok) mutatkon keresztl vannak fizikai kapcsolatbanA hierarchikus modell hasznlathoz nlklzhetetlen a rekord, valamint a szl-gyerek(Parent-Child Relationship) fogalmnak ismerete.Rekord:egy egyedhez tartoz mezk rtkeinek sszessgt tartalmazza. Az azonos tpusrekordok csoportjt rekordtpusnak nevezzk, ennek azonost nevet kell adni. A rekordokszerkezett a benne lv mezk adjk meg.PCR:kt rekord kztt fennll 1:N kapcsolat. Az 1-oldal a szl rekordtpus, az N-oldal

    pedig a gyerek rekordtpus, ezeknek nincs nevk.Hierarchikus modell brzolsa: Bachmann-diagrammal vagy faszerkezettel

    Bachmann-diagramm: rekordtpusok=tglalap, aminek a fels rsze a rekordtpus neve, alsrszben pedig a meznevek vannak, PCR kapcsolat nyllal jellve:

    ISKOLA

    nv, cm, igazgat

    TANR TANTRGY

    nv, szsz, szl, cm nv, tanterem

    Faszerkezet: ISKOLA

    nv, cm, igazgat

    TANR TANTRGYnv, szsz, szl, cm nv, tanterem

    A hierarchikus modell lnyegben egy faszerkezet, csak itt rekordtpusrl s PCR tpusrlbeszlnk, csompontokrl s gak helyett. Klnbsg: gak nem kapcsoldnak ssze.Elfordulsi diagramm: Minden hierarchia-diagramm n. hierarchikus elfordulsbl ll,amelyet elfordulsi fval brzolnak. Minden csompont megfeleltethet egy rekordelfordulsnak, s minden g egy PCR kapcsolatot jelkpez.Az elfordulsi fa ll: egy gykrbl, annak gyerekeibl, valamint a gyerekek gyerekeibl.(Trolsi struktra: rekordok lineris elrendezse a fa preorder bejrsa szerint.)Hierarchikus modell tulajdonsgai:Kizrlag 1:1 s 1:N kapcsolat megvalstst engedlyezi ez a modell. Tovbb: a gykrnem vehet rszt gyerekknt PCR tpusban, minden rekordtpus kivve gykr gyerekknt

    pontosan 1 PCR tpusban vehet rszt, brmely rekordtpus szlknt tetszleges szmtpusban vehet rszt, ha 1 rekordtpus szlknt tbb PCR tpusban vesz rszt, akkor agyerekei balrl jobbra rendezettek.

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    7/46

    7

    M:N kapcsolat nehezen kivitelezhet, lehetsges megolds: gyerek rekordok ismtldelfordulsa:TANTRGY MATEK MAGYAR

    KI TANTJA Fekete Kovcsn Kovcsn Torma

    Virtulis szl-gyerek kapcsolat (VPCR):Bevezetsnek okai: M:N kapcsolat; 1 rekordtpus tbb, mint 1 PCR tpusban szerepelgyerekknt; N-g kapcsolatok.Alapgondolat: tbb hierarchia szint ltrehozsa, a kapcsolatot mutatkkal valstjk meg azadatbzisban.A virtulis (vagy mutat) rekordtpus tartalmaz 1 mutatt, ami 1 msik szinten lv rekordramutat. A mutatt tartalmaz rekordtpust virtulis gyereknek, amire mutat, azt pedig virtulisszlnek nevezzk. A kapcsolatot virtulis PCR-nek hvjuk.

    1. hierarchia szint 2. hierarchia szint

    TANTRGY TANR

    TANRMUTAT

    ajnlott knyv

    Minden VPCR 1:N kapcsolatnak felel meg: tetszleges szm virtulis gyerek mutathat avirtulis szl 1 rekordelfordulsra. (1 tanr tbb tantrgyat tanthat)hierarchikus adatbzis-kezels integritsi szablyai:

    gykr kivtelvel egyetlen rekordelforduls sem ltezhet hozz tartoz gyerek

    nlkl: gyerekrekordot csak szlhz kapcsolva szr6unk be; gyerekrekordot szltlfggetlenl trlhetnk, szlt viszont csak leszrmazottal (kaszkdolt trls); virtulis szls gyerek rekordra ezek nem vonatoznak: szlt csak akkor trlhetnk, ha nem mutat rgyerek

    ha 1 gyerek rekordnak 2 vagy tbb ugyanolyan tpus szl rekordja van, akkorgyerekrekordot meg kell kettzni, h. minden szlhz kln tartozzon

    ha 1 gyerek rekordnak 2 vagy tbb ugyanolyan tpus szl rekordja van, akkor ezekkzl legfeljebb 1 lehet igazi szl, a tbbi virtulis szlknt szerepelhet

    2. Hls adatmodell:Rekord: egymssal szoros kapcsolatban lv adatok. Bizonyos szempont szerint

    sszerakhat rekordok 1 rekordtpusba tartoznak. Minden rekordtpusnak van neve, sadatelemeit nevkkel s tpusukkal azonostjuk:

    HZILLAT rekordtpus

    NV neve

    Vezetknv Keresztnv Nem radatelemek

    csoport elemeiAz sszetett attribtumoknak a hls modellben a csoport felel meg. Ez a modell tbbrtk

    attribtumot is megenged.

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    8/46

    8

    HALMAZTPUS: A modellben kt rekordtpus kztt fennll kapcsolatot halmaztpus rjale. Bachmann-diagrammon a SET tpust nyllal jelljk, hrom eleme van: a set tpusazonostja, egy tulajdonos rekordtpus, egy tag rekordtpus:

    TANTRGY tulajdonos (owner)tantrgynv

    szaktanr SET

    TANRnv tantrgynv tag (member)

    A tulajdonosokbl s tagokbl ll halmazoknak annyi elfordulsa van, amennyi atulajdonosok szma.Az adatbzisban a SET rekordjait mutatkkal kapcsoljk ssze fizikailag is krbe kapcsoltlistv. Ez a mutatkon alapul fizikai szerkezet lehetv teszi, hogy a tulajbl kiindulvamegkeressk brmely tagrekordot, adott tagrekordbl kiindulva az elzt vagy a kvetkezt,

    kzvetlenl a tagrekordot.A hls modell minden halmazban van egy megklnbztetett elem, ami a tulajdonosrekord,rendezett rekordok vannak, a rekordok rendezettsge adott mezn alapul, vagy a rendszer

    bels gye a rendezsi szempont

    SYSTEMtrgyak SET

    TANTRGY

    A hls modell halmazainak specilis tpusa:rendszertulajdonos halmaz: a tulaj ismeretlenrekurzv halmaz: a tulajdonosrekord s a tagrekord ugyanabbl a rekordtpusbl szrmazik

    3. relcis adatmodell: npszer, mert tblzatok (relcik) rendszerbl ll. Atblzatosan trolt adatokbl n. relcis mveletek segtsgvel kereshetjk vissza a kvntadatokat (lekrdezs).Alapfogalmak: rekord: tblzat 1-1 sora, az els sor kitntetett (fejlc), amely az oszlopoknevt tartalmazza.Az oszlopnevek az egyedtulajdonsgokra utal azonostk. Ms nven attribtumoknak vagymezknek nevezzk. Az oszlopokban lv adatok az egyedek tulajdonsgait hordozzk.

    Az oszlopok szmt a tblzat fokszmnak nevezik, a sorok szmt pedig kardinalitsnak. Atblzatnak olyan nevet kell adni, ami megklnbzteti a tbbi tblzattl.LLAT a tblzat neve

    Nv lakcm hobbi ftelkutya kutyal macskakergets csontmacska lbtrl futs egr

    attribtumokrekordokA relcis adatmodell egyik fontos fogalma a kulcs, pontosabban az elsdleges kulcs s azidegen kulcs. Az elsdleges kulcs a tblzat sorainak egyrtelm azonostsra val. lt.relci vmely attribtuma. Elfordul6, h. kt vagy tbb oszlop kombincijra van szksg az

    egyrtelm azonostshoz. Ez az sszetett elsdleges kulcs. Ha tbb oszlop is szba jhet,akkor szabadon kivlaszthatjuk, hogy melyik legyen elsdleges kulcs. A tbbi lehetsgeskombincit alternl kulcsnak nevezzk.

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    9/46

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    10/46

    10

    Normalizls:Adatbzis-tervezs: felmrjk, milyen adatokra van szksgnk (kosz), majd ezen adatokblmeghatrozott lpsekkel jl ttekinthet csoportokat ksztnk (pl: relcis modell).Erre 1 mdszer a normalizls, amikor az eredmnyt ltalban 3 (max. 4) lpsben kapjuk. Anormalizls lnyegben tblzatsztbont relcis mveletek sorozata.

    Haszna: adatok trolsi ignye cskken (redundancia cskken) logikailag ttekinthetbb lesz az adatbzis megsznnek a trlsi, beszrsi, mdostsi anomlik

    Fggsg: brmely relciban az egyes attribtumok rtkei fggenek ms attribtum(ok)rtkeitl. Pl: elsdleges kulcstl (K) fgg a tbbi mez (A,B,C) rtke, azaz ebben arelciban A,B s Cfunkcionlisan fggK-tl:(K)(A,B,C) vagy R.KR.A,R.B,R.CEgy tblzat (relci) adatai els norml formban (1NF) vannak, ha teljeslnek r, hogy:

    minden sor klnbzik az attribtumok sorrendje minden sorban ugyanaz

    nincsenek ismtld mezk minden oszlop egy s csak egy attribtumot jelent minden sorhoz tartozik legalbb 1 egyedi kulcs, amelytl az sszes tbbi attrib.

    funkcionlisan fggMinden adatbzis-kezel rendszer elrja az 1NF kritriumot. A normalizls els lpse 1NFtblzat(ok) ltrehozsa. PL:OSZT OSZTNEV VNEV KNEV TKOD TEMA MUNKA SZEV FONOK

    p01 pnzgy Zp Bla b1, o2 br, oktats 40 1939 91526p01 pnzgy Tojs Tbis u2 utazs 100 1937 91526p01 pnzgy Mohcsi Anna b1, e1 br, ellenrzs 30 1978 91526p01 pnzgy Basa Tas t2 tervezs 100 1937 91526

    u01 rgy Lg dn be beszerzs 100 1966 99998b01 bonyolt Kavics Virg t2 tervezs 100 1971 69690b01 bonyolt Szerb Kata e1 ellenrzs 100 1966 69690b01 bonyolt Vigcz Jen u2, be utazs,

    beszerzs20 1970 69690

    b01 bonyolt Vigcz Jen u2, be utazs,beszerzs

    20 1970 69690

    Ez nincs norml formban, mert: vannak tbb attribtum mezk (b1, e1); vannak azonossorok; nincs egyedi kulcs.ALKALMAZOTTAK els norml formban:OSZT OSZTNEV SZIGSZAM VNEV KNEV TKOD TEMA MUNKA SZEV FONOK

    p01 pnzgy 11111 Zp Bla b1 br 40 1939 91526p01 pnzgy 11111 Zp Bla o2 oktats 60 1939 91526p01 pnzgy 11211 Tojs Tbis u2 utazs 100 1937 91526p01 pnzgy 12110 Mohcsi Anna b1 br 30 1978 91526p01 pnzgy 12110 Mohcsi Anna e1 ellenrzs 70 1978 91526p01 pnzgy 91526 Basa Tas t2 tervezs 100 1937 91526u01 rgy 99998 Lg dn be beszerzs 100 1966 99998

    b01 bonyolt 01526 Kavics Virg t2 tervezs 100 1971 69690b01 bonyolt 69690 Szerb Kata e1 ellenrzs 100 1966 69690b01 bonyolt 01492 Vigcz Jen u2 utazs 20 1970 69690b01 bonyolt 01492 Vigcz Jen be beszerzs 80 1970 69690

    Elsdleges kulcs:SZIGSZAM+TKOD

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    11/46

    11

    Az elbbi tblzat sok redundancit tartalmaz, ami mdostsi, trlsi ill. bvtsianomlihoz vezet.A msodik normalizlsi lpshez vizsgljuk meg, hogy melyek azok az attribtumok,amelyek az egyes sszetevktl egyrtelmen fggenek s melyek azok, amelyeket azsszetett kulcs hatroz meg. Ezutn hozzunk ltre olyan tblzatokat, amelyekben az sszes

    nem kulcs attribtum teljesen fgg az elsdleges kulcstl. A teljesen azt jelenti, hogy azsszetevk szma nem cskkenthet, vagyis a kulcs minimlis (ha kulcs egyszer, akkorteljes fggs=funkcionlis fggs):

    TMATKD

    OSZT OSZTNVsszetett elsdleges kulcs

    VNVSZIGSZAM FNK

    KNV

    M SZV

    Teht ALKALMAZOTTAK 1NF-relcit 3 kapcsold relcira (tblzatra) bonthatjuk:ALKALMAZOTT(OSZT,OSZTNEV,SZIGSZAM,VNEV,KNEV,SZEV,FONOK)MITCSINAL(SZIGSZAM,TKOD,M)TEMAK(TKOD,TEMA)ahol az alhzott attribtumok az elsdleges kulcsokat jellik, amelyektl a relci tbbiattribtuma teljesen fgg. A MITCSINAL relciban a SZIGSZAM s a TKOD idegenkulcsok (foreign key), a SZIGSZAM az ALKALMAZOTT relcira, a TKOD pedig aTEMAK relcira hivatkozik.ALKALMAZOTT(OSZT,OSZTNEV,SZIGSZAM,VNEV,KNEV,SZEV,FONOK)OSZT OSZTNEV SZIGSZAM VNEV KNEV SZEV FONOK

    p01 pnzgy 11111 Zp Bla 1939 91526p01 pnzgy 11111 Zp Bla 1939 91526p01 pnzgy 11211 Tojs Tbis 1937 91526p01 pnzgy 12110 Mohcsi Anna 1978 91526

    p01 pnzgy 12110 Mohcsi Anna 1978 91526p01 pnzgy 91526 Basa Tas 1937 91526u01 rgy 99998 Lg dn 1966 99998

    b01 bonyolt 01526 Kavics Virg 1971 69690b01 bonyolt 69690 Szerb Kata 1966 69690b01 bonyolt 01492 Vigcz Jen 1970 69690

    b01 bonyolt 01492 Vigcz Jen 1970 69690TEMAK(TKOD,TEMA)TKOD TEMA

    b1 bro2 oktatsu2 utazs

    b1 bre1 ellenrzst2 tervezs

    be beszerzst2 tervezse1 ellenrzsu2 utazs

    be beszerzs

    Elsdleges kulcs:SZIGSZAM

    Elsdleges kulcs:TKOD

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    12/46

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    13/46

    13

    TEMAK(TKOD,TEMA)3NFTKOD TEMA

    b1 bro2 oktatsu2 utazs

    e1 ellenrzst2 tervezsbe beszerzs

    MITCSINAL(SZIGSZAM,TKOD,MUNKA)3NFSZIGSZAM TKOD MUNKA11111 b1 4011111 o2 6011211 u2 10012110 b1 3012110 e1 70

    91526 t2 10099998 be 10001526 t2 10069690 e1 10001492 u2 2001492 be 80

    OSZTALYOK(OSZT,OSZTNEV,FONOK)3NFOSZT OSZTNEV FONOK

    p01 pnzgy 91526u01 rgy 99998

    b01 bonyolt 69690

    Ez a 4 relci harmadik norml formban van, mert: 2NF-ban van elsdleges kulcshoz tartoz attribtumok csak az elsdleges kulcstl fggenek, azaz:

    funkcionlis fggs csak az elsdleges (vagy alternatv) kulcsbl indul ki.

    NORMALIZLS formlis megfogalmazsa:1NF2NF eljrs:HaR(A,B,C,D); elsdleges kulcs (A,B); R.AR.D, akkorR1(A,D) elsdleges kulcs (A) sR2(A,B,C) elsdleges kulcs(A,B), idegen kulcs (A), hivatkozik R1-re

    2NF3NF eljrs:Ha R(A,B,C,D) elsdleges kulcs (A), R.BR.C, akkor R1(B,C) elsdleges kulcs (B) sR2(A,B,D) elsdleges kulcs (A) idegen kulcs (B), hivatkozik R1-re.

    Elsdleges kulcs: TKOD

    Alternatv kulcs: TMA

    Elsdleges kulcsok:SZIGSZAM+TKOD

    Idegen kulcsok:

    SZIGSZAM, hivatkozik ALKALMAZ-raTKOD, hivatkozik TEMAK-ra

    Elsdleges kulcs: SZIGSZAMIdegen kulcs:

    FONOK hivatkozik ALKALMAZ-ra

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    14/46

    14

    A tblzatok kapcsolatai:ALKALMAZOTT

    OSZT SZIGSZAM VNEV KNEV SZEV

    p01

    11111 Zp Bla 1939

    p01 11111 Zp Bla 1939p01 11211 Tojs Tbis 1937p01 12110 Mohcsi Anna 1978

    p01 12110 Mohcsi Anna 1978p01 91526 Basa Tas 1937u01 99998 Lg dn 1966

    b01 01526 Kavics Virg 1971 OSZTALYOKb01 69690 Szerb Kata 1966 OSZT OSZTNEV FONOKb01 01492 Vigcz Jen 1970 p01 pnzgy 91526b01 01492 Vigcz Jen 1970 u01 rgy 99998

    b01 bonyolt 69690

    MITCSINALSZIGSZAM TKOD MUNKA11111 b1 4011111 o2 6011211 u2 100 TEMAK12110 b1 30 TKOD TEMA12110 e1 70 b1 br

    91526 t2 100 o2 oktats99998 be 100 u2 utazs01526 t2 100 e1 ellenrzs69690 e1 100 t2 tervezs01492 u2 20 be beszerzs01492 be 80

    EGYEDEK KAPCSOLATA Megvalsts(ltalban)tpus plda

    1:1 FONOK:OSZTALY 1 kzs tblzat(OSZTALYOK)

    1:N OSZTALY:ALKALMAZOTT 1 idegen kulcs (OSZT)

    M:N ALKALMAZOTT:TMA1 kapcsol tblzat 2 idegenkulccsal (MITCSINAL)

    N

    1

    M 1

    M

    N

    M 1

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    15/46

    15

    Norml formk sszefoglalva:

    NF 1. felttel 2. felttel 3. felttel

    1NF

    ne legyen kt egy-forma oszlop

    ne legyen kt egy-forma sor ne legyen tbbrtk attribtum rgztett legyen az oszlopszm s azok

    sorrendje egyedi kulcs meg-hatrozsa

    Lehetnekolyan attribtumok,

    amelyek a kulcs sszetevitlfggnek teljesen s lehetnek

    olyanok, amelyek az sszetettkulcstl fggenek teljesen.

    Lehetnekolyan attribtumok,

    amelyek nemcsak azelsdleges vagy alternatv

    kulcstl fggenek (a tranzitvfggs engedlyezett).

    2NF 1NF

    Az sszes nem kulcs (nemelsdleges s nem alternatv)

    attribtum funkcionlisan teljesenfggjn az elsdleges kulcstl!

    (Az sszetett kulcstl s azsszetevktl funkcionlisan

    teljesen fgg attribtumokkal sa megfelel kulccsal j relcit

    hozunk ltre.)

    Lehetnekolyan attribtumok,amik nemcsak az elsdleges

    vagy alternatv kulcstlfggnek (a kzvetett

    tranzitv fggsengedlyezett).

    3NF 1NF 2NF

    A nem kulcs attribtumok(nem elsdleges s nem

    alternatv) csak az elsdlegeskulcstl fggjenek, azaz

    tranzitv fggs ne legyen!(A tranzitv fggsben lvattribtumokkal j relcit

    hozunk ltre.)

    Alapkvetelmny:Minden relcis adatbzis-kezel rendszer (DBMS) megkveteli, hogy az adatok legalbb1NF normalizlsi szinten legyenek.

    A trolsi redundancia s ezzel a trlsi, beszrsi, mdostsi anomlik cskkentserdekben magasabb fok (2NF, 3NF) elrse kvnatos.NORMALIZLS: elmletileg is megalapozott dekompozcis eljrs, amely a funkcionlisfggsek figyelembe vtelvel 2NF 3NF (4NF) norml formj, egymssal kapcsolatban lvrelcikra bontja az 1NF relcikat.

    Ha a 3NF kevs, akkor 4NF-t kell kialaktani, pl:TANR-OKTAT-KNYV (TOK)

    TANTRGY OKTAT KNYVSzmtstechnika Kovcs Mikls

    Tth Pter

    Mit kell tudni a PC-rl?

    WORD feladatok kezdknekFizika Molnr Lajos Fizika alapok

    Elektron a rengetegbenAtomfizika a javbl

    Algebra Tmr VinceKovcs MiklsPintr Bertalan

    Matematikrl diszkrtenLineris algebraMire j a matematika

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    16/46

    16

    TOK 1NF-ban:TANTRGY OKTAT KNYV

    Szmtstechnika Kovcs Mikls Mit kell tudni a PC-rl?Szmtstechnika Kovcs Mikls WORD feladatok kezdknekSzmtstechnika Tth Pter Mit kell tudni a PC-rl?Szmtstechnika Tth Pter WORD feladatok kezdknekFizika Molnr Lajos Fizika alapokFizika Molnr Lajos Elektron a rengetegbenFizika Molnr Lajos Atomfizika a javblAlgebra Tmr Vince Matematikrl diszkrtenAlgebra Tmr Vince Lineris algebraAlgebra Tmr Vince Mire j a matematikaAlgebra Kovcs Mikls Matematikrl diszkrtenAlgebra Kovcs Mikls Lineris algebraAlgebra Kovcs Mikls Mire j a matematika

    Algebra Pintr Bertalan Matematikrl diszkrtenAlgebra Pintr Bertalan Lineris algebraAlgebra Pintr Bertalan Mire j a matematika

    Elsdleges kulcs: TANTRGY+OKTAT+KNYVTOK(TANTARGY,OKTATO,KONYV) relci csak elsdleges kulcsbl ll, teht 3NF-banis van viszont:TANTARGY OKTATO s TANTARGY KONYVtbbrtk funkcionlis fggsben van!Megolds: sztbonts a tbbrtk fggsek szerint:

    TO(TANTARGY,OKTATO)TANTRGY OKTAT

    Szmtstechnika Kovcs MiklsSzmtstechnika Tth PterFizika Molnr LajosAlgebra Tmr VinceAlgebra Kovcs MiklsAlgebra Pintr Bertalan

    TK(TANTARGY,KONYV)TANTRGY KNYV

    Szmtstechnika Mit kell tudni a PC-rl?Szmtstechnika WORD feladatok kezdknekFizika Fizika alapokFizika Elektron a rengetegbenFizika Atomfizika a javblAlgebra Mire j a matematikaAlgebra Matematikrl diszkrtenAlgebra Lineris algebraAlgebra Mire j a matematikaEgy relci 4NF, ha 3NF s legfeljebb 1 tbbrtk fggs van benneFormalizmussal: R akkor s csak akkor 4NF, ha 3NF s ha van benne tbbrtk funkcionlisfggs, pl: R.A R.B, akkor az sszes tbbi attribtum funkcionlisan fgg A-tl, azazR.AR.C, R.AR.D, (Autsboltos napi adatais feladat!!!)

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    17/46

    17

    Relcis mveletek:Ahhoz, hogy a normalizcival sztszedett, sok tblbl ll relcis adatbzisunkban keresnitudjunk (vagyis adatbzist lekrdezni), szksgnk van megfelel mveletekre. Ezeketnevezzk relcis mveleteknek. Kt fajtja van: relcis kalkulus s relcis algebra. Arelcis kalkulus csak a mvelet deklarlst vrja el (mit akarunk), a relcis algebrban a

    hogyan-t is ismernnk kell, vagyis a mveletek sorrendje a fontos. Az itt bemutatott relcismveletek a relcis algebrhoz llnak kzel: Rename (tnevezs): a relcis algebra legegyszerbb mvelete. Formja:RENAME(oszlop1,oszlo2)vgrehajts utn az oszlop1nev oszlop neve az oszlop2lesz Restrict (korltozs): relcink azon sort kapjuk eredmnyknt, amelyek megfelelneka megadott felttelnek, Pl:OSZTALYOKOSZT OSZTNEV FONOK

    p01 pnzgy 91526u01 rgy 99998

    b01 bonyolt 69690

    osztfonok=RESTRICT osztalyok WHERE fonok=99998 (egsz sort ad vissza)Eredmny:OSZTFONOKOSZT OSZTNEV FONOKu01 rgy 99998

    TULAJDONSGOK: fokszm: vltozatlan; kardinalits: a feltteltl fgg; elsdleges kulcs:vltozatlan. PROJECT (vetlet): Tegyk fel, hogy a TEMAK relcibl csak a tma nevre vanszksgnk, kdjra nem. Ekkor j tblzatot kell ltrehoznunk, amibl kihagyjuk TKOD-ot,vagyis az eredeti tbla azon vetlett vesszk, mely csak a tmk nevt tartalmazza:

    CsakTemaNev=Temak PROJECT (temanev)Eredmny:CSAKTEMANEVTEMA

    broktatsutazsellenrzstervezs

    beszerzs

    TIMES (keresztszorzat): kt relcihoz kapcsold mveletPl: egy osztlyba fik s lnyok jrnak, tegyk fel, hogy nincs azonos nev gyerek, gy

    elsdleges kulcsnak megfelel a nv. Az osztlyban jtkot szerveznek, amelyhez fi-lnyprok kellenek, s brki lehet brkinek a prja:

    FI LNYFNEV FHAJSZIN LNEV LHAJSZINLaci szke Kati szke

    Sanyi barna Anita vrsBalzs barna Klri szke

    Prok=Fi TIMES Lny

    Krds: Melyik osztlynak fnke a 99998?

    A tblzatbl a zrjelben megadott oszlopok maradnak meg. Figyelnnkkell arra, hogy keletkeznek-e azonos sorok, ha igen, trlni kell. Elsdlegeskulcsot vltoztatni kell, ha nincs benn eredmnyben, teht:TULAJDONSGOK: fokszm: megmarad oszlopok szma; kardinalits:vltozhat (azonos sorok trlse); elsdleges kulcs: lt. jra meg kellvltoztatni

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    18/46

    18

    Eredmny:PROKFNEV FHAJSZIN LNEV LHAJSZINLaci szke Kati szkeLaci szke Anita vrs

    Laci szke Klri szkeSanyi barna Kati szkeSanyi barna Anita vrsSanyi barna Klri szkeBalzs barna Kati szkeBalzs barna Anita vrsBalzs barna Klri szke

    UNIO (uni): mivel az eredmny a kiindul relcik sorainak sszessgt tartalmazza,ezrt csak akkor hajthat vgre, ha kiindul relcik oszlopai ugyanazok; ha azonos

    oszlopszm, tnevezssel lehet manipullni. Elz plda: FNEV+LNEV helyett NEV,FHAJSZIN+LHAJSZIN helyett HAJSZINVegyes=Fi UNION LnyEredmny:VEGYES

    NEV HAJSZINLaci szke

    Sanyi barnaBalzs barnaKati szke

    Anita vrsKlri szke

    INTERSECTION (metszet): csak akkor hajthat vgre, ha teljeslnek r az uninlmr felsorolt felttelek. Itt az j relciban azok a sorok szerepelnek, melyek mindktrelciban megtallhatk, teht azonosak.Pl: tanrnk tudni szeretnk, hogy kt prhuzamos osztlyban kik azok, akiknek egy naponvan nv- s szlinapjuk:6.a. 6.b.

    NEV SZDATUM NEV SZDATUM

    Gbor 1975.07.18 Edit 1975.03.05Anett 1974.12.31 Attila 1974.11.07Edit 1975.03.05 Eszter 1975.08.12Pter 1975.01.21 Gbor 1975.07.18

    Egynapon=6.a. INTERSECTION 6.b.Eredmny:EGYNAPON

    NEV SZDATUMGbor 1975.07.18

    Edit 1975.03.05

    Az els relci minden sorhoz hozzrtuka msodik relci minden sort.TULAJDONSGOK: fokszm: kiindulrelcik fokszmnak sszege;kardinalits: kiindul relcikkardinalitsnak szorzata; elsdleges kulcs:kt eredeti elsdleges kulcs kombincija.Ha azonos a kt kulcsoszlop neve, akkorRENAME-t kell hasznlni!

    TULAJDONSGOK: fokszm: vltozatlan;kardinalits: vltozhat (ha vannak azonos sorokrelciban, azokbl csak egyet tartunk meg), a ktrelci sorainak sszegekzs sorok; elsdleges kulcs:eredeti relcik elsdleges kulcsa

    TULAJDONSGOK: fokszm: vltozatlan;kardinalits: kt relci azonos sorainak szma;

    elsdle es kulcs: eredeti relcik elsdle es kulcsa

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    19/46

    19

    JOIN (egyests): legfontosabb, s leggyakrabban hasznlt kt relcit hasznlmvelet. Azon lekrdezsekhez nlklzhetetlen, ahol egynl tbb tblzatbl kell adatokatsszegyjteni. sszerakjuk segtsgvel azt, amit a normalizlssal sztszedtnk. Eredmnyeolyan relci, ahol az egyik relci soraihoz hozzrjuk a msik relci minden olyan sort,amelyben a megadott kzs mez(k) Join mez(k) rtke azonos. Pl:

    ALKALMAZ OSZTALYOKSZIGSZAM VNEV KNEV SZEV OSZT OSZT OSZTNEV FONOK11111 Zp Bla 1939 p01 p01 pnzgy 9152699998 Lg dn 1966 u01 u01 rgy 9999801526 Kavics Virg 1971 b01 b01 bonyolt 69690

    Hol_Alkalmaz=alkalmaz JOIN osztalyok(oszt)Eredmny:Hol_AlkalmazSZIGSZAM VNEV KNEV SZEV OSZT OSZTNEV FONOK11111 Zp Bla 1939 p01 pnzgy 91526

    99998 Lg dn 1966 u01 rgy 9999801526 Kavics Virg 1971 b01 bonyolt 69690

    TULAJDONSGOK: fokszm: kt kiindul relci oszlopszmnak sszege, mnusz a kzsoszlopok szma (kzs oszlop 1szer szerepel); kardinalits: konkrt rtkektl fgg;elsdleges kulcs: attl fgg, hogy kapcsolmez(k) vmelyik kiindul relciban rszei-e azelsdleges kulcsnak. Ha igen: msik relci elsdleges kulcsa lesz az j elsdleges kulcs(mint itt), klnben a kt relci elsdleges kulcsainak kombincija.Elemi mveletknt hasznljuk, de sszetett mvelet, felptse: TIMES, majd kivlogatjukazonos mezket RESTRICT-el, majd elhagyjuk a felesleges kapcsolmezt (PROJECT).

    Ujrelacio1=Alkalmaz TIMES Osztalyok Ujrelacio2=RESTRICT Ujrelacio1 WHERE (Alkalmaz.oszt=Osztalyok.oszt) Hol_Alkalmaz=Ujrelacio2 PROJECT

    (Szigszam,Vnev,Knev,Szev,Alkalmaz.oszt,Osztnev,Fonok)

    Lekpezsek (ER-modellbl relcis modell)Az adatbziskezel-rendszerek nem kpesek koncepcionlis smval dolgozni (ER-modell),hanem implementcis (logikai) smra van szksgnk. Tbbflekppen juthatunk el azimplementcis modellig: az egyik mdszer a normalizls, a msik lehetsg pedig, ha ER-modellbl kiindulva ksztnk relcis modellt, n. lekpezsi szablyokat alkalmazvaegyedtpusokra, kapcsolattpusokra s attribtumokra. Ezen szablyok ismeretben alekpezs automatikuss vlik, gy ez a folyamat algoritmizlhat (CASE TOOL eszkzk).

    Lekpezsi szablyok: Minden egyedtpusnak (kivve gyenge egyed) relcit feleltetnk meg, amelyek mezi azegyes egyedek attribtumai lesznek. A kulcsattribtumok alkotjk az elsdleges kulcsokat(primary key). Az sszetett attribtumokat komponenseikre kell felbontani.

    nv telepls

    utca

    id cm sztndj

    HALLGAT id, nv, telepls, utca, sztndj

    HALLGAT

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    20/46

    20

    Gyengeegyedtpusnak olyan relcit feleltetnk meg, amelynek elsdleges kulcsa azazonost (szl) egyedbl kpzett relci elsdleges kulcsbl s a gyenge egyed parciliskulcsbl (ha van) ll. Az azonost relci elsdleges kulcsbl kapott kulcssszetevegyben idegen kulcs is, amivel hivatkozunk a szl relcira. A gyenge egyedazonostsban tbb egyed is rszt vehet, ekkor az sszetett kulcs kpzsben mindegyik

    elsdleges kulcs rszt vesz.

    Tbbrtk attribtum esetn az eredeti relciban megszntetjk a tbbrtkattribtumot, j relcit hozunk ltre, amelynek sszetett elsdleges kulcsa a tbbrtkmezbl s az eredeti relci elsdleges kulcsbl ll. Ha az eredeti egyedtpus attribtumasszetett volt, akkor minden komponensbl mez lesz az j relciban s kzlk vlasztjukki az sszetett kulcs msik komponenst.

    id nv szletsi keresztnvid szletsi id

    CSALDF CSALDF GYEREK

    id, nv, szletsi id id, keresztnv, szletsi v

    1 N

    cm szerz

    kiadKNYV cm, {szerz}, kiad

    cm, kiad cm, szerz

    CSALDF GYEREK

    KNYV

    KNYV SZERZ

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    21/46

    21

    1:1 kapcsolattpus lekpezse: a kapcsolattpuson bell tbb esetet klnbztethetnkmeg, amelyek lekpezse eltr. Hrom eset lehetsges: ha az egyik egyed totlisan, a msikrszlegesen vesz rszt a kapcsolatban; ha mindkt egyed totlisan, illetve ha mindkt egyed

    parcilisan vesz rszt a kapcsolatban.

    mindkt oldal totlis rszvtele:

    Feladat: egy vllalatnl a hzassgban l dolgozk szemlyi adatainak nyilvntartsa.FRFI s N egyedek 1:1 kapcsolatt kell brzolni. A TRSA kapcsolatban minden n sfrfi rszt vesz.

    Teht az 1:1 kapcsolattpus s mindkt oldal totlis rszvtele esetn clszer azegyedtpusokbl kapott relcikat egyetlen relciv alaktani, az sszes attribtumfelhasznlsval. Ha a kulcs klnbz, akkor valamelyik relci elsdleges kulcsa lesz azsszevont relci elsdleges kulcsa. (Ha vmelyik egyed ms kapcsolatban is rszt vesz,akkor rdemes meghagyni a kt relcit gy, hogy valamelyiket kiegsztjk a msik

    elsdleges kulcsval, mint idegen kulccsal.) = egyetlen relci egyik egyed totlis, msik parcilis rszvtele

    Az elz feladat mdostva: Egy kzssgen belli csaldi adatokat kell nyilvntartani. ACSALDF s a HZASTRS egyedtpusok 1:1 kapcsolatban vannak egymssal, aCSALDF parcilis s a HZASTRS totlis rszvtelvel a TRSA kapcsolatban. Azaz:minden hzastrshoz tartozik egy csaldf, de van olyan csaldf, akinek nincs frje vagyfelesge.

    azon nv azon elz nvj nv

    HZAS FRFI TRSA HZAS N

    azon, nv, felesg j neve, elz nv

    1 1

    HZAS FRFI S N

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    22/46

    22

    Lekpezsi szably: 1:1 kapcsolattpus s az egyik oldal parcilis rszvtele esetn clszer atotlis rszvtel oldal egyedtpusnak megfelel relci attribtumait kiegszteni a parcilisoldalon lv relci elsdleges kulcsval, mint idegen kulccsal = totlisban idegen kulcs.

    mindkt oldal parcilis rszvtele

    A feladat hasonl az eddigiekhez, csak most egyetemi hallgatk (fik s lnyok) egymskztti hzassgi adatainak nyilvntartst oldjuk meg, a hzassgra nem lpk szemlyiadatait is nyilvntartva. A fik s lnyok kztt tbben lesznek, akik egyetemi veik alatt nemhzasodnak, vagy nem egyms kztt akarnak hzasodni.

    Lekpezsi szably: 1:1 kapcsolattpus s mindkt oldal parcilis rszvtele esetn clszer akapcsolattpusbl j relcit ltrehozni. Az j relci kulcsa vmelyik rsztvev egyedrelcielsdleges kulcsa, ami egyben idegen kulcs is. A msik egyedrelci kulcsval, mint idegenkulccsal is ki kell egszteni az j relcit. A kapcsolattpus attribtumai az j relciattribtumaiv vlnak. = j relci

    azon nv azon elz nvj nv

    CSALDF TRSA HZASTRS

    azon, nv

    1 1

    CSALDF HZASTRS

    azon, elz nv, j nv

    idpontazon1 nv azon2 nv

    FI TRSA LNY

    j nv

    azon1, nv

    1 1

    FI LNY

    azon2, elz nv

    PR

    azon1, azon2, felesg j neve, idpont

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    23/46

    23

    1:N kapcsolattpus lekpezse: Ez a fajta kapcsolattpus a leggyakoribb. Akapcsolattpuson bell itt is tbb esetet klnbztetnk meg, mint az 1:1 kapcsolattpusesetben. Ktfle eset lehetsges: az egyik, ha az N-oldal totlisan, a msik pedig, amikor az

    N-oldal parcilisan vesz rszt a kapcsolatban.

    totlis N-oldal

    Az egyetem oktatibl s a tanszkekbl ll OKTAT ill. TANSZK egyedtpusok 1:Nkapcsolatban vannak (1 tanszken N oktatt alkalmaznak, de 1 oktat csak 1 tanszkendolgozik).

    Lekpezsi szably: Az N-oldali relci attribtumait kiegsztjk az 1-oldal elslegeskulcsval, mint idegen kulccsal. Ha a kapcsolatnak van(nak) attribtuma(i), akkor az(ok) az

    N-oldali relciba kerlnek.

    parcilis N-oldal

    Az elz pldt mdostjuk gy, hogy az oktatk helyett az intzmny sszes dolgozjtfigyelembe vesszk. gy lesznek olyan (nem oktat) dolgozk, akik nem tartoznak egyiktanszkhez sem, a DOLGOZ rszvtele teht parcilis.

    id nv tkd tanszk neve

    OKTAT DOLGOZIK TANSZK

    fejre es hallgatszm

    id, nv, fejre es hallagtszm, tkd

    N 1

    OKTAT TANSZK

    tkd, tanszk neve

    fejre es hallgatszmid nv tkd tanszk neve

    DOLGOZ OKTAT TANSZKN 1

    DOLGOZ

    id, nv

    TANSZK

    tkd, tanszk neve

    OKTAT

    id, tkd, fejre es hallgatszm

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    24/46

    24

    Lekpezsi szably: A kapcsolattpusnak j relcit feleltetnk meg. A relci elsdlegeskulcsa az N-oldal elsdleges kulcsa lesz, amely egyben idegen kulcsknt hivatkozik az N-oldali relci rekordjaira. Az 1-oldali relci elsdleges kulcsa pedig a msik idegen kulcsotalkotja, amely biztostja az 1-oldalra val hivatkozst.

    M:N kapcsolattpus lekpezse: A lekpezsi szably egyszer, az M:N kapcsolatfelismerse azonban nem. Ugyanazok az egyedtpusok, amelyek 1:N kapcsolatban voltak azelz pldnl, lehetnek M:N kapcsolatban is. Ha a dolgozk helyett a HALLGAT-kattartjuk nyilvn, akkor egy hallgat tbb tanszk rjra jr, s egy tanszk tbb hallgatnaktart rt.

    Lekpezsi szably: A kapcsolattpusnak j relcit feleltetnk meg, amelynek elsdlegeskulcsa a rsztvev relcik elsdleges kulcsaibl ll sszetett kulcs. Az sszetett kulcskomponensei idegen kulcsokknt hivatkoznak a rsztvev relcik rekordjaira. A kapcsolatattribtumai az j relciba kerlnek.

    Tbbg M:N kapcsolat lekpezse: Ez a tpus csak annyiban tr el az M:Nkapcsolattl, hogy nem kt egyedtpus, hanem hrom vagy tbb vesz rszt benne. Az ER-modell kapcsolattpusainak kialaktsakor azt a legnehezebb eldnteni, hogy M:Nkapcsolatokkal helyettesthetjk-e a tbbg M:N kapcsolatokat. Ha van olyan attribtum,amely egyik biner M:N kapcsolathoz sem rendelhet hozz, akkor biztos, hogy ternerkapcsolattal van dolgunk.

    Legyen a terner kapcsolat a HALLGAT, OKTAT s TANTRGY. Egy hallgat tbbtantrgyat vehet fel s egy tantrgyat tbb hallgat is felveheti. Egy oktat tbb hallgatttanthat s egy hallgat tbb oktatnl is hallgathat trgyat. Egy oktat tbb trgyat tanthat segy tantrgyat tbb oktat is oktathatja. Ezekbl akkor lesz terner kapcsolat, ha tudniszeretnnk, hogy ki kitl mit tanul, hny rban. Ezek egyik egyedtpushoz sem rendelhetkhozz.

    Lekpezsi szably: azonos az M:N kapcsolat szablyval: A kapcsolattpusnak j relcitfeleltetnk meg, amelynek elsdleges kulcsa a rsztvev relcik elsdleges kulcsaibl llsszetett kulcs. Az sszetett kulcs komponensei idegen kulcsokknt hivatkoznak a rsztvevrelcik rekordjaira. A kapcsolat attribtumai az j relciba kerlnek.

    hny_rt_kapid nv tkd tanszk neve

    HALLGAT RT_KAP TANSZK

    fejre es oktatszm sszkredit

    id, nv, fejre es hallagtszm

    M N

    HALLGAT TANSZK

    tkd, tanszk neve

    RT KAP

    id, tkd, hny_rt_kap, sszkredit

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    25/46

    25

    Rekurzv kapcsolatok lekpezse: Rekurzv kapcsolatokrl akkor beszlnk, ha egy

    egyedtpuson bell van kapcsolat az egyedek kztt. Az egyedelfordulsok ketts szereptfejezi ki a kapcsolat. Pldul egy ALKALMAZOTT egyed lehet valaki(k)nek a fnke svalaki(k)nek a beosztottja. Ktfle eset lehetsges rekurzv kapcsolatoknl: 1:N illetve M:Nkapcsolat.

    rekurzv 1:N kapcsolat

    Pldaknt nzzk meg az elbb emltett ALKALMAZOTT-as pldt:

    heti raszmid nv tkd tantrgy neve

    HALLGAT FELVESZ TANTRGY

    fejre es oktatszm sszkredit

    okd nv

    M N

    L

    OKTAT

    HALLGAT

    id, nv, fejre es oktatszm

    TANTRGY

    tkd, tantrgy neve

    FELVESZ

    id, okd, tkd, heti raszm, sszkreditOKTAT

    okd, nv

    azon nv

    ALKALMAZOTT N

    vezetettIRNYTvezet

    1

    ALKALMAZOTT

    azon, nv, ki_vezeti

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    26/46

    26

    Lekpezsi szably: rekurzv 1:N kapcsolat esetn az egyedtpusbl kapott relcitkiegsztjk a relci elsdleges kulcsnak megfelel, de attl eltr nev idegen kulccsal =relciban idegen kulcs.

    rekurzv M:N kapcsolat

    Erre a kapcsolatra plda lehet a kmiarn vgzett ksrlet, ahol az anyagok klcsnhatsbalpnek egymssal. A klcsnhats paramterei a kapcsolattpushoz rendelhetk. Mindegyikanyag elfordulhat els s msodik szerepben. A rszvtel legtbbszr mindegyik oldalon

    parcilis.

    Lekpezsi szably: rekurzv M:N kapcsolat esetn j relcit hozunk ltre a kapcsolatbanrsztvev relci elsdleges kulcsaibl sszerakott elsdleges kulccsal. A kulcs sszetevi ms nven idegen kulcsok lesznek. A kapcsolattpus attribtumai az j relci mezitalkotjk = j relci.

    A lekpezsi szablyokat kvetkezetesen s megfelel sorrendben alkalmazva ltalban kevstrolsi redundancit s anomlit tartalmaz relcis smhoz jutunk. A 3NF ltalbanminden relcira biztostott. A funkcionlis fggsek vizsglatval, s tovbbinormalizlssal finomthatjuk a kapott relcis modellt. A szmtgpes tervez szoftverek(CASE TOOL) az ER-modell automatikus fellltsn s ezt kvet lekpezsn alapulnak.

    A lekpezsi szablyok tblzatos formban sszefoglalva:

    Az ER-modellben A relcis modellben

    egyedtpus (egyed)relciegyedelforduls rekord (sor)attribtum mez (oszlop)sszetett attribtum minden komponensbl kln mezkulcsattribtum elsdleges kulcskapcsolattpus relci kiegsztse idegen kulccsal

    VAGY kapcsolatrelcikapcsolattpus attribtuma egyedrelci mezjeVAGY kapcsolatrelci mezje

    azon nv

    1. paramter 2. paramter

    ANYAG N

    msodikKLCSN

    HATSels

    M

    ANYAG

    azon, nv KLCSNHATS

    azon1, azon2, paramter1, paramter2

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    27/46

    27

    Az ER-modellben A relcis modellben

    1:1 kapcsolattpus relcik egyestseVAGY relci kiegsztse idegen kulccsalVAGY kapcsolatrelci

    1:N kapcsolattpus relci kiegsztse idegen kulccsalVAGY kapcsolatrelci

    M:N kapcsolattpus kapcsolatrelci a rsztvevk elsdleges kulcsbl kpzettsszetett kulccsal

    N-g kapcsolattpus kapcsolatrelci sszetett kulccsal s kapcsolatmezvel (ha van)gyenge egyedtpus relci, az azonost relci elsdleges kulcsbl s a gyenge

    egyed parcilis kulcsbl (ha van) kpzett sszetett kulccsaltbbrtk attribtum j relci a tbbrtk attribtumbl s az azt tartalmaz

    (egyed)relci elsdleges kulcsbl kpzett sszetett kulccsal; azeredeti relciban megsznik a tbbrtk mez

    Feladat: Egy krhzi adatbzis ltrehozsa, melyben troljuk a beteg adatait: nevt, szletsiadatai, anyja nevt, lakcmt. Emellett nyilvntartjuk a betegsgek nevt s f tnett,valamint, hogy melyik osztlyon kezelik az adott betegsget, melyik osztlyhoz hny szobatartozik s ki az adott osztlyon a forvos, s melyik betegnek milyen betegsgre milyengygyszert adnak, s azt hogyan adagoljk.

    Megolds:

    dtumazon nv betegsgnv

    szletsi adatok hely

    ftnet

    KI_MIRE

    lakcm anyja neve

    KEZELIK

    gynvadag

    oazon

    onv

    szobaszm

    forvos

    BETEG M N BETEGSG

    L

    GYGYSZER

    N

    1

    OSZTLY

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    28/46

    28

    Lekpezs eredmnye:

    BETEG

    azon, nv, szldat, szlhely, anyja neve, lakcm

    KI MIRE MIT SZED

    azon, betegsgnv, gynv, adag

    BETEGSG

    betegsgnv, ftnet, oazon

    OSZTLY

    oazon, onv, szobaszm, forvos

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    29/46

    29

    Bels szintAz adatbzis adatait fizikailag alkalmasan vlasztott adathordozkon troljuk. Azadathordozk kzl a mgneslemez az egyik legelterjedtebb. A mgneslemezen trolt adatokstruktrjval s a legfontosabb hozzfrsi mdokkal foglalkozunk. Az adatbzis-tervezs

    bels szintjhez ktd fogalmak (pl: indexels) ismerete a konkrt adatbzis-kezel rendszerkivlasztsa utn vlik igazn fontoss.

    Adatszerkezet s elrsi md

    A mgneslemezen trolt adatok file-ok rekordjait alkotjk. Az egyes rekordok egy-egy egyedjellemz adatait tartalmazzk. A rekordoknak gy kell elhelyezkednik a lemezen, hogyknnyen s gyorsan elrhtek legyenek. Egy adatbzis-kezel rendszer rendszerint tbbflelehetsget knl az adatok trolsi szerkezetre. Az adatok mgneslemezen val fizikaielhelyezsre hasznlt, legfontosabb szervezsi technikk:

    rendezetlen file, amelyben a rekordok sorrendje nincs megktve

    rendezett file, amelyben a rekordok vmely rendezsi mez nvekv vagy cskkenrtke szerint kvetik egymst

    A rendezett file ltalban fizikai rendezettsget is jelent, ami kevs fejmozgssal jr, gyorshozzfrst tesz lehetv. Ha a mgneslemezes trolegysg felptst figyelembe vesszk,akkor lthatv vlik, hogy azok az adatok rhetek el gyorsabban, amelyek azonoscilinderen vannak. Egy lemezegysg tbb lemezbl ll. Az egyes lemezeken az adatokatkeskeny koncentrikus krk mentn helyezik el. Egy ilyen krt svnak (track) neveznk. Alemezegysg ugyanolyan sugar svjai egy-egy cilindert alkotnak.

    Mgneslemezes trol

    Mozgat

    egysg

    lemezek

    lemezek

    cilinder

    r/olvas fejek

    r/olvas fejek

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    30/46

    30

    A svok informcitartalma meglehetsen nagy, ezrt a svokat kisebb egysgekre, n.szektorokra vagy blokkokra osztjk. Ezt a felosztst az oprendszer vgzi el a lemezformzsakor. A kzponti memria s a lemezegysg kztti inftads egysge a blokk. A

    blokk hardvercme a lemezfellet, a svszm s blokkszm kombincija. Olvassi mveletsorn a kvnt blokk a megfelel pufferbe kerl, rskor pedig a puffer tartalma kerl a

    blokkba. A blokkok rekordokbl llnak.Az adatelrs folyamatatbb lpsbl ll:

    1. fejmozgats: a megfelel cilinderre llnak a fejek (lass)2. fejkivlaszts: a keresett lemezfellethez tartoz fej (gyors)3. forgatsi id: a keresett rekord a fejhez kerl (kzepes)4. adattvitel: elektronikus (leggyorsabb mvelet

    Az 1. s 3. lps a leghosszabb idej mvelet. Amennyiben vmely mez szerint nvekv vagycskken sorrendben kvetkez rekordok fizikailag klnbz cilinderen vannak, vagyugyanazon cilinderen bell ms-ms blokkban, vagy ugyanazon cilinderen bell ms-ms, denem egyms utn kvetkez blokkban helyezkednek el, a hozzfrs ideje jelentsenmegnhet. Az adatbzis-kezel rendszerek ltalban lehetv teszik a rekordok fizikairendezettsgt is. Technikailag gyakori megolds az, hogy a svon bell res helyekmaradnak a blokkokban a ksbb beszrand rekordok szmra azrt, hogy a fizikairendezettsg ksbb is megmaradjon.

    A rendezetlen file egyik tipikus esete a mgnesszalagos adattrols. ltalban adatbzisokmentsre hasznljk. Ebben az esetben a rekordok sorrendje nem meghatroz.

    Az adatszervezs meghatrozza a hozzfrsi mdot. A rendezetlen file-ok rekordjaihoz csakszekvencilisan lehet hozzfrni, azaz a keresett rekord elrshez be kell olvasni az sszeseltte lv rekordot. Mivel a file rendezetlen, a keressi mdszer is csak lineris lehet. Arendezett, mgneslemezes file-ok a szekvencilis elrs (a lemez felptsbl addan)mellett kzvetlen elrst is lehetv tesznek a blokk fizikai cmnek ismeretben. Ha a fizikaicm nem ismert, akkor binris keresst alkalmazhatunk a blokkokra: a szba jhet blokkokvizsglata utn felezi a blokkok szmt. A keress lehetsges kimenetei:

    nincs olyan blokk, amelyben a keresett rekord elfordulhat (nincs meg)

    van olyan blokk, amelyben a keresett rekord elfordulhat; szekvencilisan, rekordrl-rekordra vgig kell nzni a blokkban lv rekordokat, az sszehasonlts eredmnye:megvan vagy nincs meg

    Az adatbzis-kezel rendszerek file-jai rendszerint rendezett szerkezetek, mgpedigltalban az elsdleges kulcs (primary key) szerint. Egy ilyen file sematikus rajza:

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    31/46

    31

    Nv Szak Hajszn Hobbi(elsdleges kulcs)

    Aida Opera Lila knyvAmlka Fizika Srga TanulsArnold manager kopasz telefon

    gnes Szmtech Szke Angolron katona Barna Rzgy

    .

    .

    .Vazul nek Fekete lmozsVilmos Lvszet Fekete SportVuk vadsz Vrs Tyk

    Zsanett Balett Barna NincsZsfia Nyelv Szke FutsZsuzsa knyvtr Barna Kert

    INDEXELS:A keress mg gyorsabb, ha az elsdleges file helyett a rvidebb rekordokbl ll index-file-

    ban keresnk binris mdszerrel. Az indexels lnyegben kln file-knt trolt hozzfrsiszerkezet, amely jelentsen meggyorstja a rekordok elrst az elsdleges file-on. Rendezettfile-ok esetn a rendezs alapjt kpz mezrtkbl (indexing field) s a hozztartoz blokkcmbl pl fel egy rekord az index file-ban. Amennyiben a rendezsi kulcs egybenegyrtelm (uniqe) elsdleges kulcs is, akkor elsdleges indexrl (primary key) beszlnk. Afile-ok sematikus szerkezett s az index-szekvencilis hozzfrst szemllteti a kvetkezsematikus rajz:

    1. BLOKK

    2. BLOKK

    (n-1). BLOKK

    n. BLOKK

    res helyksbbi

    bvtsre

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    32/46

    32

    INDEX FILE ELSDLEGES FILE

    Elsdleges Blokk Nv Foglalkulcs(K) cm(P) (elsdleges kulcs) kozs

    gnes gnes Gondnok

    Barbara ron Virgos.

    . Barbara rmester

    . Bodri hzrzs

    .

    .Vilmos

    . Vilmos Lvsz

    . Veronika nekes

    Az indexrekord szerkezete:

    Msodlagos index (secondary index) is ltrehozhat olyan mezt tekintve kulcsmeznek,amely szerint az elsdleges file rekordjai nincsenek rendezve. Ebben az esetben azindexrekord tartalma az elsdleges file vmelyik, a rendez meztl eltr mezje

    (msodlagos kulcs) s a megfelel blokkra vagy rekordra mutat cm. Egy elsdleges file-hoztbb msodlagos index file is tartozhat. Ha a msodlagos kulcs is egyedi, akkor elegend, ha amutat a rekordot tartalmaz blokkra mutat:

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    33/46

    33

    INDEX FILE ELSDLEGES FILE

    Msodlagos Blokk Nv Foglalkozskulcs cm (elsdleges kulcs) (msodlagos

    kulcs)

    Fodrsz gnes tanuljsz Orvos Primadonna Tanul Vadsz Barbara FodrszZsonglr Bla jsz

    .

    .

    . .

    . .. .Vilmos ZsonglrVeronika Orvos

    . Vuk Vadsz

    .

    .

    . Zsanett primadonna

    .

    .Ha a msodlagos kulcs nem egyedi, vagyis tbb azonos kulcsrtk is elfordulhat (ez agyakoribb eset), akkor tbbfle technikai megolds knlkozik a msodlagos indexelsre:

    ugyanarra a kulcsrtkre annyi indexrekordot hozunk ltre, ahnyszor elfordul azrtk

    vltoz hosszsg indexrekordokkal dolgozunk (kulcs s vltoz szm mutat)

    fix hosszsg indexrekordok mellett a rekordra mutat cmeket kln szintenhozzuk ltre

    A legutbbi megolds a legelterjedtebb. Az elz pldt mdostsuk gy, hogy tbbszemlynek is legyen ugyanolyan foglalkozsa.

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    34/46

    34

    INDEX FILE ELSDLEGES FILE

    Msodlagos kulcs rekord Nv Foglalkozs(nem egyedi) mutatk elsdleges kulcs

    gnes Tanul

    Barbara Fodrsz

    Bla TanulBulcsu fodrsz

    Fodrsz jsz .Primadonna .

    Tanul Vilmos jszVadsz Veronika Tanul. Vuk jsz.

    Ha egy file rekordjai olyan mez szerint vannak fizikailag rendezve, amely nem egyedi kulcs,akkor n. csoportos-indexelst valsthatunk meg. Az index file a csoport azonost meznkvl annak a blokknak a cmt tartalmazza, amelyben az azonos csoportrtk rekordokhelyezkednek el (1:N kapcsolatban lev relcik esetn alkalmazhat hasonl szerkezet).

    INDEX FILE ELSDLEGES FILE

    Msodlagos Blokk Nv Foglalkozs

    kulcs cm csop. azon. mez

    Fodrsz gnes Fodrszjsz Bla FodrszOrvos Primadonna Tanul Vadsz Vilmos jszZsonglr Vuk jsz

    .

    .. .

    . .

    . .Amlia OrvosDnes Orvos

    . Veronika Orvos

    .

    .

    . Zsanett primadonna

    .

    .

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    35/46

    35

    Az egyb adatszervezsi s elrsi mdok kzl a B+ fa szerkezet s a tbbszint indexelsterjedt el. A B+ fa szerkezet indexelterlete kt rszbl ll:

    tbbszintfa indexekterletbl, amely gyors elrst tesz lehetv

    aszekvencilis indexek terletbl, amelyek az egyes adatrekordok kulcsait s cmeit

    (kapcsolt listaszerkezetben) tartalmazzk (a kulcsrtkek rendezettek)A sematikus bra egy ilyen adatszervezsi s elrsi mdot szemlltet:

    Msik lehetsg rekordok trolsra a hozzfrs gyorstsval a hashing (rekeszelsitechnika).

    Hug Lilla

    Dnes Hug Jzsi Lilla

    Aml Bla Dnes Erika Hug Istvn Jzsi Kata Laca Lilla

    Szekvencilisindexek

    Fa index szerkezet

    Bla tanr VE

    Erika hallgat VE

    Laca krtys VEadatrekordok

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    36/46

    36

    Hashing (rekeszelsi technika):

    Lnyege: a kulcsmezkbl alkalmasan vlasztott fggvnnyel cmet kpznk, amely cm arekord blokkjnak fizikai helyt jelenti:

    cm1=H(kulcs1)

    cm2=H(kulcs2)gy a hashing nven elterjedt szervezsi-hozzfrsi mdszer kzvetlen hozzfrst biztost,amennyiben a hashing fggvnnyel nyert cmrtk egyedi. Ez azt jelenti, hogy nincs kt olyankulcsrtk, amelyre a lekpezs ugyanazt a cmrtket adja.

    A H lekpez fggvny elterjedt alakja:

    H(K)=K MOD M

    ahol a K a kulcsnak megfelel egsz tpus szm, M pedig a tervezett blokkok szmhozlegkzelebb es prmszm.

    Fontos kvetelmny, hogy a H fggvnnyel meghatrozott blokkok egyenletesem tltsk kiaz M ltal meghatrozott trterletet, azaz ne maradjanak res vagy alig kitlttt helyek.Ennl is fontosabb, hogy ne legyen kt rtk, amelyre ugyanazt a H rtket kapjuk, azazteljesljn:

    H(K1) H(K2)

    felttel. Azaz ne legyen tkzs!

    Sajnos a legtbb lekpz algoritmus sem tesz eleget ennek a kvetelmnynek. A hashingmdszerek a H fggvnyen kvl elssorban az tkzsek kezelsben klnbznekegymstl:

    A hashing technika alapfeladata teht:

    alkalmas hashing fggvny kialaktsa tkzsek hatkony kezelse

    Akkor mondhatjuk, hogy megfelel a lekpz algoritmus, ha

    kevs az tkzs s a trolsi terlet (hash table) egyenletesen van kitltve

    Legjobbnak tartjk a fenti maradkkpz fggvnyt, mert arnylag egyenletesen tlti ki atrterletet s kevs az tkzs is.

    Az tkzsek kezelsre a legmegfelelbbek a dinamikus szerkezetek. Ilyen pldul a

    kapcsolt lista, vagy a kvetkez faszerkezet:

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    37/46

    37

    H(Hug)=101, H(Zsolt), H(Bla)=101

    A binris faszerkezet az indexelshez hasonl szerepet tlt be. A fa levelei a H fggvnnyelmeghatrozott blokkok cmeit tartalmazzk. A csompontok pedig a H(K) binris rtk soronkvetkez bitjnek 1 vagy 0 rtke szerinti elgazst jelentenek. Ha a blokk megtelt, akkor ahozztartoz levl csompontt alakul. Az j csompont egyik mutatja a megtelt blokkra, amsik pedig egy j blokkra mutat (dinamikus bvls).

    Amg a relcis adatbzis-kezelsben ltalban a hashing ritkn fordul el, addig ahierarchikus s hls adatbzisokban jelents szerepet kap.

    SQL s a relcis adatbzis-kezelk

    A relcis adatbzis-kezel rendszerek elterjedt s szabvnyostott szoftverkomponense azSQL nyelv. Jelentse (Structured Query Language) alapjn lekrdez nyelv, de valjbanadatsma ler, adatfelviv, mdost s trl feladatokat is elvgez. gy magba foglalja azadatbzis kezel rendszerek legfontosabb komponenseit, nevezetesen a DDL (Data DefinitionLanguage), az SDL (Storage Definition Language) s a DML (Data Manipulation Language)komponenseket.

    Az SQL knnyen megtanulhat nyelv, csak azt kell megfogalmazni, hogy mit akarunk amegolds hogyanjt rbzhatjuk az optimalizl adatbzis-kezel egysgre. Az optimalizlslnyege, olyan mdszer alkalmazsa, amely a lekrdezs nagy trigny, Join mveletnekelvgzse eltt, ha lehet, elvgzi a mretcskkentst eredmnyez projekcis s restrikcisrelcis mveleteket.

    1 0

    1 0 1 0

    1 0 1 0 1 0 1 0

    Hug Zsolt Bla Istvn Benedek Lszlblokkok

    1. szint

    2. szint

    levelek

    H=101H=100

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    38/46

    38

    Nhny SQL parancs:

    A fontosabb SQL parancsok szemlltetse eltt induljunk ki egy 1:N illetve 1:1 kapcsolatbanlv OSZTLY s ALKALMAZOTT egyedtpusokbl ll, egyszer ER-modellbl nyertrelcis smbl:

    Tblzat ltrehozsa a CREATE TABLE paranccsal trtnik (DDL) hosszabb meznevekrvidtsvel (adatdefinil lekrdezs):

    CREATE TABLE alkalmazott (szemszam char(5) NOT NULL,nev varchar(20),mkor char(20),mag smallint,

    fizetes decimal(7,2),osztkod char(2),primary key (szemszam),foreign key (osztk) REFERENCES osztaly(okod))

    CREATE TABLE osztaly (okod char(2) NOT NULL,osztnev varchar(20),vszam char(5),kdat date,

    primary key (okod)foreign key (vszam) REFERENCES alkalmazott(szemszam))

    A szemlyi szm NOT NULL paramtere azt jelenti, hogy az adatbevitel sorn ennek ameznek rtket kell adni. A VREATE TABLE eredmnye lnyegben a tblzatok fejlce, aparancsban megadott adattpusokkal s kapcsolatokkal egytt (metaadatok).

    munkakrszemszm nv

    dolgozik

    fizetsmagassg

    osztkdosztnv

    vezet

    vezetskezdet

    ALKALMAZOTT N 1

    OSZTLY1

    1

    ALKALMAZOTT

    szemszm, nv, munkakr, magassg, fizets, osztkd

    OSZTLY

    osztkd, osztnv, vezetkd, vezetskezdet

    hivatkozs az

    OSZTLYtblzatra

    adattpus

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    39/46

    39

    Tblzat feltltse: INSERT paranccsal trtnik (hozzfz lekrdezs)

    INSERT INTO alkalmazott VALUES(22225,Zoltn,tvlevelez,181,49000,20)INSERT INTO osztaly VALUES(38,Szabadid-vadszat,22255,1993-03-10)

    Hasonlan vihetjk be a tbbi rekordot is. Ezzel a paranccsal egyszerre csak 1 rekordot

    vihetnk fel.Legyenek a kvetkez adatok a tblzatunkban:ALKALMAZOTT

    SZEMSZAM NEV MKOR MAG FIZETES OSZTKOD00000 Anna kptrol 165 30000 3800001 Helga demonstrtor 170 40000 2011111 Enik hallgat 162 32000 2522221 Csaba fdemonstrtor 180 51000 2022225 Zoltn tvlevelez 181 49000 2022255 gnes fvadsz 175 81000 3833332 Mrta csendes trs 181 92000 1533339 Melinda nyomoz 185 77000 1544444 Laura nagyfnk 160 100000 1555555 Norbert jjelir 185 60000 38

    OSZTALYOKOD OSZTNEV VSZAM KDAT

    15 Laura-Nyugija Kft 44444 1994.11.0320 Posta-Bank Csoport 22221 1993.10.1225 OTP Csoport 11111 1993.09.0738 Szabadid-vadszat 22255 1993.03.10

    Tegyk fel, hogy az OSZTALY tblban a Posta-Bank Csoportot Erste Bankra szeretnnktrni. Ez az UPDATE paranccsal trtnik: (frisst lekrdezs)UPDATE osztaly SET osztnev=Erste Bank WHERE okod=20Eredmny:OSZTALY

    OKOD OSZTNEV VSZAM KDAT15 Laura-Nyugija Kft 44444 1994.11.0320 Erste Bank 22221 1993.10.1225 OTP Csoport 11111 1993.09.0738 Szabadid-vadszat 22255 1993.03.10

    Ha a ksbbiekben ez a bank csdbe megy, akkor trlnnk kell a DELETE paranccsal.Eltte azonban trlni kell az ALKALMAZOTT tblbl az sszes olyan rekordot, amelybenhivatkozs van erre a bankra (hivatkozs integritsi szably) (trl lekrdezs).DELETE FROM alkalmazott WHERE osztkod=20DELETE FROM osztaly WHERE OKOD=20Ezzel a felesleges rekordok eltntek az adatbzisbl.

    Az INSERT, UPDATE s DELETE mveletek sszefoglal nven adatkarbantartmveletek. Az SQL strukturlt lekrdez nyelvet jelent, eddig azonban csak rejtve fordult ellekrdezs: meg kellett keresni a mdostand s trlend rekordokat a WHERE kulcsszval

    befejezett felttel szerint.

    Lekrdezsek:Elszr csak egy tbla adataira lesznk kvncsiak, majd pedig megnzzk, hogyan tudunkolyan krdsekre vlaszolni, ahol a kt tblzat egyestsre van szksgnk.

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    40/46

    40

    Kiindulsknt az ALKALMAZOTT s OSZTALY tblnkban szerepeljenek az elzlegkitrlt rekordok is!A lekrdezs parancsa a SELECT, amellyel egyszer s sszetett relcis mveleteketegyarnt elvgezhetnk:1. plda: Keressk meg az ALKALMAZOTT tblban a 15-s osztlykd osztlyon

    dolgozk nevt, munkakrt s osztlykdjait.Megolds: SELECT nev, mkor, oszkod FROM alkalmazott WHERE osztkod=15(ACCESS: SELECT nev, mkor, osztkod FROM Alkalmazott WHERE osztkod=15;)A SELECT parancsba elrejtett projekci s restrikci eredmnye:

    nev mkor osztkod Mrta csendes trs 15Melindanyomoz 15Laura nagyfnk 15

    2. plda: Ha az osztlykdhoz tartoz osztlynevekre vagyunk kivncsiak, akkor azOSZTLY tblzatot krdezzk le hasonl mdon. Mivel az sszes rekordot szeretnnk

    megjelenteni, ezrt nincs szksg a WHERE felttelre (csak projekcit hajtunk vgre).Megolds: SELECT okod, osztnev FROM osztaly (ACCESS: SELECT okod, osztnev FROMOsztaly;)A projekci eredmnye:

    okod osztnev15Laura-Nyugija Kft20Posta-Bank Csoport25OTP Csoport38Szabadid-vadszat

    3. plda: oszlopot meg szeretnnk jelentetni, akkor lehetsgnk van a projekci elhagysra:SELECT * FROM alkalmazott WHERE mag50000) AND(mag>180 AND mag=180 Andmag50000);

    nev mag fizetesCsaba 180 51000Mrta 181 92000Melinda 185 77000Norbert 185 60000

    6. plda: az 5. plda azzal a vltoztatssal, hogy fizets szerint nvekv sorrendben legyenekugyanezek az adatok. (+cskken)Megolds: SELECT nv, mag, fizetes FROM alkalmazott WHERE (fizetes>50000) AND(mag>180 AND mag

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    41/46

    41

    8. plda: rassuk ki azoknak a dolgozknak a nevt, fizetst s osztlynak a nevt, akiknek afizetse meghaladja az 50000 Ft-ot s magassguk 180 s 190 cm kz esik. Ehhez a kttblt ssze kell kapcsolnunk, amit a JOIN mvelettel tehetnk meg, ebben az esetben aWHERE felttel utn kell megadnunk a JOIN felttelt, azaz, hogy mi alapjn kapcsoldik akt tblzat.

    Megolds: SELECT nev, fizetes, osztnev FROM Alkalmazott, Osztaly WHERE(Alkalmazott.osztkod=Osztaly.okod) And (fizetes>50000) And (mag Between 180 And 190);Vannak olyan SQL nyelvjrsok is (Pl. ACCESS), ahol a JOIN-t kln kell jellni (Pl.:INNER JOIN) s az egyests felttelre is kln kulcssz ltezik (Pl.: ON).Eredmny:

    nev fizetes osztnevCsaba 51000Posta-Bank CsoportMrta 92000Laura-Nyugija KftMelinda 77000Laura-Nyugija KftNorbert 60000Szabadid-vadszat

    9. plda: Mivel a kt relci kztt mg egy vezetsre vonatkoz 1:1 kapcsolat is ltezik,megtudhatjuk az osztlyvezetk nevt is.Megolds: SELECT osztnev, nev FROM Osztaly, Alkalmazott WHERE(Osztaly.vszam=Alkalmazott.szemszam);Tblaazonostk itt elvileg elhagyhatak lennnek, mivel a kt mez neve nem egyforma.10. feladat: Adjunk kpzeletben fizetsemelst azoknak a dolgozknak, akiknek a neve M

    betvel kezddik. Az elkpzelt j fizets mellett rassuk ki a dolgozk nevt, s osztlyuknevt, a fizets szerint cskken sorremdben.Megolds: SELECT nev, fizetes+3000, osztnev FROM Alkalmazott, Osztaly WHERE(Alkalmazott.osztkod=Osztaly.okod) And (nev Like 'M*') ORDER BY fizetes DESC;Eredmny:

    nev Expr1001 osztnevMrta 95000Laura-Nyugija KftMelinda 80000Laura-Nyugija Kft

    10. plda: Szeretnnk megtudni a nagyfnk vagy a fvadsz munkakrt betlt vezetknevt s az ltaluk vezetett osztly nevt.Megolds: SELECT osztnev, nev FROM Osztaly, Alkalmazott WHERE(Osztaly.okod=Alkalmazott.osztkod) AND (mkor='nagyfnk' OR mkor='fvadsz');

    Nzetek: ltrehozsa a CREATE VIEW paranccsal s a SELECT parancs segtsgveltrtnik: CREATE VIEW csak_magassg (nev, mag) AS SELECT nev, mag FROM

    Alkalmazott(ACCESSben nem kivitelezhet)

    Indexels is lszthet: (adatdefinil lekrdezs)CREATE INDEX nevindex ON Alkalmazott(nev);

    Az SQL nyelv szmos magasszint programnyelvbe bepthet. PL: COBOL, PASCAL, C,dBase)Egy szoftver adatbzis-kezel rendszernek minsthet, ha

    biztostja az adatoknak programtl val fizikai s logikai fggetlensgt rendelkezik felhasznlbart szolgltatsokkal (rlap, lekrdezs, jelentsgenertor)

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    42/46

    42

    Relcis adatbzis-kezel rendszer esetn ezen kvetelmnyek mg legalbb hrom taggalkibvlnek:

    a relciban az oszlopokat nevkkel lehessen azonostani s a sorok sorrendjetetszleges lehessen

    a relcis mveletek eredmnye is relci legyen

    az alapvet relcis mveletek kztt szerepeljen az egyests (br lteznek olyanadatbzis-kezel rendszernek tartott szoftverek, amelyek a JOIN mveletet nem tesziklehetv)

    {A tblakszts SQL parancsa ACCESSben:CREATE TABLE Alkalmazott

    (szemszam text,nev text,mag smallint,fizetes integer,osztkod text,

    CONSTRAINT index1 PRIMARY KEY (szemszam))

    A tblakszts s az index ltrehozsa adatdefinil lekrdezssel trtnik, a sorok beszrsahozzfz lekrdezs, a mdosts UPDATE-tel frisst lekrdezs, a trls pedig trllekrdezs.}

    Az SQL kulcsszavak tblzatos sszefoglalsa:Angol kulcssz Jelentse Utna mit kell rni?

    CREATE ltrehoz a ltrehozand tblzat azonostja (neve)UPDATE mdost a mdostand rekordokat tartalmaz tblzat neveDELETE FROM trl a trlend rekordokat tartalmaz tblzat azonostja (neve)SELECT kivlaszt a kiratand mezk neveiFROM -bl, -bl a felhasznlt (egyestend) tblzatok neve(i)WHERE ahol a korltozs s/vagy egyests (join) felttele (egynl tbb

    tblzat esetn)ASC nvekvDESC cskkenORDER BY rendezze a rendezend mez neveLIKE hasonl amihez hasonlt keresnk a tblzat(ok)banINDEX indexels a ltrehozand indexfile neve, majd ON s hogy melyik

    tbla melyik oszlopbl ksztjk az indexfiletVIEW nzet SELECT szerkezet

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    43/46

    43

    Tranzakcik (mveletek) s egyidejsg

    Egy tranzakci alatt ltalban olyan adatbzis-elrsi, illetve adatbzis-mdost mveletekcsoportjt rtjk, melyeket atomian kell vgrehajtani, azaz: vagy a csoportba tartoz mindenmveletet vgre kell hajtani, vagy ha ez vmilyen oknl fogva nem lehetsges, akkor egyetsem szabad kzlk vgrehajtani.

    A legtbb adatbzis-kezel rendszer az SQL nyelv miatt szigoran megkveteli a tranzakciksorbarendezhetsgt, br van 1-2 olyan adatbzis-kezel rendszer is, amely nem ragaszkodikszigoran a sorbarendezhetsghez. Ez azrt is fontos, mivel a tranzakciknak olyan sszetettmveleteknek kell lennik, amelyek teljesen s hibtlanul vgrehajtdnak. Asorbarendezhetsg azt sugallja, hogy ezek az sszetett mveletek egyms utn fognakvgrehajtdni. Problma akkor van, ha a mvelet sorn az adatbzis sszeomlik (pl: van kt

    bankszmlnk, az egyikbl vmennyi pnzt ki akarunk venni, a msikra pedig ugyanennyit rszeretnnk tenni. Problma akkor ll fenn, ha levonni mr sikerlt, de mieltt rtennnk amsikra a pnzt, a rendszer sszeomlik. gy veszlybe kerlne a tranzakci, mint logikaiegysg. Ennek elkerlsre vezettk be a COMMIT illetve a ROLLBACK eljrst.

    Tranzakcik felptse:

    A tranzakci egy adatbzist vagy annak smjt lekrdez vagy mdost SQL paranccsalkezddik, a befejezdsekor pedig kzlnnk kell az adatbzis-kezel rendszerrel a

    befejezdst, ennek mdja a COMMIT vagy ROLLBACK eljrsok meghvsa.

    A COMMIT utastssal egy tranzakci sikeres befejezdst jelezzk. Ha a tranzakci sikeresvolt, akkor a tranzakci kezdete ta vgrehajtott mdostsokat vglegesteni lehet. ACOMMIT utasts vgrehajtsa eltt a mdostsok nem vglegestdtek, az ltaluk okozottadatmdostsok, illetve adatbzis-mdostsok a prhuzamosan fut tranzakcik ell akr elis lehet takarva (azaz csak akkor lthatjuk ezeket a mdostsokat, ha mr vglegestettk

    azokat).A ROLLBACK utastssal egy tranzakci sikertelen befejezst jelezzk. Egy gy befejezetttranzakci SQL utastsa ltal vgrehajtott mdostsokat az SQL rendszer meg nem trtnttteszi, azok nem jelennek meg tbb az adatbzisban. (Ms szval a tranzakci abortl,mdostsai visszagrgetsre kerlnek.

    Azrt, hogy az eredeti llapot visszallthat legyen, a rendszer naplzza a hozzfrseket.A napl (journal) file-okban troldik a tranzakci, hozzfrsi mdja (write, read, azaz rhatvagy olvashat), az adatazonost, a rgi rtk s az j rtk. A csak olvashat (read only)tranzakcik nem mdosthatjk az adatbzis tartalmt. Minden tranzakcinak klnazonostja van egy a rendszerben. A naplzs a felsorolt adatokon kvl egy-egy tranzakci

    kezd s befejez idpontjt, valamint a befejezs mdjt (commit, abort) is trolja.Tbbfelhasznls rendszerekben megjelenik az egyidejsg kezelsnek krdse. Azadatbzis-egyidejsg azt jelenti, hogy a relcikhoz, sorokhoz, attribtumokhoz, nzetekhezszmos felhasznl s alkalmazs egyidejleg tud hozzfrni. Ennek clja, hogy atranzakcikat prhuzamosan dolgozhassuk fel, vagyis a rendszer kiszolglja az egyiktranzakcit kpz mveleteket, ezzel prhuzamosan pedig egy msik tranzakcihoz szksgesmveleteket is. Ez a szmtgpes erforrsok sokkal hatkonyabb felhasznlst teszilehetv, az adatbzis teljestmnynek nvekedst eredmnyezi.

    Plda: Kpzeljk el, hogy jegyet szeretnnk foglaltatni egy repljratra. A helyfoglalstranzakcija (T1) ebben az esetben egy lekrdezsbl s (van-e hely) s egy mdostsbl

    (update) ll. Tegyk fel, hogy velnk egy idben valaki ugyanezt teszi (T2). Tovbb tegykfel, hogy a prhuzamossgot gy oldja meg a rendszer, hogy felvltva, mindegyikmveletsorbl elvgez egy picit. Ha az id fggvnyben tekintjk ezt a kt mveletsort,

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    44/46

    44

    akkor elfordulhat a kvetkez eset: A T1-ben megnzzk van-e hely s lefoglalunk egyet,majd T2-ben is ugyanezt tesszk. Ebben az esetben, a T2-ben is ugyanannyi hely leszkezdetben, mint T1-ben, mivel T1 mdostst mg nem vglegestettk. gy a T1 rendelselveszik. Hogyan lehet ezt megoldani? Egy lehetsges megolds, hogy elbb be kell teljesenfejezni vmelyik tranzakcit. Ez az n. soros temezs. Elkpzelhet azonban ms, nem soros

    temezs is.Egy konkrt plda a COMMIT s ROLLBACK hasznlatra pszeudo-kddal(mondatszerkezeti lerssal), magyarzat [ ] zrjelben, dlt betvel. A plda egy automatbltrtn pnzkivtelt modellez:

    Begin transaction kivons(forrsszmla, mennyisg) [kivons a tranzakci neve, a ktparamtert pedig a tranzakci elejn megadjuk, vagyis a szmlaszmot=forrsszmlaszm, sazt, hogy mennyit akarunk kivenni=mennyisg]

    ON ERROR GOTO CRASH[ugrs a CRASH cmkj programrszre, ha valami hiba baj arendszerrel, szoftver vagy hardver hiba esetn]

    SELECT ennyi_van_mostFROM szmlaWHERE szmlaszm=forrsszmlaszm [lekrdezzk, mennyi pnz van a szmlnkon]IF THEN [logikai hiba, nem volt sikeres a lekrdezs: nem tallta a szmlt]zenet: nincs ilyen szmlaROLLBACK [rgi llapot visszalltsa]End IF [IF - End IF egy elgazs, ha nincs szmla csinlja azt, ami az IF s End IF kztttallhat, ha nincs hiba hagyja ezt a rszt ki s lpjen az end if utni els sorra] UPDATE szmlaSET ennyi_van_most=ennyi_van_most-mennyisgWHERE szmlaszm=forrsszmlaszm [Mdostjuk a szmlnkat: kivonjuk a szmln lv

    sszegbl azt a mennyisget, amit ki akarunk venni]IF ennyi_van_most

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    45/46

    45

    meg akarjuk vltoztatni a jelszt, akkor elbb a rgit trlnnk kell! (Trls is csakkizrlagos mdban!!)

    Ennl finomabb mdszer az adatok felhasznl szint vdelme. Ekkor a felhasznlnak mraz Access-be val belpskor azonostania kell magt, s a ksbbiekben a belltott

    jogosultsg alapjn frhet hozz az adatbzishoz. Ezt akkor rdemes hasznlni, ha tbbfelhasznl egyenrang hlzati kapcsolatban ll egymssal, nhnyan kzlk adatbevitellel,nhnyan csak lekrdezssel stb. foglalkoznak. Ezt az Eszkzk men Adatvdelem

    pontjnak Felhasznlk s csoportok fikjai (vagy Munkacsoport-adminisztrtor) alpontjvalkivitelezhet. Itt lehet j nevet felvinni a Felhasznlk flnl abba a csoportba, ami ppen kivan jellve, valamint a szemlyi kdjt is meg kell adni az illetnek. A jelsz mdostsaflre kattintva adhatjuk meg/mdosthatjuk az egyes felhasznlk jelszavt. A csoportokflben lehet j csoportot ltrehozni s a Jelsz flben pedig a jelszt mdostani. AFelhasznli s csoportengedlyek alpontban llthatjuk be az egyes felhasznlk/csoportok

    jogait az egyes objektumtpusokra (tbla, lekrdezs, rlap, adatbzis, jelents, makr), illetvemegvltoztathatjuk az adatbzis tulajdonost (ami alapbl a rendszergazda, akinek mindenhez

    joga van).

    Ha belltottuk az j felhasznlkat/csoportokat, adtunk nekik jelszt s jogokat, akkor azAccess indtsakor a belltott munkacsoporthoz csak a bejelentkezsi prbeszdablakkitltsvel lehet kapcsoldni. Ezutn tudjuk belltani a felhasznlkat s csoportokat,amelyben a Felhasznlszint adatvdelmi varzsl alpont segthet.

    Dokumentci

    Ha elksztnk egy adatbzist gondos tervezs utn, akkor azt az adatbzist dokumentlnunkis kell. A dokumentcit rdemes a feladat elksztsnek krlmnyeivel kezdeni (megbzsesetn milyen megbzs stb.), de ez el is maradhat. A feladat specifikcijnak azonbanmindenkppen szerepelnie kell, azaz az sszegyjttt adatok alapjn milyen adatokat fogunk

    trolni az adatbzisunkban, s azok milyen kapcsolatban vannak egymssal. Pl: jsgokat sazokat forgalmaz cg adatainak trolsnl mr itt eldnteni, s a dokumentciba lerni,hogy egy jsgot tbb cg is foraglmazhat-e, stb.

    A koncepcinlis (magas szint, ER-modell) modell is jelenjen meg a dokumentciban. gymeg tudjuk jelenteni az egyes adattpusokat s az azok kztti kapcsolat fajtit (1:1, 1:N,M:N, teljes vagy rszleges). rdemes egy Fogalomsztrt kszteni az ER-modellhez, az elsltsra megfejthetetlen attribtumrvidtsek felfedshez.

    Meg kell emlteni, hogy az ER-modellt milyen tpus adatbzis-kezel rendszerrel fogjukmegvalstani (ez ltalban vmilyen relcis adatbzis).

    A dokumentci mindenkppen tartalmazza a magas szint modell lekpezst, azaz relcisadatmodell esetn a relcikat, mezket, elsdleges s idegen kulcsokat s a relcik kzttikapcsolatokat (adott relci idegen kulcsa melyik relci melyik mezjre mutat). rdemes azidegen s elsdleges kulcsok jellsnek mdjt kln lerni. (Pl: az elsdleges kulcsokatfolytonos vonallal hztam al, az idegen kulcsokat pedig szaggatott vonallal.)

    s vgl a fizikai tervezs dokumentlsa: Az egyes relcik egyes mezit hogyan valstommeg: milyen tpus mez (szveg, dtum stb.), hny karakter lehet maximum, ktelezkitlts vagy nem, indexelt-e vagy sem (ha egy mez ltalban elsdleges kulcs szerintindexelnk, akkor annak a meznek ktelez kitltsnek kell lennie), elsdleges kulcs-e,vagy idegen kulcs (sszetett kulcsot kln le kell rni, melyik mezkbl kpeztk), illetve hahasznlunk beviteli maszkot, az mibl ll. Pl: beviteli maszk telefonszmnl olyan, hogy atelefonszm mindig a krzetszmmal kezddik, majd perjel s a tbbi szm: 96/654321.

    rrs: http://www.doksi.hu

  • 7/25/2019 Adatmodellezs Alapfogalmai (2004, 46 Oldal)

    46/46

    Vannak olyan adatbzis-kezel rendszerek (pl. ORACLE 9), amelyek kpesek jelentstkszteni adatbzisaikrl, azaz a tblkrl s kapcsolataikrl, valamint a trolsrl, ezfelfoghat egy kezdetleges dokumentcinak, segtsgnek, amit kiegsztve kszthetnk egyrszletes dokumentcit.

    Jl megvizsglva a dokumentcit arra a kvetkeztetsre juthatunk, hogy gyakorlatilag azadatbzis-tervezs lpsein vgighaladva rtuk le, dokumentltuk, hogy mit csinltunk, azaz,hogy hogyan jutottunk el a konkrt adatbzisunkig.

    rrs: http://www.doksi.hu