Tietokannan hallinta, syksy 2000, Harjoitus 3 (2.-5.10.)

Läsnäolo: 3 tehtävää

1. Toteutetaan relaatio WORKS_ON kasana ja rakennetaan sille hajautusrakenteinen oheishakemisto avaimena ESSN.

a) Mikä on tämän ratkaisun suhde viikon 2 tehtävässä 2 esitettyyn hajautusrakenteiseen tiedostoon (parempi/huonompi, missä suhteessa?).

b) Millaisen toteutustavan valitsisit relaatiolle, jos tarvitaan ryhmittelyä sekä projekteittain että henkilöittäin? (vrt. tehtävä 2.3).

2. Oletetaan, että henkilöstötietokannan relaation EMPLOYEE rivejä säilytetään kasana ja relaatiolle luodaan seuraavat hakemistot:
- ISAM-hakemisto attribuuttiparin (LNAME, FNAME) perusteella,
- ISAM-hakemisto attribuutille SSN,
- hajautusrakenteinen hakemisto attribuutille DNO.

a) Millainen tiedostorakenne on tuloksena? Hahmottele rakennetta riittävän täsmällisesti havainnollistava kuva tai esimerkki.

b) Selitä, miten hakemistoja voidaan käyttää hyväksi. Onko olemassa joitakin tyypillisiä käyttötilanteita, joita tämä hakemistorakenne ei palvele?

3. Oletetaan, että relaatiolle EMPLOYEE on rakennettu tehtävässä 2 mainitut hakemistot. Mitä tietuehakuja ja -päivityksiä sisältyy seuraaviin operaatioihin?

insert into EMPLOYEE values (...);
delete from EMPLOYEE where SSN = '123456789' or SSN = '333445555';
update EMPLOYEE set SALARY = SALARY * 1.1 where SSN = '123456789';
update EMPLOYEE set DNO = 4 where FNAME = 'John' and LNAME = 'Smith';

4. Oletetaan, että kertaluokan 5 B+ -puuhun (kaikissa solmuissa 2..4 avainta) lisätään järjestyksessä avainarvot 23, 65, 37, 60, 46, 92, 48, 71, 56, 59, 18, 21, 10, 74, 78, 15, 16, 20, 24.

a) Esitä rakenteen muodostuminen vaihe vaiheelta.

b) Tarkastele rakenteen muutoksia, kun siitä poistetaan avaimet 20, 18 ja 37.

5. Vertaile tiheän ISAM-hakemiston ja B+ -puuhakemiston tilantarvetta, kun oletetaan, että B+ -puuhakemiston solmujen täyttöaste on 70 % ja ISAM-hakemiston alimman tason jaksojen täyttöaste samoin 70 %. Hakemistoavain olkoon 10 tavua, tiedoston koko 1000000 tietuetta, tietueen pituus 40 merkkiä ja jakson koko 4 KB. Osoittimien pituuden arvion ja muut mahdollisesti tarvittavat oletukset voit tehdä itse.

6. Arvioi dynaamiseen ja laajentuvaan hajautukseen perustuvien hakemistojen tilantarve ja levyhakujen määrä tehtävän 5 kokoiselle tiedostolle.