Tietokantarakenteet ja -algoritmit 6. harjoitus

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

Tietokantarakenteet ja -algoritmit Harjoitukset 1-12

Tietokantarakenteet ja -algoritmit 3. harjoitus

Transaktioiden samanaikaisuuden hallinta

Muita transaktioiden hallintamenetelmiä

Looginen tietokanta ja transaktiot

Transaktioiden eristyvyys

Transaktiot - kertausta

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

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

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

Lokin ylläpito ja puskurinhallinta

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

Algoritmit 1. Luento 5 Ti Timo Männikkö

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

Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat

D B. Transaktionhallinta - samanaikaisuus

Transaktioiden peruutus ja tietokannan elvytys häiriöstä

5.2 Samanaikaisuuden hallinta

T Transaktionhallinta tietokantajärjestelmissä

Transaktionhallinta. Transaktionhallinta. Transaktionhallinta. R & G Chapter 17

Seminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

Helsingin yliopisto Tietojenkäsittelytieteen laitos (H.Laine) Tietokantojen perusteet. Liitteenä: Tiivistelmä SQL-syntaksista

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

Tietokanta (database)

HELIA 1 (14) Outi Virkki Tiedonhallinta

Algoritmit 2. Luento 5 Ti Timo Männikkö

5.2 Samanaikaisuuden hallinta

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

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

Algoritmit 1. Luento 1 Ti Timo Männikkö

HELIA 1 (17) Outi Virkki Tiedonhallinta

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

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

Algoritmit 1. Luento 12 Ti Timo Männikkö

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

T Testitapaukset TC-1

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

Hajautettujen transaktioiden hallinta

Algoritmit 1. Luento 7 Ti Timo Männikkö

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

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

CS-A1150 Tietokannat CS-A1150 Tietokannat / 44

Helsingin yliopisto/tktl Kyselykielet, s 2006 Relaatiokalkyylit. Harri Laine 1

CSE-A1200 Tietokannat

Helsingin yliopisto/ tktl DO Tietokantojen perusteet, s 2000 Relaatioalgebra Harri Laine 1. Relaatioalgebra

Algoritmit 1. Luento 6 Ke Timo Männikkö

Algoritmit 1. Luento 12 Ke Timo Männikkö

Valitsemalla sopivat alkiot joudutaan tämän määritelmän kanssa vaikeuksiin, jotka voidaan välttää rakentamalla joukko oppi aksiomaattisesti.

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

MS-A0402 Diskreetin matematiikan perusteet

Algoritmit 1. Luento 4 Ke Timo Männikkö

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

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

CSE-A1200 Tietokannat

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

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine

CS-A1150 Tietokannat CS-A1150 Tietokannat / 47

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

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)

Helsingin yliopisto/ tktl D Tietokantojen perusteet, s 2000 Relaatioalgebra. Harri Laine 1. Relaatioalgebra.

Algoritmit 2. Luento 5 Ti Timo Männikkö

HELIA 1 (12) Outi Virkki Tiedonhallinta

Verkkokirjoittamisesta tiedottaja Susanna Prokkola, PKSSK.

Kyselyt: Lähtökohtana joukko lukuja Laskukaava kertoo miten luvuista lasketaan tulos soveltamalla laskentaoperaatioita

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

1. Kuinka monta erilaista tapaa on 10 hengen seurueella istuutua pyöreän pöydän ympärille?

HELIA 1 (14) Outi Virkki Tiedonhallinta

Relaatioalgebra. Kyselyt:

CS-A1150 Tietokannat CSE-A1150 Tietokannat / 29

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

Relaatioalgebra. Relaatioalgebra. Relaatioalgebra. Relaatioalgebra - erotus (set difference) Kyselyt:

Algoritmit 2. Luento 7 Ti Timo Männikkö

Samanaikaisuuden hallinta Snapshot Isolationin avulla

Samanaikaisuuden hallinta. Optiot transaktionaalisissa työnkuluissa

8. Näppäimistöltä lukeminen 8.1

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

joukko operaatioita, joilla relaatioista voidaan muodostaa uusia relaatioita joukko opin perusoperaatiot yhdiste, erotus, ristitulo, leikkaus

DICENTIS Konferenssijärjestelmä

LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi

58131 Tietorakenteet ja algoritmit (syksy 2015)

g : R R, g(a) = g i a i. Alkio g(a) R on polynomin arvo pisteessä a. Jos g(a) = 0, niin a on polynomin g(x) nollakohta.

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

Web-palveluiden transaktionaalinen koostaminen

HAAGA-HELIA TIKO-05 1 (19) ICT23a Tietokannan suunnittelu ja toteutus O.Virkki

Kurssikoe on maanantaina Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.

Predikaattilogiikan malli-teoreettinen semantiikka

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut

Mediaanisuodattimet. Tähän asti käsitellyt suodattimet ovat olleet lineaarisia. Niille on tyypillistä, että. niiden ominaisuudet tunnetaan hyvin

Algoritmit 2. Luento 4 Ke Timo Männikkö

3. Tietokannan hakemistorakenteet

3. Tietokannan hakemistorakenteet

Alityypitys. TIES542 Ohjelmointikielten periaatteet, kevät Antti-Juhani Kaijanaho. Jyväskylän yliopisto Tietotekniikan laitos

Algoritmit 2. Luento 10 To Timo Männikkö

Ohjelmoinnin peruskurssien laaja oppimäärä

Dynaaminen ohjelmointi ja vaikutuskaaviot

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

Huom. muista ilmoittautua kokeeseen ajoissa. Ilmoittautumisohjeet kurssin kotisivuilla.

Tietokantakurssit / TKTL

Transkriptio:

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) ja (b, r 2, 1), lisätään monikko (0,0) relaatioon (b, r 2 ) ja vapautetaan avaimen (b, r 2, 1) X-lukko. I[b, r 1, XV ] IX-lukot s:ään ja b:hen T 1 :llä jo on; X-lukitaan (b, r 1 ) ja (b, r 2 ), luodaan relaatio r 1 (XV ) tietokantaan b ja pudotetaan relaation (b, r 2 ) lukko takaisin IX-lukoksi. I[b, r 1, 1, 1] IX-lukko s:ään T 1 :llä jo on, ja relaatioon (b, r 1 ) T 1 :llä on IX-lukkoa korkeampi X-lukko, joten monikkokohtaisia X-lukkoja ei ole tarpeen varata lainkaan. Lisätään monikko (1,1) relaatioon (b, r 1 ). C Vapautetaan T 1 :n hallussa olevat lukot avaimiin (b, r 2, 0), (b, r 2 ), (b, r 1 ), b ja s. b) T2 = B R[b, r 2, x, 1, v] IS-lukitaan s, b ja (b, r 2 ) (tässä järjestyksessä), S-lukitaan (b, r 2, x), luetaan tietue (b, r 2, x, v). W [b, r 2, 2, u, v] IX-lukitaan s, b ja (b, r 2 ) (tässä järjestyksessä, IS-lukot korotetaan IX-lukoiksi), X-lukitaan (b, r 2, 2) ja päivitetään monikko (2,u) monikoksi (2,v). C Vapautetaan T 2 :n hallussa olevat lukot avaimiin (b, r 2, 1), 1

(b, r 2, 2), (b, r 2 ), b ja s. c) Kyllä ajoitus on mahdollinen. 2

2. a) Pitkäkestoinen X-lukko relaatioon r ja lyhytkestoinen X-lukko r:n seuraajaan. b) Pitkäkestoinen IS-lukko r:ään ja pitkäkestoinen S-lukko avaimeen (r,x). c) Count-kyselyä varten pitkäkestoinen S-lukko r:ään (tai pitkäkestoinen IS-lukko r:ään ja pitkäkestoiset S-lukot kaikkiin r:n monikoihin, mikä on työlästä). Insert-operaatiota varten r:n S-lukko (vast. IS-lukko) korotetaan SIX-lukoksi (tai vast. IS-lukko IX-lukoksi) ja varataan pitkäkestoinen X-lukko avaimeen (r,122) ja lyhytkestoinen X-lukko avaimen (r,x) seuraajaan. Haittoja siitä, ettei lukituksessa oteta huomioon relaatiotason yläpuolella olevia rakeisuustasoja: Tietokannoissa voi esiintyä haamurelaatioita ja järjestelmässä haamutietokantoja. Toinen haitta on lukituksen tehottomuus: paljon lukkoja alemmilla tasoilla. 3

3. Kohdistimen vakaudella ajettava transaktio T: B: T alkaa. R[x 1 ]: T:lle S-lukko avaimeen x 1. T:n S-lukko avaimeen x 1 vapautetaan, koskei x 1 :tä päivitetä. R[x 2 ]: T:lle S-lukko avaimeen x 2. W [x 2 ]: T:n S-lukko avaimeen x 2 korotetaan pitkäkestoiseksi X-lukoksi. R[x 3 ]: T:lle S-lukko avaimeen x 3. T:n S-lukko avaimeen x 3 vapautetaan, koskei x 3 :a päivitetä. C: T sitoutuu. T:n X-lukko avaimeen x 2 vapautetaan. 4

4. a) Täysin eristyneesti: B: T alkaa. R[x 1 ]: T:lle U-lukko avaimeen x 1. T:n U-lukko avaimeen x 1 lasketaan S-lukoksi, koskei x 1 :tä päivitetä. R[x 2 ]: T:lle U-lukko avaimeen x 2. W [x 2 ]: T:n U-lukko avaimeen x 2 korotetaan X-lukoksi. R[x 3 ]: T:lle U-lukko avaimeen x 3. T:n U-lukko avaimeen x 3 lasketaan S-lukoksi, koskei x 3 :a päivitetä. C: T sitoutuu. Vapautetaan T:n lukot: x 1 :n S-lukko, x 2 :n X-lukko ja x 3 :n S-lukko. b) Kohdistimen vakaudella: B: T alkaa. R[x 1 ]: T:lle U-lukko avaimeen x 1. T:n U-lukko avaimeen x 1 vapautetaan, koskei x 1 :tä päivitetä. R[x 2 ]: T:lle U-lukko avaimeen x 2. W [x 2 ]: T:n U-lukko avaimeen x 2 korotetaan X-lukoksi. R[x 3 ]: T:lle U-lukko avaimeen x 3. T:n U-lukko avaimeen x 3 vapautetaan, koskei x 3 :a päivitetä. C: T sitoutuu. T:n X-lukko avaimeen x 2 vapautetaan. 5

5. Luku-kirjoitusmallissa kaikki täyteen eristyneisyyteen tarvittavat X-lukot saadaan hankituksi lokikirjauksista. Avainvälimallissa tämä on mahdollista vain, jos poisto-operaation D[x,v] lokikirjaukseen laitetaan myös avaimen x seuraaja-avain y. Operaation D[x,v] käänteisoperaation näet pitää suorittaa x:n seuraajaan y hankitun X-lukon turvin. Ks. luentojen sivu 155. Peruuntuvalle transaktiolle ei kuitenkaan voida hankkia S- lukkoja niiden etenemisvaiheessa mahdollisesti tekemien lukuoperaatioidensa suojaksi. Tämä voi aiheuttaa sen, että järjestelmään tuleva uusi transaktio tekee päivitysoperaation avaimeen x ennen kuin sitä lukenut peruuntuva transaktio ehtii päättää peruutuksensa. Tekeekö tämä päivitys siis lukuoperaatiosta toistokelvottoman. Vastaus on: ei. Olemme näet sulkeneet tämän tilanteen pois toistokelvottoman luvun määritelmästä (luentojen sivu 102). Perusteluna on, ettei tämä tilanne missään tapauksessa voi aiheuttaa mitään eheyden rikkoumaa. Siis peruuntuvienkin transaktioiden suoritus on täysin eristynyttä. 6

6. ts(t1) = 1, ts(t2) = 2, ts(t3) = 3. a) B1 W 1 [1] : wts(1) := 1 R 1 [2]rts(2) := 1 B 2 W 2 [2] Havaitaan, että avaimen 2 tuorein lukija T 1 on eri kuin T 2 ja aktiivinen, joten T 2 keskeytetään. Näin estyy toistokelvoton luku. b) B1 R 1 [1] : rts(1) := 1. B 2 R 2 [1] : rts(1) := 2. C 2 B 3 W 3 [1] Havaitaan, että avaimen 1 tuorein lukija T 2 on T 3 :a aikaisempi ja sitoutunut, joten operaatio W 3 [1] hyväksytään, vaikka se tekeekin T 1 :n operaatiosta R 1 [1] toistokelvottoman. wts(1):=3. C 3 W 1 [4] : wts(4) := 1. Tämä päivitys voi perustua operaation R 1 [1] lukemaan epäajankohtaiseen arvoon. C 1 Miten estettäisiin toistokelvottomat luvut? Vai onko lainkaan tarpeen, ts. voiko niistä olla haittaa? c) B 1 B 2 W 2 [1] : wts(1) := 2. C 2 R 1 [1] Havaitaan, että T 1 :tä myöhäisempi transaktio T 2 on jo kirjoittanut avaimen 1, joten T 1 peruutetaan. 7

Ajoituksessa ei ole eristyneisuusanomalioita. Lukituskäytännössä ajoitus onkin mahdollinen. 8