III. Témakör: XML

_______________________________________________________
9. gyak. (XI.22)
 - XML XPath

Segédanyagok:
>> Kiss Attila  2007.tavaszi félév Adatbázisok elméleti alapjai előadások
            XML adatmodell, XPath, XQuery, Oracle XML  (.ppt /jelszóval)
                      Ebből: XPath: 22-28.o.
>> Nikovits Tibor 2007. őszi félév Adatbázisok tervezése gyakorlatok
            Objektum-relációs alapok  (EA-on nem volt, köv.félévben lesz)
            XML alapok (EA-on volt, az előző félévben, lásd fenti EA-t)
>> W3Schools: XML illetve XPath Tutorial
            W3Schools Tutorial
            XML Tutorial
            XPath Tutorial
            XPath functions (függvények)
>> W3C ajánlás XML illetve XPath
           http://www.w3.org/XML/
           http://www.w3.org/TR/xpath
>> Oracle Database 10g Documentation Library (Oracle honlapról a frissebb 10.2)
           Oracle XML DB Developer's Guide10g    HTML    PDF
                                Ebből: XPath
Feladatok:
           XPath Examples  (www.zvon.org)
           XPath feladatok  (Nikovits Tibor)
_____________________________________________________
10. gyak. (XI.29)
 - XML XQuery

További segédanyagok:
>> Kiss Attila  2007.tavaszi félév Adatbázisok elméleti alapjai előadások
            XML adatmodell, XPath, XQuery, Oracle XML  (.ppt /jelszóval)
                      Ebből: XQuery: 29-35.o. és 56-62.o.
 >> Nikovits Tibor 2007. őszi félév Adatbázisok tervezése gyakorlatok
          XML függvények
          XQuery
>> W3Schools: XQuery Tutorial
          XQuery Tutorial
>> Oracle Database 10g Documentation Library (Oracle honlapról a frissebb 10.2)
          Oracle XML DB Developer's Guide10g    HTML    PDF
                                Ebből: XQuery
Feladatok:
           XQuery feladatok  (Nikovits Tibor)
_______________________________________________________
11. gyak. (XII.6)
 - Tervezés, függőségek, normálformák

Segédanyagok:
>> Kiss Attila  2007.őszi félév Adatbázisok elméleti alapjai előadások
           Relációs adatbázisok függőségeken alapuló tervezése  (.ppt /jelszóval)

Ebből: főbb fogalmak és algoritmusok oldalon példák
funkcionális függőség (ff), kulcs
Armstrong axiómák
attribútumhalmaz lezártja
def. 4.o.
def. 8.o.
alg.20.o
pl. 5.o.
pl.12.o.
pl.23.o.
veszteségmentes (VM) dekompozíció
veszteségmentesség ellenőrzése: chase
def.24.o.
alg.27.o.
 
pl.31,33
függőségek vetülete
függőségőrző (FŐ) dekompozíció
függőségőrzés ellenőrzése
def.38.o.
def.39.o.
alg.41.o.
 

pl.42.o.
BCNF (Boyce-Codd normálforma) def.44.o.
VM BCNF dekomp. naív algoritmus
VM BCNF dekomp. hatékony alg.
 
alg.52.o.
pl.49.o.
pl.53,54
3NF (harmadik normálforma) def.56.o.  
minimális fedés
minimális fedés keresése, mohó alg.
VM FŐ 3NF dekomp. algoritmus
def.59.o.
alg.61.o.
alg.66.o.
 
pl.62.o.
pl.71.o.

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, F és d-dekomp. Chase alg.VM eldöntésére.
Adott R, F és d-dekomp. FŐ eldöntésére algoritmus.
Adott R-rel.séma, F-ff.hz. BCNF-e? (definíció alapján)
Adott R-rel.séma, F-ff.hz. Naív alg. VM BCNF dekomp.
Adott R-rel.séma, F-ff.hz. Hatékony alg. VM BCNF dekomp.
Adott R-rel.séma, F-ff.hz. 3NF-e? (definíció alapján)
Adott R-rel.séma, F-ff.hz. Minimális fedés keresése.
Adott R-rel.séma, F-ff.hz. VM FŐ 3NF dekomp.alg..

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.) 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}.

c.)  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 SNC, KTMA sémákra.
c.) Az 1c. 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 az R veszteségmentes
     összekapcsolású felbontását BCNF sémákra (hatékony algoritmus).
     Bontsuk fel R-t függőségőrzően és veszteségmentesen 3NF sémákra.
     
 _____________________________________________________
12. gyak. (XII.13)
 - II.ZH

Segédeszköz: EA diái használhatók vezérfonálként.

Gépes része
1-4 feladat XML Xpath, XQuery (ZH-n inkább XPath)
Papíros része
5. feladat: Lekérdezések optimalizálása
               (rel.algebrán alapuló heurisztikus módszer)
6-7. feladat: Relációs adatbázisok tervezése: feladatok a
       fogalmak ellenőrzésére, és az algoritmusok alkalmazására.
6.f. A kulcsok kereséshez az attribútum halmaz lezártját kiszámoló algoritmus
      felhasználásával BCNF/3NF definíciója alapján ellenőrizzük BCNF/3NF-e.
7.f. Adott dekompozíció veszteségmentességének ellenőrzése algoritmussal.
Szorgalmi feladat: Adott dekompozíció függőségőrzésének ellenőrzése algoritmussal.
      Veszteségmentes BCNF dekompomponáló algoritmus (naív vagy hatékony
      változatának) alkalmazása. Adott függőségi halmaz min.fedésének megkeresése.

Minden feladat  2 pontos, össz.14 pont érhető el.
Előzetes ponthatárok:
Pont  0-5     6        7       8       9      10     11    12-14 
Jegy 1 2 2/3 3 3/4 4 4/5 5

Zh.eredmények, gyak.jegyek lezárása: dec.14 péntek EA-ig
PótZh: dec.18 kedd 12h-től 00-803 Progr.nyelvi labor
-- Az egyik (és csak az egyik) Zh javítható (pótolható), de a pótzh-n
   nemcsak javíthat, hanem ronthat is (vagyis lecseréli ennek a Zh-nak
   a jegyét a pótZh-n elért jegyre). Ha pótZh után valamelyik Zh még
   mindig elégtelen, akkor gyakjegy uv-val szerezhet gyakorlati jegyet.
   lásd A gyakorlati jegy megszerzésének feltételei