10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari...

53
10. Luento Käsiteltävä tieto Kari Systä 5.11.2013 JOTU 2013 / Kari Systä 1 4.11.2013

Transcript of 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari...

Page 1: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

10. Luento Käsiteltävä tieto

Kari Systä

5.11.2013

JOTU 2013 / Kari Systä 1 4.11.2013

Page 2: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Alustava luentoaikataulu

26.8: Johdanto + historiaa, mitä on ohjelmistotuotanto

2.9: Ohjelmistojen roolista ja ohjelmistotyön määrästä, ohjelmistotyypit

9.9: Miten ohjelmistotyö organisoidaan (vaihejako ja prosessi-mallit) 16.9: vaatimusmäärittelyt

23.9: projektitoiminta

30.9: Yleiset notaatiot – erityisesti UML

7.10: Esimerkkiprojekti (vierailu-luento – esillä ihan oikea projekti)

21.10: Asiakasroolista

28.10: Käyttäjä ja käyttäjäkokemus ohjelmisto-projektissa (Kati Kuusinen)

4.11: Tiedon mallintaminen

11.11: Ohjelmisto osana laitetta 1

18.11: Ohjelmisto osana laitetta 2

25.11: IPR, sopimukset, open source

2.12: Kertausta

2 10/21/2013 JOTU2013/Kari Systä

Page 3: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Sisältöä

• Mitä tietoa järjestelmä käsittelee

– käsitteellinen mallinnus

• Tiedon yksityiskohtien määritteleminen

• Tiedon esitys- ja välitystavoista

- mm. XML

• Mitä se ”Big Data” on

JOTU 2013 / Kari Systä 3 4.11.2013

Page 4: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Järjestelmää suunniteltaessa on tärkeää miettiä tallennettavaa tietoa

• Tiedon tyyppi , arvoalueet ja rajoitteet

– Vrt Arien kantoraketti

• Tietojen väliset yhteydet ja riippuvuudet

• Valittu tiedon rakenne vaikuttaa järjestelmän toimintoihin ja tehokkuuteen

• Järjestelmien välinen tiedon siirto

– Myös siirto vanhasta uuteen

JOTU 2013 / Kari Systä 4 4.11.2013

Page 5: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Suunnitteluprosessi

Määrittely

Tietokanta 2. Järjestelmä

1. Käsitteellinen mallintaminen

2. Tiedon esitysmuodot ja tallentaminen

JOTU 2013 / Kari Systä 5 4.11.2013

3. Tiedon siirto ja vaihto

Page 6: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Muita kursseja

OtuPK

TiKaSu

JohTiKa

JOTU 2013 / Kari Systä 6 4.11.2013

Page 7: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

TIE-22100 - Johdatus tietokantoihin

• Kurssin tavoitteena on, että kurssin suoritettuaan opiskelijan pitäisi ymmärtää tietokantojen ja tietokantajärjestelmien perusajatukset, tuntea alueen terminologia, osata käyttää relaatiotietokannan hallintajärjestelmää, luoda valmiiksi kuvattu tietokanta sekä tehdä ei-triviaaleja tietokantahakuja SQL-kieltä käyttäen.

• Kurssi koostuu luennoista ja viikkoharjoituksista. • Suoritusvaatimuksina ovat hyväksytysti suoritetut

harjoitustehtävät ja tentti. Ks. kurssin arvostelu. • Kurssin vastuuhenkilö on Jari Peltonen

(jari.peltonen(at)tut.fi) jatkossa Timo Aaltonen (timo.aaltonen (at) tut.fi)

JOTU 2013 / Kari Systä 7 4.11.2013

Page 8: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

TIE-22200 - Tietokantojen suunnittelu

• Kurssin tavoitteena on, että kurssin suoritettuaan opiskelija osaa käyttää rutiininomaisesti relaatiotietokannan hallintajärjestelmää sekä osaa suunnitella ja toteuttaa alusta loppuun suorituskykyisen, turvallisen ja ei-triviaalin relaatiotietokannan käyttäen kurssilla opetettua prosessia. Hän osaa myös käyttää relaatiotietokantaa sekä ohjelmallisesti että SQL-kielellä rutiininomaisesti. Opiskelija myös tietää mitä liittyy sellaisten järjestelmien määrittelyyn, suunnitteluun, toteutukseen ja ylläpitoon, missä olennaisena osana on tietokanta sekä osaa käyttää tätä tietoa vaihtoehtojen harkinnan ja lisätietojen hankinnan tukena. Kurssi koostuu luennoista, viikkoharjoituksista ja harjoitustyöstä. Suoritusvaatimuksina ovat hyväksytysti suoritetut harjoitustehtävät, harjoitustyö ja tentti. Ks. kurssin arvostelu. Kurssin vastuuhenkilö on Jari Peltonen (jari.peltonen(at)tut.fi) jatkossa Timo Aaltonen (timo.aaltonen (at) tut.fi).

JOTU 2013 / Kari Systä 8 4.11.2013

Page 9: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Käsitteellinen mallintaminen (lainaus kurssin tietokantojen suunnittelu luentomateriaalista)

• Kuvataan maailmaa (kohdealue) siellä olevien käsitteiden, niiden ominaisuuksien ja suhteiden avulla.

• Näiden tilat voivat muuttua ajoittain tapahtumien vaikutuksesta.

• Ollaan kiinnostuneita maailman tilasta menneisyydessä, nyt ja tulevaisuudessa.

• Käsitteellinen malli = kohdealueen vääristymätön ja täydellinen esitys (, jossa mahdolliset toteutusnäkökohdat jätetään huomioimatta.)

JOTU 2013 / Kari Systä 9 4.11.2013

Page 10: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Esitetään useimmiten graafisesti

• Oliokaavio

• Luokkakaavio (UML)

• ER-kaavio (entity-relationship kaavio)

• Tietoyhteyskaavio

• Käsitekaavio

• Kohdekaavio

JOTU 2013 / Kari Systä 10 4.11.2013

Page 11: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Käsitekaavio (UML:n luokkakaavio)

Nimi

Ominaisuudet

Metodit

Nimi

Ominaisuudet

Metodit

nimi

lkm lkm

JOTU 2013 / Kari Systä 11 4.11.2013

Page 12: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Esimerkki

JOTU 2013 / Kari Systä 12 4.11.2013

Navigointi- suunta

Page 13: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Kooste/muodoste

• Kooste (aggregation)

– Olio on toisen osa / komponentti

• Muodoste (composition)

– Kiinteä riippuvuus

– Usein elinikäinen riippuvuus

JOTU 2013 / Kari Systä 13 4.11.2013

Page 14: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Muodoste/kooste

Kooste: Muodoste:

JOTU 2013 / Kari Systä 14 4.11.2013

Page 15: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Yleistäminen

Olio-ohjelmoinnin kurssilla puhutaan sitten ”periytymisestä” JOTU 2013 / Kari Systä 15 4.11.2013

Page 16: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

16

0:N

0:N

1:10:N

1:10:N

0:1

0:N

0:N1:N osallis- tuuopiskelija kurssi

opettaja

luennoi

opinto-

jakso<-kuvaa

suoritus

suorittaa tentti kuuluu

Muut notaatiot: Chenin notaatio (kuva 6.11)

JOTU 2013 / Kari Systä 4.11.2013

Page 17: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

17

Muut notaatiot: Martinin kohdekaaviot (kuva 6.12)

kuuluu

osallistuu opiskelija kurssi

opettaja

opinto- jakso

suoritus tentti

kuvaa

luennoi

JOTU 2013 / Kari Systä 4.11.2013

Page 18: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Vinkkejä ja neuvoja

• Assosiaatio-yhteys voi olla joko kaksisuuntainen tai yksisuuntainen. – Ns navigointisuunta – Tarvittaessa merkitse (UML:ssä nuolella)

• Luokkakaaviossa tiedon tyyppejä (luokkia) – Olio-ohjelmoinnissa mennään syvemmälle olioiden ja

luokkien ihmeelliseen maailmaan

• Lukumääräsuhteiden oikeellisuuteen kannattaa kiinnittää huomiota, sillä ne ohjaava järjestelmän suunnittelua.

• Raja assosiaation, muodosteen ja koosteen välillä on usein häilyvä

JOTU 2013 / Kari Systä 18 4.11.2013

Page 19: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Etevä suunnittelija käsittää käsitteet http://aikalainen.uta.fi/2011/12/23/eteva-suunnittelija-kasittaa-kasitteet/

• Tietojärjestelmän tekijän täytyy ensin itse ymmärtää, mistä on kyse, ja tunnistaa asiaan liittyvät käsitteet. Käsitteet ovat sellaisia, joita järjestelmää käyttävä ihminen tuntee.

• Käsitteellinen mallintaminen on eri asia kuin järjestelmän käytettävyys, joskin mallintamisen puute saattaa heijastua myös järjestelmän käytettävyyteen.

• Jos käsitteellistä mallintamista ei ole suunnitteluvaiheessa tehty tai se on tehty huonosti, niin järjestelmästä alkaa usein paljastua asioita, jotka eivät toimi niin kuin suunnittelija on kuvitellut. Järjestelmään tulee virheitä, joita ei ehkä helposti pystytä paljastamaan.

• Tietojärjestelmän rakentaminen kuulostaa arkiselta työltä, mutta käsitteellisessä mallintamisessa tarvitaan filosofian oppeja tiedon sisällöstä ja käsitteistä.

JOTU 2013 / Kari Systä 19 4.11.2013

Page 20: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Eräs tunnettu kömmähdys

Vaalitulospalvelu eduskuntavaaleissa 1970

JOTU 2013 / Kari Systä 20 4.11.2013

Page 21: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Mitä tapahtui

• SMP oli saamassa murskavoittoa ja 18 kansanedustajaa

• Mutta tulospalvelu ennusti jatkuvasti vain n. 8 edustajaa.

• SMP:n legendaarinen poliitikko Eino Poutiainen laski omia ennusteitaan ”klubiaskin” kanteen ja oli kokoajan oikeassa.

JOTU 2013 / Kari Systä 21 4.11.2013

Page 22: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Eino Poutiaisen muistelmista

• Tietokonekaan ei vaalien jälkeisenä yönä tulosten laskennassa ruvennut uskomaan tosiasioita. [...] Joten herrojen henki oli tarttunut tietokoneeseenkin, joka sitten ällisteli ja ihmetteli. [...] Eniten kiinnitti huomiotani, kun televisiossa ilmoitettiin Oulun vaalipiirin äänistä lasketuksi noin 30 % ja meille sanottiin ääniä tulleen vain 0,5 %. Silloin huomasin, että kyllä tohtori Sänkiahon rokkatoosa joutaisi heittää Suomenlahteen, koska hörisee niin kuin vanha tamma, jolle syötetään ruisjauhoapetta.

JOTU 2013 / Kari Systä 22 4.11.2013

Page 23: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Prof. Sänkiahon kuvaus

• ”erään laskennassa tarvittavan kertoimen arvo määriteltiin yhdellä kokonaisluvulla ja kahdella desimaalilla. Kone "luki Arvon 12.34 arvoksi 2.34 ja ollen kertoimena niin tulokset olivat vähän pielessä useissa vaalipiireissä eli siellä missä SMP:n kannatus lisääntyi yli kymmenkertaiseksi.”

• PS. Cobol kielessä on tapana käyttää desimaalilukuja liukulukujen sijaan

JOTU 2013 / Kari Systä 23 4.11.2013

Page 24: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Tiedon rakenteen määrittely

• Tarkennetaan käsitteellisen mallinnuksen tulosta

• Useimmiten vastuu toimittajalla, mutta vain tilaaja tietää oikeat vastaukset

• Tässä opetellaan kieltä jolla keskustella

JOTU 2013 / Kari Systä 24 4.11.2013

Page 25: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

25

Bachus-Naur Form (Lauseke)

1: <lauseke> ::= <kertolauseke> | <kertolauseke> <ynnäoper> <lauseke> 2: <kertolauseke> ::= <sulkulauseke> | <sulkulauseke> <kerto-oper> <kertolauseke> 3: <sulkulauseke> ::= <termi> | ’(’ <lauseke> ’)’ 4: <termi> ::= <numeerinen_vakio> | <muuttuja> 5: <ynnäoper> ::= ‘+’ | ‘-’ 6: <kerto-oper> ::= ’*’ | ’/’

JOTU 2013 / Kari Systä 4.11.2013

Page 26: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

26

(a+b)*c

• Luennoilla käydään läpi tarkistus sääntöjen avulla kuten kirjassa

• Jos aikaa, myös tietokoneen (esim kääntäjän tapa) – joka seuraavilla kalvoilla

JOTU 2013 / Kari Systä 4.11.2013

Page 27: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

(a+b)*c <tyhjä>

(a+b)*c (

(a+b)*c (a

(a+b)*c (muuttuja

(a+b)*c (termi

(a+b)*c (kertolauseke

(a+b)*c (kertolauseke+

(a+b)*c (kertolauseke ynnäop b

(a+b)*c (kertolauseke ynnäop lauseke

(a+b)*c (kertolauseke ynnäop

(a+b)*c (kertolauseke ynnäop lauseke )

(a+b)*c (lauseke)

JOTU 2013 / Kari Systä 27 4.11.2013

Page 28: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

(a+b)*c lauseke *

(a+b)*c lauseke kerto-op

(a+b)*c lauseke kerto-op c

(a+b)*c lauseke kerto-op kertolauseke

(a+b)*c kertolauseke

(a+b)*c lauseke

JOTU 2013 / Kari Systä 28 4.11.2013

Page 29: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Testataan hieman

• (a+b)+c ?

• kertolauseke + lauseke

• a+b*c

• a+sulkulauseke*c

• a+kertolauseke

• a+lauseke

• kertolauseke+lauseke

JOTU 2013 / Kari Systä 29 4.11.2013

Page 30: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

30

Tietohakemistonotaatio

merkki merkitys

+ ja

() optionaalinen (voi puuttua)

{} toisto (0-N kertaa)

n{}m toisto n-m kertaa

[] vaihtoehtoja

| vaihtoehtojen erotin

@ avainkenttä

* kommentti

JOTU 2013 / Kari Systä 4.11.2013

Page 31: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

31

Esimerkkejä henkilötiedot = nimi + @henkilötunnus + aviosääty + lapset

nimi = 1{etunimi}3 + sukunimi

aviosääty = [naimaton | naimisissa | eronnut | leski]

osoite = (toimitusosoite) + (laskutusosoite)

osoite = [toimitusosoite | laskutusosoite |

toimitusosoite + laskutusosoite]

osoite = toimitusosoite + (laskutusosoite)

luottoraja = *asiakkaalle myönnettävän luoton

enimmäismäärä markkoina*

luottoraja_ilmoitus = *vastaus luottorajan muutosyritykseen*

["Tuntematon asiakas" | "Virheellinen luottoraja" |

"Uudeksi luottorajaksi on muutettu xxx markkaa"]

JOTU 2013 / Kari Systä 4.11.2013

Page 32: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

32

Esimerkkejä suoritustietokanta= * Relaatiokanta, joka kuvaa opiskelijat, kurssit ja suoritukset. Se koostuu tauluista opiskelijat, suoritukset ja opintojaksot.* opiskelijat = {@op_nro + nimi + osoite + ...} suoritukset = {@suor_nro + op_nro + oj_nro+ pvm + ov_määrä + arvosana + opettaja} opintojaksot ={@oj_nro+oj_nimi+kuvaus}

op_nro nimi os …

… … … …

777 Ahto S. … …

222 Teemu T. … …

suor_nro op_nro oj_nro pvm ov_määrä arvosana opettaja

… … … … … … …

234 777 81210 20.3.1995 2 3 ijh

456 222 81210 22.3.1996 2 5 ijh

645 777 81130 24.3.1996 4 3 tensu

… … … … … … …

oj_nro oj_nimi kuvaus

… … …

81210 otupk …

81130 otm …JOTU 2013 / Kari Systä 4.11.2013

Page 33: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

33

Lauseke tietohakemistonotaatiolla

lauseke = [kertolauseke | kertolauseke + ynnäop + lauseke] kertolauseke = [sulkulauseke | sulkulauseke + kerto-op + kertolauseke] sulkulauseke = [termi | ‘(‘lauseke’)’] termi = [numeerinen_vakio | muuttuja]

JOTU 2013 / Kari Systä 4.11.2013

Page 34: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

34

Pieni sormiharjoitus

• Pieni sormiharjoitus: esitä tietohakemistonotaatio desimaalilukujen esittämiseksi.

• Sallittuja lukuja ovat esimerkiksi "-.123", "123", "123.123", ".123", "+123" ja "-123".

• Kiellettyjä ovat mm. "++123" ja "123.".

LUKU = (ETUM) + ARVO

ETUM = [ '+' | '-' ]

ARVO = [ KOK_LUKU + ('.' + KOK_LUKU) | '.' + KOK_LUKU ]

KOK_LUKU = 1{NUMERO}N

NUMERO = ['0'|'1'|'2'| '3'| '4'| '5'|'6'|'7'|'8'|'9'] JOTU 2013 / Kari Systä 4.11.2013

Page 35: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Suunnitteluprosessi

Määrittely

Tietokanta 2. Järjestelmä

1. Käsitteellinen mallintaminen

2. Tiedon esitysmuodot ja tallentaminen

JOTU 2013 / Kari Systä 35 4.11.2013

3. Tiedon siirto ja vaihto

Page 36: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Tiedonvälitysformaatteja

• Tarvitaan kun järjestelmät keskustelevat keskenään

• Vakiotavat ja standardit helpottavat

4.11.2013 JOTU 2013 / Kari Systä 36

Page 37: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

37

Muita tiedon rakenteen ja esitystavan määrittelytapoja

• Merkkauskielet

– HTML

– SGML

– XML (ja siihen liittyvät standardit: DTD, XML Schema)

• ASN.1: tietoliikenteen sanomarakenteet

• …

JOTU 2013 / Kari Systä 4.11.2013

Page 38: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

XML, DTD ja Schema

A B XML doku

DTD/ schema

JOTU 2013 / Kari Systä 38 4.11.2013

Page 39: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

DTD ja Schema

• DTD – Document Type Definition

– Yksinkertainen

– Voi olla erillinen tai osa tiedostoa

• XML Schema

– Monipuolisempi

– Aito XML-dokumentti

4.11.2013 JOTU 2013 / Kari Systä 39

Page 40: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

40

XML:n dokumenttityypin rakenteen määrittely: DTD (Document Type Definition).

• Tiedon rakenteen kuvaaminen.

<!DOCTYPE postitilaus [

<!ELEMENT postitilaus (vastaanottaja, tavara*)

<!ELEMENT vastaanottaja (nimi, osoite)>

<!ELEMENT tavara (nimeke, määrä, hinta)>

<!ELEMENT nimi (#PCDATA)>

<!ELEMENT osoite (#PCDATA)>

<!ELEMENT nimeke (#PCDATA)>

<!ELEMENT määrä (#PCDATA)>

<!ELEMENT hinta (#PCDATA)>

]>

JOTU 2013 / Kari Systä 4.11.2013

Page 41: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

41

XML-dokumentti (joka on well-formed, mutta edellä esitetyn DTD-

kuvauksen mukaan ei valid )

<?xml version="1.0"?>

<postitilaus>

<vastaanottaja>

<nimi>Ahto Simakuutio</nimi>

<osoite>Hermiankatu 99, 33720 Tampere</osoite>

</vastaanottaja>

<tavarat>

<tavara>

<nimeke>Muistipiiri 256MX</nimeke>

<maara>2</maara>

<hinta>100</hinta>

</tavara>

<tavara>

<nimeke>Nokia Lumia 920</nimeke>

<maara>1</maara>

<hinta>750</hinta>

</tavara>

</tavarat>

</postitilaus>

• Jos dokumentti ei ole XML:ää, se ei ole ”well formed”

• XML-standardin mukaiset dokumentit ovat ”well formed”

• Tietyn DTD-kuvauksen tai scheman mukaiset kuvaukset ovat

”valid”

• XML-syntaksin mukainen dokumentti voi siis olla ”well

formed”, ”well formed but not valid” tai ”well formed and valid”

JOTU 2013 / Kari Systä 4.11.2013

Page 42: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

42

… ja vastaava XML Schema <xsd:schema xmlns:xsd="http://www.w3.org/1999/XMLSchema">

<xsd:element name="postitilaus" type="tilaus"/>

<xsd:complexType name="tilaus">

<xsd:element name="vastaanottaja" type="osoitetiedot"/>

<xsd:element name="tavarat" type="tavaroidentiedot"/>

</xsd:complexType>

<xsd:complexType name="osoitetiedot">

<xsd:element name="nimi" type="xsd:string"/>

<xsd:element name=“osoite" type="xsd:string"/>

</xsd:complexType>

<xsd:complexType name="tavaroidentiedot">

<xsd:element name="tavara" type="tavaratiedot" maxOccurs=“*"/>

</xsd:complexType>

<xsd:complexType name="tavaratiedot">

<xsd:element name=“nimeke" type="xsd:string"/>

<xsd:element name="maara" type="xsd:positiveInteger"/>

<xsd:element name="hinta" type="xsd:decimal"/>

</xsd:complexType>

</xsd:schema>

JOTU 2013 / Kari Systä 4.11.2013

Page 43: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Toinen esimerkki

<?xml version="1.0" encoding="UTF-8"?>

<kml xmlns="http://www.opengis.net/kml/2.2"> <Document> <Placemark> <name>New York City</name> <description>New York City</description> <Point> <coordinates>74.006393,40.714172,0</coordinates> </Point> </Placemark>

</Document> </kml>

JOTU 2013 / Kari Systä 43 4.11.2013

Page 44: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

http://www.opengis.net/kml/2.2

JOTU 2013 / Kari Systä 44 4.11.2013

Page 45: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

XML:n etuja ja haittoja

• Yleinen

• Myös ihmisen luettava

– Eriäviäkin mielipiteitä on

• Joustava ja dynaaminen

– Esim uusi kenttä ei välttämättä riko vastaanottajaa

• Raskas ja monimutkainen

JOTU 2013 / Kari Systä 45 4.11.2013

Page 47: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Suunnitteluprosessi

Määrittely

Toteutus Järjestelmä

1. Käsitteellinen mallintaminen

2. Tiedon

JOTU 2013 / Kari Systä 47 4.11.2013

Page 48: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Big data mikä kumma se on

4.11.2013 JOTU 2013 / Kari Systä 48

Page 49: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

HYPE

• Paljon palstatilaa lehdissä

• Määritelmät epämääräisiä – ja erilaisia

• Paljon odotuksia – paljon konsutteja

4.11.2013 JOTU 2013 / Kari Systä 49

Page 50: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Google statistiikkaa (www.google.com/trends)

4.11.2013 JOTU 2013 / Kari Systä 50

Page 51: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Yksi määritelmä

"Big data is high volume, high velocity, and/or high variety information assets that require new forms of processing to enable enhanced decision making, insight discovery and process optimization." Gartner, 2012

4.11.2013 JOTU 2013 / Kari Systä 51

Page 52: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Volume, velocity, variety

• Volume

– Tietoa on PALJON

• Velocity

– Uutta tietoa syntyy koko ajan

• Variety

– Tiedon esitystavat ovat moninaiset ja saattavat jopa muuttua

4.11.2013 JOTU 2013 / Kari Systä 52

Page 53: 10. Luento Käsiteltävä tieto - TUNIsysta/JOTU2013/11_DataWeb.pdfLuento Käsiteltävä tieto Kari Systä 5.11.2013 4.11.2013 JOTU 2013 / Kari Systä 1 Alustava luentoaikataulu 26.8:

Big Datan haasteet

4.11.2013 JOTU 2013 / Kari Systä 53

Analyysi

Ohjelmointi Tallennus

Esim. NoSQL tietokannat

Esim. MapReduce(HADOOP)

Uudet mate-maattiset

menetelmät

Business, Domain,

Laki …