Tietokannan hallinta, syksy 2000, Harjoitus 2 (25.-28.9.)

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

1. Hajautusrakenteisessa tiedostossa on B = 4 solua, hajautusavain on kokonaislukuarvoinen ja hajautin h on määritelty kaavalla h(v) = v mod B. Jaksoon mahtuu kolme tietuetta. Anna tiedostorakenteen sisältö, kun tiedostoon lisätään ensin avainarvoin 13, 8, 11, 24, 23, 15, 16, 20, 42 ja 43 varustetut tietueet tässä järjestyksessä ja siitä poistetaan lopuksi avainarvoilla 8, 15, 16 ja 24 varustetut tietueet.

2. Toteutetaan relaatio WORKS_ON hajautusrakenteisena tiedostona, hajautusavaimena ESSN. Kuinka määrittelisit hajauttimen (mieti 2-3 vaihtoehtoa)? Oletetaan, että ESSN-arvot ovat tässä suomalaisia henkilötunnuksia.

3. Miten toteuttaisit SQL-kyselyn

	select ESSN, count(PNO)
	from WORKS_ON  
	group by ESSN, 
kun relaation WORKS_ON rakenne on edellisen tehtävän mukainen? Montako levyhakua toteutus vaatii? Paljonko tarvitaan keskusmuistitilaa puskurisivuja varten?

4. Selitä seuraavien SQL-lauseiden toiminta luentojen sivulla 3 (luku 3) esitetyn relaation
emp(ssn, name, salary) tapauksessa:

a) update emp set name = 'Franck' where name = 'Frank';
b) update emp set name = 'Takala' where name = 'Hakala';
c) update emp set ssn = 9122 where ssn = 1122;

5. Luodaan harva ISAM-hakemistorakenne tehtävässä 1 mainituin avainarvoin (13, 8 jne) varustetuista tietueista. Oletetaan, että sivulle sopii kaksi perustietuetta tai kolme hakemistotietuetta. Rakenteen luontivaiheessa käytetään tässä 100 %:n täyttösuhdetta.

a) Anna rakenteen luontivaiheen jälkeinen sisältö. Selosta, miten rakenteesta poistetaan avainarvolla 23 varustettu tietue ja miten rakenteeseen lisätään avainarvolla 1, 2 ja 3 varustetut tietueet.

b) Anna esimerkki luontivaiheen jälkeen lisättävien tietueiden jonosta, joka täyttää seuraavan ehdon: Suoritettaessa lisäysten jälkeen hakuja tasaisesti kaikilla avainarvoilla levyhakujen määrän keskiarvo on kasvanut yhdellä verrattuna alkutilanteeseen (ennen lisäyksiä).

6. Olkoon tiedostossa 1 000 000 tietuetta, tietueen pituus 200 tavua ja sivun koko 4 KB. Käytetään ISAM-rakennetta luentojen sivulla 12 (luku 3) olevan laskelman osoittamassa muodossa (avainkenttä 12 tavua, sivunumero 4 tavua ja hakemistotietue kokonaisuudessaan 20 tavua). Arvioi tiedoston tilantarve jaksoina, kun tehdään luennolla esitettyyn laskelmaan verrattuna seuraavat muutokset:

a) perustason jaksot täytetään vain puoliksi (50 %),
b) säilytetään perustietueet kasassa ja rakennetaan sen päälle tiheä ISAM-hakemisto (hakemiston lehtitason sivujen täyttöaste tässäkin 50 %),
c) kuten b, mutta täyttöaste 80 %.