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

Save this PDF as:
 WORD  PNG  TXT  JPG

Koko: px
Aloita esitys sivulta:

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

Transkriptio

1 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 avulla. Nykyiset DBMS-järjestelmät ovat teknisesti vaativia, pitkälle kehitettyjä, tiedot turvaavia ja oikein hoidettuina vankkoja talletetun tiedon varastojärjestelmiä. Ne muodostavat vankan perustan luotettaville sovelluksille, mutta kuitenkin vain sillä edellytyksellä, että niiden palveluita osataan käyttää oikein. DBMS-järjestelmän palvelua käytetään oikeaoppisesti jakamalla sovelluksen käyttämän tietokannan käsittely SQL-transaktioiksi, joissa sovelluksen tietokantaistunnon (connection, SQL-session) yksi tai useampi perättäinen SQLkomento on rajattu käsittelykokonaisuudeksi, joka transaktion lopussa kuitataan suoritetuksi (COMMIT) tai peruutetaan kokonaan (ROLLBACK). SQL-standardin mukaan tietokantakäsittely on aina transaktionaalista ja transaktion aloittaa SQListunnon alun tai viimeksi committoidun taikka peruutetun transaktion jälkeen ensimmäinen suorittava (ei esim. DECLARE) SQL-komento. Joissakin DBMS-järjestelmissä (esimerkiksi SQL Serverissä) transaktio tulee aloittaa eksplisiittisesti BEGIN TRANSACTION komennolla tai muuten käsittely tapahtuu ns. AUTOCOMMIT-moodissa, missä jokainen onnistunut SQL-komento committoituu automaattisesti ja sitä ei siis voi enää peruuttaa ROLLBACK-palvelulla. Keskitymme nyt vain transaktionaaliseen käsittelyyn. Tyypillinen esimerkki transaktiosta on tilisiirto-operaatio, missä nostetaan joku summa (esimerkiksi 100 euroa) yhdeltä pankkitililtä ja talletetaan se toiselle tilille: UPDATE Tilit SET saldo = saldo 100 WHERE tilino = ; UPDATE Tilit SET saldo = saldo WHERE tilino = ; COMMIT WORK; Jos järjestelmissä sattuisi joku toimintahäiriö ennen toisen UPDATE-komennon suoritusta ilman transaktionaalista käsittelyä, olisi 100 euroa hävinnyt tuhkatuuleen. Oikeaoppisesti transaktionaalisesti suoritettuna ensimmäinenkin UPDATE-komento peruuntuisi automaattisesti toimintahäiriöstä toivuttaessa, joten tietokantaan ei jää ristiriitaista tietoa. Oikeaoppista SQL-transaktiota sanotaan ACID-transaktioksi, missä sanan kirjaimet tulevat seuraavien englanninkielisten transaktion ominaisuuksien alkukirjaimista: Atomic Consistent Isolated atominen eli jakamaton operaatiosarja, joka tulee kokonaan joko suoritetuksi (committed) tai automaattisesti perutuksi (rolled back). operaatiosarja siirtää tietokannan ehyestä, ristiriidattomasta tilasta toiseen ehyeen tilaan. Tämän ominaisuuden mekaaninen DBMS:n vastuuta painottava tulkinta tarkoittaa ettei tietokannan eheysrajoitteita (constraints) voida rikkoa transaktiossa. Laajempi tulkinta siirtää vastuun myös sovellusohjelmalle: transaktion ohjelmalogiikan tulee olla hyvin muodostettu ja testattu (well formed transaction). transaktio käsittelee tietokannan tietoja eristyneenä ilman samanaikaisen muun käsittelyn aiheuttamia sivuvaikutuksia. Käsittelyn sanotaan olevan sarjallistuvaa (serialized). Tämä tarkoittaa, että DBMS:n tulee sarjallistaa

2 HELIA TIKO-05 SQL-TRANSAKTIOT 2 ( 12) Durable samanaikaisten ACID-transaktioden operaatiot siten, että näiden lopputulos tietokannassa vastaa tilannetta, jossa nämä samanaikaiset transaktiot olisi suoritettu jossakin peräkkäisessä järjestyksessä. Huom: tämä ei tarkoita, että DBMS käsittelisi nämä transaktiot peräkkäin! committoidun transaktion tiedot säilyvät tietokannassa (ellei niitä muuteta jossakin myöhemmässä käsittelyssä). ACID-periaate edellyttää, että DBMS ei voi committoida transaktiota, joka ei täytä näitä vaatimuksia. Joko DBMS:n tai sovelluksen on peruttava vaatimukset rikkova transaktio. Näistä Isolated-vaatimus on haasteellinen ja voi johtaa sarjallistuvuuskonflikteihin tai suoritustehoa haittaaviin odotusaikoihin. Transaktion kirjoittamaa tietoa ei transaktionaalisessa käsittelyssä nykyjärjestelmissä voida muuttaa muiden transaktioiden toimesta ennen transaktion päättymistä eli transaktion aikana sen itsensä tekemä päivitys ei voi hukkua (lost update problem on tässä mielessä ratkaistu). SQL-standardi ei ota kantaa käsittelyn eristyvyyden toteutukseen, mutta määrittää sovelluksen kannalta luettavalle tiedolle Isolated-vaatimuksesta tingittävät eristyvyyden palvelutasot eli Isolation Levels: Read Uncommitted sallii eristämättömän tietojen lukemisen eli tietokannasta voidaan lukea samanaikaisten transaktioiden kirjoittamaa keskeneräistä tietoa (dirty read). Read Committed Repeatable Read Serializable luetaan vain committoitua tietoa. Jos joku toinen transaktio on varannut tiedon päivitettäväksi, jäädään lukituksia käyttävissä DBMS-järjestelmissä odottamaan tämän toisen transaktion päättymistä. luetaan vain committoitua tietoa ja varataan kaikki luetut tiedot mahdollista uudelleenlukemista varten aina transaktion loppuun asti. Transaktion loppuun pidettävillä lukulukoilla estetään tiedon muuttuminen muiden transaktioiden toimesta transaktion aikana. luetaan vain committoitua tietoa ja DBMS:n tulisi pitää tietokanta transaktion kaikkien tarvitsemien tietojen osalta alkuhetken mukaisessa tilassa niin ettei transaktion aikana kantaan ilmaannu muiden transaktioiden toimesta sellaista uutta tietoa (phantom, suomeksi kummitus), jota tämä transaktio olisi voinut tarvita, mutta tieto olisi jäänyt tältä transaktiolta huomaamatta. Vain tämä toteuttaa yleispätevästi ACID-periaatteen mukaisen Isolated-eristyvyyden. Eristyvyyden toteutukseen nykyiset DBMS-järjestelmät käyttävät pääasiassa kahta menetelmää: - Luku- ja kirjoituslukkojen protokolla, yksinkertaistettuna seuraava: Kirjoitusoperaatioita varten DBMS jonottaa transaktiolle X-lukon (exclusive mode) eli rivin kirjoituslukon, jonka voi saada vain jos riviin ei muilla transaktioilla ole kirjoitus- eikä lukulukkoja. Lukuoperaatioita varten DBMS jonottaa transaktiolle S-lukon (Shared mode) eli rivin lukulukon, jonka voi saada aina jos riviin ei ole jollakin toisella X-lukkoa. Todellinen lukitusprotolla on monimutkaisempi kattaen muitakin lukitusmoodeja ja muitakin lukitustasoja kuin rivilukitukset. Tätä protokollaa käyttävät mm. DB2-järjestelmät ja SQL Server Protokolla on kuvattu Jim Grayn ja Andreas Reuterin kirjoittamassa klassikossa Transaction Processing: Concepts and Techniques ja suppeammin sitä käyttävien järjestelmien käsikirjoissa. - Rivien moniversiointi: riviä päivitettäessä siitä kirjoitetaan sukupolviversio estäen kuitenkin kilpailevien versioiden syntyminen. Muut voivat lukea transaktionsa alkuhetkellä voimassa olleen riviversion. Tätä protokollaa käyttävät mm. Solid ja Mimer.

3 HELIA TIKO-05 SQL-TRANSAKTIOT 3 ( 12) Oracle käyttää näiden yhdistelmää: saman rivi päällekkäiset päivitykset estäviä kirjoituslukkoja ja näyttäen päivitettävää riviä lukeville samanaikaisille transaktioille rivin aikaisempaa versiota. Eristyvyyden toteutustekniikasta riippuen järjestelmät tukevat usein vain osaa SQL-standardin eristyvyystasoista: - Rivien moniversiointi mahdollistaa vain Read Committed ja Serializable -tasot. Solid ja Mimer tukevat siis vain näitä. - Oracle sanoo tukevansa vain Read Committed ja Serializable -tasoja, mutta sen Serializabletulkinta on erilainen kuin SQL-standardin ja Oraclen tulkinnan mukaisesta isolated-eristyvyydestä käytetään nimitystä Snapshot Isolated. - SQL Server 2000 tukee kaikkia SQL-standardin eristyvyystasoja ja SQL Server 2005 näiden lisäksi myös Snapshot Isolated tasoa. - DB2 tukee SQL-standardin mukaisia eristyvyystasoja, joskin eri nimisinä käyttäen Read Committed tason asemesta currentin rivin lukulukon säilyttävää Cursor Stability eristyvyyttä. Sarjallistuvuusongelmista Sarjallistuvuusongelmia aiheuttavat mm. seuraavat - saman rivin kilpailevat käsittelyt, joissa rivi luetaan ennen sen päivitystä (mikä on aivan tyypillinen tilanne) - eri kohteisiin kilpailevien transaktioiden eri järjestyksessä yrittämät käsittelyt, esimerkiksi tilisiirrot vastakkaisiin suuntiin. Tyypillinen sarjallistuvuusongelma lukitsevissa järjestelmissä ilmenee tilanteena, missä kaksi tai useampi transaktio odottaa toisiaan kehässä ja näiden suoritus pysähtyy. Tilannetta kutsutaan lukkiumaksi (deadlock). Nykyiset DBMS-järjestelmät huomaavat lukkiumatilanteen muutamassa sekunnissa. DB2 ja SQL Server purkavat tilanteen valitsemalla yhden toisiaan odottavista transaktioista yhden lukkiuman uhriksi ja tekevät tälle automaattisesti ROLLBACKin. Oracle havaitsee lukkiuman uhkan ja peruuttaa automaattisesti komennon, joka johtaisi lukkiuma tilanteeseen. Asianomainen sovellus saa tästä virheilmoituksen ja tyypillisesti antaa itse ROLLBACK-komennon, koska ei voi viedä transaktiotaan loppuun. Tarkastelemme seuraavassa esimerkkiä samasta rivistä kilpailevia transaktioita, joissa rivi luetaan ennen sen päivitystä, ja miten sarjallistuvuusongelma ilmenee SQL Server 2000:lla, Solidilla ja Oracle 9.2:lla testattuna: Luodaan ensin taulu Tilit ja lisätään sinne pari riviä CREATE TABLE Tilit ( Tilino INTEGER NOT NULL PRIMARY KEY, Saldo INTEGER NOT NULL ); INSERT INTO Tilit (Tilino,Saldo) VALUES (101202,10000); INSERT INTO Tilit (Tilino,Saldo) VALUES (220330,20000); COMMIT WORK; Avataan 2 samanaikaista SQL-istuntoa A ja B ja kokeillaan näissä seuraavia operaatioita kirjoitetussa järjestyksessä -- Asiakas A SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; SELECT Saldo FROM Tilit WHERE Tilino = ;

4 HELIA TIKO-05 SQL-TRANSAKTIOT 4 ( 12) -- Asiakas B SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; SELECT Saldo FROM Tilit WHERE Tilino = ; -- laskee = UPDATE Tilit SET Saldo = WHERE Tilino = ; -- Asiakas A -- laskee = UPDATE Tilit SET Saldo = WHERE Tilino = ; SQL Server 2000:lla testattuna sarjallistuvuus ongelma laukeaa DBMS:n toimesta tehdyllä lukkiuman (deadlock) purkamisella

5 HELIA TIKO-05 SQL-TRANSAKTIOT 5 ( 12) Solid Embedded Engine 4.1 havaitsee sarjallistuvuusongelman (concurrency conflict)

6 HELIA TIKO-05 SQL-TRANSAKTIOT 6 ( 12) Oracle 9.2:llä Read Committed eristyvyystasolla päädyttäisiin hukattuun päivitykseen (testaa tämä itse harjoituksena). Oraclen SERIALIZABLE eristyvyydellä (oikeasti siis Snapshot Isolated) transaktiot käyttäytyvät seuraavasti: A:n UPDATE jää odottamaan B:n lukon vapautumista ja kun B committoi selviää ettei A:n päivitys voi sarjallistua:

7 HELIA TIKO-05 SQL-TRANSAKTIOT 7 ( 12) Vastaava koejärjestely selainpohjaisella Oraclen isqlplus-käyttöliittymällä kestää... mutta päätyy lopulta samaan tulokseen

8 HELIA TIKO-05 SQL-TRANSAKTIOT 8 ( 12) Transaktioiden suunnittelusta Transaktiolla sovellus kommunikoi tietokantapalvelimen kanssa hakien tietoa käsiteltäväksi tai kirjaten tietokantaan sovelluksesta välittyviä tietoja. Transaktiolla tulee olla selvä tehtävä. Transaktiolla toteutetaan tyypillisesti käyttöliittymässä tehty valinta hae tai talleta. Transaktioon ei tule sisältyä kommunikointia käyttäjän kanssa, sillä tällöin transaktio varaa tietokannan resursseja liian pitkään haitaten muiden tietokantakäsittelyä. Yleensäkin tulee pyrkiä lyhyiden transaktioiden toteutuksiin. Sarjallistuvuuskonfliktiin kaatunut transaktio ei käynnisty DBMS:n toimesta uudelleen, vaan sovelluksen kannattaa yrittää sitä muutama kerta uudelleen ennen ongelman raportoimisesta käyttöliittymään.

9 HELIA TIKO-05 SQL-TRANSAKTIOT 9 ( 12) Tietokannan toipuminen (Recovery) (ks RdbmsRecovery.ppt) DBMS-järjestelmät numeroivat tietokannan transaktiot ja kirjoittavat transaktiolokiin jokaisesta tietokannassa muutetusta rivistä asianomaisella transaktionumerolla merkityn tietueen, johon tulee rivin alkukuva (before image) ennen käsittelyä ja loppukuva (after image) käsittelyn jälkeen. INSERT-komennon tapauksessa alkukuva on tyhjä ja DELETE-komennon tapauksessa loppukuva on tyhjä. COMMIT ja ROLLBACK-komennoista kirjoitetaan lokiin myös tietueet ja transaktion lokitietueet kirjoitetaan puskureista transaktiolokiin viimeistään tässä vaiheessa. Ajoittain DBMS tekee CHECKPOINT-operaation, jossa puskurialtaan muuttuneet sivut kirjoitetaan tietokantatiedostoihin ja transaktiolokiin kirjoitetaan checkpoint-tietue, jossa on lista kaikista käynnissä olevien transaktioiden numeroista. Huom: Jos tietokannanhoitaja sulkee tietokantainstanssin hallitusti eli ei salli kantaan uusia istuntoja ja odottaa että kaikki käynnissä olevat istunnot ovat päättyneet, kirjoittaa DBMS lopuksi transaktiolokiin checkpoint-tietueen, jossa on tyhjä transaktionumerolista. Tarkastelemme nyt tilannetta, jossa tietokantainstanssi tai koko palvelin kaatuu esimerkiksi sähkökatkoksen vuoksi. Tietokannan kannalta kaikki levyillä olevat tiedostot säilyvät, mutta kaikki puskurialtaan tiedot menetetään (ns. Soft Crash tilanne). t c t f time T1 T2 Commit Rollback T3 T4 T5 Checkpoint record Commit Soft Crash System Failure Kun DBMS seuraavan kerran käynnistetään, se etsii ensitöikseen transaktiolokin viimeisen checkpoint-tietueen. Jos tämä osoittaa, että DBMS on suljettu hallitusti, käynnistetään sovellusten palvelu, muussa tapauksessa DBMS yrittää ensin toipua Soft Crash tilanteesta Rollback Recovery operaatiolla seuraavasti: Checkpoint-tietueen transaktionumerot kirjataan peruutettavien transaktioiden ns. UNDO-listalle ja uudelleen kirjoitettavien transaktioiden ns. REDO-lista on aluksi tyhjä. DBMS käy transaktiolokin läpi chekcpoint-tietueesta lokin loppuun asti kirjaten kaikki alkaneet transaktionumerot UNDO-listalle

10 HELIA TIKO-05 SQL-TRANSAKTIOT 10 ( 12) ja siirtäen UNDO-listalta kaikki lokin perusteella committoitujen transaktioiden numerot REDOlistalle. Lopuksi DBMS käy transaktiolokin läpi lopusta alkuun päin kirjoittaen UNDO-listan transaktioiden rivien alkukuvat tietokantaan ja vastaavasti kirjaten tietokantaan REDO-listan transaktioiden rivien loppukuvat transaktiolokin mukaisessa aikajärjestyksessä. Rollback recovery using transaction log t c t f time T1 T2 Commit Rollback T3 T4 Commit T5 Checkpoint record Rollback Recovery Undo list: T1, T2, T3, T4, T5 Redo list: T1, T4 5. Rollback transactions of the Undo list - writing the before images into the database Redo transactions of the Redo list - writing the after images into the database 6. Open the DBMS service to applications DBMS voi nyt avata viimeiseen committoituun transaktioon asti toipuneen tietokannan sovellusten käyttöön.

11 HELIA TIKO-05 SQL-TRANSAKTIOT 11 ( 12) HARJOITUKSET Harjoitus 1. Sarjallistuvuus: Kilpailu yhdestä resurssista Luo Info9-palvelimen Oracle 9.2-asennuksen TUX1-instanssiin edellä tarkasteltu Tilit-taulu. Toista edellä kuvattu tilin saldon samanaikainen kasvatus transaktiolla A ja B käyttäen Oraclen eristyvyystasoa Read Committed. Seuraako tästä konflikti vai oikea tulos? Harjoitus 2. Sarjallistuvuus: Kilpailu kahdesta resurssista Testaa kahdessa rinnakkaisessa selainikkunassa ristikkäiset tilisiirrot missä transaktio A siirtää 100 euroa tililtä tilille ja transaktio B yrittää siirtää samanaikaisesti 200 euroa tililtä tilille Kokeile testiä Oraclen eristyvyystasoilla Read Committed ja Serializable. Onko tuloksissa eroa? Harjoitus 3. Rollback Recovery (tuntiharjoitus / demo) (ks SoliServerRecovery.ppt ja käsikirjoitus: transactions.txt) Tutustutaan opettajan opastuksella Solid Embedded Engine järjestelmään. Käynnistetään työasemaan Solid-palvelin ja käynnistetään tämän jälkeen Solid Flowcontrol ohjelma SQL-editoriksi. Luodaan ensin DBA-käyttäjänä tietokantaan oma käyttäjätunnus CREATE USER ict03d-xx-nn IDENTIFIED BY ict03d; Sulkematta DBA:n istuntoa avataan uusi connection -ikkuna tällä omalla käyttäjätunnuksella ja luodaan Rtest-taulu ja poistetaan ruksi ikkunan oikeassa alanurkassa olevasta AutoCommit valinnasta. Aloitetaan ikkunassa transaktio T1 lisäten tauluun Rtest käsikirjoiituksen mukainen rivi. Avataan Flowcontrol-ohjelmassa transaktioita T2-T5 varten vielä 4 muuta rinnakkaista ikkunaa poistaen jokaisesta AutoCommit-tila. Edetään käsikirjoituksen mukaan lisäten rivejä ao. transaktioissa tauluun Rtest. Käsikirjoituksen mukaisessa kohdassa palataan DBA:n istuntoon ja suoritetaan komento ADMIN COMMAND 'makecp' mikä saa aikaan Solidin checkpoint-operaation. Jatketaan rivien lisäämistä käsikirjoituksen mukaan. Lopulta käynnistetään Windowsin Security ikkunasta Task Manager ja simuloidaan järjestelmän kaatumista kaatamalla Solid Embedded Engine.

12 HELIA TIKO-05 SQL-TRANSAKTIOT 12 ( 12) Käynnistetään Solid Embedded Engine uudelleen Start Programs Solid.. valikosta. Tämä raportoi messageboxissa transaktioiden recovery-operaatiosta. FlowControl-ohjelman ikkunoiden istunnot ovat poikki, mutta avataan uusi connection omalla tunnuksella ja katsotaan SELECT-komennolla taulun Rtest sisältö. Mitkä rivit taulusta löytyvät ja miksi?

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

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

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

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

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

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

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

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

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

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008 Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT Jouni Huotari S2008 2 Proseduurit Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)

Lisätiedot

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0 Toukokuu 2013 1 (10) Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0 Päivitysohje Copyright Aditro 2013 Toukokuu 2013 2 (10) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten

Lisätiedot

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0 Toukokuu 2014 1 (11) Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0 Päivitysohje Toukokuu 2014 2 (11) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten luku...

Lisätiedot

SQL-transaktiot Opettajan opas

SQL-transaktiot Opettajan opas SQL-transaktiot Opettajan opas sivu 1 www.dbtechnet.org DBTech VET SQL-transaktiot Opettajan opas Tekijät Martti Laiho ja Dimitris Dervos, käännös: Martti Laiho Vastuurajaukset DBTech VET Teachers projekti

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

Aditro Tikon ostolaskujen käsittely versio 6.2.0

Aditro Tikon ostolaskujen käsittely versio 6.2.0 Lokakuu 2012 1 (9) Aditro versio 6.2.0 Päivitysohje Lokakuu 2012 2 (9) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten luku... 3 1.2. Aditro Pankkipalvelut yhteensopiva

Lisätiedot

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta Jouni Huotari Martti Laiho (materiaali on osa virtuaaliammattikorkeakoulun Tietokantaosaaja-opintokokonaisuutta) opintokokonaisuutta)

Lisätiedot

Aditro Tikon ostolaskujen käsittely versio SP1

Aditro Tikon ostolaskujen käsittely versio SP1 Toukokuu 2012 1 (8) Aditro versio 6.1.2 SP1 Päivitysohje Toukokuu 2012 2 (8) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten luku... 3 1.2. Application Pool Identity...

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

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä

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

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

DBTechNet. DBTech VET. SQL Transactions. Teoriaa ja käytännönharjoituksia. Suomeksi

DBTechNet. DBTech VET. SQL Transactions. Teoriaa ja käytännönharjoituksia. Suomeksi DBTechNet DBTech VET SQL Transactions Teoriaa ja käytännönharjoituksia Suomeksi SQL-transaktioiden käytännön teoriaa ja harjoituksia Versio 0.5, maaliskuu 2014 Tekijät: Martti Laiho ja Mika Wendelius Tämä

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

Visma Liikkuvan työn ratkaisut Päivitysohje. Pääkäyttäjän opas

Visma Liikkuvan työn ratkaisut Päivitysohje. Pääkäyttäjän opas Visma Liikkuvan työn ratkaisut Pääkäyttäjän opas Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan

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

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

LINUX-HARJOITUS, MYSQL

LINUX-HARJOITUS, MYSQL LINUX-HARJOITUS, MYSQL Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

Java ja tietokannan käsittely (JDBC)

Java ja tietokannan käsittely (JDBC) Java ja tietokannan käsittely (JDBC) Javan tietokannan käsittely luokat (java.sql.*) Yhteys tietokantaan Tietokannan yhteyden sulkeminen Tiedon haku tietokannasta Tiedon päivitys tietokantaan Transaktio

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

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

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

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

TIETOKANNANHOITAJA DBA (DATABASE ADMINISTRATOR) JA TIETOKANNAN HALLINTA

TIETOKANNANHOITAJA DBA (DATABASE ADMINISTRATOR) JA TIETOKANNAN HALLINTA TIETOKANNANHOITAJA DBA (DATABASE ADMINISTRATOR) JA TIETOKANNAN HALLINTA JOUNI HUOTARI MARTTI LAIHO (materiaali on osa virtuaaliammattikorkeakoulun Tietokantaosaaja-opintokokonaisuutta) JOHDANTO Tietokannanhoitaja

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

Tulosta yrityksesi tuloslaskelma ja tase myöhempää tarkastusta varten. Ota varmuuskopio tilanteesta ennen tilimuunnosta.

Tulosta yrityksesi tuloslaskelma ja tase myöhempää tarkastusta varten. Ota varmuuskopio tilanteesta ennen tilimuunnosta. Tilimuunnosohje 1 (5) Tilimuunnosajo Tilimuunnosajo täytyy tehdä jos halutaan vaihtaa yritykselle tilikartta ja säilyttää tilien tapahtumat. Tilikartan vaihtoa varten perustetaan uusi yritys, jonne muunnosajossa

Lisätiedot

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI Tavoite: Suunnitella käyttäjien tarvitsemat turvallisuusmekanismit ja säännöt. Toisin sanoen: tehdä tietokannasta turvallinen ja luotettava. Muistutus: Tietokanta

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

NAVITA BUDJETTIJÄRJESTELMÄN ENSIASENNUS PALVELIMELLE

NAVITA BUDJETTIJÄRJESTELMÄN ENSIASENNUS PALVELIMELLE NAVITA BUDJETTIJÄRJESTELMÄN ENSIASENNUS PALVELIMELLE Ennen palvelinohjelman asennusta perustetaan tarvittavat kansiot. Oikeustasoista share- tai security-tason oikeudet riittävät; molempien oikeustasojen

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

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

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu HELIA 1 (15) Luento 2.6 Käyttöoikeuksista ja suojauksesta... 2 Suojausten suunnittelu... 3 Käyttäjätunnukset... 4 Tunnuksen luominen... 5 Tunnuksen muuttaminen... 6 Tunnuksen poistaminen... 6 Oikeudet

Lisätiedot

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi)

Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Maiju Mykkänen (D6297@jamk.fi) Susanna Sällinen (E0941@jamk.fi) Tietokannan hallinta-opintojakson selvitysraportti Huhtikuu 2010 Mediatekniikka ICT/Teknologia Tämän teosteoksen käyttöoikeutta koskee Creative

Lisätiedot

Sovellusarkkitehtuurit

Sovellusarkkitehtuurit HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit

Lisätiedot

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

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 11 TU00AA48-2002 TU10S1E Hannu Markkanen 22.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 Indeksit Indeksit Taulun

Lisätiedot

Aditro Tikon ostolaskujen käsittely versio 6.2.0 SP1

Aditro Tikon ostolaskujen käsittely versio 6.2.0 SP1 Tammikuu 2013 1 (7) Aditro versio 6.2.0 SP1 Päivitysohje Tammikuu 2013 2 (7) Sisällysluettelo 1. Tehtävät ennen versiopäivitystä... 3 1.1. Ohjelmistomuutosten luku... 3 1.2. Aditro Pankkipalvelut yhteensopiva

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

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010 SQLite selvitysraportti Juha Veijonen, Ari Laukkanen, Matti Eronen Maaliskuu 2010 Opinnäytetyö Kuukausi Vuosi 1 SISÄLTÖ 1. YLEISTÄ SQLITE:STA... 2 2. HISTORIA... 2 3. SQLITEN KÄYTTÖ... 3 3.1 SQLiten asennus

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

Opus SMS tekstiviestipalvelu

Opus SMS tekstiviestipalvelu Opus SMS tekstiviestipalvelu Sivu 1 / 17 1. Yleistä toiminnosta Opus SMS tekstiviestipalvelun avulla voidaan Opus Dental potilashallintaohjelmasta Lähettää muistutuksia tekstiviestillä Lähettää tiedusteluita

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

select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta]

select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta] SQL kysely Kyselyn yleisrakenne: select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta] Kysely tuottaa nimettömän

Lisätiedot

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Asennusohje Sahara-ryhmä Helsinki 31.8.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Sanna Keskioja Sampo

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

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta Tiedonhallinnan perusteet H11 Ovien ja kulun valvontajärjestelmän tietokanta Nimi: Mikko Haapanen Opiskelijanumero: 0900568 Ryhmä: T09L Työ tehty: 15.3.2010 Mikko Haapanen 15.3.2010 1(7) 1. Asiakasvaatimukset

Lisätiedot

Ensimmäisessä vaiheessa ladataan KGU tietokanta Hallitse tietokantoja toiminnon avulla.

Ensimmäisessä vaiheessa ladataan KGU tietokanta Hallitse tietokantoja toiminnon avulla. 1 Odoo ohjelman demokäyttöön riittää, että asentaa ohjelmiston, ja tietokannan. Jos päättää ottaa ohjelmiston tuotannolliseen käyttöön, on päivitettävä myös XML raporttipohjat, sekä syötettävä yrityksen

Lisätiedot

Muita tietokantaobjekteja. Näkymät, synonyymit, indeksointi, valtuudet ja systeemihakemisto

Muita tietokantaobjekteja. Näkymät, synonyymit, indeksointi, valtuudet ja systeemihakemisto Muita tietokantaobjekteja Näkymät, synonyymit, indeksointi, valtuudet ja systeemihakemisto Näkymät Näkymä (view) on looginen näyte tietokannan tauluista tai näkymistä Näkymä ei voi sisältää SELECT INTO,

Lisätiedot

MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO

MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO NÄKYMÄT Näkymä (view) on looginen näyte tietokannan tauluista tai näkymistä Näkymä ei voi sisältää SELECT INTO,

Lisätiedot

Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun.

Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun. StorageIT 2006 varmuuskopiointiohjelman asennusohje. Hyvä asiakkaamme! Olet tehnyt hyvän valinnan hankkiessasi kotimaisen StorageIT varmuuskopiointipalvelun. Ennen asennuksen aloittamista Varmista, että

Lisätiedot

TIETOKANTOJEN PERUSTEET MARKKU SUNI

TIETOKANTOJEN PERUSTEET MARKKU SUNI TIETOKANTOJEN PERUSTEET MARKKU SUNI Tarkastellaan tietokantojen perusominaisuuksia taulujen suhteita toisiinsa tietokantojen suunnittelun alkeita Id enimi snimi muuta 1 Aki Joki xxx 2 Esa Elo yyy Id katuos

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

Tikon Ostolaskujenkäsittely versio 6.1.2 SP1

Tikon Ostolaskujenkäsittely versio 6.1.2 SP1 Toukokuu 2012 1 (14) Tikon Ostolaskujenkäsittely versio 6.1.2 SP1 Asennusohje Toukokuu 2012 2 (14) Sisällysluettelo 1. Vaatimukset palvelimelle... 3 1.1..NET Framework 4.0... 3 1.2. Palvelimen Internet

Lisätiedot

Kirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

Kirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina Kirjasto Kevät 2001 Auvinen Annemari Niemi Anu Harjoitustyö 7.4.2001 Sisällysluettelo 1. Yleiskuvaus... 3 2. Vaatimukset... 3 2.1. Toiminnalliset... 3 2.1.1. Sisäänkirjautuminen... 3 2.1.2. Nimikkeiden

Lisätiedot

POP-UP -IKKUNOIDEN SALLIMINEN

POP-UP -IKKUNOIDEN SALLIMINEN Sivu 1(5) Windows XP SP2 www.procountor.com Windows XP:n Service Pack 2:n (SP2) mukana tulee Internet Explorer 6:een mukaan pop-up ikkunoiden esto toiminto. ProCountor -Taloushallinto-ohjelmistossa voidaan

Lisätiedot

Aditro Tikon versio 6.2.0

Aditro Tikon versio 6.2.0 Marraskuu 2012 1 (7) Aditro Tikon versio 6.2.0 Mallikantojen ja raporttien käyttöönotto Marraskuu 2012 2 (7) Sisällysluettelo 1. Mallikantojen ja raporttien käyttöönotto... 3 1.1. Tikon versioon 6.2.0

Lisätiedot

HELIA TIKO-05 1 (22) ICT03D Tieto ja tiedon varastointi E.Räty, O.Virkki 9.3.2010

HELIA TIKO-05 1 (22) ICT03D Tieto ja tiedon varastointi E.Räty, O.Virkki 9.3.2010 HELIA TIKO-05 1 (22) SQL SQL... 2 Historiaa... 2 Standardit... 3 Käyttö... 4 Sql-komentojen kirjoittaminen... 5 DDL... 7 Tietokantaobjektien määrittely... 7 SQL:n tietotyypit... 8 Eheyssääntöjen määrittely...

Lisätiedot

INTERBASE 5.0 PÄIVITYS VERSIOON 5.6

INTERBASE 5.0 PÄIVITYS VERSIOON 5.6 1 INTERBASE 5.0 PÄIVITYS VERSIOON 5.6 HUOM: Tämä ohje on tarkoitettu yksittäisen koneen päivittämiseen, mikäli InterBase on asennettu serverille ota yhteys DL Software Tukeen. HUOM: Mikäli koneessasi on

Lisätiedot

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Microsoft SQL käyttö Yleistä VisualStudiosta Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: - sovellushallintaan -

Lisätiedot

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); Tietokannat SQL-peruskomentojen pikaopas CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); INSERT INTO table VALUES(val1,val2,... ); Lisää tauluun

Lisätiedot

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Asennusohje Sahara-ryhmä Helsinki 24.8.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Sanna Keskioja Sampo

Lisätiedot

TIETOKANTOJEN PERUSTEET MARKKU SUNI

TIETOKANTOJEN PERUSTEET MARKKU SUNI TIETOKANTOJEN PERUSTEET MARKKU SUNI SQL - KIELI TIETOJEN MUOKKAUS MARKKU SUNI Tarkastellaan tauluissa olevien tietojen muokkausta muokkauskäskyjä: INSERT UPDATE DELETE Kysymys kuuluu: Voiko tietoja muokata

Lisätiedot

HELIA TIKO-05 1 (17) ICT03D Tieto ja tiedon varastointi Räty, Virkki

HELIA TIKO-05 1 (17) ICT03D Tieto ja tiedon varastointi Räty, Virkki HELIA TIKO-05 1 (17) SQL / DML 4 Alikyselyt...2 Joukko-operaatiot...7 Yhdiste, unioni...8 Leikkaus...9 Erotus... 10 Tietokannan datan muokkaus... 11 Lisäys... 11 Yhden rivin lisääminen... 12 Useamman rivin

Lisätiedot

SQL Server 2008 asennus

SQL Server 2008 asennus SQL Server 2008 asennus 1. Yleistä... 3 2. Edellytykset... 3 3. SQL Server 2008 Express asennus... 4 4. Yhteystiedot... 6 2/6 1. YLEISTÄ Tässä ohjeessa käydään vaiheittain Microsoft SQL Server 2008 tietokantaohjelmiston

Lisätiedot

MOODLE-OHJE: Liitetiedoston lisääminen ja päivittäminen

MOODLE-OHJE: Liitetiedoston lisääminen ja päivittäminen etusivulta yläoikealta. Kirjauduttuasi sisään SAMK Moodleen, mene omalle opintojaksollesi ja siirry muokkaustilaan. Muokkaustila päälle painike löytyy opintojakson Kun muokkaustila on päällä, siirry sen

Lisätiedot

HELIA 1 (11) Outi Virkki Tiedonhallinta

HELIA 1 (11) Outi Virkki Tiedonhallinta HELIA 1 (11) Luento Käyttöoikeuksista ja tiedon suojauksesta... 2 Käyttäjätunnukset... 3 Tunnuksen luominen... 4 Oikeudet / Valtuudet... 5 Oikeuksien hallinta SQL:ssa... 6 Suojaustarkkuus?... 7 Roolit...

Lisätiedot

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö Tekijät: Eemeli Honkonen Joni Metsälä Työ palautettu: SISÄLLYSLUETTELO: 1 SEMINAARITYÖN KUVAUS... 3 2 TIETOKANTA... 3 2.1 MITÄ TIETOKANNAT SITTEN OVAT?... 3

Lisätiedot

SQL-transaktioiden käytännön teoriaa ja harjoituksia

SQL-transaktioiden käytännön teoriaa ja harjoituksia SQL-transaktioiden käytännön teoriaa ja harjoituksia Versio 0.5, maaliskuu 2014 Tekijät: Martti Laiho ja Mika Wendelius Tämä on vapaasti ja täydentäen käännetty suomenkielinen laitos EU LLP LdV projektin

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

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32

HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 HSMT Tietokannoista Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)

Lisätiedot

Oracle-tietokanta. Riku Nykänen 1/2010

Oracle-tietokanta. Riku Nykänen 1/2010 Oracle-tietokanta Riku Nykänen 1/2010 Sisältö Oraclen historiaa Tietokannan rakenne ja arkkitehtuuri Oraclen ominaisuuksia Tietokannan hallintatyökalut DB configuration assistant (DBCA) Enterprise Manager

Lisätiedot

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); Tietokannat SQL-peruskomentojen pikaopas CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); INSERT INTO table VALUES(val1,val2,... ); Lisää tauluun

Lisätiedot

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

Oraclen syvin ydin. Pertti Eiskonen Yleisradio Oy Tietokanta-asiantuntija. OUGF syysseminaari 2002 Sivu 1

Oraclen syvin ydin. Pertti Eiskonen Yleisradio Oy Tietokanta-asiantuntija. OUGF syysseminaari 2002 Sivu 1 Pertti Eiskonen Yleisradio Oy Tietokanta-asiantuntija OUGF syysseminaari 2002 Sivu 1 Oracle 8i (8.1.7) muistinkäyttöä ja viritystä: SGA ja PGA mitä ne on ja niihin vaikuttavat init.orat SGA:n rakenne Kannan

Lisätiedot

Tietokantakurssit / TKTL

Tietokantakurssit / TKTL Tietokantakurssit / TKTL Tietokantojen perusteet - tietokannan käyttö: SQL, sovellukset Tietokannan hallinta - tietokannanhallintajärjestelmän ominaisuuksia: tallennusrakenteet kyselyjen toteutus tapahtumien

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

SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito

SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito. SQL - Tietokannan ylläpito SQL sisältää operaatiot tietokannan sisällön muodostamiseen ja ylläpitoon: insert - uusien rivien vienti tauluun delete - rivien poisto update - rivien muutos Insert lauseella on kaksi muotoa: insert into

Lisätiedot

Tiedonhallintajärjestelmän rakenne ja Suorituskyky

Tiedonhallintajärjestelmän rakenne ja Suorituskyky HELIA TIKO-05 1 (20) Tiedonhallintajärjestelmän rakenne ja Suorituskyky Tiedonhallintajärjestelmän rakenne... 2 SQL-käsittelijä... 3 Parsinta (Parser)... 3 Optimointi (Optimizer)... 3 Tilan käsittelijä...

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

[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

Fingridin säätösähkötarjousohje. Vaksin käyttöohjeet 20.5.2015

Fingridin säätösähkötarjousohje. Vaksin käyttöohjeet 20.5.2015 Fingridin säätösähkötarjousohje Vaksin käyttöohjeet 20.5.2015 Yleistä Tämän ohjeen mukaisesti osapuoli voi jättää säätötarjouksia Fingridin ylläpitämille säätösähkömarkkinoille Osapuolella tulee olla säätösähkömarkkinoille

Lisätiedot

Visma Business AddOn Tositteiden tuonti. Käsikirja

Visma Business AddOn Tositteiden tuonti. Käsikirja Visma Business AddOn Tositteiden tuonti Käsikirja Oppaan päiväys: 10.2.2012. Asiakaspalvelu: Helpdesk: www.visma.fi Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin

Lisätiedot

Excel-taulukkoon X- ja Y-sarakkeisiin tallennettujen koordinaattien muuntaminen paikkatietokohteiksi

Excel-taulukkoon X- ja Y-sarakkeisiin tallennettujen koordinaattien muuntaminen paikkatietokohteiksi Excel-taulukkoon X- ja Y-sarakkeisiin tallennettujen koordinaattien muuntaminen paikkatietokohteiksi Esimerkkinä Excel-taulukkona ladattavat Helsingin pysäköintilippuautomaatit Viimeksi muokattu 27. huhtikuuta

Lisätiedot

Viljo-Praktiikka ja Kirjanpito -ohjelman versio 3.05 asennusohje uudet käyttäjät

Viljo-Praktiikka ja Kirjanpito -ohjelman versio 3.05 asennusohje uudet käyttäjät 1 Viljo-Praktiikka ja Kirjanpito -ohjelman versio 3.05 asennusohje uudet käyttäjät Uuden version asennuksessa on kaksi vaihetta: 1. SQL Server 2005 Express version asennus 2. Viljo 3.05 Praktiikka- ja

Lisätiedot

MY STANDARD -OHJE. mystandard.hansaworld.com. Standard ERP Pilvipalvelu Sivu 1/6

MY STANDARD -OHJE. mystandard.hansaworld.com. Standard ERP Pilvipalvelu Sivu 1/6 MY STANDARD -OHJE mystandard.hansaworld.com Standard ERP Pilvipalvelu Sivu 1/6 KÄYTTÖÖNOTTO Mikäli Standard ERP -ohjelmistonne on HansaWorldin pilvipalvelimella (hostingissa), teidän on mahdollista hallinnoida

Lisätiedot

MrSmart 8-kanavainen lämpötilamittaus ja loggaus, digitoija ja talletusohjelma

MrSmart 8-kanavainen lämpötilamittaus ja loggaus, digitoija ja talletusohjelma MrSmart 8-kanavainen lämpötilamittaus ja loggaus, digitoija ja talletusohjelma Kuva 1 MrSmart on digitointilaite PC:lle Yleistä MrSmart on sarjaliikenteellä toimiva sarjaliikennedigitoija. Laite mittaa

Lisätiedot

Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija Opettajana Mika Sorsa, mika.sorsa@koudata.fi, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija Opintojaksolla: keskitytään relaatiotietokantojen teoriaan ja toimintaan SQL-kieli kyselykielenä

Lisätiedot