MEMS-muisti relaatiotietokannoissa

Koko: px
Aloita esitys sivulta:

Download "MEMS-muisti relaatiotietokannoissa"

Transkriptio

1 MEMS-muisti relaatiotietokannoissa Antti Tikka Espoo Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

2 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty/Section Matemaattis-luonnontieteellinen tdk Tekijä Författare Author Antti Tikka Työn nimi Arbetets titel Title MEMS-muisti relaatiotietokannoissa Laitos Institution Department Tietojenkäsittelytieteen laitos Oppiaine Läroämne Subject Tietojenkäsittelytiede Työn laji Arbetets art Level Seminaari Aika Datum Month and year Sivumäärä Sidoantal Number of pages 12 Tiivistelmä Referat Abstract Uuteen MEMS-teknologiaan perustuvat muistit ovat monessa suhteessa kovalevyä parempia ja soveltuvat erityisesti relaatioiden tietojen tallentamiseen. Kirjoituksessa esitellään MEMSmuisti sekä tarkastellaan eri menetelmiä relaation tietojen sijoittelemiseksi sille fyysisellä tasolla. Kunkin sijoittelumenetelmän yhteydessä tarkastellaan kyselyiden suorittamista sekä analysoidaan niiden suoritusnopeutta. Menetelmien suorituskykyä verrataan toisiinsa sekä nykyisiin kovalevyllä käytettyihin menetelmiin. ACM B.3, H.2.2 Avainsanat Nyckelord Keywords tietokanta, MEMS-muisti Säilytyspaikka Förvaringställe Where deposited Muita tietoja Övriga uppgifter Additional information

3 Sisältö 1 Johdanto Nykyiset relaation tietojen sijoittelumenetelmät MEMS-muisti FRM-sijoittelumenetelmä Relational-parallel-sijoittelumenetelmä Yhteenveto... 8

4 1 1 Johdanto Nykyisin relaatioiden tietojen pysyvään tallennukseen käytetään kovalevyä, joissa tiedot tallennetaan bittijonoina levyjen pinnalla oleville urille. Usein kyselyiden yhteydessä relaatioista tarvitaan tiedot vain tietyiltä riveiltä ja sarakkeilta. Kovalevyjen fyysisistä ominaisuuksista johtuen ne eivät mahdollista kyselyissä tarvittavaa luettavien tietojen valikointia rivien ja sarakkeiden tarkkuudella. Tämän seurauksena tietokannan hallintajärjestelmät joutuvat usein kyselyiden suorittamisen yhteydessä lukemaan kovalevyltä muistiin suuria määriä tietoa, joista vain pieni osa seulotaan jatkokäsittelyyn. Ylimääräisten tietojen lukeminen levyltä muistiin lisää kovalevyn ja keskusmuistin kuormitusta. Tämä puolestaan heikentää tietokannan hallintajärjestelmän suorituskykyä huomattavasti. Nyt kehitteillä olevat MEMS-muistit ovat monessa suhteessa kovalevyjä parempia. Tietojen keskimääräiset hakuajat ovat useita kertoja lyhyemmät kuin kovalevyllä ja virrankulutus yli 50 kertaa pienempi. Tietoja voidaan lukea ja kirjoittaa samanaikaisesti yli tuhannella eri lukupäällä. Näissä muisteissa tiedot säilyvät myös ilman sähköä [YKM08]. MEMS-muisteissa tiedot tallennetaan neliön muotoisen levyn pinnalla oleviin bitteihin, jotka on järjestetty riveihin ja sarakkeisiin. Muistista voidaan lukea tarkasti valikoiden vain tietyt rivit ja tietyt sarakkeet. Tätä kaksiulotteista tallennusrakennetta ja luettavien tietojen tarkkaa valikointimahdollisuutta voidaan hyödyntää erityisesti relaatiotietokantojen yhteydessä. Suorituskyvyn kannalta keskeistä on menetelmä, jonka perusteella relaatioiden tiedot sijoitellaan MEMS-muistiin fyysisellä tasolla. Nykyisiä kovalevyillä käytettyjä relaation tietojen sijoittelumenetelmiä voidaan käyttää myös MEMS-muistin yhteydessä esimerkiksi käyttöjärjestelmän tasolla tehtävän yksinkertaisen muunnoksen avulla, mutta tällöin menetetään MEMS-muistin fyysisistä erityisominaisuuksista saatava hyöty. MEMS-muistia varten kehitettyjä sijoittelumenetelmiä käyttämällä saadaan hakuaikoja ja keskusmuistin kuormitusta parannettua moninkertaisesti [YDA07]. Tämän kirjoituksen pääsisältönä on uusien MEMS-muistia varten kehitettyjen sijoitusmenetelmien esittely sekä niiden suorituskyvyn analysointi. Luvussa 2 tehdään katsaus kahteen eri nykyiseen kovalevyllä käytettävään sijoittelumenetelmään ja todetaan näistä aiheutuvat tehokkuusongelmat [YDA07]. Luvussa 3 esitellään MEMS-muisti [YDA07]. Luvussa 4 ja 5 tarkastellaan MEMS-muistia varten kehitettyjä sijoittelumenetelmiä relaation tietojen sijoittelemiseksi [YDA07, YKM08]. Luvussa 6 esitetään yhteenveto MEMSmuistieista ja kirjoituksessa käsitellyistä sijoittelumenetelmistä.

5 2 2 Nykyiset relaation tietojen sijoittelumenetelmät Nykyisiä tietokannan hallintajärjestelmien käyttämiä kovalevyä varten kehitettyjä relaation tietojen sijoittelumenetelmiä voidaan käyttää myös MEMS-muistin yhteydessä esimerkiksi käyttöjärjestelmän tasolla tehtävän yksinkertaisen muunnoksen avulla. Tässä luvussa tarkastellaan kahta eri nykyistä sijoittelumenetelmää ja osoitetaan näistä aiheutuvat tehokkuusongelmat. Näitä menetelmiä tullaan myöhemmin kirjoituksessa vertailemaan MEMS-muistia varten kehitettyihin sijoittelumenetelmiin [YDA07]. Eniten käytetyssä NSM-menetelmässä NSM (N-ary storage model) relaation tiedot tallennetaan tasakokoisille sivuille. Kunkin sivun alussa on otsake, joka sisältää tietokannan hallintajärjestelmän tarvitsemia tietoja. Relaation monikoiden tiedot tallennetaan sivuille luettelemalla monikoiden attribuuttien arvoja peräkkäin otsakkeen jälkeen. Kunkin sivun lopussa on tietuehakemisto, joka ilmoittaa kunkin monikon alkuosoitteen sivun sisällä. Tietuehakemistoa tarvitaan, koska monikoiden pituudet voivat vaihdella. Kuvassa 1 (a) on esitetty esimerkkinä StudentGrade relaatio, ja kuvassa 1 (b) sen tietojen sijoittelu sivulle NSM-menetelmällä. Kuva 1. (a) relaatio StudentGrade, (b) tietojen sijoittelu sivulle NSM-menetelmällä [YDA07]. Monikoiden lisääminen relaatioon on tehokasta, koska tällöin on päivitettävä vain yhtä sivua. Kyselyissä tarvitaan kuitenkin usein tietoja vain osasta attribuuteista. Tarkastellaan esimerkkinä kyselyä (1). select name from StudentGrade (1) where grade > 90

6 3 Kyselyssä tarvitaan attribuuttien name ja grade tietoja. NSM-sijoittelussa kaikkien attribuuttien tiedot on tallennettu samalle sivulle, joten tietokannan hallintajärjestelmän on luettava muistiin myös age ja permid attribuuttien tiedot. Ylimääräisten attribuuttien tietojen lukeminen lisää levyltä luettavan tiedon määrää ja kuormittaa keskusmuistia. Nämä seikat puolestaan heikentävät järjestelmän suorituskykyä. Suorituskyvyn parantamiseksi on kehitetty DSM-sijoittelumenetelmä. Tässä kunkin attribuutin arvo tallennetaan eri sivulle. Kullakin sivulla on yhden attribuutin arvoja eri monikoille. Kuvassa 2 on esitetty StudentGrade relaation tietojen sijoittelu sivuille DSM-menetelmällä. Kuva 2. Relaation StudentGrade tietojen sijoittelu sivuille DSM-menetelmällä [YDA07]. Tietojen sijoittelun ansiosta tietokannan hallintajärjestelmän on luettava levyltä muistiin ainoastaan kyselyissä tarvittavien attribuuttien tietoja. Tästä johtuen kyselyiden suoritus on tehokasta jos tarvitaan vain yhden attribuutin tietoja. Jos kyselyssä tarvitaan useita eri attribuutteja, sen suorittaminen on hidasta, koska tietoja joudutaan lukemaan monesta eri paikasta. Lisäksi uusien monikoiden lisääminen relaation on hidasta, koska tällöin joudutaan tekemään päivityksiä yhtä monelle sivulle kuin relaatiossa on attribuutteja. Näistä syistä johtuen NSM-menetelmä on yleensä kokonaissuorituskyvyltään parempi [YDA07]. Sijoittelumenetelmien suorituskyvyn arvioinnissa on huomioitava myös, että kyselyiden suorituksessa haetaan yleensä vain tietyt ehdot täyttävät monikot. Nämä monikot ovat usein hajaantuneet tietokantasivuille. Koska tietokannan hallintajärjestelmän on luettava kokonaisia sivuja, se joutuu lukemaan kaikkien sivulla olevien monikoiden tiedot muistiin. Pahimmassa

7 4 tapauksessa monikoita on vain 1/sivu, jolloin levyltä luettavan tiedon määrä on hyvin suuri suhteessa halutun tiedon määrään. Monikoiden hajaantuminen sivuille heikentää kyselyiden suorituskykyä entisestään. 3 MEMS-muisti Uudessa MEMS-teknologiaan perustuvassa muistissa on lukupääjärjestelmä, jossa tuhansia lukupäitä on järjestetty tasavälein riveihin ja sarakkeisiin neliön muotoiselle alueelle. Tiedot tallennetaan lukupääjärjestelmän päällä olevalle neliön muotoiselle tietolevylle, jota voidaan liikutella vaaka- ja pystysuunnassa [YDA07]. MEMS-muistin rakenne on esitetty kuvassa 3. Kuva 3. MEMS-muistin rakenne [YDA07]. Tietolevyllä bitit on järjestetty neliön muotoisiin alueisiin siten, että kukin lukupää käsittelee yhden alueen bittejä. Kullakin alueella bitit on järjestetty pystysuoriin jonoihin, joita kutsutaan bittivektoreiksi. Yhteen bittivektoriin mahtuu 8 tavua tietoa. Tämä on pienin kerralla käsiteltävä tiedon yksikkö. Kunkin alueen bittivektorit on järjestetty riveihin ja sarakkeisiin. Tietolevyn rakenne on esitetty kuvassa 4. Yhden bittivektorin lukeminen tapahtuu yleisesti ottaen kolmessa vaiheessa. Ensin aktivoidaan lukupää, jonka alueella luettava bittivektori on. Seuraavaksi siirretään tietolevyä siten, että aktivoitu lukupää on luettavan bittivektorin päässä. Lopuksi liikutetaan tietolevyä pystysuunnassa ylös tai alaspäin bittivektorin mitan verran. Tällöin bittivektorin bitit liukuvat aktivoidun lukupään yli ja niissä olevat tiedot siirtyvät keskusmuistiin. Myös monta eri lukupäätä voidaan aktivoida samanaikaisesti, minkä ansiosta voidaan lukea yhtä aikaa useita eri bittivektoreita. Myös samanaikainen lukeminen ja kirjoittaminen eri lukupäillä on mahdollista. Kaikkia lukupäitä ei kuitenkaan voida aktivoida samanaikaisesti teknisten rajoitusten vuoksi. Taulukossa 1 on tietoa tietyn tyyppisen MEMS-muistin ominaisuuksista. Kooltaan MEMS-muistit ovat neliösenttimetrin suuruusluokkaa.

8 5 Kuva 4. Tietolevyn rakenne [YDA07]. Alueiden määrä 6400 (80 x 80) Lukupäiden määrä 6400 Aktiivisten päiden maksimimäärä 1280 Bittivektorin koko 8 tavua Bittien määrä alueella 2000 x 2000 Taulukko 1. Tietoa CMU CHIP tyyppisen MEMS-muistin ominaisuuksista. 4 FRM-sijoittelumenetelmä Tarkastellaan nyt sijoittelumenetelmää, jolla pyritään maksimoimaan MEMS-muistin fyysisistä erityisominaisuuksista saatava hyöty. MEMS-muistia varten kehitetyssä FRMsijoittelumenetelmässä (flexible retrieval model) kunkin monikon tiedot tallennetaan usean eri lukupään alueelle [YDA07]. Tarkastellaan aluksi esimerkkinä yksinkertaistettua tilannetta, jossa kolme 8-tavuista attribuuttia sisältävän relaation tiedot tallennetaan 4 x 4 aluetta sisältävälle tietolevylle. Relaation ensimmäisen monikon tiedot tallennetaan ensimmäiselle vierekkäisten alueiden muodostamalle alueriville. Kunkin ensimmäisen monikon attribuutin arvo sijoitetaan omalle alueelleen (1, 1) koordinaateissa sijaitsevalle bittivektorille. Koska aluerivillä on neljä aluetta, mutta relaatiossa vain kolme attribuuttia, aluerivin viimeinen alue jätetään tyhjäksi. Kuvassa 5 (a) on esimerkki tästä sijoittelusta. Relaation monikot 2-4 tiedot sijoitellaan saman periaatteen mukaisesti seuraaville alueriveille. Monikoiden 5-8 tiedot sijoitellaan samalla tavalla, mutta kunkin alueen sisällä koordinaatteihin (2, 1) eli toiseksi ylimpään bittivektoriin. Monikoiden tallennusta jatketaan saman periaatteen

9 6 mukaisesti kunnes kunkin alueen alin bittivektori on käytetty. Tämän jälkeen siirrytään kullakin alueella yhden bittivektorin verran oikealle ja jatketaan monikoiden sijoittelua alhaalta ylöspäin. Kuvassa 5 (a) olevat yhtenäiset nuolet kuvaavat monikoiden sijoittelujärjestystä. Kuva 5. (a) Relaation tietojen tallentaminen MEMS-muistiin FRM-sijoittelumenetelmällä. (b) Relaation StudentGrade tietosivu puskurissa käytettäessä FRM:ää. [YDA07] Jos jokin attribuuteista on kooltaan yli 8 tavua, tämä tallennetaan usealle eri vierekkäiselle alueelle. Todellisessa tietolevyssä vierekkäisiä alueita on useita kymmeniä. Tällöin yhdelle alueriville sijoitellaan useiden monikoiden tietoja siten, että yhden monikon viimeisen alueen vieressä oleville seuraaville alueille sijoitellaan seuraavan monikon attribuutit. Monikoiden sijoittelua alueriville jatketaan niin kauan kun siihen mahtuu kokonaisia monikoita. Tarkastellaan nyt kyselyn (1) suorittamista tilanteessa, jossa relaation StudentGrade tiedot on sijoiteltu FRM-menetelmän mukaisesti. Aluksi aktivoidaan name ja grade attribuuttien alueista vastaavat lukupäät. Seuraavaksi siirretään tietolevyä siten, että lukupäät, ovat alueiden koordinaateissa (1, 1). Tämän jälkeen liikutetaan tietolevyä kuvassa 5 (a) näkyvien yhtenäiset nuolten mukaista liikerataa. Tällöin ainoastaan kyselyssä tarvittavien attribuuttien tiedot siirtyvät muistiin. Kuvassa 5 (b) on esitetty puskurissa olevan sivun sisältö FRM:ää käytettäessä. Samanaikaisesti aktivoitavien lukupäiden määrä on rajoitettu. Tästä rajoituksesta seuraa, että kaikkia monikoita ei välttämättä saada luettua yhdellä kertaa. Tällöin levyä liikutetaan samaa liikerataa pitkin useita kertoja etu- ja takaperin siten, että joka kerralla aktivoidaan eri lukupäät. Kuvassa 5 (a) on esitetty tietolevyn liikerata tilanteessa tällaisessa tilanteessa.

10 7 Verrataan nyt FRM:n suorituskykyä edellä esitettyyn NSM-sijoittelumenetelmän nähden tilanteessa, jossa ei ole käytössä hakemistoa. NSM:ää käytettäessä on luettava aina koko relaation tiedot. FRM:ssä levyltä luettavan tiedon määrä ja muistin kulutus riippuu kyselyssä tarvittavien attribuuttien määrästä. Näin ollen FRM on yhtä tehokas kuin NSM, kun kyselyssä tarvitaan kaikki relaation attribuutit. Usein kuitenkin kyselyssä tarvitaan vain pieni osa relaation attribuuteista. Tällöin FRM on huomattavasti tehokkaampi kuin NSM. FRM on myös kaikissa tapauksissa vähintään yhtä tehokas kuin DSM. Vaihtelevanmittaisten attribuuttien arvojen sijoittelemisessa on kaksi eri tapaa. Jokaiselle attribuutin arvolle voidaan varata maksimimäärä tilaa, jolloin paljon tilaa menee hukkaan. Toinen tapa on sijoitella vaihtelevanmittaiset attribuutit alueille vakiomittaisten jälkeen ja varata niille ainoastaan arvon tarvitsema tila. Tällöin kuitenkin menetetään vaihtelevan mittaisten attribuutit osalta FRMmenetelmälle ominainen etu valita luettavaksi ainoastaan kyselyssä tarvittavat attribuutit. 5 Relational-parallel-sijoittelumenetelmä Relational-parallel-sijoittelumenetelmässä kunkin attribuutin arvot sijoitellaan mahdollisimman monen eri lukupään alueelle. Ensimmäisen attribuutin arvot sijoitetaan kunkin alueen sisällä samoissa koordinaateissa olevalle bittivektorille tai tarvittaessa peräkkäisille bittisektoreille. Seuraavat attribuuttien arvot sijoitellaan alueiden seuraaville bittivektoreille. Kuvassa 6 on esimerkki tästä sijoittelusta [YKM08]. Kuva 6. Esimerkki relational-parallel-sijoittelumenetelmästä. Tarkastellaan kyselyn

11 8 select attr_a, attr_b, attr_c from r (2) where attr_a > bound suorittamista suuressa relaatiossa. Ensin aktivoidaan maksimimäärä lukupäitä. Seuraavaksi siirretään tietolevy koordinaatteihin (1,1). Tämän jälkeen luetaan attribuutin A arvot kaikista monikoista. Tämä saattaa vaatia tietolevyn liikuttamista useita kertoja edestakaisin. Ehdon attr_a > bound toteutuminen tarkistetaan. Attribuuttien attr_b ja attr_c arvot luetaan vain niistä monikoista, joille ehto on tosi. Vertaillaan nyt relational-parallel-menetelmää FRM:n kanssa. Relational-parallel-menetelmän etuna on, että siinä saadaan aktivoitua mahdollisimman suuri määrä lukupäitä samanaikaisesti. Tämän ansiosta tiedon siirtonopeus on parempi kuin FRM:ssä. Toisaalta luettavien bittivektoreiden väliin jää monessa tapauksessa bittivektoreita, joita ei lueta. Tästä syystä johtuen relational-parallelmenetelmää käytettäessä kuluu enemmän aikaa lukemisten välillä tapahtuvaan tietolevyn liikutteluun. Lisäksi relational-parallel-menetelmän etuna on, että kyselyitä suoritettaessa ei tarvitse lukea muiden kuin ehto-osassa olevien attribuuttien tietoja. Tästä johtuen myös muistin kulutus on pienempi. FRM-menetelmässä on puolestaan poistettu lukemisten välillä tapahtuva turha tietolevyn liikuttelu, mutta maksimimäärää lukupäitä ei saada välttämättä aktivoitua samanaikaisesti. Lisäksi kaikkien kyselyssä tarvittavien attribuuttien tiedot on luettava myös niistä monikoista, jotka eivät annettuja ehtoja. 6 Yhteenveto MEMS-muistit soveltuvat kaksiulotteisen rakenteensa ja luettavien tietojen tarkan valikointimahdollisuutensa ansiosta erityisesti relaatioiden tietojen tallentamiseen. Suorituskyvyn kannalta keskeistä on menetelmä, jonka perusteella tiedot sijoitellaan fyysisellä tasolla. Kovalevyä varten kehitettyjä sijoittelumenetelmiä voidaan käyttää myös MEMS-muistin yhteydessä käyttöjärjestelmässä tehtävän muunnoksen avulla, mutta tällöin menetetään MEMS-muistin fyysisistä erityisominaisuuksista saatava hyöty. MEMS-muistia varten kehitettyjä menetelmiä käyttämällä voidaan suorituskykyä parantaa moninkertaisesti. Kirjoituksessa tarkasteltiin kahta eri MEMS-muistia varten kehitettyä sijoittelumenetelmää. FRM-menetelmässä tiedot sijoitellaan relaation loogista rakennetta muistuttavalla tavalla. Tällöin relaatiosta voidaan lukea vain kyselyssä tarvittavien attribuuttien tiedot. Tämän ansiosta levyltä

12 9 luettavan tiedon määrä ja keskusmuistin kulutus ovat pienempiä kuin kovalevyä varten kehitetyissä sijoittelumenetelmissä [YDA07]. Relational-parallel-menetelmässä relaation tiedot sijoitellaan attribuuteittain ryhmiteltynä. Menetelmän etuna on, että siinä saadaan maksimoitua aktiivisten lukupäiden määrä eikä kaikkien attribuuttien tietoja tarvitse lukea ehtoja täyttämättömistä monikoista. Haittapuolena on, että tietolevyä joudutaan liikuttelemaan enemmän [YKM08]. FRM- ja relational-parallel-menetelmän suoritusteho riippuu luettavan tiedon määrästä, kyselyssä tarvittavien attribuuttien määrästä, ehto-osan rajoittavuudesta. Relational-parallel menetelmä on tehokkaampi, jos relaatio on suuri ja ehto-osassa käytetään tiukasti rajaavaa ehtoa. Lähteet YDA07 Yu, H., Divyakant, A., Amr, E., MEMS based storage architecture for relational databases. The VLDB Journal (2007) 16(2): sivut YKM08 Yi-Reun, K., KyuYoung, W., Min-Soo, K., Young-Koo, L., Il-Yeol, S. A logical model and data placement strategies for MEMS storage devices. CR/TR (2008)

arvostelija OSDA ja UDDI palveluhakemistoina.

arvostelija OSDA ja UDDI palveluhakemistoina. Hyväksymispäivä Arvosana arvostelija OSDA ja UDDI palveluhakemistoina. HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty/Section Laitos Institution

Lisätiedot

Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages

Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos Institution Department Tekijä Författare Author Työn nimi Arbetets titel Title Oppiaine Läroämne Subject Työn laji Arbetets art Level Aika Datum Month

Lisätiedot

Aika/Datum Month and year Kesäkuu 2012

Aika/Datum Month and year Kesäkuu 2012 Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos/Institution Department Filosofian, historian, kulttuurin ja taiteiden tutkimuksen laitos Humanistinen tiedekunta Tekijä/Författare Author Veera Lahtinen

Lisätiedot

Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA. Karoliina Ljungberg

Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA. Karoliina Ljungberg Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA Karoliina Ljungberg 16.04.2009 Ohjaajat: Ari Venäläinen, Jouni Räisänen

Lisätiedot

Selainpelien pelimoottorit

Selainpelien pelimoottorit Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede ! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta

Lisätiedot

Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan

Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan Pro gradu -tutkielma 31.1.2012 Helsingin yliopisto Humanistinen tiedekunta Filosofian, historian,

Lisätiedot

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

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

! #! %! & #!!!!! ()) +

! #! %! & #!!!!! ()) + ! #! %! & #!!!!! ()) + Tiedekunta/Osasto Fakultet/Sektion Faculty Humanistinen tiedekunta Laitos Institution Department Taiteiden tutkimuksen laitos Tekijä Författare Author Matti Pesonen Työn nimi Arbetets

Lisätiedot

Katsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin

Katsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin INSTITUUTIOTTALOUSKASVUNEDELLYTYKSENÄ KatsauskorruptionvaikutuksestaVenäjänalueelliseentalouskasvuunjasuoriin ulkomaisiininvestointeihin2000 2010 AshekMohamedTarikHossain HelsinginYliopisto Valtiotieteellinentiedekunta

Lisätiedot

Puuhakemistoista flash-levyllä

Puuhakemistoista flash-levyllä Puuhakemistoista flash-levyllä Antti Tikka Espoo 23.10.2009 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto

Lisätiedot

Luonnontieteiden popularisointi ja sen ideologia

Luonnontieteiden popularisointi ja sen ideologia Luonnontieteiden popularisointi ja sen ideologia Tapauksina Reino Tuokko ja Helsingin Sanomat 1960-luvulla Ahto Apajalahti Helsingin yliopisto Humanistinen tiedekunta Suomen ja Pohjoismaiden historia Pro

Lisätiedot

Koht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa

Koht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa Kohtdialogia? Organisaationtoimintaympäristönteemojenhallinta dynaamisessajulkisuudessatarkastelussatoiminta sosiaalisessamediassa SatuMariaPusa Helsinginyliopisto Valtiotieteellinentiedekunta Sosiaalitieteidenlaitos

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

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

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

Lisätiedot

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

Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta

Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta Laitos Institution Department Politiikan ja talouden tutkimuksen laitos Tekijä Författare Author Virta, Mikko Antero Työn nimi Arbetets

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

Oppimateriaalin kokoaminen ja paketointi

Oppimateriaalin kokoaminen ja paketointi Oppimateriaalin kokoaminen ja paketointi Pekka Simola Helsinki 14.4.2004 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto

Lisätiedot

Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa

Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa Lauri Eloranta Helsingin yliopisto Valtiotieteellinen tiedekunta Viestintä Pro gradu -tutkielma, 2014 Hallintomallit)Suomen)valtionhallinnon)tietohallintostrategioissa

Lisätiedot

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

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

Lisätiedot

Liitosesimerkki. Esim R1 R2 yhteinen attribuutti C. Vaihtoehdot

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

Lisätiedot

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

Asuntojen neliöhinnan vaihtelu Helsingissä (1997-2010)

Asuntojen neliöhinnan vaihtelu Helsingissä (1997-2010) hyväksymispäivä arvosana arvostelija Asuntojen neliöhinnan vaihtelu Helsingissä (1997-2010) Tuomas Puikkonen Helsinki 8.1.2010 Geoinformatiikan menetelmät ja kirjallisuus -kurssin harjoitustyö HELSINGIN

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

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

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 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

PN-puu. Helsinki Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

PN-puu. Helsinki Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos PN-puu Erno Härkönen Helsinki 24.10.2006 Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto

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

Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin:

Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin: A Numeropeli Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin: 1 2 3 4 5 6 7 8 9 Voit jokaisella siirrolla vaihtaa keskenään kaksi vierekkäistä lukua vaaka- tai

Lisätiedot

Arkkitehtuurinen reflektio

Arkkitehtuurinen reflektio Arkkitehtuurinen reflektio Toni Ruokolainen Toni.Ruokolainen@cs.helsinki.fi Helsinki 6.10.2003 Tiivistelmä HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

Lisätiedot

Relaatiomalli ja -tietokanta

Relaatiomalli ja -tietokanta Relaatiomalli ja -tietokanta > Edgar. F. (Ted) Codd, IBM, 1969 < A Relational Model of Data for Large Shared Data Banks Communications of the ACM, Vol. 13, No. 6, June 1970, pp. 377-387. > 70-luvun lopulla

Lisätiedot

Luento 2: Tiedostot ja tiedon varastointi

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

Lisätiedot

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

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Mitä malleja olisi tarjolla? Abstraktiotasot tiedon käsittelyssä

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Mitä malleja olisi tarjolla? Abstraktiotasot tiedon käsittelyssä Tietomallit Tietomallilla (data model) tarkoitetaan tiedon rakenteen ja tiedolle suoritettavan käsittelyn määrittelevää kehikkoa - käsitteistöä Tietoa voidaan tarkastella eri näkökulmista - eri abstraktiotasoilla

Lisätiedot

D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää

D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää Levyn rakenne Levykössä (disk drive) on useita samankeskisiä levyjä (disk) Levyissä on magneettinen pinta (disk surface) kummallakin puolella levyä Levyllä on osoitettavissa olevia uria (track), muutamasta

Lisätiedot

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')

Lisätiedot

Tietotekniikan valintakoe

Tietotekniikan valintakoe Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan

Lisätiedot

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

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.

Lisätiedot

FROM-lausekkeessa voidaan määritellä useampi kuin yksi taulu, josta tietoja haetaan: Tuloksena on taululistassa lueteltujen taulujen rivien

FROM-lausekkeessa voidaan määritellä useampi kuin yksi taulu, josta tietoja haetaan: Tuloksena on taululistassa lueteltujen taulujen rivien Monen taulun kyselyt FROM-lausekkeessa voidaan määritellä useampi kuin yksi taulu, josta tietoja haetaan: SELECT FROM Tuloksena on taululistassa lueteltujen taulujen rivien karteesinen

Lisätiedot

Algoritmit 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 6 To Timo Männikkö Algoritmit 2 Luento 6 To 28.3.2019 Timo Männikkö Luento 6 B-puun operaatiot Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2019 Luento 6 To 28.3.2019 2/30 B-puu 40 60 80 130 90 100

Lisätiedot

Palvelutasosopimukset ja niiden asema IT-ulkoistuksissa

Palvelutasosopimukset ja niiden asema IT-ulkoistuksissa Hyväksymispäivä Arvosana Arvostelija Palvelutasosopimukset ja niiden asema IT-ulkoistuksissa Marko Lehtimäki Helsinki 12.5. 2009 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos i HELSINGIN YLIOPISTO

Lisätiedot

HELIA 1 (11) Outi Virkki Tiedonhallinta 4.11.2000

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

Lisätiedot

Fyysinen suunnittelu

Fyysinen suunnittelu Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Fyysinen suunnittelu kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luvusta 9 Jouni

Lisätiedot

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

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät HAAGA-HELIA Heti-09 1 (12) Näkymät Näkymät... 2 Eri tyyppisiä relaatioita... 2 Taulu - Tallennettu relaatio... 2 Tulosrelaatio - Kyselyn tulos... 2 Näkymä - Virtuaalirelaatio... 2 Näkymien määrittely...

Lisätiedot

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

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

Lisätiedot

Useaa tietolähdettä käyttävä klusterointi

Useaa tietolähdettä käyttävä klusterointi Useaa tietolähdettä käyttävä klusterointi Mikko Heinonen Tiedon louhinnan seminaari, kevät 2008 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY

Lisätiedot

Muuttujien määrittely

Muuttujien määrittely Tarja Heikkilä Muuttujien määrittely Määrittele muuttujat SPSS-ohjelmaan lomakkeen kysymyksistä. Harjoitusta varten lomakkeeseen on muokattu kysymyksiä kahdesta opiskelijoiden tekemästä Joupiskan rinneravintolaa

Lisätiedot

TK081001 Palvelinympäristö

TK081001 Palvelinympäristö TK081001 Palvelinympäristö 5 opintopistettä!! Petri Nuutinen! 8 opintopistettä!! Petri Nuutinen! RAID RAID = Redundant Array of Independent Disks Useasta fyysisestä kiintolevystä muodostetaan yhteinen

Lisätiedot

KANSILEHDEN MALLISIVU

KANSILEHDEN MALLISIVU Teknisiä ohjeita pro gradu -tutkielmalle Teologian osasto 12.11.2013 Tässä annettavat ohjeet ovat suosituksia. Viime kädessä seurataan tutkielman ohjaajan antamia ohjeita! Tutkielman kansilehdelle asetellaan

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

Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE)

Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE) Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE) Pasi Lehtimäki Helsinki 10.9.2007 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY

Lisätiedot

Datatähti 2019 loppu

Datatähti 2019 loppu Datatähti 2019 loppu task type time limit memory limit A Summa standard 1.00 s 512 MB B Bittijono standard 1.00 s 512 MB C Auringonlasku standard 1.00 s 512 MB D Binääripuu standard 1.00 s 512 MB E Funktio

Lisätiedot

ASENNUS- JA KÄYTTÖOHJE

ASENNUS- JA KÄYTTÖOHJE ASENNUS- JA KÄYTTÖOHJE YKSIKKÖHINTA SOPIMUKSEN TOTEUTUNEET MÄÄRÄT-SOVELLUS CMPRO5 VERSIO 2.8 PÄIVITETTY HEINÄKUU 2010 COPYRIGHT 2010 ARTEMIS FINLAND OY. ALL RIGHTS RESERVED. KÄYTTÖOHJE SIVU 2 (12) SISÄLLYSLUETTELO

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2 TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat

Lisätiedot

2. Käsiteanalyysi ja relaatiomalli

2. Käsiteanalyysi ja relaatiomalli 2. Käsiteanalyysi ja relaatiomalli lehtori Pasi Ranne Metropolia ammattikorkeakoulu E-mail: pasi.ranne@metropolia.fi sivu 1 Tietokannan suunnitteluprosessin osat sivu 2 Käsiteanalyysi ER-mallinnus, tietomallinnus

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

Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Käyttöohje Boa Open Access Helsinki 5.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari Heikkinen

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 23.2.2016 CSE-A1200 Tietokannat 23.2.2016 1 / 36 Oppimistavoitteet: tämän luennon jälkeen Tunnet SQL:n perusteet ja osaat tehdä yksinkertaisia SQL-kyselyitä, esimerkiksi hakea relaatiosta

Lisätiedot

11. Javan toistorakenteet 11.1

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

Lisätiedot

TIETOJEN TUONTI TIETOKANNASTA + PIVOT-TAULUKON JA OLAP-KUUTION TEKO

TIETOJEN TUONTI TIETOKANNASTA + PIVOT-TAULUKON JA OLAP-KUUTION TEKO TIETOJEN TUONTI TIETOKANNASTA + PIVOT-TAULUKON JA OLAP-KUUTION TEKO JOUNI HUOTARI 2005-2010 OLAP-OHJETEKSTIT KOPIOITU MICROSOFTIN OHJATUN OLAP-KUUTION TEKO-OHJEESTA ESIMERKIN KUVAUS JA OLAP-MÄÄRITELMÄ

Lisätiedot

Jouni Huotari OLAP-ohjetekstit kopioitu Microsoftin ohjatun OLAP-kuution teko-ohjeesta. Esimerkin kuvaus ja OLAP-määritelmä

Jouni Huotari OLAP-ohjetekstit kopioitu Microsoftin ohjatun OLAP-kuution teko-ohjeesta. Esimerkin kuvaus ja OLAP-määritelmä OLAP-kuution teko Jouni Huotari OLAP-ohjetekstit kopioitu Microsoftin ohjatun OLAP-kuution teko-ohjeesta Esimerkin kuvaus ja OLAP-määritelmä Tavoitteena on luoda OLAP-kuutio Northwind-tietokannan tilaustiedoista

Lisätiedot

Algoritmit 2. Luento 6 Ke Timo Männikkö

Algoritmit 2. Luento 6 Ke Timo Männikkö Algoritmit 2 Luento 6 Ke 29.3.2017 Timo Männikkö Luento 6 B-puun operaatiot B-puun muunnelmia Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2017 Luento 6 Ke 29.3.2017 2/31 B-puu

Lisätiedot

Kojemeteorologia. Sami Haapanala syksy 2013. Fysiikan laitos, Ilmakehätieteiden osasto

Kojemeteorologia. Sami Haapanala syksy 2013. Fysiikan laitos, Ilmakehätieteiden osasto Kojemeteorologia Sami Haapanala syksy 2013 Fysiikan laitos, Ilmakehätieteiden osasto Kojemeteorologia, 3 op 9 luentoa, 3 laskuharjoitukset ja vierailu mittausasemalle Tentti Oppikirjana Rinne & Haapanala:

Lisätiedot

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e) Tik-79.148 Kevät 2001 Tietojenkäsittelyteorian perusteet Laskuharjoitus 7 Demonstraatiotehtävien ratkaisut 1. Pinoautomaatti M = K Σ Γ s F missä K Σ s ja F on määritelty samalla tavalla kuin tilakoneellekin.

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari Konsensusongelma hajautetuissa järjestelmissä Niko Välimäki 30.11.2007 Hajautetut algoritmit -seminaari Konsensusongelma Päätöksen muodostaminen hajautetussa järjestelmässä Prosessien välinen viestintä

Lisätiedot

Tulostettavat KPL-lisätehtävät

Tulostettavat KPL-lisätehtävät 1 Tulostettavat KPL-lisätehtävät Tavoitteet ja vinkit Sanojen ja kuvien yhdistäminen Yhdistä sanat ja kuvat, Mini-LUKO Mini-LUKO-tehtäviin tarvitaan avattava pelirasia, jonka pohjassa on vastausruudukko

Lisätiedot

!"#$%&'$("#)*+,!!,"*--.$*#,&--#"*/".,,%0 1&'23456789::94752;&27455<:4;2;&,9:=>23?277<&8=@74;9&ABBCDABBE

!#$%&'$(#)*+,!!,*--.$*#,&--#*/.,,%0 1&'23456789::94752;&27455<:4;2;&,9:=>23?277<&8=@74;9&ABBCDABBE !"#$%&'$("#)*+,!!,"*--.$*#,&--#"*/".,,%0 1&'23456789::94752;&2745523?27747544H9;&IG@&JG9?=&15=5H42>:9 '28

Lisätiedot

oheishakemistoja voi tiedostoon liittyä useita eri perustein muodostettuja

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

Lisätiedot

FYYSINEN SUUNNITTELU

FYYSINEN SUUNNITTELU IIO30120 DATABASE DESIGN / TIETOKANTOJEN SUUNNITTELU JA IIO30220 DATABASE MANAGEMENT / TIETOKANNAN HALLINTA FYYSINEN SUUNNITTELU KIRJAN HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI,

Lisätiedot

FYYSINEN SUUNNITTELU

FYYSINEN SUUNNITTELU IIO30100 TIETOKANTOJEN SUUNNITTELU JA IIO30200 TIETOKANNAN HALLINTA FYYSINEN SUUNNITTELU KIRJAN HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI, DOCENDO (2003, 2005), LUKU 9 JOUNI HUOTARI,

Lisätiedot

Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita.

Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita. 1 2 Amazon Web Services (AWS) on varmaankin maailman suosituin IaaS-tarjoaja. Lisäksi se tarjoaa erilaisia PaaS-kategoriaan kuuluvia palveluita. 3 4 Region vastaa palvelun fyysistä sijaintipaikkaa (AWS

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

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

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Relaatiomallin peruskäsitteet Harri Laine 1. Relaatiotietokannat DONOTP

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Relaatiomallin peruskäsitteet Harri Laine 1. Relaatiotietokannat DONOTP RINT THIS DOCUM ENT Relaatiotietokannat DONOTP Relaatiomalli Perustana rakennetason tietomalli relaatiomalli (the relational model of data) perusteoria: Codd 1970 ensimmäiset kaupalliset toteutukset 70-luvun

Lisätiedot

Hulevesien k ä sittely, Hulevesik a setit ja -tunnelit. Uudet ympäristöystävälliset ja tehokkaat ratkaisut hulevesien käsittelyyn

Hulevesien k ä sittely, Hulevesik a setit ja -tunnelit. Uudet ympäristöystävälliset ja tehokkaat ratkaisut hulevesien käsittelyyn Hulevesien k ä sittely, Hulevesik a setit ja -tunnelit Uudet ympäristöystävälliset ja tehokkaat ratkaisut hulevesien käsittelyyn Hulevesien käsittely syntypaikalla vähentää ympäristön kuormitusta Ilmastonmuutoksen

Lisätiedot

Laskennallinen yhteiskuntatiede

Laskennallinen yhteiskuntatiede Laskennallinen yhteiskuntatiede Matti Nelimarkka Helsinki 5.5.2011 LuK tutkielma HELSINGIN YLIOPISTO Tietojenkasittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta

Lisätiedot

Relaation tyhjyyden testaaminen

Relaation tyhjyyden testaaminen Tulostaulun tyhjyyden testaaminen Luettele ne asiakkaat, joilla on sekä talletus että laina -konttorissa. (Leikkaus!) useita mahdollisia toteutustapoja INTERSECT sisäkysely sisäkysely + tulostaulun tyhjyyden

Lisätiedot

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

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

Lisätiedot

LAS-TIEDOSTON SISÄLTÖ LIITE 2/1

LAS-TIEDOSTON SISÄLTÖ LIITE 2/1 LAS-TIEDOSTON SISÄLTÖ LIITE 2/1 LAS-TIEDOSTON SISÄLTÖ Las-tiedoston version 1.4 mukainen runko koostuu neljästä eri lohkosta, ja jokaiseen lohkoon voidaan tallentaa vain standardissa sovittua tietoa ja

Lisätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5) Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,

Lisätiedot

Esimerkki. pankkien talletus- ja lainatietokanta: Yhdiste, leikkaus, erotus ym. Leikkaus (intersect) Yhdiste (Union) Erotus (except/minus) Leikkaus

Esimerkki. pankkien talletus- ja lainatietokanta: Yhdiste, leikkaus, erotus ym. Leikkaus (intersect) Yhdiste (Union) Erotus (except/minus) Leikkaus Yhdiste, leikkaus, erotus ym. SQL tarjoaa myös relaatioalgebran operaatiot yhdiste, leikkaus, erotus Näissä operaatioissa taulujen on oltava samarakenteisia, ts. niissä on oltava samantyyppiset vastinsarakkeet.

Lisätiedot

SQL:N PERUSTEET MARKKU SUNI

SQL:N PERUSTEET MARKKU SUNI SQL:N PERUSTEET MARKKU SUNI Relaatiomallisen tietokannan käsittely Tietojen saanti, talletus ja päivitys tapahtuu SQL-kielellä Yhtä operaatiota sanotaan kyselyksi (query) Kyselyjä voidaan laittaa peräkkäin

Lisätiedot

1 Funktiot, suurin (max), pienin (min) ja keskiarvo

1 Funktiot, suurin (max), pienin (min) ja keskiarvo 1 Funktiot, suurin (max), pienin (min) ja keskiarvo 1. Avaa uusi työkirja 2. Tallenna työkirja nimellä perusfunktiot. 3. Kirjoita seuraava taulukko 4. Muista taulukon kirjoitusjärjestys - Ensin kirjoitetaan

Lisätiedot

Nollasummapelit ja bayesilaiset pelit

Nollasummapelit ja bayesilaiset pelit Nollasummapelit ja bayesilaiset pelit Kristian Ovaska HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Seminaari: Peliteoria Helsinki 18. syyskuuta 2006 Sisältö 1 Johdanto 1 2 Nollasummapelit 1 2.1

Lisätiedot

Yhdiste, leikkaus, erotus ym.

Yhdiste, leikkaus, erotus ym. Yhdiste, leikkaus, erotus ym. SQL tarjoaa myös relaatioalgebran operaatiot yhdiste, leikkaus, erotus Näissä operaatioissa taulujen on oltava samarakenteisia, ts. niissä on oltava samantyyppiset vastinsarakkeet.

Lisätiedot

Ohjeita. Datan lukeminen

Ohjeita. Datan lukeminen ATK Tähtitieteessä Harjoitustyö Tehtävä Harjoitystyössä tehdään tähtikartta jostain taivaanpallon alueesta annettujen rektaskensio- ja deklinaatiovälien avulla. Karttaan merkitään tähdet aina kuudenteen

Lisätiedot

Puzzle SM 2005 15. 25.7.2005. Pistelasku

Puzzle SM 2005 15. 25.7.2005. Pistelasku Puzzle SM 005 5. 5.7.005 Pistelasku Jokaisesta oikein ratkotusta tehtävästä saa yhden () pisteen, minkä lisäksi saa yhden () bonuspisteen jokaisesta muusta ratkojasta, joka ei ole osannut ratkoa tehtävää.

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

KUVAN LIITTÄMINEN TOISEEN KUVAAN PHOTOSCAPE- OHJELMALLA

KUVAN LIITTÄMINEN TOISEEN KUVAAN PHOTOSCAPE- OHJELMALLA KUVAN LIITTÄMINEN TOISEEN KUVAAN PHOTOSCAPE- OHJELMALLA 14.2.2015 ATK Seniorit Mukanetti ry / Kuvakerho 2 Pieni ohje, miten PhotoScape-ohjelmalla voi liittää kuvan toiseen kuvaan Kuvat on tähän valittu

Lisätiedot

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

Helsingin yliopisto/ tktl DO Tietokantojen perusteet, s 2000 Relaatioalgebra 14.9.2000. Harri Laine 1. Relaatioalgebra DO NOT PRINT THIS DOCUMENT operaatiot, joilla relaatioista voidaan muodostaa uusia relaatioita joukko opin perusoperaatiot yhdiste, erotus, ristitulo, leikkaus erityisiä relaatioalgebran operaatioita projektio,

Lisätiedot

Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa

Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa Tietojen tallennusrakenteet Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa tiedot tiedostoon kuuluvista lohkoista esim. taulukkona, joka voi muodostua ketjutetuista

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

Tietokantojen suunnittelu, relaatiokantojen perusteita

Tietokantojen suunnittelu, relaatiokantojen perusteita Tietokantojen suunnittelu, relaatiokantojen perusteita A277, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 22.3.2016 CSE-A1200 Tietokannat 22.3.2016 1 / 35 Oppimistavoitteet: tämän luennon jälkeen Osaat tehdä SQL:llä kyselyitä, jotka käyttävät hyväkseen toisen kyselyn tuloksia (alikyselyt).

Lisätiedot