Relaatiotemporaalinen tietomalli mittaustiedon hallintaa varten

Koko: px
Aloita esitys sivulta:

Download "Relaatiotemporaalinen tietomalli mittaustiedon hallintaa varten"

Transkriptio

1 Automaatio 1999, , Helsinki. Relaatiotemporaalinen tietomalli mittaustiedon hallintaa varten Antoni Wolski Johannes Arminen Antti Pesonen VTT Tietotekniikka, PL 1201, VTT, Finland Puh. (09) 4561, Fax. (09) sähköposti: {antoni.wolski, johannes.arminen, AVAINSANAT aikasarja, temporaalinen tietomalli, prosessinhallinta, mittaus 1. JOHDANTO Teollisuusprosesseissa syntyy suuria määriä tietoja, joita hyödynnetään automaatiojärjestelmissä ja prosessinhallintajärjestelmissä. Tiedon määrän kasvaessa ja prosessinhallintaohjelmien monimutkaistuessa tiedon joustava käyttö on yhä tärkeämpää. On tiedonhallintakeinoin taattava, että prosessissa syntynyt tai jalostettu tieto on tallessa niin, että erilaisia, toisistaan poikkeavia sovellusten tietotarpeita voidaan tyydyttää tehokkaasti ja ohjelmoinnin kannalta helposti. Perinteisillä tietotekniikan sovellusalueilla tietokannanhallintajärjestelmiä on käytetty tähän tarkoitukseen. Joustavan, sovellustarpeisiin muokkautuvan käyttötavan lisäksi ne takaavat tiedon eheyden ja pysyvyyden erilaisten rinnakkais- ja toipumistekniikoiden avulla. Perinteiset tietokantaratkaisut (jotka nykyisin pääosin perustuvat SQL-kieleen [ISO92]) eivät kuitenkaan sovi hyvin teollisten prosessinhallintajärjestelmien pohjaksi. Yksi syy on SQL-tietokantojen pohjana oleva relaatiomalli, joka ei sovellu luontevasti ajallisten ilmiöiden mallintamiseen. Tarvitaan uusi tietomalli, joka sopisi paremmin prosessitiedoissa esiintyvien aikasarjojen esittämiseen. Toisaalta SQL-kielen vakiintunut asema tietokanta-alueella vaatii, että uusi malli on yhteensopiva SQL-kielen kanssa ja erityistoiminnot on turvattava SQL-kielen laajennusten avulla. VTT Tietotekniikassa kehitetty RQL-kieli ja sitä vastaava tietomalli on kehitetty yllä mainitulla tavalla. Uusi tietomalli on toteutettu RapidBase-nimisessä aikasarjatietokantaohjelmistossa, joka sopii pohjaksi moneen tosiaikaisia prosessitietoja hyödyntävään sovellukseen. Luvussa 2 analysoidaan tarkemmin aikasarjan rakenne ja ja tietokannanhallintajärjestelmalta vaaditut ominaisuudet. Luvussa 3 tarkastellaan erilaisia tapoja esittää aikasarjat relaatiotietokannoissa ja näihin tapoihin liittyvät ongelmat. Luku 4 sisältää muiden kehityssuuntien yhteenvedon. Luvussa 5 esitetään RQL-kieli ja tietomalli. RQL-esimerkkien avulla demonstroidaan tietomallin ominaisuuksia. 2. AIKASARJAN ANATOMIA Koska prosessin yksittäiset mittaukset (ja usein myös niistä johdetut tiedot) ovat sidottuja aikaan, tiedoista muodostuu aikasarjoja, joilla on seuraavat yhteiset ominaisuudet: Tietopiste on rakenteellinen tieto-olio, joka esittää reaalimaailman mittauspistettä. Osa tietopistettä kuvaavista tiedoista on ajasta riippumattomia, kuten nimet, mittauslaitteen tyyppimerkinnät ja tekniset tiedot. Aikasarja esittää jotakin ajassa mitattua tietopisteen suuretta tai suureita. Aikasarjassa olevia tietoja yhdistää kronologinen järjestys. Aikasarjan tietue kertoo yksittäisestä mittauksesta. Jokaisen tietueen yhteydessä on olemassa tieto mittausajasta ja mahdollisesti tietueen voimassaoloajasta (valid time). Tietueeseen kuuluu yksi tai kaksi aikaleimaa, riippuen toteutustavasta. Aikasarjan tietueen alkio on tietueen elementti. Se esittää mitatun arvon. Tietopistetyyppi on valmis kaava, jonka mukaan voidaan luoda uusia tietopisteitä aikasarjoineen.

2 2 Tietopisteryhmä on kokoelma tietopisteitä, jotka yhdistää jokin tekijä. Aikasarjatietokanta on joukko tietopisteitä tyyppeineen, ryhmineen ja aikasarjoineen. Sitä hallitaan ja käsitellään sopivan ohjelmiston avulla. Tyypillisin aikasarjatietokannan toiminto on voimassaoloajan perusteella tapahtuva liitos (eli voimassaoloaikaliitos, valid time join). Sellainen tarvitaan, kun esimerkiksi halutaan tietää, mikä oli prosessin tila ajanhetkellä t 1. Silloin ei riitä, että järjestelmä tietää mittausarvon mittaushetken tiedossa pitäisi olla myös hetki johon asti mittaus on voimassa. Silloin vasta voidaan muodostaa tulos kaikista mittausarvoista, joiden voimassaoloaika sisältää kyseisen ajanhetken t 1. Aikasarjojen hallintajärjestelmälle voidaan asettaa muitakin vaatimuksia, kuten että mittausarvot interpoloidaan mittaushetkien välillä, koostearvot (esim. keskiarvot) lasketaan automaattisesti ja vanhentuneet tietueet poistetaan. Aikasarjat voivat olla myös ainakin kahta eri tyyppiä. Säännöllisessä sarjassa mittausajat ovat säännöllisin aikavälein. Epäsäännöllisessä sarjassa mittausajat voivat olla mielivaltaisia. Aikasarjakyselykieli tarvitaan ja aikapohjaisten toimintojen (kuten voimassaoloaikaliitoksen) optimointi on tärkeää. Yleiskäyttöisen aikasarjahallinnan tarpeet olivat hyvin pitkään vailla niille kuuluvaa huomiota. Tutkimusalalla on herätty ongelmaan vasta viime aikoina [Dre94]. Viime vuosina on kaupallisiin tietokantajärjestelmiin tuotu joukko aikasarjalaajennuksia, jotka eivät kuitenkaan tue hyvin mittausaineiston tallennustarpeita. Ensin pohditaan, miksei relaatiotietokanta taivu tähän tarpeeseen. 3. TAIPUMATON RELAATIOTIETOKANTA Aikasarjan tuominen relaatiokantaan on kivuliasta vaikkei mahdotonta. Esimerkiksi seuraava taulu esittää lämpötila-antureiden mittauksia. Taulun joka rivillä on mittaushetken aikaleima. Probe_id Time Tempr TEMP12 10:20 24 TEMP34 12:10 99 TEMP12 13:10 20 On selvää, että aikaleima kertoo voimassaoloajan alkuhetken, kuten rivillä (TEMP12, 10:20). Mutta missä kerrotaan voimassaoloajan loppuu? Se löytyy jollakin toisella rivillä, joka esittää samaan yksilöön kohdistuvan seuraavan muutoksen, eli tässä tapauksessa rivillä (TEMP12, 13:10). Kun halutaan suorittaa eri mittaustaulujen voimassaololiitos, tulosrivi muodostetaan voimassaoloajaltaan leikkaavista lähtötaulujen riveistä. Miten sitten kirjoitetaan yllä olevan taulutyypin mukaisista tauluista lähtevä SQL-kysely? Ei mitenkään, koska SQL ei tunne käsitettä ajassa seuraava rivi. Ratkaisuna on koko voimassaoloaikatiedon kirjoittaminen joka riville, kuten seuraavassa esimerkissä. Probe_id Beg End Tempr TEMP12 10:20 13:10 24 TEMP34 12:10 NULL 99 TEMP12 13:10 NULL 20 NULL-arvot tulkitaan siten, että tieto on voimassa nykyhetkelläkin.

3 3 Täten rakennettujen taulujen voimassaololiitos onnistuu nyt yhdellä SQL-lauseella, mutta siitä tulee monimutkainen. Voidaan myös perustellusti epäillä, kuinka hyvin tietokantatuotteen optimoija selviää tehtävästään. Vaikka ratkaisu toimii, siinä on muitakin ongelmia. Aikatiedot on esitetty tuplasti ja tietojen päivityksissä täytyy noudata tiukkoja sääntöjä: rivin lisäämiseen tai muuttamiseen liittyy aina jonkun toisen rivin muuttamista. Taulun aikaeheys voi helposti rikkoontua, eikä sitä voi ylläpitää automaattisesti järjestelmän toimesta. Lähteestä [Gol93] löytyy muitakin keinoja, mutta relaatiomallin kankeudesta ei niiden avulla pääse eroon. 4. MUUT LÄHESTYMISTAVAT Tietokantakirjallisuutta tuntevat lukijat tietävät, että temporaaliset tietokannat ovat tulossa. Tietokantatutkijoiden yhteistyönä luotu kieli TSQL2 on kuvattu kirjassa [Sno95] ja useissa artikkeleissa, kuten [Sno94]. TSQL2 on otettu pohjaksi standardi SQL-kielen laajennuksessa, jonka nimi on SQL/- Temporal. Nykytiedon mukaan laajennuksen standardi valmistuisi vuonna Kaupallisia toteutuksia ei vielä ole ja aika näyttää tuleeko niitä. TSQL2-pohjainen tietokantajärjestelmä ratkaisisi ylhäällä esitetyt ongelmat, mutta puutteita on silti: toisaalta aikasarjakäsittelyn kannalta TSQL2-kielessä on tarpeetonta painolastia ja toisaalta joitakin ominaisuuksia puuttuu, esim. aikasarjatietueen käsite ja eri tyyppisten aikasarjojen tuki. Tietokantaohjelmistojen valmistajat IBM, Informix ja Oracle ovat tuoneet tuotteisiinsa aikasarjat laajennustietotyypin muodossa. Toteutukset on suunnattu finanssimarkkinoiden sovelluksiin. Mittausaikasarjoja voidaan niiden avulla toteuttaa, mutta käyttö on hankalaa ja tehotonta. Yhtenä haittana on tarve turvautua erityisiin funktioihin, jotka ovat erillään itse tietokantakielestä. Teollisten valvomo-ohjelmistojen valmistajat ovat aina tukeneet mittausaikasarjoja jossakin muodossa. Tällaisia tuotteita ovat mm. Wonderwaren InTouch, National Instrumentsin LabVIEW ja Gensymin G2. Näillä välineillä on kuitenkin vaikea rakentaa yleiskäyttöinen aikasarjatietokanta. Pisimmällä on Wonderware IndustrialSQL Server -tuotteella, jossa Microsoftin SQL Server on laajennettu aikasarjarakenteilla. Rakenteet ovat kuitenkin hyvin yksinkertaisia (tietopistetyypit ja aikasarjatietueet puuttuvat), eikä aikasarja-alkiota voi muuttaa luomisen jälkeen. 5. RQL-KIELI ja -TIETOMALLI Olemme VTT Tietotekniikassa yrittäneet luoda helppotajuisen ja tehokkaasti toteutettavan aikasarjatietomallin. RapidBase-aikasarjatietokantajärjestelmässä on toteutettu RQL-kieli (RapidBase Query language) ja sen pohjalla oleva laajennettu relaatiomalli. Kuva 1 kertoo, miten esitetään prosessimallin olioita RQL-taulujen avulla. Yksi perustaulu vastaa tietopisteen tyyppiä ja rivi yhtä tietopistettä. Esimerkiksi kaikki lämpötila-anturit voitaisiin esittää yhdessä perustaulussa. Jos halutaan lisätä yksi anturi prosessimalliin, taulun lisätään yksi rivi. Tietopisteen pysyvät tiedot on esitetty tavallisilla perussarakkeilla, kuten perinteisessä tietokannassa. Sen sijan jokainen tietopisteeseen liittyvä aikasarja esitetään erityisellä HISTORY-tyyppisellä sarakkeella. Tällaisen sarakkeen arvona on kronologisesti järjestetty aikasarjatietueiden sekvenssi. Aikasarjatietue jakautuu alisarakearvoihin, jotka ovat rivin esittämän olion tietyn hetken tilaa kuvaavia tietoja. Jokaisella tietueella on sisäänrakennettu aikaleimatieto, jonka perusteella järjestelmä päättää tietueen voimassaolon ajasta.. HISTORY-tyypin arvoilla eli aikasarjoilla on ominaisuudet, jotka puuttuvat relaatiotietomallista. Järjestelmä ylläpitää tietueiden järjestystä, aikaleimaa tietueet automaattisesti (ellei sovellus anna aikaleimaa) ja takaa historian maksimaalisen pituuden poistamalla vanhennetut tiedot tietokannasta. Jos vanhentuneet tiedot halutaan kuitenkin säilyttää, tietokantaan määritellyt arkistoijaoliot pitävät huolen tietojen arkistoinnista toiseen taltioon.

4 4 alisarake HISTORYsarake VALID :02:01.00 perussarake perustaulu VALID NOW Kuva 1. RQL-tietomallin mukainen perustaulu (esimerkki). RQL-malli supistuu helposti tavalliseen relaatiomalliin, jos vain nykyinen tila on käsittelyn kohteena. RQL-perustaulu voidaan silloin nähdä SQL-perustauluna (kuvan 1 etualalla oleva tummennettu osa). Tavalliset SQL-komennot kohdistuvat tähän 'nykynäkymään', johon kuuluvat aikasarjojen kronologisesti viimeiset tietueet. Laajennetun kieliopin avulla pystytään myös helposti päivittämään ja hakemaan aikasarjoissa olevia tietoja. Kahden historian perustaulu voidaan luoda esimerkiksi seuraavalla RQL-lauseella: CREATE TABLE tempr_probes ( probe_id CHAR(8), name VARCHAR(80), type CHAR(10), scale INT, measur_h HISTORY ( tempr INT, quality TINYINT ) SIZE state_h HISTORY ( state CHAR(8) ) SIZE 1000 Tässä esimerkissa taulun historiasarakkeista toinen on tarkoitettu mittausarvojen tallentamiseen ja toinen anturin tilan (ON/OFF) seuraamiseen. On prosessimallin suunnittelijan tehtävä valita mistä olion ominaksista halutaan historiatietoja talteen ja mistä ei. Uuden anturin lisääminen prosessimalliin käy seuraavalla lauseella: INSERT INTO tempr_probes (probe_id, name, type, scale, state_h.state) VALUES ('TEMP34', 'Axis head tempr meter', 'TM2', 10, 'OFF') Yllä oleva lause alustaa uuden rivin perussarakearvot ja yhden historian tilaa. Historiaan state_h on kirjoitettu arvo 'OFF' ja historiatietuen automaattinen aikaleimä kertoo arvon luomisen hetkestä. Toinen historia on vielä kuitenkin alustamaton ja se arvo (ja myös alisarakkeiden arvo) on NULL, eli 'tyhjä'.

5 5 SQL-tietokannoissa sarakearvojen muuttaminen tapahtuu UPDATE-lauseella. Jos RQL-kielessä UPDATE-lause kohdistetaan historian alisarakkeeseen, sen nykynäkymän mukainen arvo muuttuu ja vanha arvo siirtyy historiaan. Uuden anturin tila muutetaan näin: UPDATE tempr_probes SET state_h.state = 'ON' WHERE probe_id = 'TEMP34' Mittausarvoja syötetään vastaavalla tavalla. Tässäkin tapauksessa käytetään UPDATE-lausetta, koska kyseessä on nykynäkymän päivitys: UPDATE tempr_probes SET measur_h.tempr = 124, measur_h.quality = 3 WHERE probe_id = 'TEMP34' Tähän asti esitetyt INSERT ja UPDATE-lauseet ovat SQL-standardin mukaisia. Jos SELECT-lause esitetään standardinmukaisella tavalla, sekin kohdistuu RQL-taulun nykynäkymään. Esimerkiksi lause SELECT probe_id, name, measur_h.tempr WHERE state_h.state = 'ON' tuottaa tulostaulun, jossa on ON-tilassa olevien antureiden tunnustiedot ja tuoreimmat mittaukset. RQL-kieli tuo laajennukset, joiden avulla historiatiedot voidaan ylläpitää ja hakea. Esimerkiksi vanhoja historiatietoja päivitetään UPDATE HISTORY -lauseella. Historiatiedot haetaan tavallisella SELECT-lauseella, jossa on jokin historiaan viittaava temporaalinen predikaatti. Temporaalisista predikaateista kätevin on VALID-predikaatti, jolla annetaan haettavien tietojen voimassaoloaika. RQL-kielen SELECT-lauseessa VALID-predikaatii on aina mukana vaikka käyttäjjä sitä ei antaisi. Sen oletusarvomuoto on VALID NOW, joka viittaa nykynäkymään (kuva 1). VALID-predikaatissa voidaan antaa aikapiste, jolloin haetut tiedot ovat voimassa. Esimerkiksi lause SELECT probe_id, name, state_h.state, measur_h.tempr WHERE VALID ' :02:01.000' tuottaa listan kaikista antureista ja niiden tiloista ja mitatuista arvoista mainitulla hetkellä. VALID-predikaatilla on useita aikapisteiden ja jaksojen määrittelyyn sopivia muotoja. Esimerkiksi näin haetaan viimeisen minuutin mittaustietoja: SELECT ots, probe_id, name, measur_h.tempr WHERE VALID FROM NOW INTERVAL '1' MINUTE Sarake ots (object timestamp) on tulostaulun virtuaalinen sarake ja se kertoo mittauksen ajankohdan. Se sisällytetään aina tulostauluun, jos tuloksessa on historiatietoja.. Sen arvo on laskettu historiatietueiden aikaleimatiedoista. Kun kaksi tai useampi historia yhdistetään yhteen tulostauluun, järjestelmä suorittaa historioiden voimassaololiitoksen niin, että kussakin tulostaulun rivissä on samassa aikajaksossa voimassa olevia tietoja.. Seuraavaan lauseen kahden historian voimassaololiitoksen tuloksessa jokaisen tulosrivin voimassaoloajan kertovat sarakkeet ots ja ots_end (viimeksi mainittu on myös virtuaalisarake) SELECT ots, ots_end, probe_id, state_h.state, measur_h.tempr WHERE VALID BEFORE NOW

6 6 Usein tarvitaan tietoa säännöllisin aikavälein voimassa olevista arvoista (esim. trendinäytön tuottamiseen). RQL-kielen aikapisteliitos (timepoint join) tuottaa tarvittavan tuloksen. Se voidaan kohdistaa samassa lauseessa muodostettuun voimassaololiitokseen, kuten esimerkiksi tässä lauseessa, joka tuottaa 10 sekunnin aikavälein tila- ja mittaustietoja yhden tunnin ajalta. SELECT ots, probe_id, state_h.state, measur_h.tempr TIMEPOINT SERIES INTERVAL '10' SECOND WHERE VALID FROM NOW INTERVAL '1' HOUR Tässä kuvattu RQL-kieli ja tietomalli on toteutettu VTT Tietotekniikan RapidBase-järjestelmässä 1. Sovellusohjelmat käyttävät RapidBase-tietokantaa lähettämällä RQL-lauseita RapidBase-palvelimeen tavanomaisten SQL-tietokannoista tuttujen etäkäyttöliittymien kautta, kuten ODBC ja JDBC. Oma RapidBase C++-pohjainen liittymäluokkakirjasto on myös käytettävissä. Tässä esitetyn tietomallin lisäksi RapidBase-järjestelmän erikoisuuksiin kuuluuvat muunmuassa keskusmuistipohjainen tietokannan toteutus ja ilmaisuvoimainen laukaisinjärjestelmä, johon kuuluvat myös sumean päättelyn pohjalta toimivat laukaisimet. 6. LÄHDELUETTELO [Dre94] W. Dreyer et al.: Research Perspectives for Time Series Management Systems. SIGMOD Record, 23(1), March 1994, sivut [Gol93] R. Goldring: An Introduction to Time-Series Data. InfoDB, 7(2), Spring 1993, sivut [ISO92] [Sno94] [Sno95] ISO/IEC Information processing systems - Database language SQL. International standard, third edition, Ref. No. ISO 9075 : 1992 (E). R. Snodgrass et al.: TSQL2 Language Specification. ACM SIGMOD Record, 23(1), March 1994, sivut R. Snodgrass (ed.): The TSQL2 Temporal Query Language. Kluwer Academic Publishers, 1995, 674 s. 1

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

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

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

Lisätiedot

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

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

Lisätiedot

HELIA 1 (17) Outi Virkki Tiedonhallinta

HELIA 1 (17) Outi Virkki Tiedonhallinta HELIA 1 (17) Luento 4.1 Looginen suunnittelu... 2 Relaatiomalli... 3 Peruskäsitteet... 4 Relaatio... 6 Relaatiokaava (Relation schema)... 6 Attribuutti ja arvojoukko... 7 Monikko... 8 Avaimet... 10 Avain

Lisätiedot

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

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

Lisätiedot

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

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

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

Lisätiedot

SQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX

SQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX SQL - perusteet SQL - yleistä Esa Salmikangas InMics SE Oy versio 16.6.2003 SQL - perusteet 1 SQL - perusteet 2 SQL Structured Query Language SQL on tietokantojen käsittelyyn kehitetty kieli yleisimmät

Lisätiedot

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu HELIA 1 (8) Luento 1 Johdatusta tietokannan suunnitteluun... 2 Tietokantasuunnittelu?... 2 Tietokanta?... 2 Tieto?... 2 Tietokantasuunnittelun tavoite, v.1... 2 Luotettavuus?... 3 Tietokantasuunnittelun

Lisätiedot

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento Transaktion / Tapahtuman hallinta... 2 Taustaa... 3 Tapahtuman käsite... 5 ACID-ominaisuudet... 7 Samanaikaisuuden hallinta... 8 Lukitukset... 9 Toipuminen... 10 Loki-tiedosto... 11

Lisätiedot

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

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

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

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

Sovellusarkkitehtuurit

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

Lisätiedot

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

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

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely HAAGA-HELIA Heti-09 1 (14) Transaktionkäsittely Transaktion / Tapahtuman hallinta... 2 Taustaa... 3 Tapahtuman käsite... 5 ACID-ominaisuudet... 7 Samanaikaisuuden hallinta... 8 Lukitukset... 9 Toipuminen...

Lisätiedot

Sisältö. 2. Taulukot. Yleistä. Yleistä

Sisältö. 2. Taulukot. Yleistä. Yleistä Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä

Lisätiedot

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma. 2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä

Lisätiedot

Sisältö. 22. Taulukot. Yleistä. Yleistä

Sisältö. 22. Taulukot. Yleistä. Yleistä Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä

Lisätiedot

Hakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)]

Hakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)] Tällä viikolla Kertaus SQL-asioista jatketaan SQL-tekstifuntio-harjoituksia tehdään pelifirman tietokannasta ER-malli MySQL:llä, tarkastellaan mallin toimivuutta ja korjataan, jos korjattavaa löytyy, tehdään

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

Samanaikaisuuden hallinta. Optiot transaktionaalisissa työnkuluissa

Samanaikaisuuden hallinta. Optiot transaktionaalisissa työnkuluissa Samanaikaisuuden hallinta Optiot transaktionaalisissa työnkuluissa Sisältö Transaktionaaliset työnkulut Samanaikaisuuden ongelmat Optiot idea käyttökohteet WorkMan Optioiden toteutus Arviointi Transaktionaaliset

Lisätiedot

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

Aurinkoenergiajärjestelmien etäseurantajärjestelmä

Aurinkoenergiajärjestelmien etäseurantajärjestelmä Aurinkoenergiajärjestelmien etäseurantajärjestelmä Janne Raitaniemi (Bitec Oy) Saku Rantamäki (SAMK) Aurinkoenergiajärjestelmien luonne järjestelmien odotettu elinkaari on pitkä investoinnin kannattavuus

Lisätiedot

Tietotekniikan laitos Käki-projekti TIETOKANTASUUNNITELMA. 1. Johdanto

Tietotekniikan laitos Käki-projekti TIETOKANTASUUNNITELMA. 1. Johdanto Jyväskylän yliopisto SUUNNITELMA Tietotekniikan laitos 5.11.2003 Käki-projekti TIETOKANTASUUNNITELMA 1. Johdanto Suunnitelma sisältää kuvauksen tietokannan suunnittelussa käytetyistä periaatteista, kuvan

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

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

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

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

Lisätiedot

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN KIRJAN HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 7 JOUNI HUOTARI & ARI HOVI IIO30100 TIETOKANTOJEN SUUNNITTELU

Lisätiedot

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

TIEDONHALLINNAN PERUSTEET - SYKSY 2013 TIEDONHALLINNAN PERUSTEET - SYKSY 2013 Kurssikoodi: Saapumisryhmä: Luento 5 XX00AA79-3013 TU12S2 Pasi Ranne 11.9.2013 11/9/13 Helsinki Metropolia University of Applied Sciences 1 Tietokannan normalisoinnin

Lisätiedot

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

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, 3.5.2007, H.Laine Kirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, oma nimesi, syntymäaikasi ja nimikirjoituksesi

Lisätiedot

D B. Tietokannan hallinta - kurssin tavoite. Kurssilla opitaan periaatteet. Edellytyksenä osallistumiselle on Tietokantojen perusteiden hallinta

D B. Tietokannan hallinta - kurssin tavoite. Kurssilla opitaan periaatteet. Edellytyksenä osallistumiselle on Tietokantojen perusteiden hallinta Tietokannan hallinta - kurssin tavoite Kurssilla opitaan periaatteet fyysisen tietokannan tallennuksesta ja käsittelystä tietokantakyselyiden muuntamisesta fyysisen tietokannan käsittelyoperaatioiksi kyselyn

Lisätiedot

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu HELIA 1 (13) Luento 2.9 Tietohakemistot 2 2 Coddin 12 säännöstä RDBMS:lle... 3 Oraclen tietohakemistonäkymät (osa) 4 Yleiset 4 Taulut 4 Säännöt 4 Näkymät 4 Synonyymit 5 Talletetut rutiinit 5 Käyttöoikeudet

Lisätiedot

Denormalisointia turvallisesti. Ougf syysseminaari 4.11.2010 Pörssitalo Helsinki Timo Raitalaakso

Denormalisointia turvallisesti. Ougf syysseminaari 4.11.2010 Pörssitalo Helsinki Timo Raitalaakso Denormalisointia turvallisesti Ougf syysseminaari 4.11.2010 Pörssitalo Helsinki Timo Raitalaakso Timo Raitalaakso Senior Database Specialist Solita Oy 2001- - 2001 Tampereen Teknillinen korkeakoulu Tietokannat

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

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

MySQL ja PostgreSQL Seminaarityö

MySQL ja PostgreSQL Seminaarityö Jani Ahde (1401497, TI14SPeli) MySQL ja PostgreSQL Seminaarityö Essee Opintojakso 206101312_TP Marraskuu 2015 SISÄLLYS 1 JOHDANTO... 3 2 RELAATIO JA SQL... 3 2.1 Relaatiotietokanta... 3 2.2 SQL... 4 3

Lisätiedot

Helsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

Helsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot DO NOT PRINT THIS DOCUMENT SQL:ssä joukko yhteenvetofunktioita (aggregate function, koostefunktio) AVG keskiarvo MIN pienin arvo (minimi) MAX suurin arvo (maksimi) SUM summa COUNT lukumäärä Yhteenvetofunktioita

Lisätiedot

Luku 8. Aluekyselyt. 8.1 Summataulukko

Luku 8. Aluekyselyt. 8.1 Summataulukko Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa

Lisätiedot

Oliotietokannat. Nääsvillen Oliopäivät Pekka Kähkipuro Kehitysjohtaja, FT

Oliotietokannat. Nääsvillen Oliopäivät Pekka Kähkipuro Kehitysjohtaja, FT Oliotietokannat Nääsvillen Oliopäivät 2004 15.12.2004 Pekka Kähkipuro Kehitysjohtaja, FT pekka.kahkipuro@sysopen.fi Oliotietokanta Idea: pysyvän tiedon tallentaminen suoraan oliomuodossa Tietosisältö ja

Lisätiedot

HELIA 1 (11) Outi Virkki Tiedonhallinta

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

Lisätiedot

Tietokantojen perusteet

Tietokantojen perusteet Tietokantojen perusteet Johdanto Jouni Huotari & Ari Hovi 2008 TAUSTAA Yritykselle tiedot ovat tärkeä resurssi päätöksenteon tukena (JIT) varastointi ja käyttö vaativat investointeja vrt. energia (lähde,

Lisätiedot

TIETOKANTOJEN PERUSTEET MARKKU SUNI

TIETOKANTOJEN PERUSTEET MARKKU SUNI TIETOKANTOJEN PERUSTEET MARKKU SUNI OSIO 01 Peruskäsitteitä Kurssin tavoite: antaa osallistujille valmiudet ymmärtää tietokantojen periaatteet ymmärtää tietokantojen suunnittelunäkökohtia osallistua tietokantojen

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 17.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.2.2010 1 / 41 Sanakirja Monissa sovelluksissa on tallennettava rakenteeseen avain arvo-pareja. Myöhemmin rakenteesta

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

Automatisoinnilla tehokkuutta mittaamiseen

Automatisoinnilla tehokkuutta mittaamiseen Automatisoinnilla tehokkuutta mittaamiseen Finesse seminaari 22.3.2000 Päivi Parviainen 1 Miksi automatisoida? Mittaamisen hyödyt ohjelmistokehityksen ajantasainen seuranta ja hallinta tuotteen laadun

Lisätiedot

Kiertokysely. Sulautetut järjestelmät Luku 2 Sivu 1 (??)

Kiertokysely. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut järjestelmät Luku 2 Sivu 1 (??) Kiertokysely Perinteiset ohjelmointikielet kuten C tukevat hyvin sekventiaalista ohjelmointia, jossa herätteisiin reagointi on helppoa toteuttaa pollauksella

Lisätiedot

Pikaohje Ohjelmistoversio V2.2 24.6.2009 KMR260. langaton käsimittari. Nokeval

Pikaohje Ohjelmistoversio V2.2 24.6.2009 KMR260. langaton käsimittari. Nokeval Pikaohje Ohjelmistoversio V2.2 24.6.2009 KMR260 langaton käsimittari Nokeval Yleiskuvaus KMR260 on helppokäyttöinen käsilämpömittari vaativiin olosuhteisiin. Laite on koteloitu kestävään roiskevesisuojattuun

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

ARVOSANA-HARJOITUKSEN RATKAISU

ARVOSANA-HARJOITUKSEN RATKAISU ARVOSANA-HARJOITUKSEN RATKAISU Tee allaoleva taulukko. Arvosana-sarakkeeseen pitää tehdä sellainen jos-funktio. joka määrittää arvosanaksi Hylätty tai Hyväksyttty. Jos pisteet ovat vähintään 10, arvosanaksi

Lisätiedot

Moottorin kierrosnopeus Tämän harjoituksen jälkeen:

Moottorin kierrosnopeus Tämän harjoituksen jälkeen: Moottorin kierrosnopeus Tämän harjoituksen jälkeen: osaat määrittää moottorin kierrosnopeuden pulssianturin ja Counter-sisääntulon avulla, osaat siirtää manuaalisesti mittaustiedoston LabVIEW:sta MATLABiin,

Lisätiedot

8 Joukoista. 8.1 Määritelmiä

8 Joukoista. 8.1 Määritelmiä 1 8 Joukoista Joukko on alkoidensa kokoelma. Valitsemalla sopivat alkiot joudutaan tämän määritelmän kanssa vaikeuksiin, jotka voidaan välttää rakentamalla joukkooppi aksiomaattisesti. Näin ei tässä tehdä

Lisätiedot

TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI

TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI 2000-2017 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

Java ja tietokannan käsittely (JDBC)

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

Lisätiedot

Opiskeluoikeuksien maaran tiedonkeruu

Opiskeluoikeuksien maaran tiedonkeruu Opiskeluoikeuksien maaran tiedonkeruu Määrittely Opinto-oikeuksista tarvitaan seuraavat tiedot: Tieto jokaisesta yksittäisestä opinto-oikeudesta ja kytkentä niistä opinto-oikeuksista jotka ovat samalla

Lisätiedot

Haaga-Helia / TIKO-05 1 (12) Tietokannan suunnittelu ja Toteutus Outi Virkki

Haaga-Helia / TIKO-05 1 (12) Tietokannan suunnittelu ja Toteutus Outi Virkki Haaga-Helia / TIKO-05 1 (12) Tietotarpeet Tietotarpeiden määrittely... 2 Tietotarveanalyysi... 3 Lähtökohtana tietojenkäsittelytehtävät... 3 Määrittelyn sisältö... 4 Vaiheistus... 5 Tietolähteet... 5 Lähestymistapa...

Lisätiedot

IIO10200 Tietokantaohjelmointi (4 op)

IIO10200 Tietokantaohjelmointi (4 op) IIO10200 Tietokantaohjelmointi (4 op) Opintojakson esittely Jouni Huotari S2008 http://student.labranet.jamk.fi/~huojo/opetus/iio10200/ Tavoitteena on, että opiskelija: Osaa SQL-kielen perusteet Taulujen

Lisätiedot

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

Joko tunnet nämän Oracle10g SQL:n piirteet? Kari Aalto Saariston IT

Joko tunnet nämän Oracle10g SQL:n piirteet? Kari Aalto Saariston IT Joko tunnet nämän Oracle10g SQL:n piirteet? Kari Aalto Saariston IT Agenda Regular Expression - funktiot Case-insensitive Sort Case-insensitive Seach Merge muutokset Tree-walking in 10g DML Returning Values

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

KOOSTEFUNKTIOT. Viisi standardifunktiota: Esim. montako henkilöä on henkilo-taulussa:

KOOSTEFUNKTIOT. Viisi standardifunktiota: Esim. montako henkilöä on henkilo-taulussa: FUNKTIOT Viisi standardifunktiota: AVG -- keskiarvo MIN -- pienin arvo MAX -- suurin arvo SUM -- summa COUNT -- lukumäärä KOOSTEFUNKTIOT Esim. montako henkilöä on henkilo-taulussa: SELECT Count(*) AS Lkm

Lisätiedot

Abstraktit tietotyypit. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Abstraktit tietotyypit. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Abstraktit tietotyypit TIEA341 Funktio ohjelmointi 1 Syksy 2005 Data abstraktio Abstraktio on ohjelmoinnin tärkein väline Data abstraktio abstrahoi dataa Abstrakti tietotyyppi Koostuu kolmesta asiasta:

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat Osa laukaisimia käsittelevistä kalvoista perustuu kurssin oppikirjaan 19.4.2016 CSE-A1200 Tietokannat 19.4.2016 1 / 36 Oppimistavoitteet: tämän luennon jälkeen Osaat määritellä SQL:ssä

Lisätiedot

Suurten asiakasriskien ilmoittamiseen liittyvät konekielisen tietojenvälityksen ohjeet

Suurten asiakasriskien ilmoittamiseen liittyvät konekielisen tietojenvälityksen ohjeet 1(6) Suurten asiakasriskien ilmoittamiseen liittyvät konekielisen tietojenvälityksen ohjeet 1 Tietojen esitystapa ja tietoväline Toimitettavat tiedostot koostuvat vaihtuvanmittaisista tietueista. Tietueiden

Lisätiedot

VERA TOIMINTAOHJEET. VeRan uusi siirtoformaatti. FCG Finnish Consulting Group Oy. Rev./pvm 1.03 Hyväksytty

VERA TOIMINTAOHJEET. VeRan uusi siirtoformaatti. FCG Finnish Consulting Group Oy. Rev./pvm 1.03 Hyväksytty FCG Finnish Consulting Group Oy VERA TOIMINTAOHJEET Rev./pvm 1.03 Hyväksytty 26.2.2009 Sisältö Käyttö Vastuuhenkilö VeRan uusi siirtoformaatti Automaatiourakoitsijat, jotka tekevät siirtotiedoston VeRaan.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen

Lisätiedot

AC Hannes Statistics Tool. Ilkka Hakkarainen

AC Hannes Statistics Tool. Ilkka Hakkarainen AC Hannes Statistics Tool Ilkka Hakkarainen 24.3.2011 Sisältö 1 Johdanto 2 1.1 Järjestelmän tarkoitus........................ 2 1.2 Toimintaympäristö.......................... 2 1.3 Rajaukset...............................

Lisätiedot

Näkymät ja tiedon suojaus

Näkymät ja tiedon suojaus HELIA TIKO-05 1 (23) Näkymät ja tiedon suojaus Näkymät...2 Eri tyyppisiä relaatioita...2 Taulu - Tallennettu relaatio...2 Tulosrelaatio - Kyselyn tulos...2 Työtaulut - Väliaikaisiksi luodut taulut...2

Lisätiedot

Liitokset - haut useaan tauluun

Liitokset - haut useaan tauluun Liitokset Liitokset - haut useaan tauluun Tavallisin liitos on valintaliitos ehtona =,!=, yhtäläisyysliitos (=) yleisin (vrt. Inner join) taulut liitetään toisiinsa yleensä avaimilla (perus-

Lisätiedot

D B. Kyselypuut ja ekvivalenssi

D B. Kyselypuut ja ekvivalenssi Kyselypuut ja ekvivalenssi Sisäisessä esityksessä kyselyt esitetään kyselypuuna lehdissä taulut juuressa lopputulos välisolmuina suoritettavat operaatiot s=select p=project j=join p (teos.nimi, kirjanro)

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,

Lisätiedot

Mainosankkuri.fi-palvelun käyttöohjeita

Mainosankkuri.fi-palvelun käyttöohjeita Mainosankkuri.fi-palvelun käyttöohjeita Sisällys 1. Johdanto... 1 2. Sisäänkirjautuminen... 1 3. Palvelussa navigointi... 2 4. Laitteet... 2 5. Sisällönhallinta... 4 6. Soittolistat... 7 7. Aikataulut...

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 16.3.2009 1 / 40 Kertausta: tiedostosta lukeminen Aluksi käsiteltävä tiedosto pitää avata: tiedostomuuttuja = open("teksti.txt","r")

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

Luento 3 Tietokannan tietosisällön suunnittelu

Luento 3 Tietokannan tietosisällön suunnittelu HAAGA-HELIA / Heti-09 1 (17) Luento 3 Tietokannan tietosisällön suunnittelu Tietojärjestelmän suunnitteluprosessi... 2 Tietokannan suunnittelun tavoitteet... 3 Tietokannan suunnitteluprosessi... 4 Käsitteellinen

Lisätiedot

Kymenlaakson Ammattikorkeakoulu

Kymenlaakson Ammattikorkeakoulu Kymenlaakson Ammattikorkeakoulu Tietotekniikka/Tietoverkkotekniikka Jussi Toivakka ja Juha Törö MySQL & PostGRE 1 Sisällysluettelo 2 Yleistä tietokannoista... 3 3 MySQL... 4 3.1 Historiaa... 4 3.2 Käyttö...

Lisätiedot

Tietokantajärjestelmien tulevaisuuden haasteet. Jan Lindström

Tietokantajärjestelmien tulevaisuuden haasteet. Jan Lindström Tietokantajärjestelmien tulevaisuuden haasteet Jan Lindström 1 Lähteet: "One Size Fits All": An Idea Whose Time Has Come and Gone,Michael Stonebraker (EECS Dept., M.I.T. and StreamBase Systems, Inc.),

Lisätiedot

Tietokannanhallintajärjestelmä (DBMS)

Tietokannanhallintajärjestelmä (DBMS) HELIA TIKO-05 1 (8) Tietokannanhallintajärjestelmä (DBMS) Tietovarastotekniikan kehittyminen... 2 Tiedostopohjaiset ratkaisut... 2 Peräkkäistiedostot... 3 Suorasaantitiedostot... 4 Tiedoston palvelut...

Lisätiedot

Virta_Latausraportti - Tarkistukset

Virta_Latausraportti - Tarkistukset Virta_Latausraportti - Tarkistukset Tällä sivulla ylläpidetään tietovarannossa tehtävien tarkistusten listaa. Tarkistusten tulos ilmenee siis Virta_Latausraportilla PUUTTEITA-listalla. Opiskelijat Opiskelijalla

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Kurssin sisältö pääpiirteittäin Tarvittavat pohjatiedot Avainsanat Abstraktio Esimerkkiohjelman tehtäväkuvaus Abstraktion käyttö tehtävässä Abstrakti tietotyyppi Hyötyjä ADT:n

Lisätiedot

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 SQL-perusteet. Harri Laine 1. SQL tietokantakieli

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 SQL-perusteet. Harri Laine 1. SQL tietokantakieli tietokantakieli :llä voidaan... määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta näytölle tai tiedostoon sovellusohjelman käyttöön

Lisätiedot

On-line mittausten kunnonvalvonta vedenpuhdistusprosessissa PROJEKTISUUNNITELMA

On-line mittausten kunnonvalvonta vedenpuhdistusprosessissa PROJEKTISUUNNITELMA On-line mittausten kunnonvalvonta vedenpuhdistusprosessissa PROJEKTISUUNNITELMA Tomi Lukkarinen AS-0.3200 Automaatio- ja systeemitekniikan Projektisuunnitelma 2 (11) Sisältö 1. Tehtävänkuvaus... 4 1.1

Lisätiedot

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

HELIA TIKO-05 1 (15) ICT03D Tieto ja tiedon varastointi Räty, Virkki 25.10.2006 HELIA TIKO-05 1 (15) SQL / DML 3 Liitos...2 SQL-92:n join operaatio...4 SQL-89:n join operaatio:...5 Karteesinen tulo... 10 Ulkoliitos (Outer join)... 11 Vasemmanpuoleinen ulkoliitos... 12 Oikeanpuoleinen

Lisätiedot

2. Olio-ohjelmoinista lyhyesti 2.1

2. Olio-ohjelmoinista lyhyesti 2.1 2. Olio-ohjelmoinista lyhyesti 2.1 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen. 2.2 Yleistä Olio-ohjelmointia käsitellään hyvin

Lisätiedot

Tietovarastot ja SQL Virpi Myllylahti

Tietovarastot ja SQL Virpi Myllylahti Tietovarastot ja SQL Virpi Myllylahti Helsingissä 15. maaliskuuta 2003 Relaatiokannat nyt seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisällysluettelo 1 JOHDANTO... 2 2 SQL JA TIETOVARASTOT...

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

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

HELIA TIKO-05 1 (28) ICT03D Tieto ja tiedon varastointi O.Virkki

HELIA TIKO-05 1 (28) ICT03D Tieto ja tiedon varastointi O.Virkki HELIA TIKO-05 1 (28) 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ö...9

Lisätiedot

VINKKI: Katso Kentät Muistioon -painikkeella, mikä on taulukon nimen oikea kirjoitusasu.

VINKKI: Katso Kentät Muistioon -painikkeella, mikä on taulukon nimen oikea kirjoitusasu. RATKAISUJA PULMAILMOITUKSIIN ASTERIOHJELMIEN SQLKYSELYISSÄ Virhe kyselyssä: Microsoft Jet tietokantamoduuli ei löydä syötetaulukkoa tai kyselyä Laskut. Varmista, että se on luotu ja että kirjoitit nimen

Lisätiedot

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

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

Lisätiedot

SELVITYSRAPORTTI LABRA-VERKON MYSQL:n JA PHP:n KÄYTTÖÖNOTOSTA. Jarkko Kähkönen

SELVITYSRAPORTTI LABRA-VERKON MYSQL:n JA PHP:n KÄYTTÖÖNOTOSTA. Jarkko Kähkönen SELVITYSRAPORTTI LABRA-VERKON MYSQL:n JA PHP:n KÄYTTÖÖNOTOSTA Sisällysluettelo Luku 1 - Oman LABRA-sivutilan asennus ja käyttöönotto... 2 1.1 - LABRA-osoitteesi... 2 1.2 LABRA-tilan käyttö (verkko-asemana

Lisätiedot

Luento 7 Taulukkolaskennan edistyneempiä piirteitä Aulikki Hyrskykari

Luento 7 Taulukkolaskennan edistyneempiä piirteitä Aulikki Hyrskykari Luento 7 Taulukkolaskennan edistyneempiä piirteitä 25.10.2016 Aulikki Hyrskykari Luento 7 o Kertausta: suhteellinen ja absoluuttinen viittaus o Tekstitiedoston tuonti Exceliin o Tietojen lajittelu, suodatus

Lisätiedot

Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne

Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne HAAGA-HELIA Heti-09 1 (6) Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne Tietovarastotekniikan kehittyminen... 2 Tiedostopohjaiset ratkaisut... 2 Tiedoston palvelut... 3 Tiedostopohjaisten

Lisätiedot

IIO30100 Tietokantojen suunnittelu (6 op)

IIO30100 Tietokantojen suunnittelu (6 op) IIO30100 Tietokantojen suunnittelu (6 op) Opintojakson esittely Jouni Huotari K2008 http://student.labranet.jamk.fi/~huojo/opetus/iio30100/ Tavoitteena on, että opiskelija: Ymmärtää käsitteellisen mallintamisen

Lisätiedot

Testausdokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausdokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testausdokumentti NJC2 Helsinki 29.4.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Eero Anttila Olli Jokinen

Lisätiedot

Harjoitustehtävä 1. Harjoitustehtävän 1 ratkaisu. Harjoitustehtävä 1. Relaatioalgebra -liitokset (join) Liitos

Harjoitustehtävä 1. Harjoitustehtävän 1 ratkaisu. Harjoitustehtävä 1. Relaatioalgebra -liitokset (join) Liitos Harjoitustehtävän 1 ratkaisu Tonttu( tonttutunnus, nimi) Puutarha( puutarhatunnus, omistaja, sijainti ) Vastuualue ( puutarhatunnus->puutarha, aluenumero, maaperä, kosteus, valaistus, sijainti, vastuutonttu

Lisätiedot

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006 Harjoitus 1: Matlab Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen Matlab-ohjelmistoon Laskutoimitusten

Lisätiedot

VAATIMUKSIA YKSINKERTAISILLE VIKAILMAISIMILLE HSV:N KJ-VERKOSSA

VAATIMUKSIA YKSINKERTAISILLE VIKAILMAISIMILLE HSV:N KJ-VERKOSSA VAATIMUKSIA YKSINKERTAISILLE VIKAILMAISIMILLE HSV:N KJ-VERKOSSA Versio 30.4.2012 Tavoitteena on kehittää Helen Sähköverkko Oy:n keskijännitteiseen kaapeliverkkoon vikailmaisin, joka voitaisiin asentaa

Lisätiedot