Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

Tietoa laitoksesta:

 

581334-4 Tietokannan hallinta


Kurssin lopputulokset (välikoe) - intranet
Ratkaisut ja arvosteluperusteet
Loppukoe 19.1.2001: tulokset - intranet

Ratkaisut ja arvosteluperusteet

Loppukoe 27.3.2001: tulokset - intranet

Ratkaisut ja arvosteluperusteet
Information for foreign students

Ajankohtaista

Tässä kerrotaan mm. luentoihin tai harjoituksiin liittyvistä poikkeusjärjestelyistä yms. kurssin aikana esille tulevista asioista. Kannattaa seurata! Uusin: 3.11.

18.9.
Ensimmäisen luentoviikon kalvokopiot (johdanto, luvun 2 alkuosa (ss. 1-24)) ovat nyt saatavissa pdf-muodossa kurssisivulta (4 kalvoa/sivu). Huom. Kansiossa on muutamia kuvia, joita ei ole pdf-tiedostoissa. Jatkossa pyrin saamaan pdf-tiedostot saataville aikaisemmin. Niitä täydennetään jatkossakin mahdollisesti vain kansiossa olevalla materiaalilla. Pdf-tiedoston lukemiseen tarvittavan ohjelmiston saa osoitteesta http://www.adobe.com/products/acrobat/readstep.html.

25.9.
Tehtävässä 2.6 sivun koko on tietysti 4KB (kuten luentojen sivulla 12 mainitaan) eikä 4MB!
12.10.
Viikon 41 luentojen (tapahtumanhallinta, elvytys) osuus E&N:ssa (hieman vaikea rajata!):
Tapahtumanhallinnan yleiset asiat: luvussa 19, erityisesti 19.1.-19.3.
Elvytys: luvussa 21, erityisesti 21.1 ja 21.3 (elvytysalgoritmi kohdassa 21.3.2, viittauksin kohtiin 21.3.1 (undo), 21.2.1 (redo) ja 21.5 (LSN)). Luvussa 21 E&N viittaa luvussa 20 oleviin samanaikaisuusasioihin; nämä täytyy yrittää tässä vaiheessa ohittaa.
Korjaus sivulle 7 (luku 5): operaation write_item(X, v) toinen askel tulee (tietysti) olla: X:=v (X on puskurisivulla)
13.10.
Huom. Harjoitusryhmässä 8 (to 12-14) EI hyväksytä enää vierailijoita muista ryhmistä.
20.10.
Tarkennus 2PL-käytäntöön (vrt. harjoitukset 6):
Ankara 2PL: kaikki lukot pidetään transaktion sitoutumiseen tai peruuntumiseen asti (= luentojen sivulla 45 esiintyvä rigorous-vaihtoehto eikä strict). Sivun 48 kohta 3 (toistokelvoton luku) osoittaa, miksi (tässähän olikin mainittuna pitkäaikainen lukulukko).
(Strict-määrityksiä on tavallaan useita, esim. vastaava kohta E&N:ssa johtaa helposti tuohon alkuperäiseen väljempään määrityksen.)
23.10.
Linkit harjoitustehtävien mallivastauksiin on nyt lisätty harjoitustehtävien linkkien perään. Kiitos Anna Pienimäelle! (Vastausten täydellistä tarkistusta l. oikolukua ei ole tehty. Ne auttavat kuitenkin varmaan kokeeseen valmistautumisessa - sitä enemmän, mitä paremmin itse kukin on tehnyt tehtävät jo harjoitusten yhteydessä!)
3.11.
Harjoitusosallistumisen tarkistuslista (intranet) on nyt nähtävissä. Mahdolliset huomautukset harjoitusryhmän assistentille tai luennoijalle.

Harjoitustehtävät


Luentokalvot

Kalvotekstit (ja osa kuvia) pyritään tallentamaan pdf-muodossa saataviksi (4 kalvoa/sivu), linkit alla. Luentomapissa voi olla täydentävää materiaalia, tarkista myös se säännöllisesti.

Yleistä

Kurssi on tietojenkäsittelyopin cum laude approbaturin pakollinen kurssi, laajuudeltaan 2 opintoviikkoa. Kurssi on merkitty opintojen ajoitusmallissa toisen lukuvuoden kevätlukukaudelle eli vuonna 1999 uusien vaatimusten mukaan aloittaneille varsinaisesti tarkoitettu kurssi on vasta ensi kevään kurssi. Kurssi pidettäneen jatkossakin joka lukukaudella.

Nyt ensimmäisen kerran pidettävälle kurssille voivat osallistua sekä uusien että vanhojen vaatimusten mukaan opiskelevat, kunhan esitiedot (Tietorakenteet, Tietokantojen perusteet - tai Informaatiojärjestelmät) ovat hallinnassa.

Vanhojen vaatimusten mukaan opiskeleville kurssi korvaa puolet vanhasta kurssista Tiedonhallinta; toinen puolikas on suoritettava laudaturkurssilla Tietokannan mallinnus (ensimmäisen kerran tämän syksyn toisella periodilla alkaen 24.10.).

Sisältö ja tavoite. Tavoitteena on antaa perusteellinen yleiskuva tiedonhallinnan keskeisistä tekniikoista, erityisesti tietokannanhallintajärjestelmän toiminnan kannalta. (Tietokannan suunnittelua käsitellään kurssilla Tietokannan mallinnus.)

Sisällön pääkohdat.
(Alla olevat viittaukset Elmasrin ja Navathen kirjaan ovat toistaiseksi epätarkkoja ja annettu vain mahdollista etukäteistutustumista varten. Tarkemmat rajaukset annetaan myöhemmin.)

  1. Johdanto (tietokanta, tietokannanhallintajärjestelmä)
    Ks. EN, Chs. 1-2; hyvin lyhyt kertaus; myös kurssin Tietokantojen perusteet materiaalin t. monisteen alkuosa sisältää olennaisesti samat asiat.
  2. Tietokannan tallennus- ja hakumenetelmät
    Ks. EN, Chs. 5-6.
  3. Kyselyjen optimointi
  4. Transaktionhallinnan perusteet
  5. muuta?

Esitiedot. Tietokantojen perusteet (tai Informaatiojärjestelmät), Tietorakenteet.

Luennot: Prof. Hannu Erkiö 12.9.-19.10. TI 12-14, TO 10-12 Auditorio

Harjoitusryhmät: 18.9.-27.10.

	  1. Tuntiop. Anna Pienimäki                   MA 10-12 A217
          2. Tuntiop. Janne Kraft                      TI 10-12 A319
          3. Tuntiop. Janne Rinta-Mänty                TI 16-18 A216
          4. Tuntiop. Anna Pienimäki                   KE  8-10 A217
          5. Tuntiop. Anna Pienimäki                   TO  8-10 A216
          6. Tuntiop. Janne Rinta-Mänty                TO  8-10 A318
          7. Tuntiop. Janne Kraft                      TO  8-10 B453
          8. Tuntiop. Janne Kraft                      TO 12-14 A216

Välikoe: ke 1.11.2000 klo 14-18 salissa Porthania I.

Suorittaminen. Kurssi suoritetaan joko sen lopussa pidettävällä välikokeella ja osallistumalla aktiivisesti harjoituksiin kurssin aikana tai loppukokeella. Välikokeesta voi saada enintään 50 pistettä ja harjoituksista enintään 10 pistettä, yhteensä siis 60 pistettä. Hyväksymiseen vaaditaan noin 30 pistettä, joista välikokeesta vähintään noin 25 pistettä.

Välikokeilla suoritettaessa harjoitukset ovat pakollisia, enintään 2 poissaoloa sallitaan. Kaikkiin harjoituksiin osallistuminen on kuitenkin hyvin suositeltavaa ja varmistaa parhaiten asioiden omaksumisen. Läsnäolo tarkoittaa, että oppilas on tehnyt vähintään tehtävien yhteydessä ilmoitetun osan (yleensä puolet) harjoituskerran tehtävistä, on paikalla niiden käsittelyn ajan ja esittää pyydettäessä ratkaisun taululla tai piirtoheittimellä.

Harjoituksista saa lisäpisteitä suoritettujen tehtävien mukaan seuraavasti: noin 1/3 tehtävien maksimimäärästä tuottaa 1 pisteen ja noin 5/6 tuottaa 10 pistettä. Muut pisteet määräytyvät suunnilleen lineaarisesti ääripäiden väliltä. Lisäpisteisiin otetaan mukaan myös niiden harjoitusten suoritetut tehtävät, joissa oppilas on tehnyt vähemmän kuin läsnäoloon vaadittavan määrän tehtävistä.

Kotisivu: http://www.cs.helsinki.fi/~erkio/tiha/

Oppimateriaali. Pääosa luennoilla käsiteltävistä asioista sisältyy oppikirjaan: R. Elmasri & S. B. Navathe: Fundamentals of Database Systems, 3rd edition (Addison-Wesley, 2000).
Mahdollinen ryhmätilaus: ks. sivun yläosa!
Kirjan edellinen laitos (v. 1994) on kurssin kannalta jokseenkin yhtä käyttökelpoinen. Kirjaa ei kuitenkaan käsitellä kokonaan (osa on käsitelty jo kurssilla Tietokantojen perusteet ja osa asioista kuuluu kurssille Tietokannan mallinnus) ja eräät asiat käsitellään kurssilla hieman eri tavalla kuin kirjassa.

Luentojen kalvomateriaali on saatavissa kurssimapissa, ensimmäinen erä (12.9) nyt.

Seuraavan viikon harjoitustehtävät ovat jaossa viimeistään torstain luennolla ja huoneen A413 lokerikossa viimeistään torstaina. Harjoitustehtävät voi yleensä kopioida myös kurssin kotisivulta.

Kurssin tarkempi sisältö. (E&N = Elmasri & NAvathe, 3th edition)

  1. Johdanto
    (hyvin lyhyt yhteenveto; E&N 1-2)
  2. Tietokannan tallennusrakenteet
    1. Levymuisti ja sen käyttö
    2. Tietokannan tiedostorakenne
    3. Järjestämätön peräkkäistiedosto (kasa)
    4. Järjestetty peräkkäistiedosto
    5. Hajautukseen perustuva tiedostorakenne
      = suunnilleen E&N, Ch. 5 paitsi: 5.2.2, 5.3, 5.9.1 (esitietoa)
  3. Tietokannan hakemistorakenteet
    1. Yksitasoiset hakemistot
    2. Monitasoiset hakemistot
    3. Dynaamiset hakemistorakenteet
      = suunnilleen E&N, Ch. 6 paitsi: Alg. 6.2 (yksityiskohdat), 6.4, 6.5
  4. Kyselyjen käsittely ja optimointi
    1. Yleisiä periaatteita
    2. Heuristinen optimointi
    3. Valintaoperaation toteutus
    4. Projektio-operaation toteutus
    5. Liitosoperaation toteutus
    6. Muut operaatiot
    7. Kustannuslaskentaan perustuva optimointi
    8. Semanttinen kyselynoptimointi
    9. Kyselyn optimointi Oraclessa
      = E&N, Ch. 18; yksityiskohtia on ohitettu, eniten kohdissa 18.4.3-4
  5. Tapahtumien hallinta
    1. Yleistä: transaktion idea, tilat,ACID-ominaisuudet
    2. Tietokannan elvytys
      • häiriötilanteet
      • välitön/viivästetty päivitys, WAL-käyäntö
      • loki, alkukuva, jälkikuva, tarkistuspiste
      • elvytysalgoritmi, undo, redo
    3. Samanaikaisuuden hallinta
      • ajoitukset: sarjallinen, rinnakkainen, sarjallistuva
      • konfliktoivat operaatiot
      • eristyvyysanomaliat: likainen kirjoitus, likainen luku, toistokelvoton luku
      • lukituskäytäntö: lukot, lukkotaulu, transaktiotaulu
      • kaksivaiheinen lukituskäytäntö (2PL)
      • lukitus ja hakemistot
      • lukkiutuma
    = E&N, Chs. 19-21:
    - yleistä, Ch. 19, erityisesti 19.1.-19.3.
    - elvytys, Ch. 21, erityisesti 21.1., 21.3. osin 21.2.1 ja 21.5
    - samanaikaisuuden hallinta, Ch. 19.5.1, 19.5.3, 19.6, 20.1 (20.1.3 vain pääosin), 20.5.1

Oheismateriaalia. ...


Hannu.Erkio@cs.Helsinki.FI