Transaktioiden eristyvyys

Koko: px
Aloita esitys sivulta:

Download "Transaktioiden eristyvyys"

Transkriptio

1 Transaktioiden eristyvyys 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 Management of Data, 1 10, kohdat 1 (introduction), 2 (isolation definitions) ja 3 (analyzing ANSI SQL isolation levels). A. Silberschatz, H. F. Korth & S. Sudarshan: Database System Concepts. Fifth Edition. McGraw-Hill, 2006, sivut , luvun 15 (transactions) kohta 15.4 (concurrent executions) ja kohdan 15.5 (serializability) alakohta (conflict serializability); sivut , kohdat 15.6 (recoverability) ja 15.8 (testing for serializability). 177

2 Transaktioiden ajoitukset, s Transaktioiden eristyvyyden takaaminen, s Sitoutumaton päivitys, s Eristyvyysanomaliat, s Eristyvyysanomaliat ja tietokannan eheysrajoitteet, s SQL:n eristyvyystasot, s Eristyvyys ja peruuntuvuus, s Sarjallistuvuus, s

3 Transaktioiden ajoitukset Tietokantajärjestelmän keskeisiä periaatteita on tietokannan tietojen samanaikainen yhteiskäyttö. Useat transaktiot voivat hallitusti yhtäaikaa tai vuorotellen operoida tietokannan tietoalkioihin. Hienorakeisessa transaktioiden hallinnassa transaktio T 2 yleensä voi lukea tai päivittää sivulla p sijaitsevaa tietoalkiota y, vaikka toinen, vielä aktiivinen transaktio T 1 olisi lukenut tai päivittänyt samalla sivulla p sijaitsevan toisen tietoalkion x. Tämän mahdollistaa aiemmin selostettu salpauskäytäntö, jonka mukaisesti sivu pidetään salvattuna ainoastaan luku- tai päivitysoperaation keston ajan. Transaktion T 2 tulisi ilman muuta voida lukea tietoalkio x, jonka toinen, vielä aktiivinen transaktio T 1 on lukenut, mikäli kumpikaan ei päivitä x:ää. Transaktioiden operaatioiden samanaikainen (limittäinen) suoritus ei saa rikkoa tietokannan eheyttä eikä estää tietokannan elvytystä häiriöstä. Vain tietyt transaktioiden operaatioiden keskinäiset limittäiset suoritusjärjestykset voidaan sallia. 179

4 Määritellään yleisesti transaktiojoukon mielivaltainen ajoitus eli transaktioiden operaatioiden limittäinen suoritusjärjestys. Transaktiomalliemme mukainen transaktio voi sisältää tietokantaoperaatioidensa (R, I, D, W, I 1, D 1, W 1 ) argumentteina vakioita ja muuttujia ja näistä muodostettuja lausekkeita. Muuttujia voi esiintyä operaatioiden tulosparametrien paikalla. Syöteparametrinkin paikalla voi esiintyä muuttuja tai muuttujia sisältävä lauseke, jos muuttuja on sidottu, ts. se esiintyy jossakin edeltävässä lukuoperaatiossa tulosparametrin paikalla niin, että transaktion suorituksessa kaikille muuttujille määräytyy arvo. Transaktiossa BR[x, x,u]w[x,u,u t]r[y, y,v]w[y,v,v +t]c x:n, y:n ja t:n täytyy olla vakioita, mutta u ja v voivat olla joko vakioita tai muuttujia. Sama muuttuja tarkoittaa samaa arvoa kaikkialla saman transaktion sisällä. Eri transaktioiden muuttujat ovat eri muuttujia (vaikka olisivat saman nimisiä). Transaktio on muuttujaton, jos siinä ei esiinny muuttujia. 180

5 Olkoon T transaktio ja v 1,...,v n kaikki sen eri muuttujat. T :n sijoitus σ on joukko {(v 1,a 1 ),...,(v n,a n )}, missä a 1, a 2,..., a n ovat vakioita. T σ on se muuttujaton transaktio, joka saadaan T :stä korvaamalla jokainen muuttujan v i esiintymä vakiolla a i, i = 1,...,n. T σ kuvaa T :n suoritusta jokaisessa sellaisessa tietokannassa D, jossa T σ voidaan ajaa. Esim. transaktion T = BR[x,u]W[x,u,u t]r[y,v]w[y,v,v +t]c sijoituksella σ = {(u, 500),(v, 600)} saadaan T σ = BR[x,500]W[x,500,500 t]r[y,600]w[y,600,600 +t]c. T σ voidaan ajaa jokaisessa tietokannassa, joka sisältää monikot (x,500) ja (y,600). 181

6 Olkoot T 1,...,T n transaktioita. Joukossa voi olla eteneviä, sitoutuneita, peruuntuvia ja peruutuksensa päättäneitä transaktioita, ja transaktiot voivat sisältää osittaisperuutuksia. Transaktiojoukon {T 1,...,T n } ajoitus (schedule) eli historia (history) H on muuttujattomien transaktioiden T 1 σ 1,..., T n σ n limite (shuffle), missä σ i on T i :n jokin sijoitus, i = 1,...,n. Ts. H on seuraavat ehdot täyttävä operaatiojono: (1) H on operaatiojonon T 1 σ 1...T n σ n permutaatio, so. sisältää täsmälleen transaktioiden T 1 σ 1,...,T n σ n operaatiot, mutta mahdollisesti eri järjestyksessä. (2) Jokaisen transaktion T i σ i operaatiot esiintyvät H:ssa samassa järjestyksessä kuin T i σ i :ssä. 182

7 Sarjallinen ajoitus (serial schedule) H on transaktioiden permutaatio. Siinä kunkin transaktion T i σ i operaatiot esiintyvät kaikki välittömästi peräkkäin, ts. H on muotoa T i1 σ i1...t in σ in, missä {i 1,...,i n } = {1,...,n}. Ajoitus, joka ei ole sarjallinen, on epäsarjallinen eli rinnakkainen ajoitus (nonserial schedule). Esimerkki kolmen transaktion rinnakkaisesta ajoituksesta: T 1 : T 2 : T 3 : BR[1, 1] BR[2, 2] W[1,0]C BR[3, 3] W[2,0] W[3,0]C C Eräs samojen transaktioiden sarjallinen ajoitus: T 1 : BR[1, 1]W[1,0]C T 2 : T 3 : BR[3, 3]W[3,0]C BR[2, 2]W[2,0]C 183

8 Transaktiojoukon {T 1,...,T n } ajoituksessa H transaktion T i operaatiota o[ x] merkitään o i [ x]. Esimerkiksi em. ajoituksia merkitään: B 1 R 1 [1, 1]B 2 R 2 [2, 2]W 1 [1,0]C 1 B 3 R 3 [3, 3]W 2 [2,0]W 3 [3,0]C 3 C 2. B 3 R 3 [3, 3]W 3 [3,0]C 3 B 1 R 1 [1, 1]W 1 [1,0]C 1 B 2 R 2 [2, 2]W 2 [2,0]C 2. Merkintä (o i o i)[ x] tarkoittaa operaatiota o i [ x] tai operaatiota o i[ x]. Sanomme: T i :n operaatio R[x, z] lukee avainvälin [z,x]. T i :n operaatio R[x,>z] lukee avainvälin (z,x]. T i :n operaatio (I D W I 1 D 1 W 1 )[x] päivittää avainarvoa x. Luku-kirjoitusmallin lukuoperaatio R[x] tarkoittaa samaa kuin avainvälimallin operaatio R[x, x]; operaatio siis lukee avainvälin [x,x]. 184

9 Transaktioiden eristyvyyden takaaminen Kuten aiemmin on jo todettu, transaktiot tulee voida ohjelmoida ottamatta huomioon muita samanaikaisia transaktioita. Tietokantasovelluksen ohjelmoijalta edellytetään ainoastaan, että kukin transaktio säilyttää loogisen tietokannan eheyden, kun transaktio suoritetaan yksinään häiriöttömässä tilassa. Tietokannan hallintajärjestelmän samanaikaisuuden hallinnan (concurrency control) pitää huolehtia siitä, että järjestelmään tulevien transaktioiden operaatiot suoritetaan sellaisen ajoituksen mukaisesti, että (sitoutuneiden) transaktioiden eristyvyys säilyy (halutulla tasolla). Transaktion T täydellinen eristyvyys (isolation) tarkoittaa: Vaikka useampia transaktioita on suorituksessa samanaikaisesti, transaktiosta T näyttää, että jokainen toinen transaktio T joko on suoritettu kokonaisuudessaan ennen T :tä tai suoritetaan kokonaisuudessaan vasta T :n jälkeen. Jokainen sarjallinen ajoitus, jossa kaikki transaktiot ovat sitoutuneita tai peruuntuneita, takaa triviaalisti kaikille transaktioille täyden eristyvyyden. Sitä vastoin eristyvyys voi rikkoutua eri tavoin, jos ajoitus on rinnakkainen tai siinä on sitoutumattomia transaktioita. 185

10 Samanaikaisuuden hallintamenetelmät voidaan luokitella pessimistisiin ja optimistisiin. Pessimistisessä samanaikaisuuden hallinnassa millekään transaktiolle ei sallita eristyvyysrikkomusta (eli ns. eristyvyysanomaliaa), joka on kielletty transaktiolle asetetulla eristyvyystasolla. Mikäli transaktion operaation suoritus johtaisi kiellettyyn eristyvyysrikkomukseen, operaation suorittamista lykätään laittamalla transaktio odottamaan hetkeä, jolloin operaation suoritus ei enää johda rikkomukseen, tai sitten transaktio keskeytetään ja peruutetaan välittömästi. Optimistisessa samanaikaisuuden hallinnassa etenevän transaktion sallitaan syyllistyvän eristyvyysrikkomuksiin, mutta transaktion sitoutumispisteessä tarkistetaan, onko rikkomuksia sattunut, ja jos on, niin transaktion ei sallitakaan sitoutua, vaan se keskeytetään ja peruutetaan. 186

11 Sitoutumaton päivitys Tietoalkio x on likainen (dirty) eli sitoutumaton (uncommitted) tietyllä hetkellä, jos sitä viimeksi päivittänyt transaktio T on vielä aktiivinen ja on mahdollista, että T vielä muuttaa x:n arvoa. Määritellään käsite täsmällisesti suhteessa transaktiomalleihimme. Avainarvolla x on ajoituksen H aktiivisen transaktion T likainen eli sitoutumaton päivitys (dirty update, uncommitted update), jos jompikumpi seuraavista ehdoista pätee: (1) x:n viimeinen päivitys H:ssa on T :n etenemisoperaatio I[x], D[x] tai W[x]. (2) x:n viimeinen päivitys H:ssa on T :n käänteisoperaatio I 1 [x], D 1 [x] tai W 1 [x], jota vastaavan T :n etenemisoperaation I[x], D[x] tai W[x] edellä H:ssa on x:llä vielä peruuttamaton päivitys T :n etenemisoperaatiolla. Ts. x:n päivitys H:ssa T :n käänteisoperaatiolla I 1 [x], D 1 [x] tai W 1 [x] ei vielä palauta x:lle sitä arvoa, joka x:llä oli juuri ennen kuin T sitä ensi kerran päivitti. Heti kun T :n kaikki x:n päivitykset on peruutettu, x:ää pidetään sitoutuneena. 187

12 Tarkastellaan peruuntuneen transaktion T 1 ajoitusta H = B 1 I 1 [y,w]d 1 [x,u]i 1 [x,v]a 1 I 1 1 [x,v]d 1 1 [x,u]i 1 1 [y,w]c 1. Avainarvolla y on T 1 :n sitoutumaton päivitys H:n alkuosassa B 1 I 1 [y,w]. Avainarvoilla y ja x on T 1 :n sitoutumaton päivitys seuraavissa H:n alkuosissa: B 1 I 1 [y,w]d 1 [x,u]. B 1 I 1 [y,w]d 1 [x,u]i 1 [x,v]. B 1 I 1 [y,w]d 1 [x,u]i 1 [x,v]a 1. B 1 I 1 [y,w]d 1 [x,u]i 1 [x,v]a 1 I 1 1 [x,v]. Avainarvolla y on T 1 :n sitoutumaton päivitys H:n alkuosassa B 1 I 1 [y,w]d 1 [x,u]i 1 [x,v]a 1 I1 1 [x,v]d 1 1 [x,u]. Sitä vastoin x on tässä jo sitoutunut, sillä x:n viimeinen päivitys on käänteisoperaatio D 1 1 [x,u], jota vastaava etenemisoperaatio D 1[x,u] on x:n ensimmäinen päivitys T 1 :ssä. H:n alkuosassa H = B 1 I 1 [y,w]d 1 [x,u]i 1 [x,v]a 1 I 1 1 [x,v]d 1 1 [x,u]i 1 1 [y,w] ovat y ja x molemmat sitoutuneita. 188

13 Määritelmän mukaan etenevän transaktion T 1 osittaisperuutus voi muuttaa likaisen avainarvon x sitoutuneeksi, minkä jälkeen transaktio voi uudestaan päivittää x:ää ja siis muuttaa x:n likaiseksi, minkä jälkeen uusi osittaisperuutus voi jälleen muuttaa x:n sitoutuneeksi. B 1 S 1 [P]W 1 [x]. B 1 S 1 [P]W 1 [x]a 1 [P]W1 1 [x]. B 1 S 1 [P]W 1 [x]a 1 [P]W1 1 [x]c 1 [P]S 1 [Q]W 1 [x]. B 1 S 1 [P]W 1 [x]a 1 [P]W1 1 [x]c 1 [P]S 1 [Q]W 1 [x]a 1 [Q]W1 1 [x]. B 1 S 1 [P]W 1 [x]a 1 [P]W1 1 [x]c 1 [P]S 1 [Q]W 1 [x]a 1 [Q]W1 1 [x]c 1 [Q]W 1 [x]. B 1 S 1 [P]W 1 [x]a 1 [P]W1 1 [x]c 1 [P]S 1 [Q]W 1 [x]a 1 [Q]W1 1 [x]c 1 [Q]W 1 [x]c

14 Eristyvyysanomaliat Rinnakkaisessa ajoituksessa transaktioiden eristyvyys voi rikkoutua kolmen eristyvyysanomalian (isolation anomaly) vaikutuksesta. Näitä voidaan transaktiomallia tarkemmin kiinnittämättä luonnehtia seuraavasti: (1) Transaktio T 2 kirjoittaa likaisesti (does a dirty write): T 2 päivittää ehdon C täyttävät tietoalkiot, kun jossakin ehdon C täyttävässä tietoalkiossa on transaktion T 1 sitoutumaton päivitys. (2) Transaktio T 2 lukee likaisesti (does a dirty read): T 2 lukee ehdon C täyttävät tietoalkiot, kun jossakin ehdon C täyttävässä tietoalkiossa on transaktion T 1 sitoutumaton päivitys. (3) Transaktio T 1 lukee toistokelvottomasti (does an unrepeatable read): T 1 lukee ehdon C täyttävät tietoalkiot, minkä jälkeen toinen transaktio T 2 päivittää jonkin ehdon C täyttävän tietoalkion T 1 :n ollessa vielä etenevä. T 1 :n lukuoperaatio on toistokelvoton, sillä sen toisto T 2 :n sitoutumisen jälkeen saattaa antaa toisen tuloksen. 190

15 Avainvälimallissa eristyvyysanomaliat ilmenevät seuraavasti: (1) Kirjoitetaan likainen eli sitoutumaton avainarvo. Esim. T 2 :n likainen kirjoitus I 2 [x] ajoituksessa B 1 D 1 [x]b 2 I 2 [x]... (2) Luetaan likainen avainväli. Esim. T 2 :n likainen luku R 2 [3,> 1] ajoituksessa B 1 D 1 [2]B 2 R 2 [3,>1]... (3) Luetaan avainväli toistokelvottomasti. Esim. T 1 :n toistokelvoton luku R 1 [3,>1] ajoituksessa B 1 R 1 [3,>1]B 2 I 2 [2]... Lukuoperaatiota R 1 [3,> 1] ei voida toistaa T 1 :ssä T 2 :n sitoutumisen jälkeen, vaan R 1 [x,>1] toteutuisi muodossa R 1 [2,>1]. 191

16 Avainvälimallin eristyvyysanomaliat täsmällisesti määriteltyinä: (1) Transaktion T 2 avainarvon x päivitysoperaatio o 2 [x] on likainen kirjoitus (dirty write) ajoituksessa H 1 o 2 [x]h 2, jos x:llä on toisen transaktion T 1 sitoutumaton päivitys H 1 :ssä. (2) Transaktion T 2 lukuoperaatio R 2 [x,θz] on likainen luku (dirty read) ajoituksessa H 1 R 2 [x,θz]h 2, jos jollakin ehdon x y θ z täyttävällä avainarvolla y on toisen transaktion T 1 :n sitoutumaton päivitys H 1 :ssä. (3) Transaktion T 1 lukuoperaatio R 1 [x,θz] on toistokelvoton luku (unrepeatable read) ajoituksessa H 1 R 1 [x,θz]h 2 o 2 [y]h 3, jos T 1 on etenevä H 1 R 1 [x,θz]h 2 :ssa ja o 2 [y] on toisen transaktion T 2 ehdon x y θ z täyttävän avainarvon y päivitysoperaatio. Huomaa, ettei lukuoperaatiota R 1 [x,θz] pidetä toistokelvottomana siinä tapauksessa, että T 1 on peruuntuva H 1 R 1 [x,θz]h 2 :ssa, sillä T 1 lopulta peruuttaa kaikki päivityksensä, mukaan lukien ne, jotka mahdollisesti perustuvat luettuun avainarvoon. Transaktion peruutusvaiheessahan ei myöskään voi esiintyä lukuoperaatioita. 192

17 Eristyvyysanomaliat ja tietokannan eheysrajoitteet Seuraava esimerkki osoittaa, että likainen kirjoitus voi helposti rikkoa tietokannan eheyden. Tietokannan eheysrajoite lausuu, että tietokannassa pitää olla avainarvoilla x ja y varustetut monikot ja niillä aina sama arvo. Transaktiot T 1 = BW[x,u,1]W[y,v,1]C ja T 2 = BW[x,u,2]W[y,v,2]C ovat kumpikin eheysrajoitteen suhteen oikeellisia: kumpikin transaktio yksinään suoritettuna vie tietokannan eheästä tilasta eheään tilaan. Transaktioiden rinnakkainen ajoitus B 1 W 1 [x,0,1]b 2 W 2 [x,1,2]w 2 [y,0,2]c 2 W 1 [y,2,1]c 1 voidaan ajaa jokaisessa monikot (x, 0) ja (y, 0) sisältävässä tietokannassa ja tuottaa tietokannan, jossa avainarvoin x ja y varustetut monikot ovat (x,2) ja (y,1). Ajoitus siis rikkoo tietokannan eheyden. W 2 [x,1,2] on likainen kirjoitus. Tämä on ajoituksen ainoa eristyvyysanomalia. 193

18 Seuraava esimerkki osoittaa, kuinka likainen luku voi rikkoa tietokannan eheyden. Tietokannan eheysrajoite lausuu, että tietokannassa pitää olla avainarvoilla x ja y varustetut monikot ja niillä aina positiiviset arvot. Transaktiot T 1 = BW[x,u,0]W[x,0,1]C ja T 2 = BR[x,u]W[y,v,u]C ovat kumpikin eheysrajoitteen suhteen oikeellisia. Transaktioiden ajoitus B 1 W 1 [x,1,0]b 2 R 2 [x,0]w 2 [y,1,0]c 2 W 1 [x,0,1]c 1 voidaan ajaa jokaisessa monikot (x, 1) ja (y, 1) sisältävässä tietokannassa ja tuottaa tietokannan, jossa avainarvoin x ja y varustetut monikot ovat (x,1) ja (y,0). Ajoitus siis rikkoo tietokannan eheyden. Ajoituksen ainoa eristyvyysanomalia on likainen luku R 2 [x,0]. T 2 luki arvon, joka ei vielä ollut lopullinen, sitoutunut arvo, ja käytti sitä tietokannan päivittämiseen. 194

19 Toinen esimerkki. Sama eheysrajoite: avainarvoilla x ja y varustetuilla monikoilla positiiviset arvot. T 2 kuten edellä: T 2 = BR[x,u]W[y,v,u]C. Transaktio T 3 = BW[x,u,0]AW 1 [x,u,0]c on peruuntunut ja siis triviaalisti oikeellinen minkä tahansa eheysrajoitteen suhteen. Transaktioiden T 2 ja T 3 ajoitus B 3 W 3 [x,1,0]b 2 R 2 [x,0]w 2 [y,1,0]c 2 A 3 W 1 3 [x,1,0]c 3 kuitenkin rikkoo tietokannan eheyden. Ajoituksen ainoa eristyvyysanomalia on likainen luku R 2 [x,0]. Tässäkin T 2 luki arvon, joka ei jäänytkään lopulliseksi, ja käytti sitä tietokannan päivittämiseen. 195

20 Seuraava esimerkki osoittaa, kuinka toistokelvoton luku voi rikkoa tietokannan eheyden. Tietokannan eheysrajoite lausuu, että avainarvoilla x ja y varustetuissa monikoissa (x,u) ja (y,v) pitää olla u + v 0 ( tilien x ja y saldojen summa ei saa olla negatiivinen ). Transaktiot T 1 = BR[y,v]W[x,u, v]c ( saldojen summan u + v otto tililtä x ), T 2 = BR[x,u]W[y,v, u]c ( saldojen summan u + v otto tililtä y ) nollaavat summan u + v ja ovat siis kumpikin eheysrajoitteen suhteen oikeellisia. Ajoitus B 1 R 1 [y,v]b 2 R 2 [x,u]w 2 [y,v, u]c 2 W 1 [x,u, v]c 1 kuitenkin rikkoo eheysrajoitteen, kun u + v > 0. Ajoituksen ainoa eristyvyysanomalia on toistokelvoton luku R 1 [y,v]. Transaktion T 1 olisi pitänyt ennen x:n päivitystä lukea y:n tuore arvo, jotta tietokanta olisi pysynyt eheänä. Operaation R 1 [y,v] toisto T 1 :ssä T 2 :n sitouduttua olisikin toteutunut muodossa R 1 [y, u], jolloin W 1 [x,u, v] olisi toteutunut muodossa W 1 [x,u,u]. 196

21 Toinen esimerkki. Tietokannan eheysrajoite lausuu, että avainarvolla 0 varustetun monikon arvon pitää olla kahden peräkkäisillä avainarvoilla varustettujen monikoiden arvojen summa. Eheysrajoite on voimassa esim. tietokannassa D = {(0, 4),(1, 1),(3, 3)}. Transaktiot T 1 = BR[x, 1,u]R[y,>x,v]W[0,w,u + v]c ja T 2 = BI[2,2]R[x,>2,u]W[0,w,2 + u]c ovat kumpikin eheysrajoitteen suhteen oikeellisia. Ajoitus B 1 R 1 [1, 1,1]R 1 [3,>1,3]B 2 I 2 [2,2]R 2 [3,>2,3]W 2 [0,4,5]C 2 W 1 [0,5,4]C 1 voidaan ajaa D:ssä ja tuottaa tietokannan D = {(0,4),(1,1),(2,2),(3,3)}, joka ei täytä eheysrajoitetta. Ajoituksen ainoa eristyvyysanomalia on toistokelvoton luku R 1 [3,> 1,3]. T 2 :n lisäämää monikkoa (2,2) kutsutaan haamumonikoksi (phantom tuple) tai lyhyesti haamuksi. Kirjallisuudessa tällaista toistokelvottoman luvun erikoistapausta kutsutaan yleisesti haamuilmiöksi (phantom phenomenon). 197

22 SQL:n eristyvyystasot SQL-kielessä on set transaction -lause, jolla sovellusohjelmassa voidaan mm. asettaa seuraavaksi käynnistettävän transaktion eristyvyystaso (isolation level) eli eristyvyysaste (degree of isolation). Eristyvyysasteiden määrittelyn pohjana olevat eristyvyysanomaliat eivät täysin vastaa edellä määrittelemiämme anomalioita. SQL:n toistokelvoton luku ei näet sisällä toistokelvottomia haamulukuja. SQL:ssä määriteltyjä eristyvyysasteita on neljä (lueteltuina vaativuudeltaan nousevassa järjestyksessä): sitoutumattoman lukeminen, sitoutuneen lukeminen, toistokelpoinen luku ja sarjallistuva. Eristyvyysasteiden merkitys selostetaan seuraavassa BERENSONin ja kumppanien (1995) korjaamien määritelmien mukaisesti. 198

23 1 Sitoutumattoman lukeminen (read uncommitted): transaktio ei kirjoita likaista, mutta saattaa lukea likaista tai toistokelvottomasti ja kohdata haamuja. 2 Sitoutuneen lukeminen (read committed): transaktio ei kirjoita eikä lue likaista, mutta saattaa lukea toistokelvottomasti ja kohdata haamuja. 3 Toistokelpoinen luku (repeatable read): transaktio ei kirjoita likaista eikä lue likaista tai toistokelvottomasti, mutta saattaa kohdata haamuja. 4 Sarjallistuva (serializable; oletus): transaktio ei kirjoita likaista eikä lue likaista tai toistokelvottomasti eikä myöskään kohtaa haamuja. Tällä tasolla kaikki määritelmämme mukaiset likaiset kirjoitukset, likaiset luvut ja toistokelvottomat luvut on estetty. 199

24 DB2-järjestelmässä käytetyt eristyvyysasteiden nimitykset vastaavat paremmin tällä kurssilla esitettyjä määritelmiä kuin SQL:n eristyvyysasteet. DB2:ssa eristyvyysasteen 3 nimenä on luvun vakaus (read stability). Toistokelpoisen luvun eristyvyysaste tarkoittaa DB2:ssa SQL:n eristyvyysastetta 4. Tietokannan hallintajärjestelmät pystyvät yleensä takaamaan transaktioille vähintään asteen 3. Samanaikaisuuden lisäämiseksi voidaan joillekin transaktioille sallia normaalia heikompi eristyvyysaste. Transaktiolle voidaan taata haluttu eristyvyysaste (1 4 ), jos kaikilta muilta transaktioilta vaaditaan vähintään aste

25 Eristyvyys ja peruuntuvuus Olkoon H transaktiojoukon {T 1,...,T n } ajoitus, joka voidaan ajaa tietokannassa D ja tuottaa tietokannan D. Joukossa on eteneviä, sitoutuneita, peruuntuvia ja peruutuksensa päättäneitä transaktioita. Tarkastellaan H:n etenevää transaktiota T i = Bα i. Siis H:ssa esiintyy limitettynä T i σ i, jollakin T i :n sijoituksella σ i. Nyt T i haluaakin keskeytyä. T i σ i pitää siis täydentää peruutuksensa päättäneeksi transaktioksi (Bα i Aα 1 i C)σ i. Luonnollinen vaatimus on, että peruutuksen pitää olla mahdollista H:ssa, ts. täydennetty ajoitus H(Aα 1 i C)σ i on voitava ajaa D:ssä, eli täydennysjono (Aα 1 i C)σ i on voitava ajaa D :ssa. 201

26 Tarkastellaan transaktioiden T 1 = BW[x,u,1] ja T 2 = BD[x,u]C ajoitusta B 1 W 1 [x,0,1]b 2 D 2 [x,1]c 2, joka voidaan ajaa monikon (x, 0) sisältävässä tietokannassa D ja tuottaa tietokannan D = D \ {(x,0)}. Nyt T 1 haluaa keskeytyä, joten B 1 W 1 [x,0,1] täydennetään transaktioksi B 1 W 1 [x,0,1]a 1 W 1 1 [x,0,1]c 1. Vastaavaa täydennettyä ajoitusta B 1 W 1 [x,0,1]b 2 D 2 [x,1]c 2 A 1 W 1 1 [x,0,1]c 1 ei kuitenkaan voida ajaa D:ssä. Operaatio D 2 [x,1] on sitoutuneen transaktion T 2 tekemä likainen kirjoitus. 202

27 Vastaavanlainen tilanne syntyy transaktioiden T 1 = BD[x,u] ja T 2 = BI[x,u]C sekä ajoituksen H = B 1 D 1 [x,0]b 2 I 2 [x,0]c 2 tapauksessa: täydennettyä ajoitusta HA 1 D 1 1 [x,0]c 1 = B 1 D 1 [x,0]b 2 I 2 [x,0]c 2 A 1 D 1 1 [x,0]c 1 ei voida ajaa missään tietokannassa D, jossa H voidaan ajaa. H:n sitoutuneen transaktion T 2 :n operaatio I 2 [x,0] on likainen kirjoitus. 203

28 Tarkastellaan vielä kahden etenevän transaktion T 1 = BW[x,u,1] ja T 2 = BW[x,u,2] ajoitusta B 1 W 1 [x,0,1]b 2 W 2 [x,1,2]. Tässä W 2 [x,1,2] on likainen kirjoitus. Nyt molemmat transaktiot haluavat keskeytyä. Peruutus onnistuu, jos käänteisoperaatiot suoritetaan tarkalleen kirjoitusten kronologisen järjestyksen käänteisjärjestyksessä: B 1 W 1 [x,0,1]b 2 W 2 [x,1,2]a 2 W 1 2 [x,1,2]c 2 A 1 W 1 1 [x,0,1]c 1 (operaatioiden A 1 ja A 2 tai C 1 ja C 2 keskinäisellä järjestyksellä ei tässä ole väliä). Sitä vastoin T 1 :n kirjoituksen peruuttaminen ensin johtaisi ajoitukseen, joka ei määritelmämme mukaan ole ajettavissa: B 1 W 1 [x,0,1]b 2 W 2 [x,1,2]a 1 W 1 1 [x,0,1]c 1 A 2 W 1 2 [x,1,2]c 2. Jos taas määrittelisimme, että W[x,u,v] on aina ajettavissa tietokannassa, joka sisältää avainarvolla x varustetun monikon (vaikka sen arvo olisikin u:sta poikkeava), tuottaisi peruutus alkuperäisestä poikkeavan tietokannan. 204

29 Olkoon H ajoitus, jossa yksikään sitoutunut tai peruutuksensa päättänyt transaktio ei kirjoita likaista. Voidaan näyttää: Operaatiojonot, joilla H:n aktiiviset transaktiot täydennetään peruutuksensa päättäneiksi transaktioiksi, voidaan limittää jonoksi γ niin, että täydennetty ajoitus Hγ voidaan ajaa jokaisessa tietokannassa, jossa H voidaan ajaa. Eräässä tällaisessa γ:ssa kirjoitusten käänteisoperaatiot ovat täsmälleen kirjoitusten kronologisen järjestyksen käänteisjärjestyksessä. 205

30 On järkevää vaatia, että normaalin transaktionkäsittelyn aikana useammat transaktiot voivat peruuntua ja että tämä voi tapahtua rinnakkaisesti satunnaisessa järjestyksessä. Likaiset kirjoitukset on siten kokonaan estettävä. Järjestelmä ei saa tuottaa yhtään ajoitusta, jossa jokin transaktio kirjoittaisi likaista. Käytännössä ei voitaisikaan rajoittua estämään ainoastaan sitoutuneitten tai peruutuksensa päättäneiden transaktioiden likaisia kirjoituksia. Kirjallisuudessa kutsutaan ankaraksi (strict) sellaista ajoitusta, jossa yksikään sitoutunut tai peruutuksensa päättänyt transaktio ei kirjoita likaista ja jossa lisäksi mikään transaktio ei lue likaista. 206

31 Olkoon H ajoitus, jossa yksikään transaktio ei kirjoita likaista. Olkoon γ mikä tahansa niiden operaatiojonojen limite, joilla H:n aktiiviset transaktiot täydennetään peruutuksensa päättäneiksi transaktioiksi. Voidaan näyttää: (1) Täydennetty ajoitus Hγ voidaan ajaa missä tahansa tietokannassa, jossa H voidaan ajaa. (2) Yksikään Hγ:n transaktio ei kirjoita likaista. (3) Yksikään Hγ:n transaktio ei lue likaista, ellei jokin H:n transaktio lue likaista. (4) Yksikään Hγ:n transaktio ei lue likaista eikä toistokelvottomasti, ellei jokin H:n transaktio lue likaista tai toistokelvottomasti. 207

32 Sarjallistuvuus Transaktiojoukon {T 1,...,T n } ajoitukset H ja H ovat yhtäpitävät eli ekvivalentit, jos jokaisella tietokannalla D, jolla toinen ajoituksista voidaan ajaa, myös toinen ajoitus voidaan ajaa ja kumpikin ajoitus tuottaa saman tietokannan H(D) = H (D). Transaktiojoukon {T 1,...,T n } ajoitusta sanotaan yleisesti sarjallistuvaksi (serializable), jos se on yhtäpitävä saman transaktiojoukon jonkin sarjallisen ajoituksen kanssa. Tarkastellaan, miten tämä yleinen sarjallistuvuuden käsite rinnastuu SQL:n sarjallistuvaan eristyvyystasoon. 208

33 Olkoot T 1 ja T 2 ajoituksen H kaksi eri transaktiota. Määrittelemme, että T 1 konfliktoi T 2 :n kanssa, merk. T 1 < T 2, jos jokin seuraavista ehdoista on voimassa H:ssa: (1) T 1 päivittää avainarvoa x ja sitten myös T 2 päivittää x:ää (kirjoitus-kirjoitus-konflikti, write-write conflict). (2) T 1 päivittää avainarvoa x ja sitten T 2 lukee x:n sisältävän avainvälin (kirjoitus-luku-konflikti, write-read conflict). (3) T 1 lukee avainvälin ja sitten T 2 päivittää tälle avainvälille kuuluvaa avainarvoa x (luku-kirjoitus-konflikti, read-write conflict). 209

34 Oletetaan, että ajoituksessa H kaikille transaktioille T 1 ja T 2 pätee seuraava ehto: Jos T 1 < T 2, niin T 2 T 1. Ts. konfliktoivuussuhde < luo H:n transaktioiden joukkoon osittaisjärjestyksen. Tätä osittaisjärjestystä kutsutaan H:n transaktioiden sarjallistuvuusjärjestykseksi (serializability order). Silloin H on yhtäpitävä jokaisen sellaisen sarjallisen ajoituksen kanssa, jossa H:n transaktiot ovat niiden sarjallistuvuusjärjestyksessä. Esimerkiksi transaktioiden T 1 = BR[x, x]r[y, y] ja T 2 = BR[x, x]i[y]c rinnakkainen ajoitus H 1 = B 1 R 1 [x, x]b 2 R 2 [x, x]i 2 [y]c 2 R 1 [y, y] on yhtäpitävä sarjallisen ajoituksen H 2 = B 2 R 2 [x, x]i 2 [y]c 2 B 1 R 1 [x, x]r 1 [y, y] kanssa, kun x y. Transaktioiden sarjallistuvuusjärjestys on T 2 < T

35 Olkoon H ajoitus, jossa ei esiinny päivitysten käänteisoperaatioita I 1, D 1 ja W 1. Jos H:ssa joillekin transaktioille T 1 ja T 2 pätee T 1 < T 2 ja T 2 < T 1, niin H:ssa esiintyy vähintään yksi eristyvyysanomalia (likainen kirjoitus, likainen luku tai toistokelvoton luku) T 1 :n ja T 2 :n kesken. Tämä nähdään seuraavasti. Olkoon konfliktin T 1 < T 2 aiheuttava operaatiopari o 1, o 2. Jos tämä ei aiheuta eristyvyysanomaliaa, niin H:n täytyy olla muotoa H =...o 1...C 1...o 2... Olkoon konfliktin T 2 < T 1 aiheuttava operaatiopari o 2, o 1. Jos tämä ei aiheuta eristyvyysanomaliaa, niin H:n täytyy olla muotoa H =...o 2...C 2...o 1... Edellisessä tapauksessa T 1 sitoutuu ennen T 2 :ta ja jälkimmäisessä tapauksessa T 2 sitoutuu ennen T 1 :tä. Jommankumman konflikteista T 1 < T 2 ja T 2 < T 1 täytyy siis aiheuttaa eristyvyysanomalia. 211

36 Välttämätön ehto SQL:n sarjallistuvuudelle eli eristyvyysanomalioiden esiintymättömyydelle on siis, ettei ajoituksen millekään eri transaktioille ehdot T 1 < T 2 ja T 2 < T 1 ole samanaikaisesti voimassa (olettaen, ettei ajoituksessa esiinny päivitysten käänteisoperaatioita). Ehto ei kuitenkaan ole riittävä, sillä esim. ajoituksessa B 1 W 1 [x]b 2 W 2 [x] T 1 < T 2 mutta T 2 T 1, vaikka ajoituksessa esiintyy likainen kirjoitus. Oletetaan, että ajoituksen H kaikki transaktiot ovat sitoutuneita ja ettei niissä esiinny osittaisperuutuksia ja että kunkin transaktion T i sitoutumisoperaatio C i on H:ssa välittömästi T i :n viimeisen luku- tai päivitysoperaation jälkeen. Silloin H:ssa esiintyy eristyvyysanomalioita silloin ja vain silloin kun joillekin H:n transaktioille T 1 ja T 2 pätee T 1 < T 2 ja T 2 < T 1. Osittaisperuutuksia ja peruuntuneita transaktioita sisältäville ajoituksille voidaan johtaa vastaava tulos modifioimalla konfliktoivuuden määritelmää sopivasti. 212

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

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

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. 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

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

Samanaikaisuuden hallinta Snapshot Isolationin avulla

Samanaikaisuuden hallinta Snapshot Isolationin avulla hyväksymispäivä arvosana arvostelija Samanaikaisuuden hallinta Snapshot Isolationin avulla Olli Korhonen Helsinki 4.3.2009 Seminaarityö HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO

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

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

Tilannevedoseristyvyydessä esiintyvät eristyvyysanomaliat

Tilannevedoseristyvyydessä esiintyvät eristyvyysanomaliat Tilannevedoseristyvyydessä esiintyvät eristyvyysanomaliat Pasi Oja-Nisula Helsinki 19.9.2006 Tietokannat nyt -seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö i 1 Johdanto 1 2 Tilannevedoseristyvyyden

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

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 (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

Web-palveluiden transaktionaalinen koostaminen

Web-palveluiden transaktionaalinen koostaminen hyväksymispäivä arvosana arvostelija Web-palveluiden transaktionaalinen koostaminen Tobias Rask Helsinki 18.11.2013 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET

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

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

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

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

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

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

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

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

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

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

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

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

Transaktioiden samanaikaisuuden hallinta

Transaktioiden samanaikaisuuden hallinta Transaktioiden samanaikaisuuden hallinta C. Mohan, D. Haderle, B. Lindsay, H. Pirahesh & P. Schwartz: ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using

Lisätiedot

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä hyväksymispäivä arvosana arvostelija Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä Tuomas Husu Helsinki 20.2.2010 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö i 1 Johdanto

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

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

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

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

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

2. Minkä joukon määrittelee kaava P 0 (x 0 ) P 1 (x 0 ) mallissa M = ({0, 1, 2, 3}, P M 0, P M 1 ), kun P M 0 = {0, 1} ja P M 1 = {1, 2}?

2. Minkä joukon määrittelee kaava P 0 (x 0 ) P 1 (x 0 ) mallissa M = ({0, 1, 2, 3}, P M 0, P M 1 ), kun P M 0 = {0, 1} ja P M 1 = {1, 2}? HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan II, syksy 2018 Harjoitus 4 Ratkaisuehdotukset 1. Mitkä muuttujat esiintyvät vapaina kaavassa x 2 ( x 0 R 0 (x 1, x 2 ) ( x 3 R 0 (x 3, x 0

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

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

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

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

Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle.

Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle. Kombinatoriikka, kesä 2010 Harjoitus 1 Ratkaisuehdotuksia (RT (5 sivua Kaikki kurssin laskuharjoitukset pidetään Exactumin salissa C123. Malliratkaisut tulevat nettiin kurssisivulle. 1. Osoita, että vuoden

Lisätiedot

SELECT-lauseen perusmuoto

SELECT-lauseen perusmuoto SQL: Tiedonhaku SELECT-lauseen perusmuoto SELECT FROM WHERE ; määrittää ne sarakkeet, joiden halutaan näkyvän kyselyn vastauksessa sisältää

Lisätiedot

10 Matriisit ja yhtälöryhmät

10 Matriisit ja yhtälöryhmät 10 Matriisit ja yhtälöryhmät Tässä luvussa esitellään uusi tapa kirjoittaa lineaarinen yhtälöryhmä matriisien avulla käyttäen hyväksi matriisikertolaskua sekä sarakevektoreita Pilkotaan sitä varten yhtälöryhmän

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

Funktiot. funktioita f : A R. Yleensä funktion määrittelyjoukko M f = A on jokin väli, muttei aina.

Funktiot. funktioita f : A R. Yleensä funktion määrittelyjoukko M f = A on jokin väli, muttei aina. Funktiot Tässä luvussa käsitellään reaaliakselin osajoukoissa määriteltyjä funktioita f : A R. Yleensä funktion määrittelyjoukko M f = A on jokin väli, muttei aina. Avoin väli: ]a, b[ tai ]a, [ tai ],

Lisätiedot

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 3: Jatkuvuus

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 3: Jatkuvuus MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 3: Jatkuvuus Pekka Alestalo, Jarmo Malinen Aalto-yliopisto, Matematiikan ja systeemianalyysin laitos 19.9.2016 Pekka Alestalo, Jarmo

Lisätiedot

Approbatur 3, demo 1, ratkaisut A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat.

Approbatur 3, demo 1, ratkaisut A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat. Approbatur 3, demo 1, ratkaisut 1.1. A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat. Käydään kaikki vaihtoehdot läpi. Jos A on rehti, niin B on retku, koska muuten

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

8 KANNAT JA ORTOGONAALISUUS. 8.1 Lineaarinen riippumattomuus. Vaasan yliopiston julkaisuja 151

8 KANNAT JA ORTOGONAALISUUS. 8.1 Lineaarinen riippumattomuus. Vaasan yliopiston julkaisuja 151 Vaasan yliopiston julkaisuja 151 8 KANNAT JA ORTOGONAALISUUS KantaOrthogon Sec:LinIndep 8.1 Lineaarinen riippumattomuus Lineaarinen riippumattomuus on oikeastaan jo määritelty, mutta kirjoitamme määritelmät

Lisätiedot

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120 Tehtävä 1 : 1 Merkitään jatkossa kirjaimella H kaikkien solmujoukon V sellaisten verkkojen kokoelmaa, joissa on tasan kolme särmää. a) Jokainen verkko G H toteuttaa väitteen E(G) [V]. Toisaalta jokainen

Lisätiedot

Sekalaiset tehtävät, 11. syyskuuta 2005, sivu 1 / 13. Tehtäviä

Sekalaiset tehtävät, 11. syyskuuta 2005, sivu 1 / 13. Tehtäviä Sekalaiset tehtävät, 11. syyskuuta 005, sivu 1 / 13 Tehtäviä Tehtävä 1. Johda toiseen asteen yhtälön ax + bx + c = 0, a 0 ratkaisukaava. Tehtävä. Määrittele joukon A R pienin yläraja sup A ja suurin alaraja

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141

Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141 Lineaarialgebra ja matriisilaskenta II LM2, Kesä 2012 1/141 Kertausta: avaruuden R n vektorit Määritelmä Oletetaan, että n {1, 2, 3,...}. Avaruuden R n alkiot ovat jonoja, joissa on n kappaletta reaalilukuja.

Lisätiedot

Relaation ominaisuuksia. Ominaisuuksia koskevia lauseita Sulkeumat. Joukossa X määritelty relaatio R on. (ir) irrefleksiivinen, jos x Rx kaikilla x X,

Relaation ominaisuuksia. Ominaisuuksia koskevia lauseita Sulkeumat. Joukossa X määritelty relaatio R on. (ir) irrefleksiivinen, jos x Rx kaikilla x X, Relaation Joukossa X määritelty relaatio R on (r) refleksiivinen, jos xrx kaikilla x X, (ir) irrefleksiivinen, jos x Rx kaikilla x X, Relaation Joukossa X määritelty relaatio R on (r) refleksiivinen, jos

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

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

Joukossa X määritelty relaatio R on. (ir) irrefleksiivinen, jos x Rx kaikilla x X,

Joukossa X määritelty relaatio R on. (ir) irrefleksiivinen, jos x Rx kaikilla x X, Relaation Joukossa X määritelty relaatio R on (r) refleksiivinen, jos xrx kaikilla x X, (ir) irrefleksiivinen, jos x Rx kaikilla x X, (s) symmetrinen, jos xry yrx, (as) antisymmetrinen, jos xry yrx x =

Lisätiedot

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet ) T-79144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet 11-22) 26 29102004 1 Ilmaise seuraavat lauseet predikaattilogiikalla: a) Jokin porteista on viallinen

Lisätiedot

Johdatus lukuteoriaan Harjoitus 11 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

Johdatus lukuteoriaan Harjoitus 11 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma Johdatus lukuteoriaan Harjoitus syksy 008 Eemeli Blåsten Ratkaisuehdotelma Tehtävä Todista ketjumurtoluvun peräkkäisille konvergenteille kaava ( ) n induktiolla käyttämällä jonojen ( ) ja ( ) rekursiokaavaa.

Lisätiedot

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

Elvytys. R & G Chapter Tietokannan hallinta, kevät 2006, J. Li 1 Elvytys R & G Chapter 18 16.02.06 Tietokannan hallinta, kevät 2006, J. Li 1 Motivaatio Atomisuus: Transaktiot voivat päättyä peruutukseen ( Rollback ). Pysyvyys: Entä jos TKHJ kaatuu? (Syyt?) Halutut ominaisuudet

Lisätiedot

T Syksy 2005 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet )

T Syksy 2005 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet ) T-79.144 Syksy 2005 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet 2.3-3.4) 2 5.11.2005 1. Olkoon R kaksipaikkainen predikaattisymboli, jonka tulkintana on relaatio R A

Lisätiedot

isomeerejä yhteensä yhdeksän kappaletta.

isomeerejä yhteensä yhdeksän kappaletta. Tehtävä 2 : 1 Esitetään aluksi eräitä havaintoja. Jokaisella n Z + symbolilla H (n) merkitään kaikkien niiden verkkojen joukkoa, jotka vastaavat jotakin tehtävänannon ehtojen mukaista alkaanin hiiliketjua

Lisätiedot

2 exp( 2u), kun u > 0 f U (u) = v = 3 + u 3v + uv = u. f V (v) dv = f U (u) du du f V (v) = f U (u) dv = f U (h(v)) h (v) = f U 1 v (1 v) 2

2 exp( 2u), kun u > 0 f U (u) = v = 3 + u 3v + uv = u. f V (v) dv = f U (u) du du f V (v) = f U (u) dv = f U (h(v)) h (v) = f U 1 v (1 v) 2 HY, MTO / Matemaattisten tieteiden kandiohjelma Todennäköisyyslaskenta IIa, syksy 208 Harjoitus 4 Ratkaisuehdotuksia Tehtäväsarja I. Satunnaismuuttuja U Exp(2) ja V = U/(3 + U). Laske f V käyttämällä muuttujanvaihtotekniikkaa.

Lisätiedot

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1) Approbatur 3, demo, ratkaisut Sovitaan, että 0 ei ole luonnollinen luku. Tällöin oletusta n 0 ei tarvitse toistaa alla olevissa ratkaisuissa. Se, pidetäänkö nollaa luonnollisena lukuna vai ei, vaihtelee

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

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006) Salausmenetelmät Veikko Keränen, Jouko Teeriaho (RAMK, 2006) LUKUTEORIAA JA ALGORITMEJA 3. Kongruenssit à 3.1 Jakojäännös ja kongruenssi Määritelmä 3.1 Kaksi lukua a ja b ovat keskenään kongruentteja (tai

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

Keskusmuistitietokantojen samanaikaisuuden hallinta

Keskusmuistitietokantojen samanaikaisuuden hallinta Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen Helsinki 09.03.2012 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI

Lisätiedot

Salausmenetelmät LUKUTEORIAA JA ALGORITMEJA. Veikko Keränen, Jouko Teeriaho (RAMK, 2006) 3. Kongruenssit. à 3.4 Kongruenssien laskusääntöjä

Salausmenetelmät LUKUTEORIAA JA ALGORITMEJA. Veikko Keränen, Jouko Teeriaho (RAMK, 2006) 3. Kongruenssit. à 3.4 Kongruenssien laskusääntöjä Salausmenetelmät Veikko Keränen, Jouko Teeriaho (RAMK, 2006) LUKUTEORIAA JA ALGORITMEJA 3. Kongruenssit à 3.4 Kongruenssien laskusääntöjä Seuraavassa lauseessa saamme kongruensseille mukavia laskusääntöjä.

Lisätiedot

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko, Tehtävä 1 : 1 a) Olkoon G heikosti yhtenäinen suunnattu verkko, jossa on yhteensä n solmua. Määritelmän nojalla verkko G S on yhtenäinen, jolloin verkoksi T voidaan valita jokin verkon G S virittävä alipuu.

Lisätiedot

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 12 (opetusmoniste, kappaleet )

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 12 (opetusmoniste, kappaleet ) T-79.144 Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 12 (opetusmoniste, kappaleet 9.1 9.5) 30.11. 3.12.2004 1. Osoita lauselogiikan avulla oheisten ehtolausekkeiden ekvivalenssi. (a)!(a

Lisätiedot

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari Tehtävä 9 : 1 Merkitään kirjaimella G tehtäväpaperin kuvan vasemmanpuoleista verkkoa sekä kirjaimella H tehtäväpaperin kuvan oikeanpuoleista verkkoa. Kuvan perusteella voidaan havaita, että verkko G on

Lisätiedot

Lineaarialgebra ja differentiaaliyhtälöt Laskuharjoitus 1 / vko 44

Lineaarialgebra ja differentiaaliyhtälöt Laskuharjoitus 1 / vko 44 Lineaarialgebra ja differentiaaliyhtälöt Laskuharjoitus 1 / vko 44 Tehtävät 1-3 lasketaan alkuviikon harjoituksissa, verkkotehtävien dl on lauantaina aamuyöllä. Tehtävät 4 ja 5 lasketaan loppuviikon harjoituksissa.

Lisätiedot

Predikaattilogiikan malli-teoreettinen semantiikka

Predikaattilogiikan malli-teoreettinen semantiikka Predikaattilogiikan malli-teoreettinen semantiikka February 4, 2013 Muistamme, että predikaattilogiikassa aakkosto L koostuu yksilövakioista c 0, c 1, c 2,... ja predikaattisymboleista P, R,... jne. Ekstensionaalisia

Lisätiedot

2 Konveksisuus ja ratkaisun olemassaolo

2 Konveksisuus ja ratkaisun olemassaolo 2 Konveksisuus ja ratkaisun olemassaolo Ratkaisun olemassaolon tutkimiseen tarvitaan perustietoja konvekseista joukoista ja lineaarialgebrasta. Niitä tarvitaan myös ratkaisualgoritmin ymmärtämiseen. Tutkitaan

Lisätiedot

LUKUTEORIA johdantoa

LUKUTEORIA johdantoa LUKUTEORIA johdantoa LUKUTEORIA JA TODISTAMINEN, MAA11 Lukuteorian tehtävä: Lukuteoria tutkii kokonaislukuja, niiden ominaisuuksia ja niiden välisiä suhteita. Kokonaislukujen maailma näyttää yksinkertaiselta,

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

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0. Vapaus Määritelmä Oletetaan, että v 1, v 2,..., v k R n, missä n {1, 2,... }. Vektorijono ( v 1, v 2,..., v k ) on vapaa eli lineaarisesti riippumaton, jos seuraava ehto pätee: jos c 1 v 1 + c 2 v 2 +

Lisätiedot

(1) refleksiivinen, (2) symmetrinen ja (3) transitiivinen.

(1) refleksiivinen, (2) symmetrinen ja (3) transitiivinen. Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus. Tietyn ominaisuuden samuus -relaatio on ekvivalenssi; se on (1) refleksiivinen,

Lisätiedot

Ratkaisu: Yksi tapa nähdä, että kaavat A (B C) ja (A B) (A C) ovat loogisesti ekvivalentit, on tehdä totuustaulu lauseelle

Ratkaisu: Yksi tapa nähdä, että kaavat A (B C) ja (A B) (A C) ovat loogisesti ekvivalentit, on tehdä totuustaulu lauseelle HY / Matematiikan ja tilastotieteen laitos Johdatus logiikkaan I, syksy 2018 Harjoitus 3 Ratkaisuehdotukset 1. Olkoot A, B ja C propositiolauseita. Näytä, että A (B C) (A B) (A C). Ratkaisu: Yksi tapa

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015 ja ja TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho NFA:ksi TIETOTEKNIIKAN LAITOS 16. marraskuuta 2015 Sisällys ja NFA:ksi NFA:ksi Kohti säännöllisiä lausekkeita ja Nämä tiedetään:

Lisätiedot

Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus.

Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus. Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus. Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden

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

Analyysi I (sivuaineopiskelijoille)

Analyysi I (sivuaineopiskelijoille) Analyysi I (sivuaineopiskelijoille) Mika Hirvensalo mikhirve@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2017 Mika Hirvensalo mikhirve@utu.fi Luentoruudut 19 1 of 18 Kahden muuttujan funktioista

Lisätiedot

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

1 Kertaus. Lineaarinen optimointitehtävä on muotoa: 1 Kertaus Lineaarinen optimointitehtävä on muotoa: min c 1 x 1 + c 2 x 2 + + c n x n kun a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a 21 x 1 + a 22 x 2 + + a 2n x n b 2 (11) a m1 x 1 + a m2 x 2 + + a mn x n

Lisätiedot

jäsentäminen TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 26. marraskuuta 2015 TIETOTEKNIIKAN LAITOS

jäsentäminen TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 26. marraskuuta 2015 TIETOTEKNIIKAN LAITOS TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 26. marraskuuta 2015 Sisällys Tunnistamis- ja jäsennysongelma Olkoon G = (N, Σ, P, S) kontekstiton kielioppi ja

Lisätiedot

Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f )

Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f ) Injektio (1/3) Määritelmä Funktio f on injektio, joss f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f ) Seurauksia: Jatkuva injektio on siis aina joko aidosti kasvava tai aidosti vähenevä Injektiolla on enintään

Lisätiedot

Seuraavana tavoitteena on osoittaa, että binääristen neliömuotojen ekvivalenssiluokat

Seuraavana tavoitteena on osoittaa, että binääristen neliömuotojen ekvivalenssiluokat 3.3 Luokkaryhmä Seuraavana tavoitteena on osoittaa, että binääristen neliömuotojen ekvivalenssiluokat muodostavat ryhmän. Määritelmä 3.39. Määritellään operaatio kahden samaa diksriminanttia olevan binäärisen

Lisätiedot

Samanaikaisuuden hallinta MySQLtietokannanhallintajärjestelmässä. Vesa Tähkävuori

Samanaikaisuuden hallinta MySQLtietokannanhallintajärjestelmässä. Vesa Tähkävuori Samanaikaisuuden hallinta MySQLtietokannanhallintajärjestelmässä käyttäen InnoDBtietokantamoottoria Vesa Tähkävuori Opinnäytetyö Tietojenkäsittelyn koulutusohjelma 2010 Tiivistelmä 16.11.2010 Tietojenkäsittelyn

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

T-79.144 Syksy 2003 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet 2.3-3.4) 28 31.10.2003

T-79.144 Syksy 2003 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet 2.3-3.4) 28 31.10.2003 T-79.144 Syksy 2003 Logiikka tietotekniikassa: perusteet Laskuharjoitus 8 (opetusmoniste, kappaleet 2.3-3.4) 28 31.10.2003 1. Olkoon R kaksipaikkainen predikaattisymboli, jonka tulkintana on relaatio R

Lisätiedot

Mikäli huomaat virheen tai on kysyttävää liittyen malleihin, lähetä viesti osoitteeseen

Mikäli huomaat virheen tai on kysyttävää liittyen malleihin, lähetä viesti osoitteeseen Mikäli huomaat virheen tai on kysyttävää liittyen malleihin, lähetä viesti osoitteeseen anton.mallasto@aalto.fi. 1. 2. Muista. Ryhmän G aliryhmä H on normaali aliryhmä, jos ah = Ha kaikilla a G. Toisin

Lisätiedot

Taulun avoimista haaroista saadaan kelvolliset lausejoukot

Taulun avoimista haaroista saadaan kelvolliset lausejoukot T-79.5101 kevät 2006 Laskennallisen logiikan jatkokurssi Laskuharjoitus 11 Ratkaisut 1. M : a, Q b c d Lauseen X( UQ) sulkeuma: CL ( X( UQ) ) = { X( UQ), X( UQ), UQ, X ( UQ), ( UQ),, Q, X ( UQ),, } Muodostetaan

Lisätiedot

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014 Yhtälönratkaisusta Johanna Rämö, Helsingin yliopisto 22. syyskuuta 2014 Yhtälönratkaisu on koulusta tuttua, mutta usein sitä tehdään mekaanisesti sen kummempia ajattelematta. Jotta pystytään ratkaisemaan

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

Lineaarinen toisen kertaluvun yhtälö

Lineaarinen toisen kertaluvun yhtälö Lineaarinen toisen kertaluvun yhtälö Keijo Ruotsalainen Mathematics Division Lineaarinen toisen kertaluvun differentiaaliyhtälö Toisen kertaluvun täydellinen lineaarinen yhtälö muotoa p 2 (x)y + p 1 (x)y

Lisätiedot

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

Lisätiedot

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33 Numeeriset menetelmät TIEA381 Luento 6 Kirsi Valjus Jyväskylän yliopisto Luento 6 () Numeeriset menetelmät 4.4.2013 1 / 33 Luennon 6 sisältö Interpolointi ja approksimointi Polynomi-interpolaatio: Vandermonden

Lisätiedot

TIEDONHALLINTA - SYKSY 2011. Luento 12. Hannu Markkanen 28.-29.11.2011. 9/10/12 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINTA - SYKSY 2011. Luento 12. Hannu Markkanen 28.-29.11.2011. 9/10/12 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 12 TU00AA48-2002 TU10S1E Hannu Markkanen 28.-29.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 Tietokantapahtumien hallinta

Lisätiedot

MS-A0402 Diskreetin matematiikan perusteet

MS-A0402 Diskreetin matematiikan perusteet MS-A040 Diskreetin matematiikan perusteet Osa : Relaatiot ja funktiot Riikka Kangaslampi 017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Relaatiot Relaatio Määritelmä 1 Relaatio joukosta A

Lisätiedot

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) OT

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) OT Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) 31.1.-4.2.2011 OT 1. Määritellään kokonaisluvuille laskutoimitus n m = n + m + 5. Osoita, että (Z, ) on ryhmä.

Lisätiedot

Y ja

Y ja 1 Funktiot ja raja-arvot Y100 27.10.2008 ja 29.10.2008 Aki Hagelin aki.hagelin@helsinki.fi Department of Psychology / Cognitive Science University of Helsinki 2 Funktiot (Lue Häsä & Kortesharju sivut 4-9)

Lisätiedot