Läsnäolo: 3 tehtävää
Huom. Välikoe on keskiviikkona 3.11. klo 15-18 salissa Porthania I. Koealue käsittää luentojen sivuilla 1-181 tai harjoituksissa 1-5 esitetyt asiat. Viikolla 44 (1.-5.11.) ei pidetä luentoja eikä harjoituksia.
1. Luentojen hakemistorakenteita koskevan osuuden alussa mainittiin alustavana esimerkkinä kirjan lopussa usein esiintyvä sanahakemisto. Oletetaan, että kirjan sisältö ja mainittu hakemisto on toteutettu relaatiotietokantana. Hahmottele tarvittavat relaatiot ja esitä SQL-kysely, jolla saadaan selville, millä kirjan 'X' sivuilla kerrotaan a) kissoista, b) kissoista ja koirista. (Huom. Tässä ei siis ole vielä tarkoitus käyttää tietokannan varsinaisia hakemistoja, vaan pelkästään tavallisia relaatioita.) 2. Luodaan harva ISAM-hakemistorakenne avainarvoin 3, 5, 7, 9, 11, 13, 15, 17, 19 ja 21 varustetuista tietueista. Oletetaan, että sivulle sopii kaksi perustietuetta tai kolme hakemistotietuetta. Rakenteen luontivaiheessa käytetään 100 %:n täyttösuhdetta. Anna rakenteen luontivaiheen jälkeinen sisältö. Selosta, miten rakenteesta poistetaan avainarvolla 15 varustettu tietue ja miten rakenteeseen lisätään avainarvolla 1 varustettu tietue. 3. Luodaan henkilöstötietokannan EMPLOYEE-relaatioon hakemistorakenne seuraavin komennoin: modify EMPLOYEE to isam on LNAME, FNAME create unique index XSSN on EMPLOYEE(SSN) modify XSSN to hash on SSN create index XDNO on EMPLOYEE(DNO) Selosta komentojen merkitys. Millainen tiedostorakenne on tuloksena ja miten sitä voidaan hyödyntää? 4. Oletetaan, että relaatiossa EMPLOYEE on edellisessä tehtävässä esitetyn mukainen hakemistorakenne. Mitä tietuehakuja ja -päivityksiä sisältyy seuraaviin operaatioihin? insert into EMPLOYEE values (...) delete from EMPLOYEE where SSN = '123456789' update EMPLOYEE set SALARY = SALARY * 1.1 where SSN = '123456789' update EMPLOYEE set DNO = 4 where FNAME = 'John' and LNAME = 'Smith' 5. Luentojen sivulla 168 on laskettu tiedoston harvan ISAM-hakemistorakenteen koko, kun tiedoston perustietueet (1 milj. kpl) vievät kasarakenteeseen pakattuna 50000 kpl 4 KB:n sivuja ja hakemistotietueen pituus on 20 B. Harvassa hakemistossa lehtitasolle kertyi 100 000 sivua, koska perustiedostosivut täytettiin vain 50 %:sti. Pidetäänkin nyt perustietueet kasassa ja käytetään harvan hakemiston sijasta tiheää ISAM-hakemistoa. Arvioi tämän tiedostorakenteen koko, kun tiheän hakemiston lehtitasolla käytetään 50 %:n täyttösuhdetta. Entä 80 %:n täyttösuhteella? 6. Tarkastellaan harjoitusten 3 tehtävän 4 tietokantaa (kaaviot Henkilö, Kuollut, Aviopari ja Eronnut). Millaisia hakemistorakenteita loisit tietokantaan? Vaatimuksena on, että tehtävän a-kohdan kysely 'Melanie Griffithin aviomiesten nimet ja asianomaiset vihkipäivät' on tehokkaasti toteutettavissa. Selosta kyselyn toteutusperiaate.