ZAPOCET [2008-05-21] B, Reseno

Základní kurs podávající průřez problematikou. Jsou popsány tři úrovně pohledu na data. Konceptuální modelování je založeno na ER modelu, databázové modelování se zabývá podrobně teorií relačního modelu dat (algebra, kalkul, základy SQL, algoritmy návrhu relační databáze, normální formy) a principy objektově-relačního modelu. Transakční zpracování a paralelní přístup, algoritmy implementace relačních operací.
kukmuk
Matfyz(ák|ačka) level I
Příspěvky: 10
Registrován: 2. 2. 2009 20:20
Typ studia: Informatika Bc.

ZAPOCET [2008-05-21] B, Reseno

Příspěvek od kukmuk »

Reseni zadani B z 2008-05-21, http://siret.ms.mff.cuni.cz/skopal/data ... 0508/B.pdf.
1.Navrh relacnich schemat
  • Klice
  • Na hledani klicu potrebujeme minimalni pokryti, tedy a)Kanonicke pokryti F->D, F->U, F->Z, FK->R, FR->C, FR->D, FR->K, FR->U, FR->Z, K->C, D->Z, Z->D, Z->U b)Redukovane atributy u zavislosti, tedy: F->D, F->U, F->Z, FK->R, FR->C, FR->K, K->C, D->Z, Z->D, Z->U c)Odstraneni redundatnich zavislost: F->Z, FK->R, FR->K, K->C, D->Z, Z->D, Z->U Zavislosti z "c)" tvori minimalni pokryti. Dale nalezneme prvni klic: [code] CDFKRUZ->all /F->DUZ CFKR->all /FK->R CFK->all /K->C FK->all [/code] Tedy mame prvni klic "FK" Nalezneme zavislost FR->K, ktera nema prazdny prunik prave strany a prvniho klice. Redukujeme: [code] FR->all [/code] Druhy klic je FR. Zadne dalsi klice nejsou.
  • Redundantni atributy a zavislost
  • Viz "Klice".
  • Minimalni pokryti
  • Viz "Klice".
  • Synteza
  • Nejprve sloucime FZ z minimalniho pokryti podle levych stran, tedy: F->Z, FK->R, FR->K, K->C, D->Z, Z->DU Nyni tabulky podle FZ: [b]F[/b]Z, [b]FK[/b]R, [b]FR[/b]K, [b]K[/b]C, [b]D[/b]Z, [b]Z[/b]DU Synteza prevedla do 3NF (BCNF vadi ve FRK, ze FK->R), pokryti zavislosti synteza zachovava. Bezztratovost zachovana diky tabulce obsahujici klic.
2.Dotazovani
A)
Dotaz:

Kód: Vybrat vše

((TvKanal*Vysilani)*Porad)[Nazev, Kategorie]  %  Porad[Kategorie]
Vrati Nazev pro vsechny TvKanaly vysilajici vsechny kategorie poradu.
Strom:

Kód: Vybrat vše

TvKanal
        prirozene spojeni
Vysilani
                       prirozene spojeni
        Porad
                                               projekce (nazev, kategorie)
                                                                                    deleni
Porad
       projekce (kategorie)
Poradi:
  • prirozene spojeni (TvKanal, Vysilani)
  • prirozene spojeni (Porad)
  • projekce (nazev, kategorie)
  • projekce (kategorie)
  • deleni
B)
Porady, ktere se vysilaji na kanalech, ktere nejsou v relaci TvKanal nebo se na kanalech z relace TvKanal nevysilaji (nejsou v relaci Vysilani).

Dotaz neni bezpecny - obsahuje neomezene ohodnoceni promennych kvuli FA (vyskyt symbolu "pro vsechny").

Bezpecny dotaz je:

Kód: Vybrat vše

{(o) | Ex minutaz Ex kategorie ( Porad(o, minutaz, kategorie) & non ( Ex n ( (Ex vlastnik TvKanal(n, vlastnik)) & (Ex datum Vysilani(n, o, datum))  ))) }
Naposledy upravil(a) kukmuk dne 3. 5. 2009 22:07, celkem upraveno 2 x.
Uživatelský avatar
hkvm
Matfyz(ák|ačka) level II
Příspěvky: 50
Registrován: 3. 6. 2008 20:45
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Re: ZAPOCET [2008-05-21] B, Reseno

Příspěvek od hkvm »

kukmuk píše:
  • Klice
    Na hledani klicu potrebujeme minimalni pokryti, tedy
    a)Kanonicke pokryti
    F->D, F->U, F->Z, FK->R, FR->C, FR->D, FR->K, FR->U, FR->Z, K->C, D->Z, Z->D, Z->U
    b)Redukovane atributy u zavislosti (ty uz jsou redukovane v zadani), tedy:
    F->D, F->U, F->Z, FK->R, FR->C, FR->K, K->C, D->Z, Z->D, Z->U
    c)Odstraneni redundatnich zavislost:
    F->Z, FK->R, FR->K, K->C, D->Z, Z->D, Z->U
ad b) Jak to, že jsou atributy redukované už v zadání? Když vezmu to kanonické pokrytí, tak v závislostech FR->D, FR->U, FR->Z je redundantní atribut R, protože {F}+ = {D,U,Z} (a taky jsi je odebral).
kukmuk píše: [*]Redundantni atributy a zavislost
Viz "Klice".[/list]
Kde jsou tam vidět ty redundatní závislosti? Jestli tím myslíš ty, co zmizely mezi a) a c), resp. b) a c), tak to si myslím, že nejsou všechny, protože třeba F->Z je v tom kanonickém pokrytí redundatní taky (můžu jít F->D, D->Z a mám F->Z). Neredundantní se stane teprve když odstraníš F->D (které je redundantní taky). Ta redundance FZ a minimální pokrytí spolu nesouvisí až tak přímo, pro každý redundantní atribut je potřeba tu redundanci kontrolovat znovu při konstrukci min. pokrytí.

Se zbytkem řešení souhlasím. Díky, že to sem dáváš.
seby
Matfyz(ák|ačka) level I
Příspěvky: 42
Registrován: 31. 1. 2008 15:40
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Re: ZAPOCET [2008-05-21] B, Reseno

Příspěvek od seby »

CFK není klíč, je třeba ještě použít pravidlo K->C, čímž dostaneme opravdový klíč FK. Toto pravidlo už se potom nepoužije při hledání druhého klíče.
U stromu a pořadí bych měl stejnou připomínku, jako u varianty A (tak se tam kdažtak mrkněte).
U dotazu B) si opět myslím, že není třeba vypisovat nedůležité proměnné.
Souhlasím s hkvm.
Uživatelský avatar
mhb
Matfyz(ák|ačka) level II
Příspěvky: 50
Registrován: 3. 2. 2008 03:38
Typ studia: Informatika Ph.D.
Kontaktovat uživatele:

Re: ZAPOCET [2008-05-21] B, Reseno

Příspěvek od mhb »

hkvm píše: Kde jsou tam vidět ty redundatní závislosti? Jestli tím myslíš ty, co zmizely mezi a) a c), resp. b) a c), tak to si myslím, že nejsou všechny, protože třeba F->Z je v tom kanonickém pokrytí redundatní taky (můžu jít F->D, D->Z a mám F->Z). Neredundantní se stane teprve když odstraníš F->D (které je redundantní taky). Ta redundance FZ a minimální pokrytí spolu nesouvisí až tak přímo, pro každý redundantní atribut je potřeba tu redundanci kontrolovat znovu při konstrukci min. pokrytí.
Je otázka, co po Tobě v testu chce. Jako v lineární algebře je důležité, co začneš vyškrtávat, a podle toho Ti zbude jedna z ekvivalentních „bazí“. Podle mého není otázka situována na to, najít všechny „báze“ (možné větve výpočtu), ale pouze jedna stačí - nebo ne? Záleží to na interpretaci, takže se rád nechám přesvědčit o opaku.
Uživatelský avatar
hkvm
Matfyz(ák|ačka) level II
Příspěvky: 50
Registrován: 3. 6. 2008 20:45
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Re: ZAPOCET [2008-05-21] B, Reseno

Příspěvek od hkvm »

Otázka je:
Určete:
- redundantní atributy a závislosti
- minimální pokrytí
Moje interpretace je, že pro každou závilost mám říct, jestli je vzhledem ke kanonickému pokrytí redundantní, a potom z tohoto pokrytí některé redundantní závislosti vyškrtat tak, abych měl minimální pokrytí.

Nemám nejmenší potuchy, jestli je to opravdu to co se chce, ale dává mi to smysl, protože jinak jsou to otázky na to samé. Když si to zkusím v tom programu, co ho Skopal na stránkách odkazuje, tak taky určí všechny red. atributy vzhledem ke kanonické, a potom při vyškrtání upozorní na ty, co přestanou být redundantní a v min. pokrytí budou, takže bych to udělal stejně...
Odpovědět

Zpět na „DBI025 Databázové systémy“