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