Läsnäolo: 4 tehtävää
1. Tarkastellaan vielä viime viikon tehtävissä ja luennoilla käsiteltyä tietokantaa. a) Laadi SQL-kysely, joka tulostaa osaston nimen ja työntekijöiden lukumäärän niiltä osastoilta, joiden työntekijöiden keskipalkka on suurempi kuin 30000. b) Entä jos halutaan tulostaa vain kyseisten osastojen miespuolisten työntekijöiden lukumäärät? 2. a) Mitä yliavaimia ja avaimia on yksirivisellä relaatiolla? b) Luettele avaimet ja yliavaimet kaavion ABCDE relaatiolle r = {(1,2,3,4,3), (1,2,3,5,4), (1,1,3,5,3), (1,1,3,5,4)}. 3. Tarkastellaan relaatiokaaviota R(A,B,C), missä attribuuttien arvojoukot koostuvat positiivisista kokonaisluvuista. Anna kaavion R relaatio, jolla on täsmälleen kolme avainta: AB, BC ja AC. 4. Tarkastellaan kirjastojen tietokannan relaatiokaavioita TEOS(isbn, nimi, julkaisija) TEKIJAT(isbn, tekijan_nimi) JULKAISIJA(nimi, osoite, puhelin) KIRJA(isbn, kirjaston_tunnus, lkm) LAINAT(isbn, kirjaston_tunnus, kortin_numero, lainauspvm, erapvm) KIRJASTO(kirjaston_tunnus, kirjaston_nimi, osoite) LAINAAJA(kortin_numero, nimi, osoite, puhelin) Mitä eheysrajoitteita (avainrajoitteita, viite-eheysrajoitteita) kirjastotietokantaan pitäisi liittää? Määrittele rajoitteet SQL2-kielellä. Tarkastele erityisesti viiteavaimiin liittyviä eheyden korjaussääntöjä. Missä sarakkeissa voi olla tyhjäarvoja? 5. a) Miten SQL-kielessä esitetään relaatioiden r(ABC) ja s(BCD) luonnollinen liitos? b) Mitä voidaan sanoa kaavioiden R ja S luonnollisesta liitoksesta, kun R = S? 6. Tarkastellaan kaavion AB mukaista relaatiota r ja relaatiolauseketta r - P (S (r * R (r))), AB BltC BtoC missä * tarkoittaa luonnollista liitosta, R uudelleennimentäoperaatiota, P projektiota ja S valintaoperaatiota. Alaviitteissä lt on 'pienempi kuin' ja BtoC tarkoittaa attribuutin B nimeämistä C:ksi. a) Sovella lauseketta relaatioon r = P (EMPLOYEE). SEX, SALARY b) Selosta, millainen relaatio on lausekkeen arvona yleisessä tapauksessa, kun r on mielivaltainen. (Attribuutin B arvojoukko on numeerinen.) 7. Kirjoita seuraavat esimerkkitietokantaan liittyvät kyselyt relaatioalgebraa käyttäen: a) niiden työntekijöiden nimet, joilla on samaa etunimeä käyttävä perheenjäsen, b) niiden osastojen nimet, jotka eivät toimi yrityksen kaikilla toimipaikoilla. (Entä: '... toimivat kaikilla toimipaikoilla ...'?)