Elvytys. R & G Chapter Tietokannan hallinta, kevät 2006, J. Li 1

Koko: px
Aloita esitys sivulta:

Download "Elvytys. R & G Chapter Tietokannan hallinta, kevät 2006, J. Li 1"

Transkriptio

1 Elvytys R & G Chapter Tietokannan hallinta, kevät 2006, J. Li 1

2 Motivaatio Atomisuus: Transaktiot voivat päättyä peruutukseen ( Rollback ). Pysyvyys: Entä jos TKHJ kaatuu? (Syyt?) Halutut ominaisuudet kaatumistilanteessa: T1, T2 & T3 tulee olla pysyviä. T4 & T5 tulee peruuttaa (muutokset eivät näkyviä). crash! Tietokannan hallinta, kevät 2006, J. Li 2 T1 T2 T3 T4 T5

3 Häiriötilanteita Tietokonejärjestelmä romahtaa (system crash) laitteisto, ohjelmisto tai tietoliikennevirheen takia. Yleensä keskusmuistin (tietokantapuskurien) sisältöä menetetään. Yksittäisen transaktion suoritus keskeytyy ohjelman poikkeustilanteen (nollalla jako tms.) tai loogisen ohjelmavirheen takia. Käyttäjä voi myös keskeyttää kyselyn suorituksen väkivalloin Tietokannan hallinta, kevät 2006, J. Li 3

4 Häiriötilanteita 2 Transaktion suoritus keskeytetään hallitusti; esim. transaktion (proseduurin) koodissa suoritetaan jonkin ehdon seurauksena rollback pyyntö. Jos ei esimerkiksi ei löydy transaktion tarvitsemaa syötettä tai se on virheellinen. Samanaikaisuuden hallinnan alijärjestelmä joutuu keskeyttämään transaktion, jotta muut transaktiot voisivat edetä (lukkiutuma tai jokin lievempi suoritus järjestykseen liittyvä häiriö) Tietokannan hallinta, kevät 2006, J. Li 4

5 Häiriötilanteita 3 Levyvirhe on turmellut levyn sisältöä. (harvinaista) Ulkopuolinen häiriötekijä (operointivirhe,, sähkökatko) keskeyttää transaktion. (harvinaista) Yllä olevien kohdalla elvytys voi sisältää edellisen varmuuskopion (ajanhetkeltä t) käyttöönoton; Lokin avulla voidaan mahdollisesti suorittaa uudelleen (redo) hetken t ja häiriöajankohdan välillä suoritetut toiminnot Varmuuskopion ja lokin tulisi olla esim. nauhalla tallessa (levyvirhe ) Tietokannan hallinta, kevät 2006, J. Li 5

6 Oletukset Käytetään samanaikaisuudenhallintaa. Oletetaan käytössä olevan tiukka 2PL (strict 2PL). Päivityksissä uusi tieto korvaa vanhan tiedon. Mikä tällöin olisi helppo menetelmä atomisuuden ja pysyvyyden takaamiseksi? Tietokannan hallinta, kevät 2006, J. Li 6

7 Puskurisivujen hallinta Pakotetaan jokainen kirjoitus levylle? Huono vasteaika. Takaa pysyvyyden. Varastetaan puskurisivuja sitoutumattomilta? Jos ei, huono läpimenoaika. Entä atomisuuden takaaminen? Pakota Älä pakota Älä varasta Triviaali Varasta Haluttu Tietokannan hallinta, kevät 2006, J. Li 7

8 Lisää varastamisesta Varasta (Atomisuuden takaaminen?) Varastetaan puskurikehys F: Nykyinen sivu F:ssä (olkoon P) kirjoitetaan levylle; jollain transaktiolla lukko P:hen Mitä tehdään jos transaktio peruuntuu? Pitää muistaa tietoalkion vanha arvo ennen sivun varastamista (tarvitaan kirjoitetun sivun P muutosten perumiseen (undo)) Tietokannan hallinta, kevät 2006, J. Li 8

9 Lisää pakottamisesta Älä pakota (Pysyvyyden takaaminen?) Entä jos järjestelmä kaatuu ennen kuin muutoksia sisältävä sivu ehditään kirjoittamaan levylle? Kirjoitetaan mahdollisimman vähän sitoutumisen yhteydessä ja tarjotaan tapa uudelleen suorittaa muutokset (redo) Tietokannan hallinta, kevät 2006, J. Li 9

10 Perusidea: loki Tallennetaan REDO ja UNDO informaatio jokaisesta muutoksesta lokiin. Peräkkäistalletuksena kasarakenteeseen (talletus eri levylle kuin tietokanta). Mahdollisimman vähän tietoa muutoksesta, joten useita muutoksia mahtuu yhdelle sivulle. Loki: Järjestetty lista REDO/UNDO operaatioita Lokitietue sisältää: <XID, pageid, offset, length, old data, new data> Sekä muuta hallintotietoa Tietokannan hallinta, kevät 2006, J. Li 10

11 Loki Loki (log) on peräkkäistiedosto, jonne viedään tapahtuman aloituskirjauksia (start,t) muutoskirjauksia (write,t,x,v1,v2): tapahtuma T on muuttanut tietoalkion x vanhan arvon v1 (alkukuva, before image) uudeksi arvoksi v2 (jälkikuva, after image) sitoutumiskirjauksia (commit,t): tkhj on sitoutunut keskeytyskirjauksia (abort,t): tkhj on peruuttanut tarkistuspisteitä (checkpoint) [ lukukirjauksia (read,t,x) ei tarvita elvytyksessä] Tietokannan hallinta, kevät 2006, J. Li 11

12 Lokitietueet Lokitietueen kentät: päivitys tietueilla prevlsn transid type pageid length offset before image after image Compensation Log Records (CLRs) Peruutusoperaatioita varten Tietokannan hallinta, kevät 2006, J. Li 12

13 Write Ahead Logging (WAL)) Protokolla: 1. Päivityksen lokikirjaus pakotetaan levylle ennen kuin muutokseen liittyvä tietosivu kirjoitetaan levylle. 2. Kirjoitetaan kaikki transaktioon liittyvät lokikirjaukset levylle ennen transaktion sitoutumista. #1 takaa atomisuuden. #2 takaa pysyvyyden. Kuinka lokikirjauksia käytetään elvytyksessä? Tutkimme ARIES algoritmia Tietokannan hallinta, kevät 2006, J. Li 13

14 WAL & Loki Jokaisella lokitietueella yksikäsitteinen tunnistenumero eli Log Sequence Number (LSN). Jokaisella tietosivulla on sivutunniste eli pagelsn = Viimeisimmän sivuun muutoksia sisältävän lokitietueen LSN. Järjestelmä ylläpitää tietoa viimeisimmästä levylle kirjoitetusta lokitietueesta tunnuksessa flushedlsn. WAL: Ennen sivun kirjoitusta, pagelsn flushedlsn Tietokannan hallinta, kevät 2006, J. Li 14

15 Muita lokiin liittyviä tietorakenteita Transaktiotaulu: Jokaisella transaktiolla yksi rivi sisältäen transaktion tunnisteen XID, tilan (running/commited/aborted), ja lastlsn. Likaisten sivujen taulu: Jokaisella puskurisivulla yksi rivi, sisältäen reclsn sen lokitietueen LSN, joka ensimmäisenä aiheutti sivun muuttumisen likaiseksi Tietokannan hallinta, kevät 2006, J. Li 15

16 Transaktion normaali suoritus Joukko luku ja kirjoitusoperaatioita, joita seuraa peruutus tai sitoutumisoperaatio. Oletetaan että kirjoitus on atominen levylle. Käytössä tiukka 2PL (Strict 2PL). Varasta, älä pakota puskurinhallinta käyttäen Write Ahead Logging Tietokannan hallinta, kevät 2006, J. Li 16

17 Transaktion peruutus Oletetaan että transaktio suorittaa abort operaation. Käydään läpi lokia lopusta alkuun päin peruuttaen tehdyt muutokset. Haetaan transaktion lastlsn transaktiotaulusta. Lokitietueiden ketjua voidaan seurata taaksepäin käyttäen prevlsn kenttää. Ennen peruutuksen aloitusta, kirjoitetaan abort tietue lokiin Tietokannan hallinta, kevät 2006, J. Li 17

18 Peruutus, jatkoa. Peruutuksen tekemiseen tarvitaan lukko tietoalkioon (ei ongelma!) Ennen vanhan arvon palautusta kirjoita CLR: Jatketaan siis peruutuksessa lokikirjauksia!! CLR sisältää ylimääräisen kentän: undonextlsn Viite seuraavaan LSN:ään joka perutaan (eli käsittelyssä olevan tietueen prevlsn kentän arvo). CLRs ei koskaan peruta (saatetaan toistaa!) Peruutuksen loputtua kirjoitetaan end tietue Tietokannan hallinta, kevät 2006, J. Li 18

19 Transaktion sitoutuminen Kirjoitetaan commit tietue lokiin. Kaikki transaktion lokitietueen aina lastlsn:ään asti kirjoitetaan levylle. Takaa että flushedlsn lastlsn. Lokikirjaukset ovat synkronisia peräkäisiä levyoperaatioita. Useita lokitietueita/sivu. Commit() palaa. Kirjoitetaan end tietue lokiin Tietokannan hallinta, kevät 2006, J. Li 19

20 Tarkistuspiste (checkpoint) Tarkistuspisteessä viedään levylle asti kaikki puskureissa olevat tietokantasivujen päivitykset seuraavien häiriöiden yhteydessä tarvittavat elvytystoimenpiteet vähenevät Tarkistuspiste sisältää seuraavat toiminnot: 3. estetään väliaikaisesti transaktioiden suoritus 4. pakkokirjoitettaan kaikki transaktioiden päivittämät sivut puskurista levylle 5. kirjoitetaan lokiin tarkistuspistekirjaus ja pakkokirjoitettaan loki levylle 6. sallitaan transaktioiden jatkaa suoritustaan Tietokannan hallinta, kevät 2006, J. Li 20

21 Elvytyksen periaatteet Peruutetaan (undo) ne muutokset, joita keskeytyneet transaktiot ovat tehneet levyille. Suoritetaan uudelleen (redo) sellaisten sitoutuneiden transaktioiden suorittamat tietokantapäivitykset, joita ei häiriön sattuessa ollut ehditty kirjoittaa levylle (vaan vasta puskurissa olevaan sivuun) Tietokannan hallinta, kevät 2006, J. Li 21

22 Elvytysalgoritmi 1. luetaan lokia levyltä ja muodostetaan kaksi transaktiolistaa: Keskeneräiset = transaktiot, joille on lokissa aloituskirjaus (start), mutta ei sitoutumiskirjausta (commit) eikä viimeistä tarkistuspistettä edeltävää keskeytyskirjausta (abort) keskeytyskirjaus ennen tarkistuspistettä: muutosten peruutukset on merkitty puskuriin ja huomattu tarkistuspisteessä Sitoutuneet = transaktiot, joille on lokissa sitoutumiskirjaus viimeisen tarkistuspisteen jälkeen Tietokannan hallinta, kevät 2006, J. Li 22

23 Elvytysalgoritmi, peruutusvaihe 2. Perutaan keskeneräiset listan transaktioiden kirjoitus operaatiot selaamalla lokia lopusta alkuun päin: Jokaista löytyvää muutoskirjausta (write,t,x,vanha,uusi) kohti suoritetaan operaatio write(x, vanha) (palautetaan tietoalkion x alkukuva voimaan), jos LSN <= pagelsn Tietokannan hallinta, kevät 2006, J. Li 23

24 Elvytysalgoritmi, toistovaihe 1. Uusitaan sitoutuneet listan transaktioiden kirjoitus operaatiot selaamalla lokia alusta loppuun päin: jokaista löytyvää muutoskirjausta (write,t,x,vanha,uusi) kohti suoritetaan operaatio write(x, uusi) (saatetaan siis tietoalkion jälkikuva uudelleen voimaan), jos LSN > pagelsn Tietokannan hallinta, kevät 2006, J. Li 24

25 Perusteluita Ennen tarkistuspistettä suoritettua kirjoitusoperaatiota ei tarvitse uusia (esimerkissä rivi 5), sillä se on tarkistuspisteessä hoidettu levylle. Tarkistuspisteen jälkeen tehtyä kirjoitusoperaatiota, jonka tulos on ehtinyt levylle ennen häiriötilannetta, ei tarvitse uusia Myös perumiskirjoitus (undo) voi olla turha, sillä sellaisia kirjoituksia, joiden tulos ei ole ehtinyt levylle, ei tarvitse perua Uusimis /perumiskirjoituksen tarve selviää vertaamalla lokitietueen tunnusta (LSN) ja datasivun pagelsn kenttää: undo tarvitaan, jos LSN <= pagelsn redo tarvitaan, jos LSN > pagelsn Tietokannan hallinta, kevät 2006, J. Li 25

26 Esimerkki Jos pagelsn(x1) = 10, pagelsn(x2) = 7, niin vain write(x1, CCC ) tarvitaan 1: (start, T1) 2: (start, T2) 3: (write, T1, x1, AAA, BBB ) 4: (commit, T1) 5: (write, T2, X1, BBB, CCC ) 6: (checkpoint) 7: (write, T2, x2, 0000, 1111 ) 8: (start, T3) 9: (commit, T2) 10: (write, T3, x1, CCC, DDD ) 11: (write, T3, x2, 1111, 2222 ) Elvytysalijärjestelmä lukee lokia levyltä ja muodostaa listat L1 = <T3>, L2 = <T2> peruu transaktion T3 operaatiot suorittamalla: {write(x2, 1111 ) (11)} write(x1, CCC ) (10) suorittaa uudelleen transaktion T2 operaatiot {write(x1, CCC ) (5)} {write(x2, 1111 ) (7)} Tietokannan hallinta, kevät 2006, J. Li 26

27 Häiriö kesken elvytyksen? Häiriö voi sattua myös kesken elvytyksen Tällöin oleellista on, että elvytysprosessin peräkkäiset suoritukset tuottavat saman tuloksen Edellä kuvattu elvytys ei kirjaa lokiin mitään, joten siinä lähdetään uudelleen liikkeelle samasta lähtötilanteesta, pagelsn kentät sivuilla ovat voineet muuttua, jos sivu on viety levylle, mutta lopputulos on sama. Käytännössä kirjataan peruutusten yhteydessä lokiin yleensä myös kompensaatiomerkintöjä (CLR), joista näkee mitä peruutuksia on tehty. Näitä ei kuitenkaan tarvita elvytyksessä. Elvytyksestä on erilaisia muunnelmia riippuen siitä minkälaista puskurien levykirjoituspolitiikkaa käytetään Tietokannan hallinta, kevät 2006, J. Li 27

Helsingin yliopisto/tktl Tietokannan hallinta, kevät Harri Laine 1 D B. Transaktionhallinta. Transaktionhallinta. Transaktionhallinta

Helsingin yliopisto/tktl Tietokannan hallinta, kevät Harri Laine 1 D B. Transaktionhallinta. Transaktionhallinta. Transaktionhallinta (transaction management) on keskeinen tekijä tietokannan samanaikaisen käytön ja virheistä toipumisen kannalta. Useat prosessit voivat käsitellä tietokantaa samanaikaisesti Jos tietokoneessa on vain yksi

Lisätiedot

D B. Transaktionhallinta

D B. Transaktionhallinta (transaction management) on keskeinen tekijä tietokannan samanaikaisen käytön ja virheistä toipumisen kannalta. Useat prosessit voivat käsitellä tietokantaa samanaikaisesti Jos tietokoneessa on vain yksi

Lisätiedot

Tietokantarakenteet ja -algoritmit 3. harjoitus

Tietokantarakenteet ja -algoritmit 3. harjoitus Tietokantarakenteet ja -algoritmit 3. harjoitus Malliratkaisut 1. Analyysivaiheen alussa alustetaan aktiivisten transaktioiden taulu (tyhjä) ja päivitettyjen sivujen taulu (samoin tyhjä) tarkistuspisteestä.

Lisätiedot

5. Tapahtumien hallinta. Esim. pankkitilisovelluksen proseduuri tilisiirto(t1, t2, x), joka siirtää x mk tililtä t1 tilille t2:

5. Tapahtumien hallinta. Esim. pankkitilisovelluksen proseduuri tilisiirto(t1, t2, x), joka siirtää x mk tililtä t1 tilille t2: Tietokannan hallinta 1 5. Tapahtumien hallinta Tietokannan hallinta 2 5. Tapahtumien hallinta 5. Tapahtumien hallinta = transaction management (yleistä: E&N, Ch. 19) kaikkien tietokantajärjestelmien keskeinen

Lisätiedot

Lisätään avainarvo 6, joka mahtuu lehtitasolle:

Lisätään avainarvo 6, joka mahtuu lehtitasolle: Helsingin Yliopisto, Tietojenkäsittelytieteen laitos Tietokannan hallinta, kurssikoe 11.6.2004, J. Lindström Ratkaisuehdotuksia 1. Hakemistorakenteet, 15p. Tutkitaan tyhjää B+-puuta, jossa jokaiselle hakemistosivulle

Lisätiedot

Lisätään avainarvo 1, joka mahtuu lehtitasolle:

Lisätään avainarvo 1, joka mahtuu lehtitasolle: Helsingin Yliopisto, Tietojenkäsittelytieteen laitos Tietokannan hallinta, kurssikoe 14.5.2004, J. Lindström Ratkaisuehdotuksia 1. Hakemistorakenteet, 15p. Tutkitaan tyhjää B+-puuta, jossa jokaiselle hakemistosivulle

Lisätiedot

Transaktioiden peruutus ja tietokannan elvytys häiriöstä

Transaktioiden peruutus ja tietokannan elvytys häiriöstä Transaktioiden peruutus ja tietokannan elvytys häiriöstä C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh & P. Schwartz: ARIES: a transaction recovery method supporting fine-granularity locking and partial

Lisätiedot

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento Transaktion / Tapahtuman hallinta... 2 Taustaa... 3 Tapahtuman käsite... 5 ACID-ominaisuudet... 7 Samanaikaisuuden hallinta... 8 Lukitukset... 9 Toipuminen... 10 Loki-tiedosto... 11

Lisätiedot

Lokin ylläpito ja puskurinhallinta

Lokin ylläpito ja puskurinhallinta Lokin ylläpito ja puskurinhallinta C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh & P. Schwartz: ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead

Lisätiedot

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely HAAGA-HELIA Heti-09 1 (14) Transaktionkäsittely Transaktion / Tapahtuman hallinta... 2 Taustaa... 3 Tapahtuman käsite... 5 ACID-ominaisuudet... 7 Samanaikaisuuden hallinta... 8 Lukitukset... 9 Toipuminen...

Lisätiedot

Sivupalvelin- ja yhteislevyjärjestelmät

Sivupalvelin- ja yhteislevyjärjestelmät Sivupalvelin- ja yhteislevyjärjestelmät C. Mohan & I. Narang 1994: ARIES/CSA: a method for database recovery in client-server architectures. Proc. of the 1994 ACM SIG- MOD Internat. Conf. on Management

Lisätiedot

Seminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen

Seminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen Seminaari: Keskusmuistitietokannat Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen Sisältö Johdanto Esiteltävien menetelmien taustoja Hajautetun tietokannan spekuloiva samanaikaisuuden

Lisätiedot

[c] What is the difference between a modified page and a dirty page? Mitä eroa on päivitetyllä sivulla ja likaisella sivulla?

[c] What is the difference between a modified page and a dirty page? Mitä eroa on päivitetyllä sivulla ja likaisella sivulla? CS-E4230 Transaction Management in DB Early Spring 2017 Tutorial No 2 (1/5) [0] [a] Why is it a good idea to keep the DB log on a separate disk? Miksi on hyvä pitää tietokannan loki omalla levyllään? [b]writing

Lisätiedot

R 2 [0] ei ole likainen luku, sillä avaimelle 0 on jo palautettu sen alkuperäinen arvo.

R 2 [0] ei ole likainen luku, sillä avaimelle 0 on jo palautettu sen alkuperäinen arvo. Tietokantarakenteet ja -algoritmit 5. harjoitus Malliratkaisut 1. B 1 : T 1 alkaa. I 1 [1]: T 1 :lle pitkäkestoinen X-lukko avaimeen 1 ja lyhytkestoinen X-lukko avaimen 1 seuraajaan. B 2 : T 2 alkaa. I

Lisätiedot

Transaktiot - kertausta

Transaktiot - kertausta Hajautettujen järjestelmien perusteet Transaktiot - kertausta Distributed Systems, Concepts and Design, George Coulouris, Jean Dollimore, Tim Kindberg Addison-Wesley 1988,1994. Pearson Education 2001 ISBN:

Lisätiedot

Transaktionhallinta. R & G Chapter Tietokannan hallinta, kevät 2006, J. Li 1

Transaktionhallinta. R & G Chapter Tietokannan hallinta, kevät 2006, J. Li 1 Transaktionhallinta R & G Chapter 17 16.02.06 Tietokannan hallinta, kevät 2006, J. Li 1 Transaktionhallinta ~ samanaikaisuus Tietokannalla on tyypillisesti useita samanaikaisia käyttäjiä (prosesseja).

Lisätiedot

Hajautettujen transaktioiden hallinta

Hajautettujen transaktioiden hallinta Hajautettujen transaktioiden hallinta M. Kifer, A. Bernstein & P. M. Lewis: Database Systems. An Application-Oriented Approach. Complete Version. Pearson Addison Wesley, 2006; sivut 1005 1028, luvun 24

Lisätiedot

Transaktionhallinta. Transaktionhallinta. Transaktionhallinta. R & G Chapter 17

Transaktionhallinta. Transaktionhallinta. Transaktionhallinta. R & G Chapter 17 R & G Chapter 17 ~ samanaikaisuus Tietokannalla on tyypillisesti useita samanaikaisia käyttäjiä (prosesseja). On toivottavaa, että: Yhdenkään käyttäjän toiminta ei hidastuisi kohtuuttomasti, vaikka muita

Lisätiedot

Muita transaktioiden hallintamenetelmiä

Muita transaktioiden hallintamenetelmiä Muita transaktioiden hallintamenetelmiä H. Berenson, P. Bernstein, J. Gray, J. Melton, E. O Neil & P. O Neil: A critique of ANSI SQL isolation levels. Proc. of the 1995 ACM SIG- MOD Internat. Conf. on

Lisätiedot

Samanaikaisuuden hallinta. tietokantapalvelimessa. Tiedonhallintaa. Alkuper. versio: Jaakko Rantanen Pieniä korjauksia: Jouni Huotari 26.2.

Samanaikaisuuden hallinta. tietokantapalvelimessa. Tiedonhallintaa. Alkuper. versio: Jaakko Rantanen Pieniä korjauksia: Jouni Huotari 26.2. Samanaikaisuuden hallinta tietokantapalvelimessa Tiedonhallintaa Alkuper. versio: Jaakko Rantanen Pieniä korjauksia: Jouni Huotari 1 Transaktiot eli tapahtuma(sarja)t 2 Transaktio (transaction) on DBMSn

Lisätiedot

Samanaikaisuuden hallinta. Optiot transaktionaalisissa työnkuluissa

Samanaikaisuuden hallinta. Optiot transaktionaalisissa työnkuluissa Samanaikaisuuden hallinta Optiot transaktionaalisissa työnkuluissa Sisältö Transaktionaaliset työnkulut Samanaikaisuuden ongelmat Optiot idea käyttökohteet WorkMan Optioiden toteutus Arviointi Transaktionaaliset

Lisätiedot

25.4.05. Helsingin yliopisto/tktl Tietokannan hallinta, kevät 2005. Harri Laine 1 D B. Transaktionhallinta - samanaikaisuus

25.4.05. Helsingin yliopisto/tktl Tietokannan hallinta, kevät 2005. Harri Laine 1 D B. Transaktionhallinta - samanaikaisuus Tietokannalla on tyypillisesti useita samanaikaisia käyttäjiä (= käyttäviä prosesseja). On toivottavaa, että yhdenkään käyttäjän toiminta ei hidastuisi kohtuuttomasti, vaikka muita käyttäjiä olisi runsaastikin

Lisätiedot

oheishakemistoja voi tiedostoon liittyä useita eri perustein muodostettuja

oheishakemistoja voi tiedostoon liittyä useita eri perustein muodostettuja Tietokantojen hakemistorakenteet Hakemistorakenteiden (indeksien) tarkoituksena on nopeuttaa tietojen hakua tietokannasta. Hakemisto voi olla ylimääräinen oheishakemisto (secondary index), esimerkiksi

Lisätiedot

D B. Transaktionhallinta - samanaikaisuus. Transaktionhallinta - samanaikaisuus. Transaktionhallinta - samanaikaisuus

D B. Transaktionhallinta - samanaikaisuus. Transaktionhallinta - samanaikaisuus. Transaktionhallinta - samanaikaisuus Tietokannalla on tyypillisesti useita samanaikaisia käyttäjiä (prosesseja). On toivottavaa, että yhdenkään käyttäjän toiminta ei hidastuisi kohtuuttomasti, vaikka muita käyttäjiä olisi runsaastikin yhdenkään

Lisätiedot

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto Tietokanta Tiedosto Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään

Lisätiedot

Tietokantarakenteet ja -algoritmit 6. harjoitus

Tietokantarakenteet ja -algoritmit 6. harjoitus Tietokantarakenteet ja -algoritmit 6. harjoitus Malliratkaisut 1.. a) T1 = B I[b, r 2, 0, 0] IX-lukitaan järjestelmä s, tietokanta b ja relaatio (b, r 2 ) (tässä järjestyksessä), X-lukitaan (b, r 2, 0)

Lisätiedot

D B. Tietokannan hallinta kertaus

D B. Tietokannan hallinta kertaus TKHJ:n pääkomponentit metadata TKHJ:ssä Tiedostojen käsittely puskurien rooli tiedostokäsittelyssä levymuistin rakenne ja käsittely mistä tekijöistä hakuaika muodostuu jonotus jos useita samanaikaisia

Lisätiedot

Tietohakemisto ja Transaktionkäsittely

Tietohakemisto ja Transaktionkäsittely HELIA TIKO-05 1 (18) Tietohakemisto ja Transaktionkäsittely Tietohakemisto...2 Oraclen tietohakemistonäkymät (osa)...3 Yleiset...3 Taulut...3 Säännöt...3 Näkymät...3 Synonyymit...4 Indeksit...4 Sekvenssit...4

Lisätiedot

Tietokantarakenteet ja -algoritmit Harjoitukset 1-12

Tietokantarakenteet ja -algoritmit Harjoitukset 1-12 Tietokantarakenteet ja -algoritmit Harjoitukset 1-12 Malliratkaisut 1 Harjoitus 1 1. Kukin DEPARTMENT-monikko d sijoitetaan omalle sivulleen. Sen seuraksi samalle sivulle sijoitetaan tähän liittyviä EMPLOYEE-monikoita

Lisätiedot

TIETOKANTOJEN PERUSTEET MARKKU SUNI

TIETOKANTOJEN PERUSTEET MARKKU SUNI TIETOKANTOJEN PERUSTEET MARKKU SUNI OSIO 01 Peruskäsitteitä Kurssin tavoite: antaa osallistujille valmiudet ymmärtää tietokantojen periaatteet ymmärtää tietokantojen suunnittelunäkökohtia osallistua tietokantojen

Lisätiedot

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007 Jaetun muistin muuntaminen viestin välitykseksi Otto Räsänen 15. lokakuuta 2007 1 Motivaatio 2 Valtuuden välitys Peruskäsitteitä 3 Kolme algoritmia Valtuuden välitys käyttäen laskuria ilman ylärajaa Valtuuden

Lisätiedot

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43 CS-A1150 Tietokannat 15.4.2019 CS-A1150 Tietokannat 15.4.2019 1 / 43 Oppimistavoitteet: tämän luennon jälkeen Tiedät, mitä tarkoitetaan hakemistolla ja mitä hyötyä hakemistosta on. Tiedät, miten voidaan

Lisätiedot

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja mikä tahansa tietokokoelma? --> erityispiirteitä Tietokanta vs. tiedosto 1

Lisätiedot

Tietokanta (database)

Tietokanta (database) Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja 1 Tiedosto Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään

Lisätiedot

Algoritmit 1. Luento 5 Ti Timo Männikkö

Algoritmit 1. Luento 5 Ti Timo Männikkö Algoritmit 1 Luento 5 Ti 24.1.2017 Timo Männikkö Luento 5 Järjestetty lista Järjestetyn listan operaatiot Listan toteutus taulukolla Binäärihaku Binäärihaun vaativuus Algoritmit 1 Kevät 2017 Luento 5 Ti

Lisätiedot

Looginen tietokanta ja transaktiot

Looginen tietokanta ja transaktiot Looginen tietokanta ja transaktiot A. Silberschatz, H. F. Korth & S. Sudarshan: Database System Concepts. Fifth Edition. McGraw-Hill, 2006, sivut 22 23, luvun 1 (introduction) kohta kohta 1.9 (transaction

Lisätiedot

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu 13.11.2000

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu 13.11.2000 HELIA 1 (15) Luento 2.7 Toiminnallisuutta tietokantaan... 2 Deklaratiivinen eheysvalvonta... 2 Proseduraalinen eheysvalvonta... 3 Eheysvalvonnan suunnittelusta... 4 Sääntöjen määrittely... 4 Toteutusvaihtoehdot...

Lisätiedot

HELIA TIKO-05 SQL-TRANSAKTIOT 1 ( 12) ICT03D Tieto ja tiedon varastointi

HELIA TIKO-05 SQL-TRANSAKTIOT 1 ( 12) ICT03D Tieto ja tiedon varastointi HELIA TIKO-05 SQL-TRANSAKTIOT 1 ( 12) SQL-transaktiot Lähes kaikissa tietojärjestelmissä tietojen talletus on toteutettu tietokannoissa, joita käytetään tietokannanhallintajärjestelmien (DBMS) palvelujen

Lisätiedot

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot) SQL sisältää operaatiot tietokannan sisällön muodostamiseen ja ylläpitoon: insert - uusien rivien vienti tauluun delete - rivien poisto update - rivien muutos 1 Insert lauseella on kaksi muotoa: insert

Lisätiedot

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1 Tietokannan hallinta Kevät 2004 Jan Lindström R&G Chapter 1 Tietokannan hallinta 1. Johdanto (käsitteitä) 2. Tietokannan talletusrakenteet 3. Tietokannan hakemistorakenteet 4. Kyselyiden käsittely ja optimointi

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

D B. Transaktionhallinta - samanaikaisuus

D B. Transaktionhallinta - samanaikaisuus Tietokannalla on tyypillisesti useita samanaikaisia käyttäjiä (prosesseja). On toivottavaa, että yhdenkään käyttäjän toiminta ei hidastuisi kohtuuttomasti, vaikka muita käyttäjiä olisi runsaastikin yhdenkään

Lisätiedot

D B. Tiedostojen käsittely

D B. Tiedostojen käsittely Tietokantojen tietoja säilytetään yleensä apumuistissa, lähinnä levymuisteissa Apumuistiin tallentamisen merkittäviä etuja keskusmuistiin nähden ovat tiedon säilyvyys (virtakatkon yli) säilytyskapasiteetin

Lisätiedot

HELIA 1 (15) Outi Virkki Tiedonhallinta

HELIA 1 (15) Outi Virkki Tiedonhallinta HELIA 1 (15) Luento Suorituskyvyn optimointi... 2 Tiedonhallintajärjestelmän rakenne... 3 Suunnittele... 4 SQL-komentojen viritys... 5 Tekninen ympäristö... 6 Fyysisen tason ratkaisut... 7 Indeksit...

Lisätiedot

T-106.5220 Transaktionhallinta tietokantajärjestelmissä

T-106.5220 Transaktionhallinta tietokantajärjestelmissä Opetusmoniste T-106.5220 Transaktionhallinta tietokantajärjestelmissä Kevät 2009 (periodi III) Osa 1: Looginen tietokanta ja transaktiot Osa 2: Fyysinen tietokanta Osa 3: Lokin ylläpito ja puskurinhallinta

Lisätiedot

vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 13. lokakuuta 2016 Sisällys Harjoitustehtävätilastoa Tilanne 13.10.2016 klo 9:42 passed waiting redo submitters

Lisätiedot

Algoritmit 1. Luento 6 Ke Timo Männikkö

Algoritmit 1. Luento 6 Ke Timo Männikkö Algoritmit 1 Luento 6 Ke 25.1.2017 Timo Männikkö Luento 6 Järjestetty lista Listan toteutus dynaamisesti Linkitetyn listan operaatiot Vaihtoehtoisia listarakenteita Puurakenteet Binääripuu Järjestetty

Lisätiedot

T Testitapaukset TC-1

T Testitapaukset TC-1 T-76.115 Testitapaukset TC-1 ETL-työkalu ExtraTerrestriaLs / Aureolis Oy Versio Päivämäärä Tekijä Muutos 1.0 18.11.2004 Risto Kunnas Testitapaukset ensimmäistä iteraatiota varten 1.1 26.11.2004 Risto Kunnas

Lisätiedot

1. a) Laadi suoraviivaisesti kyselyä vastaava optimoimaton kyselypuu.

1. a) Laadi suoraviivaisesti kyselyä vastaava optimoimaton kyselypuu. Helsingin yliopisto, Tietojenkäsittelytieteen laitos Kyselykielet, s 2006, Harjoitus 5 (7.12.2006) Tietokannassa on tietoa tavaroista ja niiden toimittajista: Supplier(sid,sname,city,address,phone,etc);

Lisätiedot

OPI-Maksut - Käyttötapaukset

OPI-Maksut - Käyttötapaukset OPIMaksut Käyttötapaukset Toiminnallisuudet ja käyttötapaukset: maksupalvelutoiminnot Toimeksiannon lisääminen Palveluväylä toiminto: Toimeksiannon lisääminen Yleiskuvaus Palveluväylään sallitut asiointisovellukset

Lisätiedot

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu HELIA 1 (16) Luento 3.2 Suorituskyvyn optimointi jatkuu...... 2 Tietojen tallennusratkaisut... 2 Tiedon tallennuksen yksiköitä... 3 Loogiset... 3 Fyysiset... 3 Tallennusmäärittelyt Oraclessa... 5 Loogiset

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 3.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.3.2010 1 / 44 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 16.3.2009 1 / 40 Kertausta: tiedostosta lukeminen Aluksi käsiteltävä tiedosto pitää avata: tiedostomuuttuja = open("teksti.txt","r")

Lisätiedot

IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI (7.3.2012)

IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI (7.3.2012) IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI (7.3.2012) TEHTÄVIÄ/KYSYMYKSIÄ Määrittele tapahtuma (transaction) tapahtumien hallinta Mitä ovat tapahtuman ACIDominaisuudet?

Lisätiedot

Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne

Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne HAAGA-HELIA Heti-09 1 (6) Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne Tietovarastotekniikan kehittyminen... 2 Tiedostopohjaiset ratkaisut... 2 Tiedoston palvelut... 3 Tiedostopohjaisten

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 12.4.2016 CSE-A1200 Tietokannat 12.4.2016 1 / 42 Oppimistavoitteet: tämän luennon jälkeen Tiedät, mitä tarkoitetaan hakemistolla ja mitä hyötyä hakemistosta on. Tiedät, miten voidaan

Lisätiedot

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi 5. Luento: Rinnakkaisuus ja reaaliaika Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Perusongelmat Jako prosesseihin Reaaliaika Rinnakkaisuus Rinnakkaisuus tarkoittaa tässä yhteydessä useamman kuin yhden

Lisätiedot

Algoritmi on periaatteellisella tasolla seuraava:

Algoritmi on periaatteellisella tasolla seuraava: Algoritmi on periaatteellisella tasolla seuraava: Dijkstra(V, E, l, v 0 ): S := { v 0 } D[v 0 ] := 0 for v V S do D[v] := l(v 0, v) end for while S V do valitse v V S jolle D[v] on minimaalinen S := S

Lisätiedot

Transaktiopalvelimen rakenne, s. 43. Levyjaksot, sivut ja tiedostot, s. 46. Tietokantasivujen puskurointi, s. 53. Tietokannan tila, s. 57.

Transaktiopalvelimen rakenne, s. 43. Levyjaksot, sivut ja tiedostot, s. 46. Tietokantasivujen puskurointi, s. 53. Tietokannan tila, s. 57. Fyysinen tietokanta A. Silberschatz, H. F. Korth & S. Sudarshan: Database System Concepts. Fifth Edition. McGraw-Hill, 2006, sivut 24 26, luvun 1 (introduction) kohta 1.11 (database architecture); sivut

Lisätiedot

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi. Algoritmien DP ja MF vertaileminen tapahtuu suoraviivaisesti kirjoittamalla kummankin leskimääräinen kustannus eksplisiittisesti todennäköisyyksien avulla. Lause T MF ave = 1 + 2 1 i

Lisätiedot

12. Javan toistorakenteet 12.1

12. Javan toistorakenteet 12.1 12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu

Lisätiedot

- Varaukselle, jolloin saadaan kaikki varaukselle tulostetut laskut ja niille tulleet suoritukset.

- Varaukselle, jolloin saadaan kaikki varaukselle tulostetut laskut ja niille tulleet suoritukset. 7. MYYNTIRESKONTRA 7.1. Laskukysely voidaan tehdä: - Varaukselle, jolloin saadaan kaikki varaukselle tulostetut laskut ja niille tulleet suoritukset. - Laskun numerolle: tulos on sama kuin varaukselle

Lisätiedot

11. Javan toistorakenteet 11.1

11. Javan toistorakenteet 11.1 11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin

Lisätiedot

Liitosesimerkki Tietokannan hallinta, kevät 2006, J.Li 1

Liitosesimerkki Tietokannan hallinta, kevät 2006, J.Li 1 Liitosesimerkki 16.02.06 Tietokannan hallinta, kevät 2006, J.Li 1 Esim R1 R2 yhteinen attribuutti C T(R1) = 10,000 riviä T(R2) = 5,000 riviä S(R1) = S(R2) = 1/10 lohkoa Puskuritilaa = 101 lohkoa 16.02.06

Lisätiedot

17 BUDJETOINTI. Asiakaskohtainen Budjetti. 17.1 Ylläpito-ohjelma. Dafo Versio 10 BUDJETOINTI. Käyttöohje. BudgCust. 17.1.1 Yleistä

17 BUDJETOINTI. Asiakaskohtainen Budjetti. 17.1 Ylläpito-ohjelma. Dafo Versio 10 BUDJETOINTI. Käyttöohje. BudgCust. 17.1.1 Yleistä 17 Asiakaskohtainen Budjetti 17.1 Ylläpito-ohjelma 17.1.1 Yleistä BudgCust Ohjelmalla avataan järjestelmään asiakaskohtaisia budjetteja, jotka annetaan kuukausitasolla (oletus). 17.1.2 Parametrit Ohjelmaa

Lisätiedot

HELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000

HELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000 HELIA 1 (11) Access 1 ACCESS...2 Yleistä...2 Access-tietokanta...3 Perusobjektit...3 Taulu...5 Kysely...7 Lomake...9 Raportti...10 Makro...11 Moduli...11 HELIA 2 (11) ACCESS Yleistä Relaatiotietokantatyyppinen

Lisätiedot

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi Miksi optimoidaan Relaatiotietokannan kyselyt esitetään käytännössä SQLkielellä. Kieli määrittää halutun tuloksen, ei sitä miten tulos muodostetaan (deklaratiivinen kyselykieli) Tietokannan käsittelyoperaatiot

Lisätiedot

ORGANISAATION KIRJAUTUMINEN TURVASIRU.FI-PALVELUUN

ORGANISAATION KIRJAUTUMINEN TURVASIRU.FI-PALVELUUN ORGANISAATION KIRJAUTUMINEN TURVASIRU.FI-PALVELUUN Organisaatiot kuten eläinsuojeluyhdistykset kirjautuvat KIRJAUTUMINEN ORGANISAATIOT-osiosta: http://www.turvasiru.fi/pet/turvasiru.jsp Organisaatioiden

Lisätiedot

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto Harri Laine Helsingin yliopisto Suosion syy? Yksinkertaisuus vähän käsitteitä helppo hahmottaa Selkeä matemaattinen perusta ei tulkintaongelmia kuten esim. UML:ssä teoria käytäntö kaavio: R(A 1 :D 1, A

Lisätiedot

Sisältö. 2. Taulukot. Yleistä. Yleistä

Sisältö. 2. Taulukot. Yleistä. Yleistä Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä

Lisätiedot

5.2 Samanaikaisuuden hallinta

5.2 Samanaikaisuuden hallinta Tietokannan hallinta 29 5. Tapahtumien hallinta Tietokannan hallinta 30 5. Tapahtumien hallinta 5.2 Samanaikaisuuden hallinta Tietokannalla on tyypillisesti useita samanaikaisia käyttäjiä (ohjelmia/ihmisiä).

Lisätiedot

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit Liite E - Esimerkkiprojekti E Esimerkkiprojekti Olet lukenut koko kirjan. Olet sulattanut kaiken tekstin, Nyt on aika soveltaa oppimiasi uusia asioita pienen, mutta täydellisesti muotoiltuun, projektiin.

Lisätiedot

RockID-varastonhallintajärjestelmän käyttöohje. v. 1.0

RockID-varastonhallintajärjestelmän käyttöohje. v. 1.0 RockID-varastonhallintajärjestelmän käyttöohje v. 1.0 Yleistä Rockstar lukijakäyttöliittymä Tuotteiden lukeminen lähtevään tilaukseen Tilaukseen kuulumattomat tuotteet Tuotteiden lukeminen tilauksesta

Lisätiedot

Sähköinen ajanvaraus Virkailijan ohje. 11.11.2015 Valtiovarainministeriö

Sähköinen ajanvaraus Virkailijan ohje. 11.11.2015 Valtiovarainministeriö Sähköinen ajanvaraus Virkailijan ohje 11.11.2015 Valtiovarainministeriö Sisältö 1 Yleistä... 1 1.1 Sisään- ja uloskirjautuminen... 1 1.2 Salasanan vaihto... 2 2 Ajanvaraus... 3 2.1 Varauksen luonti...

Lisätiedot

CS-A1150 Tietokannat CS-A1150 Tietokannat / 47

CS-A1150 Tietokannat CS-A1150 Tietokannat / 47 CS-A1150 Tietokannat 10.4.2018 CS-A1150 Tietokannat 10.4.2018 1 / 47 Oppimistavoitteet: tämän luennon jälkeen Tiedät, mitä tarkoitetaan hakemistolla ja mitä hyötyä hakemistosta on. Tiedät, miten voidaan

Lisätiedot

Tarkennamme geneeristä painamiskorotusalgoritmia

Tarkennamme geneeristä painamiskorotusalgoritmia Korotus-eteen-algoritmi (relabel-to-front) Tarkennamme geneeristä painamiskorotusalgoritmia kiinnittämällä tarkasti, missä järjestyksessä Push- ja Raise-operaatioita suoritetaan. Algoritmin peruskomponentiksi

Lisätiedot

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma. 2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä

Lisätiedot

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,

Lisätiedot

Sisältö. 22. Taulukot. Yleistä. Yleistä

Sisältö. 22. Taulukot. Yleistä. Yleistä Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? 2013-2014 Lasse Lensu 2 Systeemiohjelmat ovat tietokoneen laitteistoa lähellä olevia ohjelmia,

Lisätiedot

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100 Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).

Lisätiedot

12. Javan toistorakenteet 12.1

12. Javan toistorakenteet 12.1 12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

Luento 2: Tiedostot ja tiedon varastointi

Luento 2: Tiedostot ja tiedon varastointi HELIA 1 (19) Luento 2: Tiedostot ja tiedon varastointi Muistit... 2 Päämuisti (Primary storage)... 2 Apumuisti (Secondary storage)... 2 Tiedon tallennuksen yksiköitä... 3 Looginen taso... 3 Fyysinen taso...

Lisätiedot

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n)) Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia

Lisätiedot

Moodle-oppimisympäristö

Moodle-oppimisympäristö k5kcaptivate Moodle-oppimisympäristö Opiskelijan opas Sisältö 1. Mikä on Moodle? 2. Mistä löydän Moodlen? 3. Kuinka muokkaan käyttäjätietojani? 4. Kuinka ilmoittaudun kurssille? 5. Kuinka käytän Moodlen

Lisätiedot

Sisältö. Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat. Abstrakti tietokantamalli. Tietoalkio ACID. Transaktion tilat. Abstrakti tietokantamalli

Sisältö. Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat. Abstrakti tietokantamalli. Tietoalkio ACID. Transaktion tilat. Abstrakti tietokantamalli Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat Tiina Niklander Perustuu Jan Lindströmin materiaalin S2002 ja artikkeliin: Ramamritham, Son & DiPippo: Real-Time Databases and Data Services. Real-Time

Lisätiedot

Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat

Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat Tiina Niklander Perustuu Jan Lindströmin materiaalin S2002 ja artikkeliin: Ramamritham, Son & DiPippo: Real-Time Databases and Data Services. Real-Time

Lisätiedot

Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat

Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat Sisällys 12. Javan toistorakenteet Ylstä toistorakentsta. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirhtä. Silmukan rajat asetettu kierroksen

Lisätiedot

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu

811312A Tietorakenteet ja algoritmit, 2014-2015, Harjoitus 7, ratkaisu 832A Tietorakenteet ja algoritmit, 204-205, Harjoitus 7, ratkaisu Hajota ja hallitse-menetelmä: Tehtävä 7.. Muodosta hajota ja hallitse-menetelmää käyttäen algoritmi TULOSTA_PUU_LASKEVA, joka tulostaa

Lisätiedot

OHJE KILPIEN LISÄÄMISESTÄ ATJN KILPIVARASTOON

OHJE KILPIEN LISÄÄMISESTÄ ATJN KILPIVARASTOON OHJE KILPIEN LISÄÄMISESTÄ ATJN KILPIVARASTOON Kilpiä voidaan joutua lisäämään kilpivarastotiedoksi mm. alla mainituissa tilanteissa. Sarjakilpivarastoon: - Tunnus on määräytynyt ajoneuvolle LTJn aikaisessa

Lisätiedot

Käyttöjärjestelmät: poissulkeminen ja synkronointi

Käyttöjärjestelmät: poissulkeminen ja synkronointi Käyttöjärjestelmät: poissulkeminen ja synkronointi Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet

Lisätiedot

HYVÄKSILUETTUJEN SUORITUSTEN REKISTERÖIMINEN

HYVÄKSILUETTUJEN SUORITUSTEN REKISTERÖIMINEN 1 HYVÄKSILUETTUJEN SUORITUSTEN REKISTERÖIMINEN Valitse Opintojen rekisteröinti -valikosta Hyväksilukeminen. Voit valita Näytettävät opinnot -osiosta, mitkä opiskelijan suorituksista näkyvät aktiivisina

Lisätiedot

Tiedostorakenteet. R&G Chapter Tietokannan hallinta, kevät 2006, Jan 1

Tiedostorakenteet. R&G Chapter Tietokannan hallinta, kevät 2006, Jan 1 Tiedostorakenteet R&G Chapter 9 16.02.06 Tietokannan hallinta, kevät 2006, Jan 1 Tiedostorakenteet Tiedostojen tehokkuutta yhtä kyselyä kohti arvioidaan usein tarvittavien levyhakujen määrällä. kuten levykäsittelyn

Lisätiedot

Liitosesimerkki. Esim R1 R2 yhteinen attribuutti C. Vaihtoehdot

Liitosesimerkki. Esim R1 R2 yhteinen attribuutti C. Vaihtoehdot Esim yhteinen attribuutti C Liitosesimerkki T() = 10,000 riviä T() = 5,000 riviä S() = S() = 1/10 lohkoa Puskuritilaa = 101 lohkoa 1 2 Vaihtoehdot Sisäkkäiset silmukat Liitosjärjestys:, Liitosalgoritmit:

Lisätiedot

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento Näkymät... 2 Relaatiotyypit... 2 Taulu - Tallennettu relaatio... 3 Näkymä - Virtuaalirelaatio... 3 Tulosrelaatio - Kyselyn tulos... 3 Otetaulut - Tauluun tallennettu kyselyn tulos...

Lisätiedot

D B. Harvat hakemistot. Harvat hakemistot

D B. Harvat hakemistot. Harvat hakemistot Harvassa hakemistossa on ei ole hakemistomerkintöjä jokaista tietuetta kohden vaan yksi merkintä jotain isompaa kokonaisuutta esimerkiksi sivua tai sivujoukkoa (esim. saman uran sivut) kohti Harvan hakemiston

Lisätiedot