Tiedonhallinta I, syksy 1999, Harjoitus 10 (7.-9.12.)

Läsnäolo: 4 tehtävää

Huom. Nämä ovat kurssin viimeiset varsinaiset harjoitustehtävät. Itsenäisyyspäivän takia maanantain harjoituksia ei pidetä; maanantain ryhmiin kuuluvat voivat vierailla muissa ryhmissä. Luennot pidetään 7.12. ja 9.12. normaalisti.

2.välikoe pidetään keskiviikkona 15.12. klo 12-15 saleissa Porthania II (sukunimet A-O) ja Porthania III (sukunimet P-Ö). Koealue: luennot sivulta 182 kurssin loppuun sekä harjoitukset 6-10.


1. Tarkastellaan kaavion ABCD relaatiota r = {(2,2,5,6), (4,2,5,5),
(6,3,4,4)}. Mitkä seuraavista väitteistä pätevät?

a) r |= A -> BCD.	b) r |= B -> C.	    c) r |= BC -> D.
d) r |= D -> ABC.	

2. Tarkastellaan kaavion ABC relaatiota r = {(1,2,3), (1,2,5), (6,2,3)}.
Mitä funktionaalisia riippuvuuksia r:ssä on voimassa? 

3. Anna SQL-kysely, joka tutkii, onko kaavion ABCDE relaatiossa r voimassa
funktionaalinen riippuvuus BCD -> A.

4. Mitä funktionaalisia riippuvuuksia liittäisit kaavioon 

LUENTO-OPETUS (Luennoija, Virka, Huone, Puhelin, Kurssi, Viikonpäivä,
Klo, Sali)?

5. Anna algoritmi, joka määrää riippuvuusjoukolla F varustetulle
kaaviolle R avaimen. Sovella algoritmia kaavioon R = ABCD ja
riippuvuusjoukkoon F = {AB -> CD, BC -> AD, A -> B}.
(Attribuuttijoukon sulkeuman laskeva algoritmi oletetaan tunnetuksi,
luennot s. 313, 329.)

6.  Relaatio AIKATAULU(Juna, Lähtöasema, Lähtöaika, Tuloasema, Tuloaika)
sisältää tiedot päivittäin kulkevien junien aikatauluista siten, että
yhdellä rivillä esitetään junan kulku kahden peräkkäisen aseman välillä.
Kaavioon on asetettu seuraavat funktionaaliset riippuvuudet:

Juna Lähtöasema -> Lähtöaika Tuloasema
Juna Lähtöaika -> Lähtöasema
Juna Tuloasema -> Tuloaika Lähtöasema
Juna Tuloaika -> Tuloasema

a) Anna riippuvuusjoukon jokin minimipeite.
b) Määrää kaavion avaimet.
c) Onko kaavio Boyce-Codd-normaalimuodossa (BCNF)? 

7. Vastaa kurssikyselyyn: 
	a href="http://www.cs.helsinki.fi/kurssit/kyselyt/syksy_1999