Tietokannat I. c 2007 Olli Luoma

Koko: px
Aloita esitys sivulta:

Download "Tietokannat I. c 2007 Olli Luoma olli.luoma@it.utu.fi"

Transkriptio

1 Tietokannat I c 2007 Olli Luoma Kevät 2007

2 Tiivistelmä Tämän luentomonisteen tarkoituksena on toimia pääasiallisena oppimateriaalina Turun yliopiston Informaatioteknologian laitoksen kurssilla Tietokannat I. Kurssilla käytettiin aiemmin Ramez Elmasrin ja Shamkant B. Navathen sinänsä erinomaista kirjaa Fundamentals of Database Systems, joka kuitenkin todettiin turhan raskaslukuiseksi kurssin ohjeellisen suoritusajankohdan siirryttyä ensimmäiseen opiskeluvuoteen. Luentomoniste onkin pyritty kirjoitettamaan siten, että asiat olisi mahdollista omaksua ennen esimerkiksi kurssin Tietorakenteet ja algoritmit suorittamista. Tämän takia useita asioita on jouduttu huomattavasti yksinkertaistamaan. Lukijan on myös syytä muistaa, että kyseessä on luentomonisteen ensimmäinen versio, joten korjauksia ja kommentteja otetaan vastaan ilolla ja mielihyvällä.

3 Luku 1 Johdanto Sanan tietokanta ajatellaan tavallisesti tarkoittavan kokoelmaa yhteenkuuluvaa ja jonkin käyttötarkoituksen kannalta oleellista tietoa. Esimerkiksi puhelinluettelon, johon on koottu tietoa henkilöiden ja yritysten nimistä, osoitteista ja puhelinnumeroista, voidaan siten ajatella olevan eräänlainen tietokanta. Kaupan tietokannassa taas voisi olla tietoa vaikkapa asiakkaiden nimistä, osoitteista, tuotteista, tilauksista, tuotteiden toimittajista, toimittajien yhteystiedoista jne. Tällä kurssilla perehdymme ennen kaikkea digitaalisiin tietokantoihin, eli sellaisiin tietokokoelmiin, jotka on tallennettu tietokoneen kiintolevylle. Emme kuitenkaan pidä mitä tahansa kiintolevylle tallennettua tiedostoa tietokantana, vaan asetamme tietokannalle edellämainittujen ehtojen lisäksi myös seuraavat lisävaatimukset: 1. Tietokannan on oltava itsekuvaileva eli sen on sisällettävä tallennetun tiedon lisäksi myös tieto siitä, mikä on kunkin tietoalkion merkitys. Varsinaista tietoa kutsutaan dataksi ja tiedon rakennetta kuvailevaa tietoa metadataksi. Tämän määritelmän mukaan esimerkiksi henkilöiden nimiä, syntymäaikoja, osoitteita, mieliruokia ja puhelinnumeroita tiedostoon tallentavan Java-ohjelman käyttämää tiedostoa ei voida pitää tietokantana, sillä yksittäisten tietoalkioiden merkitys selviää vain tarkastelemalla tiedostoa käyttävää ohjelmaa. 2. Tietokannan on tuettava useita yhtäaikaisia käyttäjiä. Tämä on oikeastaan hyvin luonnollista, sillä esimerkiksi verkkokaupan tai pankin tietokannalla on usein voitava olla useita käyttäjiä. Yhtäaikaisesta käytöstä seuraa kuitenkin muutamia ongelmia. Esimerkiksi edellä mainitussa verkkokaupassa kaksi asiakasta saattaa samanaikaisesti yrittää tilata tuotteen, jota on varastossa vain yksi kappale. Myöhemmin perehdytään tällaisten ongelmien ratkaisemiseen. 3. Tietokannan on tarjottava useita erilaisia näkymiä tietoon. Esimerkiksi tieto tuotteiden tukkuhinnoista voidaan piilottaa verkkokaupan asiakkailta, vaikka kaupan työntekijät tämän tiedon näkisivätkin. Samalla tavoin tietokannan on tarjottava pankkitoimihenkilöille mahdollisuus käsitellä ja tutkia tietoja, joihin tavalliset asiakkaat eivät pääse käsiksi. 4. Tietokannan ja sitä käyttävien ohjelmien on oltava erillisiä. Käytännössä tämä tarkoittaa sitä, että tietokantaa on käsiteltävä selkeän 1

4 rajapinnan avulla siten, että käyttäjiltä ja tietokantaa käyttäviltä sovelluksilta piilotetaan esimerkiksi tietojen tallennustapa. Nimensä mukaisesti tietokanta sisältää siis ainoastaan tietoa eli dataa ja tietoa kuvailevaa tietoa eli metadataa eikä ota kantaa siihen, millä tavalla tai millaisissa ohjelmissa tietoja käytetään. Periaatteessa voisimme siis muuttaa vaikkapa tietojen tallennustapaa kajoamatta tietokantaa käyttäviin sovelluksiin. Tietokantoja luodaan ja hallitaan useimmiten tähän tarkoitukseen varta vasten luodulla ohjelmistolla, jota kutsutaan tietokannanhallintajärjestelmäksi. Tietokannanhallintajärjestelmän avulla käyttäjien on mahdollista: 1. Luoda uusia tietokantoja. Koska tietokantojen on edellä oppimamme mukaan oltava itsekuvailevia, on tietokannanhallintajärjestemän tarjottava työkalut tietokantaan tallennettavan tiedon rakenteen eli metadatan määrittelyyn. Tietokannanhallintajärjestelmän avulla voidaan tietokantoja tietysti myös tuhota. 2. Kohdistaa tietokantoihin monipuolisia operaatioita eli lisätä, poistaa ja hakea tietoa tietokannasta. Tämä ominaisuus antaa erilaisille käyttäjäryhmille mahdollisuuden tarkastella tietokannan tietoja eri näkökulmista, mikä oli eräs tietokannalle edellä asetetuista vaatimuksista. 3. Hallita suuria tietomääriä tehokkaasti. Tietokantaoperaatioiden on toimittava tehokkaasti, vaikka tietokannassa olisi gigatavuja tai jopa teratavuja dataa. Tehokkaiden hakuoperaatioiden mahdollistamiseksi tietokannanhallintajärjestelmä pitää yllä ns. hakemistoja eli indeksejä. 4. Kohdistaa tietokantaan useita yhtäaikaisia operaatioita. Tämä on tietysti seurausta siitä, että yhdellä tietokannalla on voitava olla useita yhtäaikaisia käyttäjiä. Tietokannanhallintajärjestelmä pyrkii estämään ongelmat lukitusten avulla esimerkiksi siten, että kun joku käyttäjistä muuttaa jonkin tietoalkion sisältöä, eivät muut käyttäjät voi kyseistä tietoalkiota käsitellä. 5. Toteuttaa sovelluksia tietokannanhallintajärjestelmän tarjoaman rajapinnan avulla. Näiden rajapintojen avulla yhtä ja samaa tietokantaa voidaan käyttää eri ohjelmointikielillä toteutetuissa sovelluksissa. Esimerkiksi pankkiautomaattisovellus, verkkopankkisovellus ja pankkitoimihenkilön käyttämä sovellus voivat käyttää samaa tietokantaa, vaikka ne olisikin toteutettu eri ohjelmointikielillä. Käytännössä tietokannanhallintajärjestelmät siis tallentavat tietoja tiedostoihin siinä missä muutkin ohjelmat, mutta tarjoavat korkean abstraktiotason rajapinnan tietojen käsittelyyn. Tietokannanhallintajärjestelmää käyttäen voidaan esimerkiksi pankin tietokannasta helposti hakea kaikkien pankin asiakkaiden nimet, jonkin tietyn asiakkaan tilitiedot tai vaikkapa tilien keskisaldo. Suosituin kaupallinen tietokannanhallintajärjestelmä on pitkään ollut Oracle, jonka markkinaosuutta IBM:n DB2 ja Microsoftin SQL Server ovat 2

5 viime vuosina kuitenkin onnistuneet kaventamaan 1. Ilmaisista tietokannanhallintajärjestelmistä MySQL lienee edelleen suosituin, vaikka PostgreSQL ja Firebird ovatkin huomattavasti kypsempiä. Yhteistä kaikille edellä mainituille ohjelmistoille on se, että ne perustuvat 1970 esiteltyyn relaatiomalliin [1]. Relaatiomalli on toisaalta helposti omaksuttavissa ja toisaalta tehokkaasti toteutettavissa, minkä vuoksi relaatiomalliin perustuva tietokannat ovat käytännössä syrjäyttäneet muihin tietomalleihin perustuvat tietokannat, kuten esimerkiksi verkkotietokannat ja hierarkkiset tietokannat. Liioittelematta voidaankin sanoa, että käytännössä jokaisen organisaation tiedonhallinnan ytimessä on relaatiotietokanta, sillä valtaosa tietojärjestelmistä rakentuu juuri relaatiotietokantojen varaan. Tietokantaosaamista vaaditaankin paitsi tietokannan ylläpitäjiltä, myös systeemisuunnittelijoilta, sovellussuunnittelijoilta, ohjelmistosuunnittelijoilta, ohjelmoijilta ja vaikkapa teknisiltä arkkitehdeilta. 1 Tilanne vuoden 2005 markkinatutkimuksen mukaan (International Data Corporation). 3

6 Luku 2 Relaatiomalli Relaatiomallin ideana on käsitellä tietokantaa kokoelmana matemaattisia relaatioita. Mallin matemaattisesta taustasta johtuen joukko-opin perusteiden hallinta helpottaa mallin ymmärtämistä huomattavasti. Suosittelemmekin joukko-opin perusteiden kertaamista ennen perehtymistä relaatiomallin saloihin. 2.1 Relaatiot Relaatio ja relaatiokaava Sanalla relaatio tarkoitetaan asioiden välistä yhteyttä, suhdetta. Voimme esimerkiksi sanoa, että Aku tykkää Iineksestä tai Mikki tykkää Minnistä [2]. Koska näin sanoessamme tarkoitamme toisaalta Akun ja Iineksen ja toisaalta Mikin ja Minnin välillä vallitsevan jonkilaisen suhteen, on tykkäämisessä selvästikin kyse relaatiosta. Samalla tavoin voimme sanoa, että Masa tilaa Tuulilasia ja Lissu tilaa Eevaa. Lehden tilaamista kuvaavalla relaatiolla on siten kaksi ominaisuutta, tilaaja ja lehti. Relaation ominaisuuksia kutsutaan attribuuteiksi. Voimme kuvata tilaamisrelaatiota seuraavan relaatiokaavan avulla: Tilaus(Tilaaja,Lehti) Kaavan perusteella relaatio Tilaus siis liittää toisiinsa tiedon tilaajasta ja lehdestä. Yksittäistä tilaajan ja lehden muodostamaa paria nimitetään monikoksi tai tuplaksi. Toisinaan monikkoa kutsutaan myös tietueeksi. Monikkoja voidaan esittää luettelemalla attribuuttien arvot merkkien < ja > sisällä, joten Tilaus-relaatiossamme on kaksi monikkoa: <Masa,Tuulilasi> ja <Lissu,Eeva>. Havainnollisimmin relaatiot voidaan esittää tauluina, joissa sarakkeet vastaavat attribuutteja ja rivit monikkoja. Kuvassa 2.1 on esitetty relaatiota Tilaus vastaava taulu. Yleisesti relaatiokaava on muotoa Relaatio(Attribuutti 1, Attribuutti 2,..., Attribuutti n ), missä Relaatio on relaation nimi ja Attribuutti 1, Attribuutti 2,..., Attribuutti n relaation attribuuttien nimet. Relaation attribuuttien määrää kutsutaan relaation asteeksi ja monikkojen määrää kardinaliteetiksi tai kooksi. Siten esi- 4

7 Tilaus Tilaaja Lehti Masa Lissu Tuulilasi Eeva Kuva 2.1: Esimerkki relaation tauluesityksestä. Tilaus Tilaaja Lehti Kestotilaus Lissu Eeva Ei Lissu Cosmopolitan Kyllä Hessu Tuulilasi Kyllä Hessu Eeva Kyllä Kuva 2.2: Kuvan 2.1 relaatio monikkojen ja attribuutin lisäämisen jälkeen. merkiksi kuvan 2.1 relaation Tilaus aste on 2 ja koko 2. Relaatioita ja attribuutteja voi nimetä vapaasti edellyttäen, että jokaisen attribuutin nimi on yksikäsitteinen, eli kahdella relaation attribuutilla ei ole samaa nimeä. Selvyyden vuoksi on kuitenkin syytä valita mahdollisimman kuvaavat nimet 1. Koska relaatio on monikkojen muodostama joukko, voimme esittää kuvan 2.1 relaation myös joukkona {<Masa,Tuulilasi>,<Lissu,Eeva>}. Siten monikoiden keskinäisellä järjestyksellä ei ole merkitystä, mutta yksittäisen monikon arvojen järjestyksellä on. Niinpä esimerkiksi {<Lissu,Eeva>,<Masa,Tuulilasi>} ja {<Masa,Tuulilasi>,<Lissu,Eeva>} ovat identtiset, mutta <Masa,Tuulilasi> ja <Tuulilasi,Masa> eivät, mikä on oikeastaan varsin ilmeistä, sillä Masa tilaa Tuulilasia, ei Tuulilasi Masaa. Relaation kaava on yleensä pysyvämpi kuin relaation sisältö. Jos Lissu tilaa Eevan lisäksi vielä vaikkapa Cosmopolitanin, lisäämme relaatioon Tilaus monikon <Lissu,Cosmopolitan>. Jos taas Masa peruuttaa oman tilauksensa, poistamme monikon <Masa,Tuulilasi>. Ja jos uusi ystävämme Hessu tilaa Tuulilasin ja Eevan, lisäämme tietysti monikot <Hessu,Tuulilasi> ja <Hessu,Eeva>. Jokaisessa tapauksessa relaation kaava siis säilyy, mutta sisältö muuttuu. Joissakin tapauksissa voimme tietysti joutua muuttamaan myös relaatiokaavaa. Jos esimerkiksi tieto siitä, onko kyseessä kestotilaus vai määräaikainen tilaus, muuttuu jostain syystä oleelliseksi, on meidän lisättävä relaation Tilaus kaavaan tätä tietoa kuvaava attribuutti. Edellä mainittujen päivitysoperaatioiden ja attribuutin lisäämisen jälkeen relaatio Tilaus voisi olla vaikkapa kuvassa 2.2 esitetyn kaltainen Pääavain ja vierasavain Relaation pääavain tai yksinkertaisemmin vain avain on yksinkertaisesti sellainen attribuuttijoukko, jonka perusteella monikot voidaan tunnistaa relaation sisällöstä riippumatta. Toisin sanoen joukon attribuuttien arvojen yhdistelmän on oltava erilainen relaation jokaisessa monikossa. Attribuutit Tilaaja ja Lehti eivät siten yksinään kelpaa relaation Tilaus avaimiksi, sillä yksi 1 Esimerkiksi Tyyppi ja Arvo ovat yleensä huonoja nimiä, sillä ne eivät juurikaan kerro attribuutin roolista relaatiossa. Kukapa osaisi kertoa, millaista tietoa esimerkiksi kaavan Taulu(Arvo1,Arvo2,Arvo3) mukainen relaatio sisältää? 5

8 ja sama tilaaja voi tilata montaa eri lehteä ja yhdellä lehdellä voi olla monta tilaajaa. Näiden attribuuttien yhdistelmä sen sijaan kelpaa avaimeksi, sillä niiden perusteella voidaan yksikäsitteisesti tunnistaa jokainen relaation rivi. Tämä pätee sekä kuvassa 2.1 että kuvassa 2.2 esitettyyn Tilausrelaatioon. Attribuutteja, jotka kuuluvat avaimeen kutsutaan yksikertaisesti avainattribuuteiksi. Relaatiokaavassa avainattribuutit erotetaan muista attribuuteista alleviivaamalla. Siten voimme tarkentaa kuvassa 2.2 esitetyttyä relaatiota seuraavasti: Tilaus(Tilaaja,Lehti,Kestotilaus) Tarkasti ottaen avaimen muodostavan attribuuttijoukon on yksikäsitteisyyden lisäksi täytettävä myös minimaalisuuden ehto. Avain on minimaalinen silloin, jos siitä ei voida poistaa yhtään attribuuttia ilman, että sen yksikäsitteisyys katoaa. Esimerkiksi kuvan 2.2 relaation avaimeksi ei kelpaa attribuuttien Tilaaja, Lehti ja Kestotilaus yhdistelmä, sillä Kestotilaus voidaan poistaa yksikäsitteisyyden kärsimättä. Avaimesta puhutaan usein myös id:nä, minkä takia myös relaation avainattribuutti - kuten esimerkiksi asiakasnumero, tilinumero tai tuotenumero - nimetään usein lyhyemmin Id:ksi. Mitä tahansa attribuuttijoukkoa, joka sisältää pääavaimen attribuutit, kutsutaan superavaimeksi. Vierasavain eli viiteavain puolestaan on sellainen attribuuttijoukko, joka viittaa jonkin relaation pääavaimeen. Vierasavaimen käsite on erittäin keskeinen, sillä juuri vierasavainten käyttö mahdollistaa tiedon hajauttamisen useisiin tauluihin. Vierasavainten käyttöä valotetaan tarkemmin seuraavassa osassa. 2.2 Relaatiotietokannat Relaatiotietokanta Relaatiotietokannan voidaan ajatella olevan kokoelma edellä esitellyn kaltaisia relaatioita. Koska relaatioita voidaan yksinkertaisimmin käsitellä tauluina, voidaan relaatiotietokantaa käsitellä kokoelmana tauluja. Tietokannan relaatiokaava tai lyhyemmin tietokantakaava voidaan esittää tietokantaan kuuluvien relaatioiden kaavojen avulla. Siten voimme määritellä esimerkiksi seuraavanlaisen relaatiotietokannan 2. Asiakas(Id,Etunimi,Sukunimi) Tilaus(AsiakasId,TuoteId) Tuote(Id,Nimi,Kuvaus,ToimittajaId) Toimittaja(Id,Nimi) Kuvassa 2.3 on esitetty edellisen tietokantakaavan mukainen relaatiotietokanta. Vaikka tietokannan taulut on nimettävä yksikäsitteisesti, voi useassa relaatiossa olla samannimisiä attribuutteja. Edellisessä tietokantakaavassa esimerkiksi attribuutti Id esiintyy relaatioissa Asiakas, Tuote ja Toimittaja. Sekaannusten välttämiseksi voimmekin tarkentaa attribuuttien nimiä relaatioiden 2 Tilan säästämiseksi on esimerkkitietokannastamme jätetty pois hyvinkin oleellisia attribuutteja, kuten esimerkiksi asikkaitten ja toimittajien yhteystiedot, tuotteiden varastotilanne sekä tieto siitä, onko tilaus jo toimitettu. 6

9 Asiakas Id Etunimi Sukunimi 1 Orimatti Teuras 2 Laupias Psaltari 3 Hanhikki Hillosilmä Tilaus AsiakasId TuoteId Tuote Id Nimi Kuvaus Hinta ToimittajaId 1 Hilavitkutin Laatuisa vitkutin Vimpain Vimmattu vimpaaja Masiina Tuotantoväline lisäarvon tuottamiseen Jiirisaha Komea sähkötyökalu Id Toimittaja Nimi 1 Jaskan vimpain 2 Orimattilan kone Kuva 2.3: Esimerkki yksinkertaisesta relaatiotietokannasta. nimillä eli kirjoittamalla esimerkiksi Asiakas.Id, Tuote.Id ja Toimittaja.Id. Näin voimme esimerkiksi luetella tietokantamme vierasavaimet sekä avaimet, joihin vierasavaimet viittaavat 3. AsiakasId Asiakas.Id TuoteId Tuote.Id ToimittajaId Toimittaja.Id Kuvassa 2.4 on esitetty edellä mainittujen viiteavainten kohteet monikko monikolta. Esimerkiksi Tilaus-taulun rivin <1,1> ensimmäisen attribuutin arvo viittaa Asiakas-taulun riviin <1,Orimatti,Teuras> ja toisen attribuutin arvo Tuote-taulun riviin <1,Hilavitkutin,...>. Voimme siis yksinkertaisemmin sanoa, että Tilaus-taulun monikko <1,1> viittaa Asiakas-taulun monikkoon <1,Orimatti,Teuras> ja Tuote-taulun monikkoon <1,Hilavitkutin,...>. On syytä huomauttaa, että vaikka esimerkissämme kaikki vierasavaimet koostuvat vain yhdestä attribuutista, voi vierasavain hyvin koostua useammastakin attribuutista. Kannattaa myös huomata, että monikko saattaa viitata myös saman relaation monikkoon. Voisimme esimerkiksi määritellä relaation Työntekijä seuraavaa relaatiokaavaa käyttäen: Työntekijä(Id, Etunimi, Sukunimi, EsimiesId) Tässä relaatiossa EsimiesId on vierasavain, joka viittaa Työntekijärelaation avaimeen Id. Tietokantaan voidaan kohdistaa kahdenlaisia operaatioita: kyselyitä eli tietokantaoperaatioita, joiden avulla haetaan tietoa tietokannasta sekä päivityksiä, jotka muuttavat tietokannan sisältöä 4. Kyselyiden avulla 3 Koska relaatiolla voi olla vain yksi pääavain, myös pelkkien relaatioiden luetteleminen riittäisi. 4 Myös tietokannan relaatiokaavaa voidaan muuttaa esimerkiksi attribuutteja ja tauluja lisäämällä tai poistamalla, mutta tällaisia operaatioita ei yleensä lasketa varsinaisiksi tietokantaoperaatioiksi. 7

10 Asiakas Id Etunimi Sukunimi 1 Orimatti Teuras 2 Laupias Psaltari 3 Hanhikki Hillosilmä Tilaus AsiakasId TuoteId Tuote Id Nimi Kuvaus Hinta ToimittajaId 1 Hilavitkutin Laatuisa vitkutin Vimpain Vimmattu vimpaaja Masiina Tuotantoväline lisäarvon tuottamiseen Jiirisaha Komea sähkötyökalu Id Toimittaja Nimi 1 Jaskan vimpain 2 Orimattilan kone Kuva 2.4: Kuvan 2.3 tietokannan viittausten kohteet. Tuote Id Nimi Kuvaus Hinta Toimittaja 1 Hilavitkutin Laatuisa vitkutin Orimattilan kone 2 Vimpain Vimmattu vimpaaja Jaskain vimpain 3 Masiina Tuotantoväline lisäarvon tuottamiseen Jaskan vimpain 4 Jiirisaha Komea sähkötyökalu 0.99 Orimattilan kone Kuva 2.5: Esimerkki huonosta suunnittelusta. Ei näin. voimme esimerkiksi hakea kuvan 2.3 tietokannasta kaikki Orimatti Teuraan tilaamat tuotteet tai Laupias Psaltarin tilaamien tuotteiden yhteishinnan. Päivitysten avulla taas voidaan lisätä ja poistaa rivejä sekä muuttaa rivien sisältöä. Kyselyiden ja päivitysten esittämiseen SQL-kielen avulla perehdytään myöhemmin. Kuva 2.4 antaa myös aavistuksen siitä, että viiteavaimet ja avaimet näyttelevät keskeistä osaa tiedon jäsentämisessä useampaan tauluun. Tiedon hajauttamisella saavutetaan useita etuja, kuten esimerkiksi pieni tallennustilan tarve. Voisimme esimerkiksi poistaa Toimittaja-taulun ja korvata Tuote-taulun attribuutin ToimittajaId toimittajan nimellä. Tällöin tilanne olisi kuvassa 2.5 esitetyn kaltainen. Olettaen, että kokonaisluvun tallentamiseen tarvitaan 4 tavua ja merkkijonon merkin tallentamiseen 1 tavu, tarvittaisiin kuvan 2.5 Tuote-taulun tietojen tallentamiseen 222 tavua. Kuvassa 2.3 esitettyjen taulujen Tuote ja Toimittaja tietojen tallentamiseen taas tarvitaan vain 205 tavua, vaikka molemmat versiot sisältävät yhtä paljon tietoa. Ero olisi tietysti paljon dramaattisempi, jos tuotteita olisi enemmän tai toimittajista pidettäisiin yllä esimerkiksi yhteystietoja. Redundanssin eli toiston eliminointi vaatii sekä suunnittelumenetelmien että normalisoinnin hyvää hallintaa. Tietokannan suunnitteluun ja normalisointiin perehdytään luvuissa 4 ja 7. 8

11 2.2.2 Eheyssäännöt Jotta viiteavainten merkitys säilyisi, on meidän asetettava pää- ja vierasavainattribuuttien arvoille joitakin lisäehtoja eli ns. eheyssääntöjä. Ensimmäinen ja helpommin täytettävä ehto on entiteettieheys, joka vaatii, että yhdessäkään monikossa ei yhdenkään avainattribuutin arvo saa olla ns. määrittelemätön arvo eli NULL. Toinen ehto on viite-eheys eli se, että jokaisen monikon viiteavainattribuuttien arvot viittaavat olemassolevien monikkojen avainattribuuttien arvoihin. Yksinkertaisemmin tämä voidaan ilmaista niin, että kaikkien viittausten on kohdistuttava olemassaoleviin monikkoihin. Jos tietokanta täyttää nämä säännöt, sen sanotaan olevan eheä. Esimerkiksi kuvan 2.3 tietokanta on eheä, sillä se täyttää nämä ehdot. Esimerkiksi se, ettei Hanhikki Hillosilmään liity yhtään tilausta, ei riko viite-eheyttä, koska viite-eheys vaatii jokaisen vierasavaimen arvoa vastaavan pääavaimen arvon olemassaoloa, ei päinvastoin. Eheyssäännöt luonnollisesti rajoittavat tietokantaan kohdistettavia päivityksiä. Tarkastellaan esimerkiksi seuraavia operaatioita: 1. Asiakkaittemme sankka joukko kasvaa, joten lisäämme Asiakas-relaatioon monikon <NULL,Marsipaani,Räikkönen>. Operaatio estetään, sillä se rikkoisi entiteettieheyden. 2. Meiltä tilataan jiirisaha, joten lisäämme Tilaus-tauluun rivin <4,4>. Lisäys rikkoisi viite-eheyden, sillä Asiakas-taulussa ei ole riviä, jossa attribuutin Id arvo olisi 4. Operaatio siis estetään. 3. Hanhikki Hillosilmä tilaa vimpaimen. Lisäämme Tilaus-tauluun rivin <3,2>. Operaatio ei riko eheyssääntöjä, sillä kumpikaan monikon avainattribuuttien arvoista ei ole NULL ja ne viittaavat olemassaoleviin monikkoihin eli monikkoihin <3,Hanhikki,Hillosilmä> ja <2,Vimpain,Vimmattu vimpaaja,99.99,1>. 4. Orimatti Teuraan tilaama vitkutin on toimitettu. Poistamme Tilausrelaatiosta monikon <1,1>. Operaatio ei riko eheyssääntöjä. 5. Orimattilan kone osoittautuu epäluotettavaksi toimittajaksi. Poistamme Toimittaja-taulusta rivin <2,Orimattilan kone>. Operaatio estetään, sillä se rikkoisi viite-eheyden, koska relaatiossa Tuote on poistettavaan monikkoon viittaavia rivejä. 6. Muutamme pahuuttamme jiirisahan, tuon jykevähampaisen nakertajan, avainattribuutin Id arvoksi 5. Operaatio ei riko viite-eheyttä, sillä yksikään asiakkaistamme ei ole tilannut jiirisahaa eikä mikään Tilaustaulun riveistä siten viittaa Tuote-taulun riviin <4,Jiirisaha,...>. 7. Hanhikki Hillosilmä ottaa miehensä Orimatin sukunimen. Päivitämme rivin <3,Hanhikki,Hillosilmä> muotoon <3,Hanhikki,Teuras> ilman eheyden rikkoutumista. Miten viides päivityoperaatio eli Orimattilan koneen poistaminen sitten pitäisi tehdä? Jotta operaatio ei rikkoisi viite-eheyttä, pitäisi meidän ensin poistaa ne Tuote-taulun rivit, jotka viittaavat poistettavaan monikkoon, eli rivit <1,Hilavitkutin,...,2> ja <4,Jiirisaha,...,2>. Jotta nämä rivit 9

12 puolestaan voitaisiin poistaa, pitäisi meidän ensin poistaa ne Tilaus-taulun rivit, jotka viittaavat näihin riveihin. Käytännössä tietokannanhallintajärjestemät poistavat viittaavat monikot automaattisesti tai estävät viite-eheyden rikkovat operaatiot. Tähän perehdytään tarkemmin SQL-kielen yhteydessä luvussa 5. 10

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

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

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

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

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 relaatiomalli Harri Laine 1.

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 relaatiomalli Harri Laine 1. Relaatiotietokannat Relaatiomalli Perustana rakennetason tietomalli (the relational model of data) perusteoria: E.F.Codd 1970 ensimmäiset kaupalliset toteutukset 70-luvun lopulla yleistynyt 80-luvun lopulla

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

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

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

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

Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia.

Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia. Tietokantasuunnittelusta Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia toistuva tieto vie tilaa ylläpito muodostuu hankalaksi ylläpito-operaatioilla

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

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

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

NORMALISOINTI TIETOJEN MALLINNUS JOUNI HUOTARI & ARI HOVI

NORMALISOINTI TIETOJEN MALLINNUS JOUNI HUOTARI & ARI HOVI TIETOJEN MALLINNUS NORMALISOINTI HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 5 JOUNI HUOTARI & ARI HOVI SUUNNITTELUPUTKI Käyttäjien näkemykset Näytöt, ikkunat

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

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Näkökulmat tietoon. Abstraktiotasot tiedon käsittelyssä

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

Lisätiedot

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu 20.9.2005

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu 20.9.2005 HELIA 1 (21) Luento 7 Relaatiomallin kertausta... 2 Peruskäsitteet... 2 Relaatio... 4 Määritelmä... 4 Relaatiokaava (Relation schema)... 4 Relaatioinstanssi (Relation instance)... 4 Attribuutti ja arvojoukko...

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

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

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

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

Lisätiedot

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

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

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

Ylläpitopalvelu. Tietuekuvaus. Tietuekuvaus 1 (8) Ylläpitopalvelu. Julkinen - Public

Ylläpitopalvelu. Tietuekuvaus. Tietuekuvaus 1 (8) Ylläpitopalvelu. Julkinen - Public Tietuekuvaus 1 (8) Tietuekuvaus Tietuekuvaus 2 (8) Sisällysluettelo 1 Johdanto... 2 2 Yleiset vaatimukset... 2 3 Uusien henkilöiden lisäys kohderyhmään... 2 3.1 Huollettavat tiedot (yritys => Posti)...

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

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

millainen on se kohde, jota tiedoilla pitäisi kuvata asiat, joita pitäisi esittää Mitä tietoelementtien arvot tarkoittavat

millainen on se kohde, jota tiedoilla pitäisi kuvata asiat, joita pitäisi esittää Mitä tietoelementtien arvot tarkoittavat Tietomallit Tietomallilla (data model) tarkoitetaan tiedon rakenteen ja tiedolle suoritettavan käsittelyn määrittelevää käsitteistöä Tietoa voidaan tarkastella eri näkökulmista - eri abstraktiotasoilla

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

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

Relaatioalgebra. Relaatioalgebra. Relaatioalgebra. Relaatioalgebra - erotus (set difference) Kyselyt:

Relaatioalgebra. Relaatioalgebra. Relaatioalgebra. Relaatioalgebra - erotus (set difference) Kyselyt: Relaatiomalliin liittyy malli tietokannan käsittelystä Tietokannasta pitää pystyä hakemaan tietoa ja toisaalta tietokantaa on ylläpidettävä Tietokannan käsittelyn malli relaatioalgebra määrittelee operaatiot,

Lisätiedot

2. Haet työntekijöiden tiedot etunimen mukaan nousevasti järjestettyinä. (ORDER BY) SELECT * FROM employees ORDER BY firstname ASC;

2. Haet työntekijöiden tiedot etunimen mukaan nousevasti järjestettyinä. (ORDER BY) SELECT * FROM employees ORDER BY firstname ASC; Tällä viikolla Kotitehtävien läpikäynti SQL-harjoituksia, osa 1 Jatketaan Pelifirman tietovaraston suunnittelua: tietotyyppien kertaus, taulun luonti ER-kaavioon, taulun luonti kaavion avulla tietokantaan,

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

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

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

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

HELIA TIKO-05 1 (20) ICT03D Tieto ja tiedon varastointi O.Virkki HELIA TIKO-05 1 (20) Normalisointi Normalisointi...2 Tavoitteet...2 Attribuuttien väliset riippuvuudet...4 Funktionaalinen / moniarvoinen riippuvuus...4 Täydellinen / osittainen riippuvuus...6 Suora /

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

Käsiteanalyysi prosessina ja tarveanalyysi

Käsiteanalyysi prosessina ja tarveanalyysi Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Käsiteanalyysi prosessina ja tarveanalyysi kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003,

Lisätiedot

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

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

Lisätiedot

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

Normalisointi. Jouni Huotari & Ari Hovi. kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luku 5

Normalisointi. Jouni Huotari & Ari Hovi. kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luku 5 Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Normalisointi kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luku 5 Jouni Huotari

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

CSV-tilaukset 31.5.2006

CSV-tilaukset 31.5.2006 CSV-tilaukset 31.5.2006 CSV-tilaukset 2(7) 1 JOHDANTO... 3 2 TIEDOSTORAKENNE... 3 2.1 Kommentti... 3 2.2 Tilaus... 3 2.3 Tilausrivi... 6 3 TUKI... 7 CSV-tilaukset 3(7) 1 JOHDANTO Tämä dokumentti kuvaa

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

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi. Algoritmien DP ja MF vertaileminen tapahtuu suoraviivaisesti kirjoittamalla kummankin leskimääräinen kustannus eksplisiittisesti todennäköisyyksien avulla. Lause T MF ave = 1 + 2 1 i

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

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2004 Tietokannan suunnittelusta. Harri Laine 1

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2004 Tietokannan suunnittelusta. Harri Laine 1 Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia toistuva tieto vie turhaa tilaa ylläpito muodostuu hankalaksi kaikki kopiot päivitettävä

Lisätiedot

Tietokannan suunnittelu

Tietokannan suunnittelu HELIA TIKO-05 1 (12) ICT03D Tieto ja tiedon varastointi Tietokannan suunnittelu Tietokannan suunnitteluprosessi... 2 Tavoitteet...2 Tietojärjestelmän suunnitteluprosessi...3 Abstraktiotasot tietokannan

Lisätiedot

Nimettömien tietojen lähettäminen Lenovolle

Nimettömien tietojen lähettäminen Lenovolle Nimettömien tietojen lähettäminen Lenovolle Sisältö Nimettömien tietojen lähettäminen Lenovolle... 1 Harmony... 1 Lenovo Companion 3.0... 2 Lenovo Customer Engagement Service... 3 Lenovo Experience Improvement

Lisätiedot

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI TIETOJEN MALLINNUS KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 3 S. 68 73 JA LUKU 4 (S. 79 84) JOUNI HUOTARI

Lisätiedot

Matematiikan tukikurssi, kurssikerta 1

Matematiikan tukikurssi, kurssikerta 1 Matematiikan tukikurssi, kurssikerta 1 1 Joukko-oppia Matematiikassa joukko on mikä tahansa kokoelma objekteja. Esimerkiksi joukkoa A, jonka jäseniä ovat numerot 1, 2 ja 5 merkitään A = {1, 2, 5}. Joukon

Lisätiedot

TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT

TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT 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

<e.g. must, essential, conditional> Käyttötapaukset Kurssin malli käyttötapauksille: Tila < List of users and the other systems that interacts directly with a system>

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

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

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014 Tietokanta Tietokanta on työkalu, jolla opettaja ja opiskelijat voivat julkaista tiedostoja, tekstejä, kuvia ja linkkejä alueella. Opettaja määrittelee lomakkeen muotoon kentät, joiden kautta opiskelijat

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

Johdanto. Kiinteistöhuoltoyhtiö tarvitsee järjestelmän huoltopyyntöjen hallinnointiin

Johdanto. Kiinteistöhuoltoyhtiö tarvitsee järjestelmän huoltopyyntöjen hallinnointiin Johdanto Kiinteistöhuoltoyhtiö tarvitsee järjestelmän huoltopyyntöjen hallinnointiin Asiakas voi tehdä huoltopyynnön lähettämällä kirjeen tai sähköpostin? Asiakas voi tehdä huoltopyynnön soittamalla puhelinvastaajaan?

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

Kuva 7.2 vastaustaulu harjoitukseen 7.2

Kuva 7.2 vastaustaulu harjoitukseen 7.2 Harjoitus 7. Lataa tiedosto http://users.metropolia.fi/~pasitr/opas/ran13b/data/ran13b.zip levylle Z: ja pura se. Kun olet tehnyt kaikki seuraavat 17 tehtävää palauta Tuubiin harjoituksen 7 vastauksena

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

Oy Oticon Ab. Korvakappale.fi. Käyttöohje

Oy Oticon Ab. Korvakappale.fi. Käyttöohje Oy Oticon Ab Korvakappale.fi Käyttöohje 15 1 Sisältö 2 Yleistä... 3 3 Käyttäjätilit ja kirjautuminen... 3 3.1 Käyttäjätilit... 3 3.2 Pääkäyttäjätilin tilaaminen... 4 3.3 Kirjautuminen... 5 4 Peruskäyttäjän

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

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

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

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

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

HELIA TiKo-05 1 (10) Outi Virkki ICT03D Tieto ja tiedon varastointi yrityksessä

HELIA TiKo-05 1 (10) Outi Virkki ICT03D Tieto ja tiedon varastointi yrityksessä HELIA TiKo-05 1 (10) Johdanto Tiedon varastointi?... 2 Tieto?... 2 Varasto?... 3 Tietovarasto?... 4 Miksi tietovarastoja?... 5 Tietojen käsittely... 6 Tietovarastot ja tietojärjestelmät... 7 Tietovarasto

Lisätiedot

18. Abstraktit tietotyypit 18.1

18. Abstraktit tietotyypit 18.1 18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

Pauliina Munter/Suvi Junes Tampereen yliopisto / Tietohallinto Valitse muokkaustila päälle kurssialueen etusivun oikean yläkulman painikkeesta.

Pauliina Munter/Suvi Junes Tampereen yliopisto / Tietohallinto Valitse muokkaustila päälle kurssialueen etusivun oikean yläkulman painikkeesta. Sanasto Sanasto -työkalulla voi laatia sanakirjan tapaisen sanaston, jonka hakusanoja (käsitteitä ja niiden määritelmiä) voidaan selata ja opettajan niin halutessa myös kommentoida. Sekä opettaja että

Lisätiedot

Toisessa kyselyssä alueella on 1 ruudussa A ja 3 ruudussa B, joten suosituin ehdokas on B.

Toisessa kyselyssä alueella on 1 ruudussa A ja 3 ruudussa B, joten suosituin ehdokas on B. A Alueet Bittimaassa järjestetään vaalit, joissa on 26 ehdokasta. Jokaisella ehdokkaalla on kirjaintunnus välillä A...Z. Bittimaa on suorakulmion muotoinen ja jaettu neliöruutuihin. Tehtäväsi on selvittää

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

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

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

Navistools Standard. Navistools

Navistools Standard. Navistools Navistools Standard Navistools on Naviswork pohjainen Asset management sovellus, jota käytetään laitoksen, infrakohteen tai rakennuksen elinkaarenaikasen tiedonhallintaan, suunnittelusta työmaavaiheen

Lisätiedot

4.2 Yhteensopivuus roolimalleihin perustuvassa palvelussa

4.2 Yhteensopivuus roolimalleihin perustuvassa palvelussa 4. Roolimallipalvelu 4.1 Tiedot palvelusta Palvelun nimi: Palvelun versio 01.01.00 Toteuttaa palvelun yksilöllistä palvelua (kts. M14.4.42) Roolimallipalvelu (Model role service) MYJ:lle, jotka toteuttavat

Lisätiedot

KÄYTTÖVALTUUSHALLINTA (KVH) 1 (14) Käyttöohje rekisterinpidon yhteyshenkilölle 3.5.2016

KÄYTTÖVALTUUSHALLINTA (KVH) 1 (14) Käyttöohje rekisterinpidon yhteyshenkilölle 3.5.2016 KÄYTTÖVALTUUSHALLINTA (KVH) 1 (14) MML Käyttövaltuushallintaan mennään osoitteen https://vatu.idmservice.nls.fi kautta. Valitse tunnistautumismenetelmä, joka sinulla on käytössäsi. KÄYTTÖVALTUUSHALLINTA

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

Matemaatiikan tukikurssi

Matemaatiikan tukikurssi Matemaatiikan tukikurssi Kurssikerta 1 1 Funktiot Funktion määritelmä Funktio on sääntö, joka liittää kahden eri joukon alkioita toisiinsa. Ollakseen funktio tämän säännön on liitettävä jokaiseen lähtöjoukon

Lisätiedot

Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita!

Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita! Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita! eli... Hyvä kaava sanoo enemmän kuin,... tuhat riviä koodia!... sata riviä tekstiä!... kymmenen diagrammia! Sopimusohjelmointi

Lisätiedot

Ohjelmointi 1 / syksy /20: IDE

Ohjelmointi 1 / syksy /20: IDE Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne

Lisätiedot

Vaatimusluettelo. Liite2_Vaatimusluettelo. Tun nus (ID) Kpl Tärkeys Toimittajan kommentit Navigointi. Haut

Vaatimusluettelo. Liite2_Vaatimusluettelo. Tun nus (ID) Kpl Tärkeys Toimittajan kommentit Navigointi. Haut Vaatimusluettelo Tun nus (ID) Kpl Tärkeys Toimittajan kommentit Navigointi 1 Karttasovelluksessa tulee olla yleisesti vastaavissa sovelluksissa käytetyt navigointitoiminnot 4.2. 1 Kartta pitää voida kohdistaa

Lisätiedot

Tuotetta koskeva ilmoitus

Tuotetta koskeva ilmoitus Suojaus Käyttöopas Copyright 2009 Hewlett-Packard Development Company, L.P. Tässä olevat tiedot voivat muuttua ilman ennakkoilmoitusta. Ainoat HP:n tuotteita ja palveluja koskevat takuut mainitaan erikseen

Lisätiedot

Suvi Junes/Pauliina Munter Tietohallinto / Opetusteknologiapalvelut 2014

Suvi Junes/Pauliina Munter Tietohallinto / Opetusteknologiapalvelut 2014 Tiedostojen lisääminen alueelle Vaihtoehto1: Jos käytät Firefox-selainta voit vain raahata tiedoston alueelle. Laita Moodle-alueellasi muokkaustila päälle (Muokkaustila päälle -painike). Avaa koneesi Tiedostot-ikkuna

Lisätiedot

7/20: Paketti kasassa ensimmäistä kertaa

7/20: Paketti kasassa ensimmäistä kertaa Ohjelmointi 1 / syksy 2007 7/20: Paketti kasassa ensimmäistä kertaa Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 7 1 Useamman muuttujan funktion raja-arvo Palautetaan aluksi mieliin yhden muuttujan funktion g(x) raja-arvo g(x). x a Tämä raja-arvo kertoo, mitä arvoa funktio g(x)

Lisätiedot

CSE-A1200 Tietokannat

CSE-A1200 Tietokannat CSE-A1200 Tietokannat Osa kalvoista perustuu Juha Puustjärven luentokalvoihin vuodelta 2011 sekä kurssin oppikirjaan 2.2.2016 CSE-A1200 Tietokannat 2.2.2016 1 / 28 Aloitusluento: tämän luennon jälkeen

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

GALLERY IV, käyttöönotto-ohjeistus, File Gallery Oy, Matti Mikkola 1. Gallery käyttöönotto

GALLERY IV, käyttöönotto-ohjeistus, File Gallery Oy, Matti Mikkola 1. Gallery käyttöönotto GALLERY IV, käyttöönotto-ohjeistus, File Gallery Oy, Matti Mikkola 1 Gallery käyttöönotto Ohje on tarkoitettu Gallery ohjelmiston käyttöönottajalle, yrityksenne järjestelmänvalvojalle tai edistyneemmälle

Lisätiedot

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana

Pong-peli, vaihe Aliohjelman tekeminen. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Muilla kielillä: English Suomi Pong-peli, vaihe 3 Tämä on Pong-pelin tutoriaalin osa 3/7. Tämän vaiheen aikana Jaetaan ohjelma pienempiin palasiin (aliohjelmiin) Lisätään peliin maila (jota ei voi vielä

Lisätiedot

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3 Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2

Lisätiedot

Paytrail lisäosa WooCommerce alustalle (c) Webbisivut.org

Paytrail lisäosa WooCommerce alustalle (c) Webbisivut.org Paytrail lisäosa WooCommerce alustalle (c) Webbisivut.org Sisällysluettelo Yleistä...3 Asennus...4 Asetukset...4 Maksun käsittely...4 Päivittäminen...4 Mahdolliset vikatilanteet...5 Yleistä Lisäosan tarkoitus

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 1 1 Matemaattisesta päättelystä Matemaattisen analyysin kurssin (kuten minkä tahansa matematiikan kurssin) seuraamista helpottaa huomattavasti, jos opiskelija ymmärtää

Lisätiedot

Joukossa X määritelty relaatio R on. (ir) irrefleksiivinen, jos x Rx kaikilla x X,

Joukossa X määritelty relaatio R on. (ir) irrefleksiivinen, jos x Rx kaikilla x X, Relaation Joukossa X määritelty relaatio R on (r) refleksiivinen, jos xrx kaikilla x X, (ir) irrefleksiivinen, jos x Rx kaikilla x X, (s) symmetrinen, jos xry yrx, (as) antisymmetrinen, jos xry yrx x =

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

Toiminnalliset ja ei-toiminnalliset vaatimukset Tunnus (ID) Vaatimus Vaatimuksen

Toiminnalliset ja ei-toiminnalliset vaatimukset Tunnus (ID) Vaatimus Vaatimuksen Vaatimusluettelo versio 0.17 Toiminnalliset ja ei-toiminnalliset vaatimukset Tunnus (ID) Vaatimus Vaatimuksen Yleiset vaatimukset 1 Koodistopalvelujärjestelmä on selainkäyttöinen 2 Käyttöliittymän tulee

Lisätiedot

Kurssien lukulistojen ylläpito Nellissä ja siirto Moodleen

Kurssien lukulistojen ylläpito Nellissä ja siirto Moodleen Kurssien lukulistojen ylläpito Nellissä ja siirto Moodleen Nellistä voi siirtää kirjallisuuslistoja Moodle-oppimisympäristöön. Näin voidaan tarjota opiskelijalle esimerkiksi verkkokurssin oheislukemistona

Lisätiedot

Lefkoe Uskomus Prosessin askeleet

Lefkoe Uskomus Prosessin askeleet Lefkoe Uskomus Prosessin askeleet 1. Kysy Asiakkaalta: Tunnista elämästäsi jokin toistuva malli, jota et ole onnistunut muuttamaan tai jokin ei-haluttu käyttäytymismalli tai tunne, tai joku epämiellyttävä

Lisätiedot

LASKUTTAJAILMOITUKSEN TEKO- OHJELMA V.2.0. Käyttöohje 2013

LASKUTTAJAILMOITUKSEN TEKO- OHJELMA V.2.0. Käyttöohje 2013 LASKUTTAJAILMOITUKSEN TEKO- OHJELMA V.2.0 Käyttöohje 2013 19.2.2013 1 Laskuttajailmoituksen teko-ohjelma v.2.0 Sisällysluettelo 1 Laskuttajailmoitusohjelma... 2 2 Laskuttajailmoituksen tekeminen... 2 3

Lisätiedot

YHTEYSSUHDE (assosiation)

YHTEYSSUHDE (assosiation) YHTEYSSUHDE (assosiation) -Mikä on yhteyssuhde? -Miten toteutan yhteyssuhteen? 1 Mikä on yhteyssuhde? Yhteyssuhde kuvaa kahden olion välistä suhdetta: Esim. Auto Henkilö, omistussuhde Tili Asiakas, omistussuhde

Lisätiedot

Tehtävä 2: Loppuosataulukko

Tehtävä 2: Loppuosataulukko Tehtävä 2: Loppuosataulukko Tutustu tarkoin seuraavaan tekstiin ja vastaa sitä hyväksi käyttäen tehtävän loppuosassa esitettyihin viiteen kysymykseen. Annetun merkkijonon (ns. hahmo) esiintymän haku pidemmästä

Lisätiedot