Spatiaaliset tietokannat

Koko: px
Aloita esitys sivulta:

Download "Spatiaaliset tietokannat"

Transkriptio

1 Spatiaaliset tietokannat Riku Koffert Joensuun yliopisto Tietojenkäsittelytiede Pro gradu tutkielma

2 TIIVISTELMÄ Spatiaaliset tietojärjestelmät ja spatiaalista tietoa käsittelevät ohjelmistot ovat yleistyneet perinteistä tietoa tallentavien tietokantojen rinnalla navigaatio- sekä kartoitusjärjestelmien yleistyessä. Tässä tutkielmassa perehdytään spatiaalisen tiedon käsittelyn perusteisiin, spatiaalisiin tietomalleihin, spatiaalisten järjestelmien erikoispiirteisiin suhteessa perintei-siin tietokantajärjestelmiin sekä esitetään käytännön esimerkkejä spatiaalisen tiedon tallentamisesta sekä analysoinnista Oracle Spatial järjestelmän avulla SQL-kyselykielen sekä Java-ohjelmointirajapinnan esimerkkien kautta. ACM-luokat: (ACM Computing classification system, 1998 version): H.2.8 Avainsanat: spatiaalisuus, tietokantajärjestelmät, SQL, Java i

3 Sisällysluettelo 1. Johdanto Spatiaalisen tiedon varastointi Spatiaalisen tiedon peruskäsitteet ja mallit Spatiaalisen tiedon geometriatyypit Oracle Spatial -järjestelmän geometriatyypit Spatiaalinen tietomalli Objektien joukon geometrian kuvaminen Spagettimalli Verkkomalli Topologinen malli Spatiaaliset hierarkiat Käsitteellisen skeeman muuntaminen loogiseksi skeemaksi Oracle Spatialin hierarkkinen tietorakenne Indeksointi ja spatiaaliset tiedonsaantimenetelmät R-puu-indeksointi R-puun laatu Indeksointi Oracle Spatial -järjestelmässä Spatiaalisen tiedon tallennus Oracle Spatial -järjestelmässä Spatiaalisen tietomallin luonti Oracle Spatial -järjestelmässä Tietokantataulun luonti Spatiaalisen tiedon hakeminen Spatiaalisen tiedon hakumenetelmät I/O-algoritmit Spatiaaliset liitokset Monimutkaiset spatiaaliset kyselyt Kyselysuunnitelma Ongelmat spatiaalisten hakujen käsittelyssä Spatiaaliset tiedonhakumenetelmät dynaamisissa järjestelmissä SQL-lausekkeet spatiaalisen tiedon hakemisessa Yksinkertaiset hakulauseet Spatiaaliset liitokset Hakulauseet Java-rajapinnan kautta Oracle Spatial järjestelmässä Yhteenveto...55 Viitteet...57 Liite 1 SdoPrint-ohjelman lähdekoodi...60 ii

4 1. Johdanto Spatiaaliset tietokannat sekä niihin tallennetun sijaintitiedon käyttäminen joko analysoinnissa, päätöksenteossa tai paikannuksessa ovat yleistynyt kuluneen vuosikymmenen aikana. Tässä tutkielmassa perehdytään spatiaalisen tiedon käsittelyn perusteisiin, spatiaalisten järjestelmien erikoispiirteisiin suhteessa perinteisiin tietokantajärjestelmiin sekä esitetään käytännön esimerkkejä Spatiaalisen tiedon tallentamisesta sekä analysoinnista Oracle Spatial järjestelmän (Oracle, 2003; Kothuri & al., 2004) avulla. Luvussa 2 käsittelemme tarkemmin spatiaalisen tiedon peruskäsitteitä, kuten geometriaa ja spatiaalisten tietokantojen yhteydessä käytettäviä tietomalleja (Rigaux & al., 2005; Malinowski & Zimányi, 2005) sekä käsitteellisellä että konkreettisella tasolla. Tutustumme myös spatiaalisiin tietomalleihin, spatiaalisen tiedon indeksointiin sekä yleisesti spatiaalisissa järjestelmissä indeksirakenteena käytettyihin R-puihin. Luvun lopussa perehdytään tarkemmin spatiaalisen tietokannan luomiseen (Oracle, 2003) ja tiedon tallentamiseen Oracle Spatial -järjestelmässä esitettyjen esimerkkien avulla. Luvussa 3 perehdymme spatiaalisen tiedon hakemiseen tietokannasta (Rigaux & al., 2003; Oracle, 2003). Luvun alussa tutustutaan spatiaalisten hakulauseiden käsittelyyn, sekä tutustutaan lyhyesti spatiaalisiin liitoksiin, jotka muodostavat spatiaalisten hakujen ytimen, ja spatiaalisessa tiedonkäsittelyssä käytettyihin algoritmeihin sekä I/O-algoritmien että hakualgoritmien osalta. Lisäksi käsitellään monimutkaisempien spatiaalisten hakulauseiden yhteydessä oleellisia kyselysuunnitelmia, sekä yleisimpiä spatiaaliseen tiedonhakuun liittyviä ongelmia ja spatiaalisten hakujen käsittelyä dynaamisissa ympäristöissä, kuten paikannusjärjestelmissä. Luvun loppupuolella esitetään esimerkkejä spatiaalisista hakulauseista Oracle Spatial -ympäristössä, sekä tutkitaan spatiaalista tiedonhakua ohjelmointirajapinnan (Kothuri & al., 2004) kautta Java-ympäristössä. Spatiaalisen tiedon visualisointi varsinaisissa sovelluskohteissa ja ohjelmistoissa on rajattu tämän tutkielman aihealueen ulkopuolelle. 1

5 Luvussa 4 luomme lopuksi yhteenvedon tutkielman keskeisistä kohdista sekä spatiaalisen tiedonkäsittelyn jatkotutkimusmahdollisuuksista ja tulevaisuudennäkymistä. Tässä viimeisessä luvussa esitetään myös lyhyesti tutkielman ulkopuolelle jätettyjä tekniikoita. 2

6 2. Spatiaalisen tiedon varastointi Sijaintitietoa varastoidaan tietokantoihin perinteisen numeraalisen tiedon tapaan, mutta spatiaalisen tiedon tallentaminen vaatii tallennusjärjestelmältä, tietokantaskeemalta ja tietokannanhallintajärjestelmältä tiettyjä ominaisuuksia, jotka mahdollistavat spatiaalisen tiedon tehokkaan käsittelyn. Tässä luvussa perehdytään tarkemmin spatiaalisen tiedon peruskäsitteisiin, sen yhteydessä käytettäviin tietomalleihin ja spatiaalisen tiedon tallentamiseen liittyviin seikkoihin. Luvun loppupuolella esitetään myös esimerkkejä spatiaalisen tietokannan luomisesta ja tiedon tallentamisesta Oracle Spatial -järjestelmässä Spatiaalisen tiedon peruskäsitteet ja mallit Avaruudellisia sekä ajallisia ominaisuuksia kuvaavat standardisoidut skeemat mahdollistavat tehokkaamman tiedon jakamisen ja siirron eri sovellusten ja järjestelmien välillä (OGC, 2003). Näitä skeemoja käyttävät sekä spatiaalista tietoa käsittelevät järjestelmät, että geograafisten informaatiojärjestelmien kehittäjät ja käyttäjät. Skeemojen avulla pyritään takaamaan ymmärrettävien ja oikeiden spatiaalisten tietojen saatavuus. Geometria antaa mahdollisuudet kvantitatiiviseen kuvaamiseen koordinaattien ja matemaattisien funktioiden avulla. Näin voidaan esimerkiksi kuvailla erilaisia ominaisuuksia kuten ulottuvuuksia, sijaintia, kokoa, muotoa ja asentoa. Objektin geometrian kuvaamiseen käytettävät matemaattiset funktiot riippuvat spatiaalista sijaintia kuvaavasta koordinaattien viitejärjestelmästä. Geometria on siis ainoa muuttuva osa siirrettäessä informaatiota yhdestä viittaus-tai koordinaattijärjestelmästä toiseen. Topologia käsittelee niitä geometristen muotojen ominaisuuksia, jotka säilyvät muuttumattomina, jos tilaa muutetaan joustavasti ja toistuvasti, kuten esimerkiksi silloin kun geograafista tietoa muunnetaan koordinaattijärjestelmien välillä. Geograa- 3

7 fisen tiedon kontekstissa topologiaa käytetään yleensä kuvaamaan n-ulottuvuudellisten graafien yhdistettävyyttä. Tämä ominaisuus on muuttumaton graafin muutoksista huolimatta. Laskennallinen topologia antaa tietoa niiden geometristen primitiivien liitettävyydestä, jotka voidaan johtaa näitä primitiivejä sisältävistä geometrioista Spatiaalisen tiedon geometriatyypit Spatiaalisessa informaatiossa geometria on järjestetyistä kärkipisteistä koostuva sekvenssi, jotka on yhdistetty joko suorilla tai kaarevilla viivoilla (Oracle, 2003). Geometrian tyyppi määrittelee sen merkityksen. Spatiaaliset tietokannat tukevat useita primitiivisiä geometrioita, sekä näistä primitiiveistä koottuja kokoelmia. OGC:n refrenssimallin (OGC, 2003) määritelmän mukaan geometrinen objekti on koordinaattigeometrian sekä koordinaattiviitejärjestelmän yhdistelmä, joukko suorilla sijainneilla (direct positions) ilmaistuja geometrisia pisteitä. Suora sijainti viittaa sijaintiin koordinaattien viitejärjestelmän sisällä. Spatiaalisen tiedon kuvaamiseen käytettävien geometrioiden tyypit riippuvat käytettävän järjestelmän toteutuksesta, mutta perusperiaatteiltaan ne noudattavat ISO standardissa määriteltyjä geometriatyyppejä (ISO, 2003). ISO standardissa määritellään yhdenmukaistavat luokat 1-, 2- ja 3-ulotteisille primitiivisille geometriatyypeille. Kaksiulotteisia objekteja tai pintoja sisältäviä objekteja käytetään useimmiten kuvattaessa entiteettejä, jotka sisältävät suuria yhtenäisiä alueita (Rigaux & al., 2002). Tällaisia kuvattavia kohteita ovat esimerkiksi paikannustietokantoihin tallennettavat maaalueet, tiet sekä muut geograafiset elementit. Polygoni on tärkein geometrinen tyyppi kuvattaessa edellä mainitun kaltaisten objektien geometriaa. Polygoni on murtoviivalla (polyline) rajattu alue tietyllä tasolla (plane). Tätä polygonia ympäröivää murtoviivaa kutsutaan sen rajaksi (boundary). 4

8 2.1.2 Oracle Spatial -järjestelmän geometriatyypit Oracle Spatial (Oracle, 2003) tukee useita erilaisia primitiivisiä geometriatyyppejä sekä näistä koottuja kokoelmia. Kaksiulotteiset pisteet muodostuvat X- ja Y- koordinaattiparista, jonka avulla ilmaistaan yleensä pituus ja leveysasteiden arvoja. Viivajonot muodostuvat yhdestä tai useammasta pisteparista, jotka määrittelevät viivasegmentin. Polygonit muodostuvat yhdistetyistä viivajonoista, jotka muodostavat suljetun kehän. Näiden primitiivisten tyyppien avulla kuvataan varsinaista spatiaalista tietoa. Esimerkiksi polygonia voidaan käyttää kuvaamaan paikoitusaluetta, tai pistettä kuvaamaan rakennuksen sijaintia. Esimerkkejä Oracle Spatialin (Oracle, 2003) tukemista primitiiveistä sekä näistä koostuvista geometrioista ovat esimerkiksi 2-ulotteiset geometriatyypit: pisteet ja pisteryhmät murtoviivat polygonit kaariviivat kaaripolygonit yhdistelmäpolygonit kaarimurtoviivat ympyrät optimoidut suorakaiteet. Oracle Spatial tukee myös kolmi- ja neliulotteisia geometrisia tyyppejä, joissa käytetään kolmea tai neljää koordinaattia kuvaamaan kutakin objektin pintaa. Useimmat spatiaaliset funktiot toimivat kuitenkin ainoastaan kaksiulotteisille spatiaalisille objekteille Oracle Spatial -järjestelmässä (Oracle, 2003). Kuvassa 1 on 5

9 esitetty esimerkkejä useimmista tavallisista spatiaalisissa järjestelmissä käytettävistä 2-ulotteisista geometriatyypeistä. Piste Murtoviiva Polygoni Kaariviiva Kaaripolygoni Yhdistelmäpolygoni Yhdistelmäjono Ympyrä Suorakulmio Kuva 1: Esimerkkejä 2-ulotteisista geometriatyypeistä Spatiaalinen tietomalli Tietomalli voidaan määritellä yleisen tason kuvaukseksi joukosta entiteettejä, sekä näiden joukkoon kuuluvien entiteettien välisistä suhteista (Peuquet & Marble, 1990). Entiteetillä tarkoitetaan yksilöitävissä olevaa objektia, kuten vaikkapa spatiaalisissa tietojoukoissa esiintyvät tiet, rakennukset ja maa-alueet. Entiteettikokoelmat ovat kokoelma entiteettejä, joilla on yhteisiä piirteitä tai jokin yhdistävä tekijä. Spatiaalisessa tiedossa tällaisia kokoelmia ovat esimerkiksi kaupungit ja vuoristot. Tietomalliin tallennettavat suhteet sisältävät tietoa objektien välisistä etäisyyksistä, vierekkäisyydestä ja muista vastaavista tiedoista. Sekä entiteeteillä että niiden välisillä 6

10 suhteilla voi olla monia erilaisia arvoja tai ominaisuuksia, kuten leveys, korkeus tai syvyys. Tietomallin peruspiirre on se, että malli on abstraktio todellisuudessa olemassaolevista objekteista ja näiden relaatioista, ja jokainen tietomalli kuvaa todellisuutta tietyllä tarkkuustasolla. Monet tietomallien suunnittelijat ovat ymmärtäneet, että tallennettua tietoa tulisi olla mahdollista tarkastella monella eri tasolla. Ei kuitenkaan ole olemassa yleisesti hyväksyttyä mallia siitä kuinka moneen abstraktiotasoon tietomalli tulisi erotella. Esimerkkinä voidaan mainita nelitasoinen malli (Peuquet & Marble, 1990), jossa abstraktio jaetaan seuraavalla tavalla : - Todellisuus : Tilanne joka vallitsee todellisessa maailmassa sisältäen kaikki tarkasteltaessa ihmiselle näkyvät sekä näkymättömät osat. - Tietomalli: Abstraktio todellisuudesta, johon sitältyvät vain ne osat, joita pidetään merkittävinä sovelluksen tai sovelluskohteen toiminnan kannalta. - Tietorakenne: Tietomallin esitysmuoto, joka kuvataan yleensä listoina, kaavioina tai muina vastaavina kokoelmina, jotka voidaan tallentaa tietokoneen ymmärtämässä muodossa. - Tiedostorakenne : Tiedon esitysmuoto fyysisellä tallennusmedialla Objektien joukon geometrian kuvaminen Spatiaalisen tiedon kokoelmien kuvaamiseen käytettävistä malleista voidaan eritellä yleisimmät kolme mallia: spagetti-, verkko- ja topologiamallit (Rigaux & al., 2002). Nämä mallit eroavat toisistaan pääasiassa topologisten suhteiden kuvaustavan osalta. Objektien väliset topologiset suhteet ovat niitä suhteita, jotka pysyvät muuttumattomina topologian muuttuessa. Nämä suhteet siis säilytetään, kun spatiaalisia objekteja muutetaan esimerkiksi kääntämällä tai skaalaamalla niitä euklidisella tasolla. Topologisia suhteita ovat mm. naapuruus-, limittyneisyys-, erillisyys- ja sisältyvyyssuhteet, jotka muodostavat tärkeän luokan spatiaalisia riippuvuuksia. Tällaisten relaatioiden eksplisiittinen kuvaus spatiaalisessa tietokannassa lisää käytettävissä olevaa spatiaalista tietoa ja on hyödyllistä esimerkiksi arvioitaessa 7

11 spatiaalisia tietokantakyselyitä. Kuvassa 2 esitetään muutamia mahdollisia geometristen objektien välisiä topologisia suhteita. Naapuruus Limittyneisyys Erillisyys Sisältyneisyys Kuva 2: Esimerkkejä objektien välisistä topologisista suhteista Spagettimalli Spagettimallissa minkä tahansa kokoelmaan liittyvän spatiaalisen objektin tiedot kuvaillaan itsenäisesti riippumatta muista kokoelmaan liittyvistä objekteista (Rigaux & al., 2002). Tämän kaltaiset mallit eivät tallenna kokoelmaan liittyvää topologista tietoa, joten kaikki topologiset riippuvuudet tulee laskea suorituksen aikana niitä tarvittaessa. Tämä rakenne antaa myös ymmärtää, että malli sisältää ylimääräistä tietoa. Esimerkkinä kahden vierekkäisen alueen välistä rajaa kuvaava tieto esitetään kahdesti. Tämä yksinkertainen malli mahdollistaa heterogeenisen esitystavan, jonka 8

12 avulla pisteet, murtoviivat ja alueet voidaan sekoittaa yhteen kokoelmaan ilman rajoituksia. Tämän lähestymistavan suurin hyöty on sen yksinkertaisuus. Malinowskin ja Zimányin (2005) mukaan mallin käyttökelpoisuutta lisää myös se, ettei käyttäjän tarvitse tietää uutta tietokantaobjektia lisättäessä mitään tietokannassa olevien tai sinne lisättävien objektien topologisista suhteista. Tämän vuoksi tiedon lisääminen onnistuu huomattavasti yksinkertaisemmin kuin esimerkiksi topologisessa mallissa. Toisaalta mallin suurimmat puutteet johtuvat eksplisiittisen relaatiotiedon puutteesta kokoelman objektien välillä, kuten objektien vierekkäisyys tai tieto siitä sisältääkö objekti jonkin toisen kokoelmaan kuuluvan objektin (Rigaux & al., 2002). Tämän takia mallissa ei ole esimerkiksi suoraviivaista tapaa selvittää sitä jakavatko kahden polygonin rajat saman pisteen. Edellä mainittu tiedon ylimäärä on toinen mahdollinen ongelma, jonka merkitys kasvaa käsiteltävän paikannustiedon määrän kasvaessa Verkkomalli Verkkotyylinen spatiaalinen malli kehitettiin alunperin kuvaamaan verkkoja verkkograafeihin perustuvissa ohjelmistoissa kuten liikenneyhteysohjelmistoissa (Rigaux & al., 2002). Tätä mallia käytettäessä tallennetaan kokoelmiin topologiset relaatiot pisteiden ja murtoviivojen välillä. Mallissa käytettävien geometristen tyyppien joukko on hieman monimutkaisempi kuin spagettimallissa. Mallin käyttöä varten tarvitaan kaksi uutta käsitettä jotka ovat solmut ja kaaret. Solmu on yksilöllinen piste, johon yhdistyy vaihteleva määrä kaaria. Kaari on murtoviiva joka alkaa ja päättyy solmuun. Kuvassa 3 esitetään yksinkertainen verkkomallin mukainen tietojoukko. 9

13 Kaari Solmu Kuva 3: Verkkomallin mukainen kuvaus topologiasta. Toteutustavasta riippuen verkosto on joko planaarinen tai ei-planaarinen. Planaarisessa verkossa jokainen sivujen risteys tallennetaan solmuna, vaikka kyseinen solmu ei vastaisikaan geograafista objektia. Ei-planaarisessa verkossa sivut voivat ylittää toisensa muodostamatta risteystä. Esimerkkinä ei-planaarisista verkoista voidaan mainita esimerkiksi maakuljetusverkot, jotka sisältävät tunneleita ja tasoristeyksiä. Alue kuvataan verkkomallissa verteksien järjestettynä listana polygonin rajaamalla alueella, eli samalla tavalla kuin spagettimallissa. Tämän mallin käytön hyviä puolia ovat sen esittämä luontainen kuvaus verkon muotoisesta topologiasta sekä yhteneväisyyskäsite, joiden avulla on esimerkiski mahdollista etsiä optimaalisia polkuja verkon läpi. Tämä malli ei tallenna 2-ulotteisten objektien välistä relaatiotietoa Topologinen malli Topologinen malli on hyvin samankailtainen verkkomallin kanssa, mutta mallissa käytetty verkosto on planaarinen (Rigaux & al., 2002). Tämä verkosto aiheuttaa 10

14 planaarisen jakautumisen vierekkäisiksi polygoneiksi, joista jotkut eivät välttämättä vastaa todellista geograafista objektia. Verkkomallin mukaisesti solmu kuvaillaan topologisessa mallissa pisteenä, joka koostuu joukoista kaaria. Jos lista on tyhjä, on solmu eristyksissä muista verkon osista. Verkosta eristyneitä pisteitä käytetään kuvattaessa erilaisten objektien sijainteja kuten tornien tai toriaukioiden sijaintia. Kaaret sisältävät alku-ja loppupisteidensä lisäksi tiedon niistä polygoneista, joille kaari toimii yhteisenä osana. Malli kuvaa polygonin kaarien joukkona, joista kukin kaari on jaettuna viereisen polygonin kanssa. Tehokkuuskysymyksien vuoksi mallissa esiintyy hieman tiedon ylimäärä näiden tietojen osalta, esimerkiksi polygoneja voidaan käsitellä joko polygoneina tai kaarina. Tallennetussa sijantitiedossa ei sen sijaan esiinny ylimäärää, koska kukin piste tai viiva tallennetaan vain kerran. Malinowskin ja Zimányin (2005) mukaan topologinen malli on huomattavasti monimutkaisempi ja joustamattomampi kuin spagettimalli, sekä vaatii enemmän tallennustilaa massamuistilta tietorakenteen tallentamiseen. Kuvassa 4 esitetään esimerkki polygonien esitystavasta topologisessa mallissa. P1 P2 P3 [P1+P2] Kuva 4: Polygonien esitystapa topologisessa mallissa. 11

15 Eräs topologisen mallin eduista on topologisten kyselyiden nopea laskettavuus. Esimerkiksi kaikkien polygonin P viereisten polygonien etsiminen on suoraviivaista, koska voidaan suorittaa haku kaarista, jotka muodostavat polygonin P:n naapureina. Lisäksi tällaiseen malliin perustuvan tietojoukon säännöllinen päivittäminen ja ylläpitäminen on helpompaa objektien jakaman tiedon takia, toisin kuin esimerkiksi spagettimalliin perustuvassa tiedossa, jossa kahdelle polygonille yhteinen sivu tallennetaan kahteen kertaan. Tästä johtuen myös tietoa päivitettäessä muutokset tulee tehdä molempiin tietueisiin. Topologisen mallin käytössä on muutamia ongelmia. Ensinnäkin osalla tietokannan spatiaalisista objekteista ei välttämättä ole semanttista vastinetta reaalimailman kanssa. Toinen ongelma on rakenteen monimutkaisuus, joka saattaa hidastaa joitain tiedon käsittelyyn liittyviä operaatioita. Monimutkaisten tietorakenteiden läpikäynti toistuvasti voi aiheuttaa suurta käsittelykuormaa. Lisäksi uuden objektin lisääminen tietojoukkoon edellyttää planaarisen graafin osittaista uudelleen laskemista Spatiaaliset hierarkiat Malinowskin ja Zimányin (2005) mukaan yksinkertaiset spatiaaliset hierarkiat ovat sellaisia, joiden jäsenet voidaan kuvata käsitteellisessä mallissa puurakenteena. Nämä yksinkertaiset hierarkiat voidaan jakaa kolmeen alakategoriaan, jotka ovat symmetriset, epäsymmetriset ja yleistetyt spatiaaliset hierarkiat. Symmetrisen spatiaalisen hierarkian skeemassa on ainoastaan yksi polku, jonka kaikki tasot ovat pakollisia. Esiintymätasolla rakenteen elementit muodostavat puurakenteen, jonka kaikki oksat ovat saman pituisia. Jokaisella vanhemmalla tulee olla vähintään yksi lapsisolmu, ja kukin lapsisolmu voi kuulua ainoastaan yhdelle vanhemmalle. 12

16 Kuvassa 5 esitetään symmetrisen hierarkian skeema sekä esimerkki skeeman mukaisesta puurakenteesta 1. << contains >> << contains >> << point >> Toimipiste Toimipisteen tunnus Osoite Esimiehen nimi Muita atribuutteja Maantieteelinen sijainti << surface >> Kunta Kunnan tunnus Kunnan alue Muita atribuutteja << surface set >> Maa Maan tunnus Asukasluku Muita atribuutteja Maa 1 Kunta 1 Kunta 2 Toimipiste 1 Toimipiste 2 Toimipiste 3 Toimipiste 4 Kuva 5: Symmetrisen hierarkian skeema ja esimerkki puurakenteesta (Malinowski & Zimányi, 2005). Asymmetrisissä spatiaalisissa hierarkioissa on myös ainoastaan yksi polku skeeman tasolla, mutta kardinaliteettien mukaan kaikki hierarkian alemmat tasot eivät ole pakollisia. Näin toteutustasolla puun jäsenet voivat muodostaa epätasapainoisen puun, jonka oksat eivät ole saman pituisia. Kuvassa 6 esitetään asymmetrisen hierarkian skeema, sekä esimerkki skeeman mukaisesta puurakenteesta. 1 Tässä tutkielmassa osa Malinowskin ja Zimanyin [6] käyttämistä piktogrammeista on korvattu UMLnotaation stereotyypeillä. 13

17 << surface set >> Osasolu Tunnus Hakuehto Tyyppi Koko Muita atribuutteja Alueen rakenne << surface set >> Solu Tunnus Koko Muita atribuutteja << surface set >> Segmentti Tunnus Koko Muita atribuutteja << surface set >> Alue Tunnus Nimi Muita atribuutteja Alue 1 Segmentti 1 Segmentti 2 Segmentti 3 Solu 11 Solu 12 Solu 31 Solu 32 Solu 33 Osasolu 111 Osasolu 112 Kuva 6: Asymmetrisen hierarkian skeema ja esimerkki puurakenteesta (Malinowski & Zimányi, 2005). Yleistetyt hierarkiat sisältävät skeematasolla monia toisensa poissulkevia polkuja, jotka jakavat joidenkin tasojen tietoja. Jokainen näistä poluista kuvaa yhtä hierarkiaa. Esiintymätasolla jokainen hierarkian jäsen kuuluu ainoastaan yhteen polkuun. Symboli x ilmaisee sitä että polut ovat eksklusiivisia. Oheisessa kuvan 7 esimerkissä tämä tarkoittaa sitä, että teiden osat voivat kuulua sekä kaupungin omiin teihin että valtaväyliin. Kaupungin teiden osien huolto on paikallisen huollon vastuulla, kun taas valtavylien osien huoltotoimet on ulkoistettu tietyille yhtiöille. 14

18 << surface >> Kaupungin osa << surface set >> Kaupunki << line segment >> Tien osa Numero Nopeusrajoitus Muita atribuutteja Tyyppi X Nimi Muita atribuutteja << surface >> Yhtiö Nimi Osoite Muita atribuutteja Nimi Alue Muita atribuutteja X << surface set >> Osavaltio Nimi Alue Muita atribuutteja Lääni 1 Kaupunki 1 Kaupunki 2 Yhtiö 1 Yhtiö 2 Kaupungin osa A Kaupungin osa B Tien osa 21 Tien osa 22 Tien osa 21 Tien osa 22 Kuva 7: Yleistetyn hierarkian skeema ja esimerkki puurakenteesta (Malinowski & Zimányi, 2005) Käsitteellisen skeeman muuntaminen loogiseksi skeemaksi Malinowski ja Zimányi (2007) esittävät lisäksi artikkelissaan, kuinka suunniteltu käsitteellinen tietomalli voidaan muuntaa varsinaiseksi loogiseksi tietokantamalliksi. He viittaavat myös niihin etuihin, joita tämän kaltaisten muunnosten suorittamisessa saavutetaan käyttämällä spatiaaliset ominaisuudet jo sisältäviä tietokannanhallintajärjestelmiä, kuten Oracle Spatialia, spagettitietomallin etuihin topologiseen malliin verrattuna, sekä semantiikan säilyttämisen tärkeyteen muunnettaessa käsitteellistä mallia loogiseksi malliksi. Yleinen tapa toteuttaa spatiaalinen tietokanta loogisella tasolla perustuu joko relationaaliseen, olio-pohjaiseen tai oliorelaatio-pohjaiseen lähestymistapaan. Monimutkai- 15

19 sen ei-atomisen tiedon esittäminen on tunnetusti eräs relaatiomallin heikkouksista. Spatiaalisen tiedon tallentamisen yhteydessä tämä tarkoittaa esimerkiksi sitä, että polygonin tallentaminen relaatiomallin mukaisesti vaatii useita rivejä, jotka kuvaavat yksittäisen polygonin murtoviivoja näiden alku- ja loppupisteiden avulla, jättäen täten käyttäjän harteille kullekkin objektille kuuluvien tietojen ryhmittelyn. Olio-pohjainen lähestymistapa tiedon tallentamiseen mahdollistaa näiden ongelmien ratkaisemisen geometrioita kuvaavien olioluokkien avulla, mutta olioihin perustuvat tallennusjärjestelmät eivät ole vielä yleistyneet kovinkaan laajalti tietokantajärjestelmissä. Toisaalta olio-relaatiomalli sisältää relaatiomallin hyvät ominaisuudet, kuten nopean tiedon haun, sekä laajentaa sen ilmaisuvoimaa oliomallin avulla. Olio-relaatiomallin ominaisuudet ovat lisäksi mukana SQL:2003-standardissa sekä johtavissa tietokantaratkaisuissa, kuten Oracle tai Informix. Malinowski ja Zimányi (2007) käyttävät omassa skeeman muunnoksessaan surrogaatteja käyttäjän määrittelemien avaimien sijaan. Tämä johtuu siitä, että esimerkiksi tietovarastoissa käyteään usein järjestelmän määrittelemiä avaimia, joka nopeuttaa liitosten suorittamista. Lisäksi surrogaatit eivät muutu ajan kuluessa, eli kaksi objektia, joiden surrogaatit ovat identtisiä, kuvaavat samaa entiteettiä mahdollistaen historiatietojen tallentamisen. SQL:2003-standardi sekä useat kaupalliset tietokantajärjestelmät, kuten Oracle 10g, tukevat surrogaatteja. Spatiaalisen tiedon tallentamiseen voidaan käyttää joko kaksiosaista tai integroitua arkkitehtuuria. Ensimmäinen perustuu tekniikkaan, jossa spatiaaliselle ja ei-spatiaaliselle tiedolle käytetään erillisiä hallintajärjestelmiä. Integroiduissa järjestelmissä tietokantajärjestelmää on laajennettu spatiaalisilla tietotyypeillä ja funktioilla. Kaksiosaista arkkitehtuuria käytetään useimmiten traditionaalisissa GIS-järjestelmissä. Nämä järjestelmät vaativat erillisen tietomallin kuvaamaan sekä spatiaalista että ei-spatiaalista informaatiota, joka hankaloittaa mallintamista sekä lisää järjestelmän monimutkaisuutta. Spatiaalisilla ominaisuuksilla laajennetut tietokantajärjestelmät sisältävät spatiaalisten objektien käsittelyyn vaadittavat työkalut säilyttäen silti muut ominaisuudet kuten optimointityökalut. 16

20 Malinowski ja Zimanyi (2007) valitsivat omassa tutkimuksessaan spagettitietomallin mukaisen tallennusrakenteen skeemamuunnoksen suorittamisessa. Perustelut spagettimallin valinnalle olivat mallin yksinkertaisuus verrattuna topologiseen malliin, jonka tarjoama tallennusmalli on heidän mukaansa liian rajoittava ja joustamaton. Eräs tärkeä osatekijä käsitteellisten mallien muuntamisessa loogisiksi malleiksi on semantiikan säilyttäminen. Osa käsitteellisessä mallissa määritellystä semantiikasta voidaan menettää, jos käyttöalustaksi valittu tietokannan hallintajärjestelmä ei tue konseptimallin sisältämiä rakenteita. Tässä tapauksessa voidaan käyttää eheysrajoitteita, kuten laukaisimia (triggers), joiden avulla voidaan varmistaa käsitteellisen ja loogisen skeeman ekvivalenssi. Laukaisin suorittaa tarvittavat eheyden tarkistukset aina tietokannan tietojen päivittyessä Oracle Spatialin hierarkkinen tietorakenne Oracle Spatialin tietomalli on hierarkkinen rakenne, joka koostuu elementeistä, geometrioista sekä kerroksista (Oracle, 2003). Kerrokset muodostuvat geometrioista, jotka vastaavasti muodostuvat elementeistä. Oracle Spatialin hierarkkinen tietorakenne sisältää myös koordinaattijärjestelmän ja toleranssin. Elementti (element) on geometrian perusosa. Oracle Spatialin tukemia elementin tyyppejä ovat pisteet, murtoviivat ja polygonit. Elementit voivat kuvastaa esimerkiksi tähtikuvioita (pisteryhmä) tai teitä (joukko murtoviivoja). Jokainen elementin koordinaatti tallennetaan X,Y koordinaattiparina. Yksittäisen pisteen tieto koostuu yhdestä koordinaatista. Viivan sisältämä tieto koostuu kahdesta koordinaatista, jotka kuvaavat elementin osaa. Polygonin tiedot koostuvat koordinaattipareista, yksi koordinaattipari polygonin kutakin sivua kohti. Geometria (geometry) on jonkin spatiaalisen ominaisuuden esitysmuoto, joka on mallinnettu tiettyjen primitiivisten spatiaalisten elementtien järjestettynä joukkona. 17

21 Geometria voi koostua yksittäisestä elementistä, joka on jonkin tuetun primitiivisen tyypin ilmentymä, tai vaihtoehtoisesti se voi muodostua homogeenisestä tai heterogeenisestä elementtikokoelmasta. Homogeeninen kokoelma voi sisältää esimerkiksi tietyn maa-alueen geometriaa kuvaavat polygonit. Heterogeeninen kokoelma taas sisältää eri tyyppisiä elementtejä, kuten pisteitä ja polygoneja. Kerros (layer) on kokoelma geometrioita, jotka jakavat samanlaisen attribuuttijoukon. GIS-järjestelmän yksi kerros voi esimerkiksi kuvata objektien topografisia ominaisuuksia, toisen tason kuvatessa asukastiheyttä. Kuhunkin kerrokseen kuuluvat geometriat ja näihin liittyvät spatiaaliset indeksit tallennetaan tavalliseen tietokantatauluun. Koordinaattijärjestelmän (coordinate system) tai spatiaalisen viitejärjestelmän avulla määritellään koordinaatit tietylle sijainnille sekä muodostetaan suhteita näin määriteltyjen sijaintien välille. Se mahdollistaa todellisessa maailmassa sijaitsevan sijainnin esittämisen koordinaattijoukkona paikannusjärjestelmässä. Toleranssia (tolerance) käytetään, kun spatiaaliselle tiedolle halutaan asettaa jokin tietty tarkkuusaste. Toleranssi kuvaa etäisyyttä, jonka verran objektit voivat poiketa toisistaan, mutta tulos tulkitaan edelleen sellaiseksi, että objektit ovat samassa pisteessä. Tämä on käytännöllistä esimerkiksi pyöristyksestä aiheutuvien tarkkuusvirheiden poistamisessa. Oracle Spatialin hierarkkinen rakenne mahdollistaa spagettimallin käytön SDO_GEOMETRY-tietotyypin avulla (Oracle, 2003), sekä verkko- ja topologiamallin mukaisen tietomallin generoinnin (Oracle, 2005). Tässä tutkielmassa esitetyt Oracle Spatial järjestelmän esimerkit on toteutettu spagettimallin mukaisella tallennusrakenteella. 18

22 2.3. Indeksointi ja spatiaaliset tiedonsaantimenetelmät Moniulotteisten geograafisten objektien käsittelyä tehostavat tiedonsaantimenetelmät ovat ensisijaisen tärkeitä esim. CAD-suunnittelun sekä spatiaalista tietoa käsittelevien tietokantojen yhteydessä (Seeger & Kriegel, 1990). Tiedonsaantimenetelmät voidaan jakaa karkeasti pistetiedon saantimenetelmiin (PAM, Point Access Methods) sekä spatiaalisen tiedon saantimenetelmiin (SAM, Spatial Access Methods), joita käytetään haettaessa tietoa pisteistä tai spatiaalisista objekteista kuten polygoneista moniulotteisessa spatiaalisessa avaruudessa. Käytettävien tiedonsaantimenetelmien tulee olla dynaamisia, eli toisin sanoen niiden täytyy tukea toistuvaa tiedon lisäämistä, poistamista ja päivittämistä ilman tiedon globaalia uudelleenjärjestämistä tai suorituskyvyn heikkenemistä. Lisäksi niiden tulisi tukea tehokkaasti monia spatiaaliseen tietoon liittyviä hakutyyppejä, kuten lähimmän naapurin tai objektien välisen etäisyyden selvittämistä. Spatiaalisten kyselyiden tehokas suorittaminen vaatii tietorakenteeseen soveltuvaa saantimenetelmää, jota kutsutaan indeksiksi (Rigaux & al., 2002). Saantimenetelmän tarkoituksena on nopeuttaa tiedonsaantia vähentämällä niiden objektien määrää, joiden tietoja haetaan tietokannasta hakua suoritettaessa. Perinteisissä tietokannoissa käytettävät yksiulotteiset indeksirakenteet eivät ole tehokkaita moniulotteista spatiaalista tietoa käsiteltäessä (Guttman, 1984). Arvojen absoluuttiseen vertailuun perustuvat rakenteet, kuten hajautustaulut, eivät ole käytännöllisiä, ja yksiulotteiseen avainarvojen järjestämiseen perustuvat rakenteet, kuten B-puut tai ISAM-indeksit, eivät toimi moniulotteisessa hakuavaruudessa. Esimerkkeinä spatiaalisista kyselyistä voidaan mainita piste-ja ikkuna-haut (Rigaux & al., 2002). Näissä kyselyissä etsitään objekteja, joiden geometria sisältää haetun pisteen, tai sijaitsee suorakaiteella rajatun alueen sisällä. Kuvassa 8 esitetään esimerkki ikkuna-haun toiminnasta käytännössä. Spatiaalinen liitos (spatial join) on myös eräs tärkeistä hakuesimerkeistä, jolla haetaan objekteja jotka kuuluvat haluttuun spatiaaliseen relaatioon kuten vierekkäisyys, päällekkäisyys tai sisältyvyys. 19

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

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

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

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

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

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

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla

Lisätiedot

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä Luku 7 Verkkoalgoritmit Verkot soveltuvat monenlaisten ohjelmointiongelmien mallintamiseen. Tyypillinen esimerkki verkosta on tieverkosto, jonka rakenne muistuttaa luonnostaan verkkoa. Joskus taas verkko

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

Paikkatietokantojen EUREFmuunnoksen

Paikkatietokantojen EUREFmuunnoksen Paikkatietokantojen EUREFmuunnoksen käytännön toteutus EUREF-II teemapäivä Jukka Vänttinen Sisältö Koordinaattimuunnokset Teklan ohjelmistoissa Muunnostyön valmistelu ja vaiheistus Muunnokset tietojärjestelmän

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin

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

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT PUURAKENTEET, BINÄÄRIPUU, TASAPAINOTETUT PUUT MIKÄ ON PUUTIETORAKENNE? Esim. Viereinen kuva esittää erästä puuta. Tietojenkäsittelytieteessä puut kasvavat alaspäin.

Lisätiedot

10. Painotetut graafit

10. Painotetut graafit 10. Painotetut graafit Esiintyy monesti sovelluksia, joita on kätevä esittää graafeina. Tällaisia ovat esim. tietoverkko tai maantieverkko. Näihin liittyy erinäisiä tekijöitä. Tietoverkkoja käytettäessä

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

Kirjoita jokaiseen erilliseen vastauspaperiin kurssin nimi, tenttipäivä, oma nimesi (selkeästi), opiskelijanumerosi ja nimikirjoituksesi

Kirjoita jokaiseen erilliseen vastauspaperiin kurssin nimi, tenttipäivä, oma nimesi (selkeästi), opiskelijanumerosi ja nimikirjoituksesi Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, kurssikoe 29.2.2012 (vastauksia) Liitteenä on tiivistelmä SQL-syntaksista Kirjoita jokaiseen erilliseen vastauspaperiin kurssin

Lisätiedot

Luento 3: 3D katselu. Sisältö

Luento 3: 3D katselu. Sisältö Tietokonegrafiikan perusteet T-.43 3 op Luento 3: 3D katselu Lauri Savioja Janne Kontkanen /27 3D katselu / Sisältö Kertaus: koordinaattimuunnokset ja homogeeniset koordinaatit Näkymänmuodostus Kameran

Lisätiedot

Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia

Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia Pinot, jonot, yleisemmin sekvenssit: kokoelma peräkkäisiä alkioita (lineaarinen järjestys) Yleisempi tilanne: alkioiden hierarkia Kukin alkio (viite) talletettuna solmuun (node) vastaa paikan käsitettä

Lisätiedot

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Graafit ja verkot Suuntamaton graafi: eli haaroja Joukko solmuja ja joukko järjestämättömiä solmupareja Suunnattu graafi: Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Haaran päätesolmut:

Lisätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

Lisätiedot

Algoritmit 1. Luento 14 Ke 25.2.2015. Timo Männikkö

Algoritmit 1. Luento 14 Ke 25.2.2015. Timo Männikkö Algoritmit 1 Luento 14 Ke 25.2.2015 Timo Männikkö Luento 14 Heuristiset menetelmät Heuristiikkoja kapsäkkiongelmalle Kauppamatkustajan ongelma Lähimmän naapurin menetelmä Kertaus ja tenttivinkit Algoritmit

Lisätiedot

Algoritmit 1. Luento 10 Ke 11.2.2015. Timo Männikkö

Algoritmit 1. Luento 10 Ke 11.2.2015. Timo Männikkö Algoritmit 1 Luento 10 Ke 11.2.2015 Timo Männikkö Luento 10 Algoritminen ongelman ratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Väliinsijoituslajittelu Valintalajittelu

Lisätiedot

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36 !!!!! Relaatiotietokannat ovat vallanneet markkinat tietokantojen osalta. Flat file on jäänyt siinä kehityksessä jalkoihin. Mutta sillä on kuitenkin tiettyjä etuja, joten ei se ole täysin kuollut. Flat

Lisätiedot

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen Tietojärjestelmä tuotantoympäristössä Tausta ja tavoitteet Tausta Kurssilla on opiskeltu suunnittelemaan ja toteuttamaan tietokanta, joka on pieni perustuu selkeisiin vaatimuksiin on (yleensä) yhden samanaikaisen

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT PERUSTIETORAKENTEET LISTA, PINO, JONO, PAKKA ABSTRAKTI TIETOTYYPPI Tietotyyppi on abstrakti, kun se on määritelty (esim. matemaattisesti) ottamatta kantaa varsinaiseen

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

Lisätiedot

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Jyri Lehtonen (72039), jkoleh@utu.fi Azad Hajipour (72187), azhaji@utu.fi 10.6.2007 Sisältö 1. Tietokannan kuvaus... 1 1.1 Tietokannan rakenne... 1 1.2 Relaatiokaava

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 TIETORAKENTEET JA ALGORITMIT A274101 TIETORAKENTEET JA ALGORITMIT VERKOT ELI GRAAFIT Lähteet: Timo Harju, Opintomoniste Keijo Ruohonen, Graafiteoria (math.tut.fi/~ruohonen/gt.pdf) HISTORIAA Verkko- eli graafiteorian historia on saanut

Lisätiedot

Paikkatiedon hallinta ja analyysi 3. Paikkatietomallit ja kyselyt

Paikkatiedon hallinta ja analyysi 3. Paikkatietomallit ja kyselyt HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Paikkatiedon hallinta ja analyysi 3. Paikkatietomallit ja kyselyt Antti Leino 21. maaliskuuta 2005 Tietojenkäsittelytieteen

Lisätiedot

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC)

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC) HAAGA-HELIA ICT1TA006: Ohjelmointi 1 /5 Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC) (Lähteet: Oracle java jdbc Tutorial, Arvo Lipitsäinen: Tietokannan käsittely JDBC:n

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

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

Kombinatorinen optimointi

Kombinatorinen optimointi Kombinatorinen optimointi Sallittujen pisteiden lukumäärä on äärellinen Periaatteessa ratkaisu löydetään käymällä läpi kaikki pisteet Käytännössä lukumäärä on niin suuri, että tämä on mahdotonta Usein

Lisätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto 811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Määrittelydokumentti

Määrittelydokumentti Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

2016/06/21 13:27 1/10 Laskentatavat

2016/06/21 13:27 1/10 Laskentatavat 2016/06/21 13:27 1/10 Laskentatavat Laskentatavat Yleistä - vaakageometrian suunnittelusta Paalu Ensimmäinen paalu Ensimmäisen paalun tartuntapiste asetetaan automaattisesti 0.0:aan. Tämä voidaan muuttaa

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

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi

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

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

HELIA 1 (20) Outi Virkki Tiedonhallinta 4.11.2000

HELIA 1 (20) Outi Virkki Tiedonhallinta 4.11.2000 HELIA 1 (20) Luento 3.1 7LHWRNDQWDSRKMDLVHQVRYHOOXNVHQVXXQQLWWHOXSURVHVVL Tietokannan suunnittelun tavoitteet... 3 Abstraktiotasot tietokannan suunnittelussa... 4 3-taso -malli... 4 TIHA-standardi... 5

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

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

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Tietorakenneluokkia 2: HashMap, TreeMap Tietorakenneluokkia ja -rajapintoja Java tarjoaa laajan kokoelman tietorakennerajapintoja ja - luokkia. Aiemmin

Lisätiedot

Viivojen pituuksien laskenta ja tilastot

Viivojen pituuksien laskenta ja tilastot Viivojen pituuksien laskenta ja tilastot QGIS Tutorials and Tips Author Ujaval Gandhi http://google.com/+ujavalgandhi Translations by Kari Salovaara This work is licensed under a Creative Commons Attribution

Lisätiedot

A271117 TIETOKANNAT, 3 op Syksy 2008 - TI07. Teemu Saarelainen, lehtori Tietotekniikka teemu.saarelainen@kyamk.fi

A271117 TIETOKANNAT, 3 op Syksy 2008 - TI07. Teemu Saarelainen, lehtori Tietotekniikka teemu.saarelainen@kyamk.fi A271117 TIETOKANNAT, 3 op Syksy 2008 - TI07 Teemu Saarelainen, lehtori Tietotekniikka teemu.saarelainen@kyamk.fi A271117 TIETOKANNAT Tavoitteet Oppia tietokantojen suunnitteluperiaatteet Osata käyttää

Lisätiedot

1. Johdanto Todennäköisyysotanta Yksinkertainen satunnaisotanta Ositettu otanta Systemaattinen otanta...

1. Johdanto Todennäköisyysotanta Yksinkertainen satunnaisotanta Ositettu otanta Systemaattinen otanta... JHS 160 Paikkatiedon laadunhallinta Liite III: Otanta-asetelmat Sisällysluettelo 1. Johdanto... 2 2. Todennäköisyysotanta... 2 2.1 Yksinkertainen satunnaisotanta... 3 2.2 Ositettu otanta... 3 2.3 Systemaattinen

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

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

Pikaopas. Valintanauhan näyttäminen tai piilottaminen Avaa valintanauha napsauttamalla välilehteä, tai kiinnitä se pysyvästi näkyviin.

Pikaopas. Valintanauhan näyttäminen tai piilottaminen Avaa valintanauha napsauttamalla välilehteä, tai kiinnitä se pysyvästi näkyviin. Pikaopas Microsoft Visio 2013 näyttää erilaiselta kuin aiemmat versiot. Tämän oppaan avulla pääset alkuun nopeasti ja saat yleiskuvan uusista ominaisuuksista. Päivitetyt mallit Mallien avulla voit nopeasti

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

HAAGA-HELIA heti09 1 (27) ICT05 Tiedonhallinta ja tietokannat O.Virkki 19.1.2010. Relaatiomalli

HAAGA-HELIA heti09 1 (27) ICT05 Tiedonhallinta ja tietokannat O.Virkki 19.1.2010. Relaatiomalli HAAGA-HELIA heti09 1 (27) Relaatiomalli Relaatiomalli... 2 Peruskäsitteet... 3 Relaatio... 5 Attribuutti ja arvojoukko... 6 Monikko... 7 Säännöt... 8 Arvojoukkoeheyssääntö... 8 Pääavain ja yksilön eheyssääntö...

Lisätiedot

Harjoitustyö. CSE-A1200 Tietokannat! Jasse Lahdenperä! 345396! killedwhale@kapsi.fi! Henri Nurmi! 345545! henri.nurmi@kapsi.fi!

Harjoitustyö. CSE-A1200 Tietokannat! Jasse Lahdenperä! 345396! killedwhale@kapsi.fi! Henri Nurmi! 345545! henri.nurmi@kapsi.fi! Harjoitustyö CSE-A1200 Tietokannat Jasse Lahdenperä 345396 killedwhale@kapsi.fi Henri Nurmi 345545 henri.nurmi@kapsi.fi 1 Ensimmäisen vaiheen ratkaisu ER-Kaavio 2 Relaatiomalli: Loanable(Id, MaximumLoanTime)

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

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

TIETOKANNAT JOHDANTO

TIETOKANNAT JOHDANTO TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI 2000-2011 Tieto TAUSTAA Yritykselle tiedot ovat tärkeä resurssi päätöksenteon tukena (JIT) varastointi ja käyttö vaativat investointeja vrt. energia (lähde,

Lisätiedot

Tietokannan indeksointi: B puun ja hajautusindeksin tehokkuus

Tietokannan indeksointi: B puun ja hajautusindeksin tehokkuus Tietokannan indeksointi: B puun ja hajautusindeksin tehokkuus Tuomas Kortelainen 28.4.2008 Joensuun yliopisto Tietojenkäsittelytiede Pro gradu tutkielma Tiivistelmä Tässä tutkielmassa esitellään tietokannan

Lisätiedot

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö Algoritmit 1 Luento 13 Ti 23.2.2016 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin

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

Fakta versio 5.3.0.1069 Forecast versio 1.3.0.53

Fakta versio 5.3.0.1069 Forecast versio 1.3.0.53 1 (7) Fakta versio 5.3.0.1069 versio 1.3.0.53 Ohessa on luettelo uusista ja muuttuneista toiminnoista ja ominaisuuksista version x.2.1 jälkeen. Porautuminen saldoista tapahtuariveille.. Jako on mahdollista

Lisätiedot

ohjelman arkkitehtuurista.

ohjelman arkkitehtuurista. 1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä

Lisätiedot

ADMIN. Käyttöopas 08Q4

ADMIN. Käyttöopas 08Q4 ADMIN Käyttöopas 08Q4 Sisällysluettelo Uuden käyttäjän lisääminen...3 Käyttäjän poistaminen...3 Oikeudet...4 Käyttäjäasetukset...6 Aktiviteetin määritys...8 Aktiviteetin määrittely...8 Kenttämäärittelyt...9

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

Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa

Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa Aalto Yliopisto T-106.2001 Informaatioverkostot: Studio 1 Oliot ja luokat Javaohjelmoinnissa Vesa Laakso 22.9.2012 Sisällysluettelo Sisällysluettelo... 1 Johdanto... 2 1. Luokka... 2 2. Olio... 2 3. Luokan

Lisätiedot

Tietokannat PERUSMATERIAALI Microsoft Access 2007 Kieliversio: suomi Materiaaliversio 1.0 päivitetty 8.6.2009 www.piuha.fi materiaalimyynti@piuha.

Tietokannat PERUSMATERIAALI Microsoft Access 2007 Kieliversio: suomi Materiaaliversio 1.0 päivitetty 8.6.2009 www.piuha.fi materiaalimyynti@piuha. Tietokannat PERUSMATERIAALI Microsoft Access 2007 Kieliversio: suomi Materiaaliversio 1.0 päivitetty 8.6.2009 materiaalimyynti@piuha.fi Tämän materiaalin kopioiminen ilman tekijän lupaa kielletään tekijänoikeuslain

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

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

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

Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia

Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia Tällä viikolla Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia 1.) Mainitse tietokonepelistä (kuvitteellisesta tai todellisesta) esimerkkitilanteita,

Lisätiedot

Sivu 1/5 Mitä CD- tai DVD-muotoa tulisi käyttää? Tässä artikkelissa Tarpeita vastaavan levyn ja muodon valinta Tietoja Live File Systemin ja masteroidun levymuodon eroista Miksi Live File System -muodosta

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta Hajautettu tietokanta Jokainen hajautettu tietokanta muodostaa oman kokonaisuutensa Loogisesti yhtenäinen data on hajautettu tietokantoihin (eri

Lisätiedot

Nelli kaukopalvelutyössä

Nelli kaukopalvelutyössä Nelli kaukopalvelutyössä Jouni Nevalainen 22.5.2008 Esityksen sisältö Mikä Nelli-portaali on? Pikahaku, tietokannat, E-lehdet, monihaku Hakeminen Nellissä OmaNelli SFX-linkitys Nelli-portaali, miksi? TKK:lla

Lisätiedot

Uudelleenkäytön jako kahteen

Uudelleenkäytön jako kahteen Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta

Lisätiedot

Kirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, tentin päiväys, oma nimesi, syntymäaikasi ja nimikirjoituksesi.

Kirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, tentin päiväys, oma nimesi, syntymäaikasi ja nimikirjoituksesi. Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, kurssikoe 4.3.2015, H. Laine Tehtävien mukana jaetaan sql-syntaksin tiivistelmä. Kirjoita kuhunkin erilliseen vastauspaperiin

Lisätiedot

ECDL Tietokannat. Copyright 2015 ECDL Foundation ECDL Tietokannat Sivu 1 / 7

ECDL Tietokannat. Copyright 2015 ECDL Foundation ECDL Tietokannat Sivu 1 / 7 ECDL Tietokannat Copyright 2015 ECDL Foundation ECDL Tietokannat Sivu 1 / 7 Tavoite Tässä esitellään tutkintovaatimukset moduulille ECDL Tietokannat, joka määrittelee tarvittavat tiedot ja taidot näyttökokeen

Lisätiedot

REKISTERI- JA TIETOKANTA-AINEISTOJEN SIIRTÄMINEN VAPA-PALVELUUN

REKISTERI- JA TIETOKANTA-AINEISTOJEN SIIRTÄMINEN VAPA-PALVELUUN Arkistolaitos REKISTERI- JA TIETOKANTA-AINEISTOJEN SIIRTÄMINEN VAPA-PALVELUUN Ohje v. 1.0 (16.10.2012) Kansallisarkisto Rauhankatu 17 PL 258, 00171 Helsinki Puh. Tel. (09) 228 521 arkisto@narc.fi Riksarkivet

Lisätiedot

D B. Kyselyjen käsittely ja optimointi. Kyselyn käsittelyn vaiheet:

D B. Kyselyjen käsittely ja optimointi. Kyselyn käsittelyn vaiheet: Kyselyjen käsittely ja optimointi Kyselyn käsittelyn vaiheet: TKHJ ottaa vastaan kyselyn asiakasohjelmalta Kysely selataan ja jäsennetään tarkistetaan kyselyn rakenteellinen oikeellisuus Jäsennetty kysely

Lisätiedot

Mikä on tietomalli? Relaatiomallin käsitteitä 1/2 (kuva 5.1) Relaatiomallin taustaa

Mikä on tietomalli? Relaatiomallin käsitteitä 1/2 (kuva 5.1) Relaatiomallin taustaa Relaatiomalli 5. Relaatiomalli Käsitteet Säännöt Käyttö 6. Relaatioalgebra (EI TENTTIIN!) Select, Project, Union, Difference, Join 7. (E)ER-mallin muuntaminen relaatioiksi Kaava Mikä on tietomalli? Malli,

Lisätiedot

Ohjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1

Ohjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1 Ohjelmistojen mallintaminen Olioiden yhteistyö 18.11.2008 Harri Laine 1 Olioiden yhteistyö Oliokeskeisen ohjelmistonäkemyksen mukaan ohjelmiston palvelut tuotetaan olioiden yhteistyön tuloksena. Ohjelmisto

Lisätiedot

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Hahmon etsiminen syotteesta (johdatteleva esimerkki) Hahmon etsiminen syotteesta (johdatteleva esimerkki) Unix-komennolla grep hahmo [ tiedosto ] voidaan etsia hahmon esiintymia tiedostosta (tai syotevirrasta): $ grep Kisaveikot SM-tulokset.txt $ ps aux

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

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

HAAGA-HELIA TIKO-05 1 (19) ICT23a Tietokannan suunnittelu ja toteutus O.Virkki 4.9.2008 HAAGA-HELIA TIKO-05 1 (19) Relaatiomalli Relaatiomalli... 2 Peruskäsitteet... 3 Relaatio... 5 Attribuutti ja arvojoukko... 6 Monikko... 7 Säännöt... 8 Yksilön eheyssääntö ja Pääavain... 9 Viite-eheyssääntö

Lisätiedot

10.2. Säteenjäljitys ja radiositeettialgoritmi. Säteenjäljitys

10.2. Säteenjäljitys ja radiositeettialgoritmi. Säteenjäljitys 10.2. Säteenjäljitys ja radiositeettialgoritmi Säteenjäljitys Säteenjäljityksessä (T. Whitted 1980) valonsäteiden kulkema reitti etsitään käänteisessä järjestyksessä katsojan silmästä takaisin kuvaan valolähteeseen

Lisätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

ELEMENTTIMENETELMÄN PERUSTEET SESSIO 01: Johdanto. Elementtiverkko. Solmusuureet.

ELEMENTTIMENETELMÄN PERUSTEET SESSIO 01: Johdanto. Elementtiverkko. Solmusuureet. 0/ ELEMENTTIMENETELMÄN PERUSTEET SESSIO 0: Johdanto. Elementtiverkko. Solmusuureet. JOHDANTO Lujuuslaskentatehtävässä on tavoitteena ratkaista annetuista kuormituksista aiheutuvat rakenteen siirtmätilakenttä,

Lisätiedot

Kurssimateriaali. GeoGebra

Kurssimateriaali. GeoGebra Kurssimateriaali GeoGebra Sisällys: A. Esittely B. GeoGebra aloittaminen C. Ohjelmaan tutustuminen painoindeksi tuotoksen avulla D. Tiedoston muunnokset E. Viitteet A. Esittely GeoGebra on avoimen lähdekoodin

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat 29.3.2016 CSE-A1200 Tietokannat 29.3.2016 1 / 40 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten tietokannan relaatioiden (taulujen) määrittelyt kirjoitetaan SQL:llä. Osaat

Lisätiedot

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä: Frégier n lause Simo K. Kivelä Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä: Suorakulmaisen kolmion kaikki kärjet sijaitsevat paraabelilla y = x 2 ; suoran kulman

Lisätiedot

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return

Lisätiedot

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan

Lisätiedot

Luku 3. Listankäsittelyä. 3.1 Listat

Luku 3. Listankäsittelyä. 3.1 Listat Luku 3 Listankäsittelyä Funktio-ohjelmoinnin tärkein yksittäinen tietorakenne on lista. Listankäsittely on paitsi käytännöllisesti oleellinen aihe, se myös valaisee funktio-ohjelmoinnin ideaa. 3.1 Listat

Lisätiedot

UML -mallinnus TILAKAAVIO

UML -mallinnus TILAKAAVIO UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat

Lisätiedot

v 8 v 9 v 5 C v 3 v 4

v 8 v 9 v 5 C v 3 v 4 Verkot Verkko on (äärellinen) matemaattinen malli, joka koostuu pisteistä ja pisteitä toisiinsa yhdistävistä viivoista. Jokainen viiva yhdistää kaksi pistettä, jotka ovat viivan päätepisteitä. Esimerkiksi

Lisätiedot

SUDOKU - ratkaisuohjeet. Jarno Tuimala 18.9.2005

SUDOKU - ratkaisuohjeet. Jarno Tuimala 18.9.2005 SUDOKU - ratkaisuohjeet Jarno Tuimala 18.9.2005 Japanilainen sudoku Seuraavassa on esitetty ohjeet japanilaistyyppisten sudoku-ristikoiden ratkontaan. Japanilaisia ristikoita luonnehtivat seuraavat piirteet:

Lisätiedot

Johdatus rakenteisiin dokumentteihin

Johdatus rakenteisiin dokumentteihin -RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot