Tiedonhallinta,loppukoe 27.3.2001

1. Mitä erilaisia vaihtoehtoja on tietueen (monikon) sisäiselle
esitysmuodolle? Tarkastele esimerkkinä relaation
   henkilo(nimi, osoite, henkilotunnus, ammatti, puolison_hetu)
monikkoja.							 9 p

Ratk.: Ks.  luennot, luku 2, s.  11-12.  Esimerkkitietueessa on
vaihtuvanmittaisia tietoja (nimi, osoite, mahdollisesti ammatti), joiden
takia ensimmäinen vaihtoehto (= kiinteänmittaiset kentät) ei ole
käytännössä hyvä.  Muita vaihtoehtoja:

- (2): vaihtuvanmittaiset kentät esitetään erottimin (alla "*"):

 |190171-1234|150270-4321|Mattila Matti K*Nimikatu 3, 00100 Hki*myyja|
 ---------------------------------------------------------------------

- (3): vaihtuvanmittaiset kentät esitetään pareina (pituus, sisältö):

 |190171-1234|150270-4321|15|Mattila Matti K|21|Nimikatu 3, 00100 ...
 ----------------------------------------------------------------
   ...	Hki|5|myyja|	
	------------

- (4): Oraclen tapa: kaikki kentät esitetään kolmikolla
	(attribuutin tunniste, pituus, sisältö):

 |1|11|190171-1234|2|11|150270-4321|3|15|Mattila Matti K|4|21|  ...
 -------------------------------------------------------------
   ...	Nimikatu 3, 00100|5|5|myyja|
	----------------------------

NULL-arvoa ei esitetä ollenkaan (tunnisteet mahdollistavat tämän).

- Lisäksi tulee kaikissa vaihtoehdoissa hallintatietoa: tietueen numero,
poistomerkintä, tietueen pituus yms.

Arvostelu: Vaihtoehdot 1-4: puuttuminen -2 p, vastauksen selkeys vaikuttaa.


2. a) Relaatiolle henkilo (vrt. tehtävä 1) on luotu tiheä B+
-puuhakemisto. Mikä on hakemiston korkeus ja tilantarve, kun relaatiossa
on 40000 monikkoa ja levyjakson koko on 2 KB? (Muut oletukset voit tehdä
itse.)

b) Vertaile B+ -puuhakemistoa vastaavaan ISAM-hakemistoon.	    12 p

Ratkaisu: 

a) Olkoon hetu avain, 10 merkkiä, puun ylläpidossa tarvittavan
osoittimen pituus 10 merkkiä, samoin lehtisivulla olevan dataosoittimen.

2 KB:n jaksoon mahtuu (avain, osoitin) -pareja 100 kpl, eli B+ -puun
kertaluokaksi tulee p=100. Solmujen rakenteet tarkemmin:

sisäsolmu:  101 osoitinta		1010 tavua
	    100 avainta			1000 tavua
	    kontrollitiedoille jää        38 tavua
 
lehtisolmu: 101 osoitinta		1010 tavua
	    101 avainta 		1010 tavua
	    osoitin velisolmuun		  10 tavua
	    kontrollitiedoille		  18 tavua

(Lehtisolmussa ehkä tarvitaan käytännössä pidemmät osoittimet kuin
sisäsolmuissa.) 

Vakaan tilan 0.69-täyttöasteen mukaan solmuissa olisi noin 70 avainta ja
osoitinta. Lehtitasolla on näin 572 solmua, seuraavalla tasolla 9 solmua
ja näiden yläpuolella (suhteellisen vajaa) juurisolmu.

Hakemiston korkeus on siis 3 ja tilantarve 582 x 2 KB = 1.164 MB.

b) Oletetaan sama osoitinpituus kuin a:ssa. Hakemiston alimmalla tasolla
käytetään täyttöastetta 50 %, ylemmillä 100 %. Alimmalla tasolla on näin
40000 / 50 = 800 jaksoa, seuraavalla 800 / 100 = 8 jaksoa ja ylimmällä
juuri (1 jakso). Hakemisto on tässäkin tapauksessa kolmitasoinen ja vie
tilaa 809 x 2 KB = 1.6 MB. (Täyttöasteet vaikuttavat ratkaisevasti
näihin laskelmiin.)

Kumpikin hakemisto sopii samanlaisiin kyselyihin. ISAM-hakemisto tulee
aikanaan uudelleen organisoitavaksi (paitsi jos alimman tason jaksoja
ketjutetaan ylivuotojaksoiksi, joista ei tule liian pitkiä). B+
-puuhakemisto mukautuu vähitellen muutoksiin.

Arvostelu: a) 7 p, b) 5 p (b:ssä ei edellytetä yhtä yksityiskohtaista
esitystä kuin a:ssa)

3. Mitä vaihtoehtoja on kahden relaation liitosoperaation toteutukselle,
jos kummallekaan relaatiolle ei ole hakemistoa? Selitä yksi vaihtoehto
yksityiskohtaisesti ja muiden pääperiaatteet.			15 p

Ratkaisu: Ks. luennot, luku 3, s. 17-23.
 
1) sisäkkäiset silmukat	
2) lomitusliitos
3) hajautusliitos

Arvostelu: yksityiskohtaisesti selitetty 9 p, muut 3+3 p
(Yksityiskohtaisia selityksiä ei juurikaan esitetty.)

4. a) Selitä elvytykseen käytettävän lokin tietuetyypit ja
lokitietueiden käyttö elvytyksessä.
b) Selitä lyhyesti seuraavat asiat/käsitteet: 
- tietosivun tunnustietueeseen talletetun lokitietueen järjestysnumeron
(PageLSN) merkitys,
- WAL-käytäntö.

Ratkaisu: a) Lokitietueet: luennot, luku 5, s.  19; käyttö selviää
elvytysalgoritmista s.  23 (write-tietue: alkukuva, jälkikuva; muut
tietueet: selviää, mitä elvytystoimenpiteitä tarvitaan). 

b) PageLSN: Ks. luennot, luku 5, s. 25; WAL: s. 21

Arvostelu: a) 8 p, b) 2+2 p (WAL oli käsitetty usein todella huonosti.)

5. Selitä lyhyesti käsitteet:
a) lukon granulaarisuus,
b) lukon korotus,
c) toistokelvoton luku (esimerkki mukaan!),
d) kaksivaiheinen lukituskäytäntö (2PL).		12 p

Ratk.:
a) Ks. luennot, luku 5, s.  44.  (lukituksen kohteen koko: tietoalkio,
rivi, sivu, ...)

b) Ks. luennot, luku 5, s. 40 (lukulukko kirjoituslukoksi; mahdollinen
vain, jos muilla transaktioilla ei ole mitään lukkoa ko. alkioon) 

c) Ks. luennot, luku 5, s. 31 (määritelmä), s. 29 tai 48 (esimerkkejä).

d) Ks. luennot, luku 5, s. 45.   (lukkojen varaus kasvuvaiheessa,
vapautus kutistumisvaiheessa; erilaisia muotoja)


Arvostelu: 3p / kohta