13.gyak. Relációs adatbázisséma tervezés
Ezek a feladatok nem szerepelnek a gyakorlaton a ZH-ban,
csak a vizsgára való felkészülést, a tervezéssel kapcsolatos
alapfogalmak és algoritmusok mélyebb megértését segítik.
   
Feladat_típusok a gyakorlatra
Adott X-attr.hz, F-ff.hz. Attr.hz.lezártjának kiszámítása.
Adott R-rel.séma, F-ff.hz. Kulcsok meghatározása.
Adott R-rel.séma, F-ff.hz. BCNF-e? (definíció alapján)
Adott R-rel.séma, F-ff.hz. 3NF-e? (definíció alapján)
          -->> a fentieket lásd 1.) gyakorló feladatok        
Adott R, F és d-dekomp. Chase alg.VM eldöntésére.
Adott R, F és d-dekomp. FŐ eldöntésére algoritmus.
          -->> a fentieket lásd 2.) gyakorló feladatok        
Adott R-rel.séma, F-ff.hz. VM BCNF dekomp.alg.
          -->> a fentieket lásd 3.) gyakorló feladatok        
Adott R-rel.séma, F-ff.hz. Minimális bázis keresése.
Adott R-rel.séma, F-ff.hz. VM FŐ 3NF dekomp.alg.
          -->> a fentieket lásd 4.) gyakorló feladatok        
   
Gyakorló feladatok
1.) Adott R relációs séma és F funkcionális függőségek halmaza.
     Attribútum halmaz lezártjának kiszámolására tanult algoritmus
     felhasználásával határozza meg az adott séma kulcsait, és azt,
     hogy BCNF-ben vagy 3NF-ben van-e?

a.) Cím(Város, Utcahsz, Irányítószám) röviden R(V, U, I), és
     a séma feletti funkcionális függőségek F = {I → V, VU → I}.

b.) Tankönyv 3.5.2. feladata: Órarend adatbázis
  Jelölje röviden:
      K - Kurzus
      O - Oktató
      I - Időpont
      T - Terem
      D - Diák (hallgató)
      J - Jegy
 Feltételek (funkcionális függőséggel megadva)
     K → O vagyis egy kurzust csak egy oktató tarthat
     IT  → K nincs óraütközés, egy helyen egy időben egy kurzus lehet
     IO  → T az oktatónak nincs óraütközése
     ID  → T a diákoknak sincs óraütközése
     KD  → J egy diák egy kurzust egy végső jeggyel zár
 R=KOITDJ és F= {K → O, IT → K, IO → T, ID → T, KD → J}

c.) Adott SzallításiInformáció(SzallAzon, SzallNev, SzallCim,
               AruKod, TermekNev, MeEgys, Ar) reláció séma,
     amit így is rövidithetünk R(S, N, C, K, T, M, A), és
     a séma feletti funkcionális függőségek:
     SzallAzon→{SzallNev, SzallCim},
     AruKod→{TermekNev, MeEgys},
    {SzallAzon, AruKod}→ Ar,
     vagyis a röviden F = {S → NC,  K → TM,  SK → A}.

d.)  Tekintsük egy befektetési cég adatbázisát, melynek attribútumai
      B (bróker), I (a bróker irodája), U (befektető ügyfél), R (részvény),
      M (a befektető tulajdonában levő részvény mennyisége),
      O (a részvény osztaléka). Érvényes funkcionális függőségek:
      F = {B → I,  U → B,  UR → M,  R → O}.      

2.) Adott R, F és d dekompozíció. Chase algoritmussal döntsük el,
     hogy veszteségmentes-e illetve függőségőrző-e a dekompozíció.

a.) Az 1a. feladat R sémáját szétvágjuk IU, VU sémákra.
b.) Az 1b. feladat R sémáját szétvágjuk KOIT, IDT, KDJ sémákra.
c.) Az 1c. feladat R sémáját szétvágjuk SNC, KTMA sémákra.
d.) Az 1d. feladat R sémáját szétvágjuk a BI, BU, URM és RO sémákra.

3.) Az 1.feladatban adott R, F esetén adjuk meg a BCNF-ra való felbontás
     algoritmusával az R egy veszteségmentes BCNF sémákra való felbontását.
   
4.) Az 1.feladatban adott R, F esetén számoljuk ki az F függőségi rendszer
     egy minimális fedőjét (minimális bázisát) és a minimális fedőt felhasználva
     a 3NF szintetizáló algoritmussal adjuk meg R-nek egy függőségőrző és
     veszteségmentesen 3NF sémákra való felbontását.
   
Fel a lap tetejére                Vissza az AB1gyak oldalára (főmenü)