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