Tietokannan hallinta, kevät 2001, Harjoitus 2 (2.-6.4.)

Läsnäolo: 3 tehtävää        (**)-merkitty tehtävä lasketaan kahdeksi

1. Hajautusrakenteisessa tiedostossa on B = 8 solua ja hajautin h on määritelty kaavalla
h(v) = v mod B. Jaksoon mahtuu kaksi tietuetta.
a) Anna tiedostorakenteen sisältö, kun tiedostoon lisätään ensin avainarvoin 60, 86, 40, 18, 92, 68, 71, 44, 11, 13, 76 ja 69 varustetut tietueet tässä järjestyksessä ja siitä poistetaan sitten avainarvoilla 68, 69, 71 ja 76 varustetut tietueet.
b) Mikä on levyhakujen määrän keskiarvo lisäysten jälkeen, kun tehdään haku satunnaisella avainarvolla? Entä poistojen jälkeen?

2. Mitkä yritystietokannan attribuuteista ovat a) sopivia, b) sopimattomia hajautusrakenteisen tiedoston perustaksi?
c) Anna kolme esimerkkiä erilaisista hajauttimen määritystavoista sopiviin attribuutteihin liittyen.

3. Toteutetaan relaatio WORKS_ON hajautusrakenteisena tiedostona, hajautusavaimena ESSN. Miten toteuttaisit seuraavan kyselyn? Montako levyhakua toteutus vaatii? Paljonko tarvitaan keskusmuistitilaa puskurisivuja varten?

    select ESSN, count(PNO)
    from WORKS_ON
    group by ESSN;
4. Selitä seuraavien SQL-lauseiden toiminta luentojen sivulla 3 (luku 4) 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 (60, 86 jne) varustetuista tietueista. Oletetaan, että sivulle sopii kaksi perustietuetta tai kolme hakemistotietuetta. Rakenteen luontivaiheessa käytetään tässä 100 %:n täyttöastetta.

a) Anna rakenteen luontivaiheen jälkeinen sisältö. Selosta, miten rakenteesta poistetaan avainarvoilla 69 ja 71 varustetut tietueet ja miten rakenteeseen sitten lisätään avainarvolla 20, 34 ja 22 varustetut tietueet.

b) Anna esimerkki luontivaiheen jälkeen lisättävien tietueiden jonosta, joka kasvattaa levyhakujen määrän keskiarvoa yhdellä alkutilanteeseen verrattuna. (Keskiarvon laskemiseksi oletetaan siis, että hakuja suoritetaan tasaisesti kaikilla tiedostossa kulloinkin olevilla avainarvoilla.)

6. Olkoon tiedostossa 1 000 000 tietuetta, tietueen pituus 200 tavua ja sivun koko 4 KB. Käytetään ISAM-rakennetta luentojen sivulla 15 (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ä 50 %),
c) kuten b, mutta täyttöaste 80 %.