2.1 Sovellusarkkitehtuuri 2.2 Käsitteellinen mallintaminen. Luku 2. Arkkitehtuuri ja analyysi. ITKA204 kevät

Koko: px
Aloita esitys sivulta:

Download "2.1 Sovellusarkkitehtuuri 2.2 Käsitteellinen mallintaminen. Luku 2. Arkkitehtuuri ja analyysi. ITKA204 kevät"

Transkriptio

1 2.1 Sovellusarkkitehtuuri 2.2 Käsitteellinen mallintaminen Luku 2 Arkkitehtuuri ja analyysi ITKA204 kevät

2 2.1 Sovellusarkkitehtuuri Tietokannanhallintajärjestelmien luokittelua DBMS:iä voidaan luokitella mm. seuraavien kriteerien perusteella: Tietomallin mukaan esim. Relaationaalisiin (esim. SQL Server, Oracle, PostgreSQL) Oliokeskeisiin (esim. ObjectDB, Gemstone) Dokumenttikeskeisiin (MongoDB, CouchDB) Samanaikaisten käyttäjien lukumäärän mukaan: Monen käyttäjän (esim. yllä mainitut) vs. yhden käyttäjän (esim. Access, Base) Maantieteellisen sijainnin mukaan: Keskitetty vs. hajautettu. Käyttötarkoituksen mukaan: Yleiskäyttöiset vs. spesifiset käyttötarkoitukset. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 2

3 2.1 Sovellusarkkitehtuuri Tietokannanhallintajärjestelmän ominaispiirteitä Keskeisimpiä ominaispiirteitä, joita edellytetään tietokannanhallintajärjestelmiltä: 1. Suorittavat perusoperaatioita (luominen, etsiminen, muokkaaminen, poistaminen eli CRUD). 2. Mahdollistavat tietoriippumattomuuden (data independence) Fyysinen tietoriippumattomuus: sovellusohjelmaa ei tarvitse muokata, vaikka tietokannan fyysistä rakennetta (esim. tiedon sijaintia, esitysmuotoa, apurakenteita) muokattaisiin. Looginen tietoriippumattomuus: sovellusohjelmaa ei tarvitse välttämättä muuttaa loogisen rakenteen muuttuessa. 3. Mahdollistavat samanaikaiset käyttäjät 4. Mahdollistavat tiedon eheyden eli ristiriidattomuuden sekä toisteisuuden minimoinnin. 5. Mahdollistavat tiedon turvaamisen: käyttöoikeuksien määrittämisen ja valvonnan. 6. Ovat suorituskykyisiä. 7. Pyrkivät yhteensopivuuteen muiden järjestelmien, tekniikoiden ja DBMS:ien kanssa. 8. Pyrkivät vaivattomaan skaalautuvuuteen käyttäjien ja datan määrän sekä laitteiston suorituskyvyn suhteen. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 3

4 2.1 Sovellusarkkitehtuuri Tietokannanhallintajärjestelmän osat Edellä mainittujen toimintojen lisäksi DBMS voi sisältää komponentteja esim.: Samanaikaisten tapahtumien käsittelyyn (erityisesti RDBMS:t) Varmuuskopiointiin ja palautukseen Suorituskyvyn ja kuormituksen monitorointiin Virhetilanteista toipumiseen Raportointiin, analysointiin ja tiedonlouhintaan Eräajoon eli suuren datamäärien tuomiseen kantaan ja viemiseen kannasta. Lisäksi voi olla väliohjelmistoja DBMS:n liittämiseksi muihin järjestelmiin tai DBMS:iin sekä jaetut komponentit käyttöjärjestelmän tai kernelin kanssa. Erityisesti kaupallisten tuotteiden kalliimmissa versioissa graafinen käyttöliittymä. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 4

5 2.1 Sovellusarkkitehtuuri Sovellusohjelman tietokantakyselyt Tietokantajärjestelmän sovellusohjelman tietokantakyselyt tehdään tavallisesti: upottamalla kyselykieltä (esim. SQL) isäntäkieleen (esim. Java), kutsumalla isäntäkielessä tietokantaan tallennettua rutiinia (esim. PL/SQL tai T/SQL), kokonaan isäntäkielellä (ns. natiivikyselynä) tai ORM (object-relational mapper) työkaluja käyttäen. Käyttöliittymä HAE-painike Sovellusohjelma tuotteet.objects.raw( SELECT hinta FROM tuote; ) DBMS SELECT hinta FROM tuote; π hinta (tuote) 0 init openread rewind column ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 5

6 2.1 Sovellusarkkitehtuuri Tietokantakäskyn kulku Sovellusohjelma Kysely loogisiin tietorakenteisiin korkean tason kyselykielellä Käskykomponentti Kysely loogisiin tietorakenteisiin matalan tason kysely- tai ohjelmointikielellä Varastointikomponentti Kyselty data Muisti Levy DBMS Kysely fyysisiin tietorakenteisiin matalan tason ohjelmointikielellä ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 6

7 2.1 Sovellusarkkitehtuuri Tietokantakäskyn kulku Sovellusohjelma Kysely Saantipolun hallinta Metadata Tietokanta-ajuri tai DBMS Yhteyden myöntäminen Lokinhallinta Tapahtumaloki Parseri Uudelleenkirjoitus Rinnakkaisuudenhallinta Lukkotaulu Optimointi Ajo Muistinhallinta Tietokanta Käskykomponentti Varastointikomponentti ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 7

8 Tietokantajärjestelmän suunnittelun vaiheet Vaatimusmäärittely ytun nimi ostun budjetti Yritys 1 N Osasto DBMS-riippumaton DBMS-spesifinen Toimintoanalyysi Sovellusohjelman suunnittelu Käsitteellinen mallintaminen Looginen suunnittelu Fyysinen suunnittelu Yritys ytun CHAR(10) nimi VARCHAR(20) Osasto ostun CHAR(5) budjetti INT ytun CHAR(10) Sovellusohjelman toteutus y y y y y y o o o o ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 8

9 ER-malli Chenin (1976) ER-malli (Entity-Relationship model) on käsitteellisen tason tietomalli. Tunnetuin ja perusosiltaan sovelletuin. Myöhemmin muunneltu ja laajennettu: EER-malli, ERT-malli, ER+-malli jne. Mallintaa nimensä mukaisesti kohteita ja suhteita (vrt. UML-luokkakaavion luokat ja assosiaatiot). Käsitteellinen taso Looginen taso Suunnittelu Toteutus Fyysinen taso Data ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 9

10 Kohde ja kohdetyyppi Kohde (entity) on reaalimaailmaa kuvaava konkreettinen tai käsitteellinen asia tai tapahtuma. Kohde on kohdealueen kannalta mielenkiintoinen, ts. siitä halutaan tallentaa tietoa. Kohde voi olla esim. Matti, ABC-123 tai tilitapahtuma # Kohdetyyppi (entity set) on kohteiden abstrahoitu joukko. Kohteiden samanlaisuus ilmenee niiden attribuuttien ja suhteiden samanlaisuutena. Kohdetyyppi voi olla esim. ihminen, auto tai tilitapahtuma. Kohdetyyppi Opiskelija ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 10

11 Attribuutti Attribuutti on ominaispiirre, joka on kohteen tai suhteen kannalta mielenkiintoinen. Esim. etunimi, sukunimi, rekisterinumero, saldo, nostomäärä. Attribuutilla on arvo, joka kuvastaa kohteen tai suhteen yksittäistä ominaispiirrettä. Esim. Matti, Meikäläinen, ABC-123, 150, 20. Kullakin attribuutilla on arvojoukko (domain), josta arvot tulee valita. Esim. nostomäärä = (20-100), rekisterinumero = ^[A-Z]{3}-[0-9]{3}$ Attribuutti sukunimi ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 11

12 Avainattribuutti ja koottu attribuutti Avainattribuutti (key) tunnistaa yksikäsitteisesti kohteen. Joskus tarvitaan useampia avainattribuutteja yksikäsitteiseen tunnistamiseen. Avainattribuutin arvo ei voi olla tyhjäarvo. Avainattribuuttien todellinen osajoukko ei saa tunnistaa kohteita yksiselitteisesti toisistaan. Jos attribuutti ei ole avainattribuutti, se on kuvaileva. Koottu attribuutti (composite) voidaan jakaa pienempiin osiin. Jos attribuutti ei ole koottu, se on yksinkertainen. katu Avainattribuutti htun Koottu attribuutti postinro osoite kaup ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 12

13 Johdettu ja moniarvoinen attribuutti Johdetun (derived) attribuutin arvo on johdettu joko toisen attribuutin tai attribuuttien arvosta tai johdettuun attribuuttiin liittyvän kohdetyypin mukaisten kohteiden lukumäärästä. Jos attribuutti ei ole johdettu, se on tallennettu. Moniarvoisella attribuutilla (multivalued) voi olla usea arvo kohdetta kohden. Jos attribuutti ei ole moniarvoinen, se on atominen. Johdettu attribuutti ikä Moniarvoinen attribuutti puh ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 13

14 Attribuuttien luokittelu Tyyppi Atominen attribuutti Yksinkertainen attribuutti Tallennettu attribuutti Avainattribuutti Tyhjäarvoinen attribuutti Vastakohta Moniarvoinen attribuutti Koottu attribuutti Johdettu attribuutti Kuvaileva attribuutti Arvon sisältävä attribuutti synt_aika optun katu ikä Opiskelija osoite postinro kaup ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 14

15 Suhdetyyppi Suhde (relationship) on mikä tahansa 1..n kohteen välillä vallitseva riippuvuus tai muu kiinnostava asiayhteys. Esim. Aatami omistaa Toyotan tai Bertalla on arvosana 4 kurssista ITKP101. Suhteiden joukot muodostavat suhdetyyppejä. Esim. henkilöt omistavat autoja tai opiskelijoilla on kurssisuorituksia. Suhdetyyppiä kuvataan tavallisesti verbillä. Myös suhdetyypeillä voi olla attribuutteja. Attribuutit kuvaavat suhteen ominaisuuksia. Suhdetyypin asteluvun määrittää suhdetyyppiin liittyvien kohdetyyppien lukumäärä. suorituspvm Opiskelija Kurssi Työntekijä suorittaa on esimies ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 15

16 Kardinaliteetti Kardinaalisuus ilmaisee, kuinka moneen tietyn tyyppiseen suhteeseen kohde osallistuu tai voi osallistua. Kardinaalisuusmerkintöjen tulee vastata mallinnettavan kohdealueen liiketoimintalogiikkaa. Minimikardinaalisuus (ts. pakollisuus) ilmaistaan viivoilla: Yksi viiva: suhteeseen osallistuminen on vapaaehtoista (minimikardinaalisuus 0). Kaksi viivaa: suhteeseen osallistuminen on pakollista (minimikardinaalisuus 1). Maksimikardinaalisuus ilmaistaan merkinnällä 1 tai muuttuja. htun osoite rektun merkki Tälle kohdealueelle pätee: Autolla on vain yksi omistaja. Sellaiset autot, joilla ei ole omistajaa, eivät ole kiinnostavia. Henkilö 1 N Auto Henkilö omistaa 0..n autoa. Auton omistaa 1..1 henkilöä. omistaa ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 16

17 Kardinaliteetti Maksimi 1: auton omistaa korkeintaan yksi henkilö. Maksimi N: henkilö omistaa korkeintaan N autoa. Opettaja M Henkilö 1 N Auto Opiskelija N P Kurssi omistaa Minimi 0: henkilö ei välttämättä omista autoa. Minimi 1: auton omistaa välttämättä joku henkilö. suorituksen arvostelu suorituspvm N Työntekijä 1 Vastapäivään: työntekijä on esimies 0..n työntekijälle. Myötäpäivään: työntekijällä on esimiehenä 1..1 työntekijää. on esimies ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 17

18 Muita kardinaalisuusnotaatioita Chen Martin harakanvarvas ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 18

19 Heikko kohdetyyppi ja tunnistava suhdetyyppi Jos kohdetyypin mukaisia kohteita ei voida tunnistaa sen omien attribuuttien avulla, sitä sanotaan heikoksi kohdetyypiksi (weak entity set). Heikko kohde tunnistetaan sen avainattribuuttien lisäksi tunnistavan kohdetyypin avainattribuuttien perusteella. Tunnistava kohdetyyppi on jokin heikkoon kohdetyyppiin liittyvä vahva kohdetyyppi. Tunnistavaa kohdetyyppiä merkitään tunnistavalla suhdetyypillä. Esim. tietokantaan tallennetuista lapsista ei voida tallentaa henkilötunnusta, vaan lapset tunnistetaan heidän huoltajiensa kautta tai yritysten osastot tunnistetaan yritysten, johon osastot kuuluvat, kautta. ytun nimi ostun budjetti Yritys 1 N Osasto ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 19

20 Luentotehtävä 1 Tee alla olevan kuvauksen mukainen ER-kaavio, josta ilmenevät kohdetyypit, suhdetyypit, olennaisimmat attribuutit, avainattribuutit sekä minimi- ja maksimikardinaalisuudet. Tietokannan tulee sisältää tietoja asiakkaista (astun, asnimi, asosoite), jotka tilaavat tiettyinä päivinä tuotteita (tuoteno, tuotenimi, hinta). Tilaus tunnistetaan tilausnumerolla (tilausno). Tilaus voi koskea useampia tuotteita (tiettyjä määriä). ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 20

21 Luentotehtävä 1: ratkaisu astun Ratkaisu 1: asnimi asosoite tilausno tilpvm kpl tuoteto tuotenimi hinta Asiakas 1 N Tilaus M N Tuote tekee koskee Ratkaisu 2: astun asnimi asosoite tilausno tilpvm tuoteto kpl tuoteto tuotenimi hinta Asiakas 1 N 1 N N 1 Tilaus Til_rivi Osasto Tuote tekee kuuluu koskee ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 21

22 Abstraktiorakenteet Abstraktiorakenteilla voidaan mallintaa yleistämistä (generalization) ja erilaistamista (specialization). Yleistämisen mukaan tarkastelu siirretään alikohdetyypeistä ylikohdetyyppeihin, esim. opiskelija ja henkilökunta ovat henkilöitä. Erilaistaminen on käänteinen muoto yleistämiselle: ylikohdetyypistä muodostetaan alikohdetyyppejä. puh htun Henkilö nimi Alikohdetyyppijoukon kattavuus kuvataan viivoilla: Kattava (kaksi viivaa): alijoukkojen yhdiste on sama kuin ylijoukko. Osittainen (yksi viiva): osa ylijoukon kohteista ei kuulu mihinkään alijoukkoon. huone o pääaine Abstraktiorakenteet muistuttavat perusperiaatteeltaan UML-luokkakaaviostakin tuttua perintää. Henkilökunta Opiskelija Alikohdetyypit perivät ylikohdetyyppinsä attribuutit. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 22

23 Erillinen abstraktiorakenne Abstraktiorakenne on erillinen (disjoint), jos alikohteet voivat kuulua korkeintaan yhteen alikohdetyyppiin. A A d B C d B C A B C B C Esim. ajoneuvot (A) ovat joko autoja (B) tai veneitä (C). Esim. ajoneuvot (A) ovat joko autoja (B) tai veneitä (C) tai joitakin muita. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 23

24 Leikkaava abstraktiorakenne Abstraktiorakenne on leikkaava (overlapping), jos alikohteet voivat kuulua useampaan kuin yhteen alikohdetyyppiin. A A o B C o B A C B C B C Esim. ajoneuvot (A) ovat joko autoja (B) tai veneitä (C) tai molempia. Esim. ajoneuvot (A) ovat joko autoja (B) tai veneitä (C) tai molempia tai joitakin muita. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 24

25 Koostaminen ja osittaminen Koostamisella (aggregation) voidaan muodostaa kokonaisuuksia alemman tason kohteista. Osittaminen on koostamisen käänteinen muoto: kokonaisuuksia voidaan jakaa osiksi. Erityistä merkintätapaa ei ER-notaatiossa ole. Auto Ovi Akku Moottori Pyörä Kaasutin Sylinteri ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 25

26 ER-notaation yhteenveto (vahva) kohdetyyppi moniarvoinen attribuutti Osasto heikko kohdetyyppi johdettu attribuutti suhdetyyppi tunnistava suhdetyyppi koottu attribuutti attribuutti avainattribuutti o abstraktiorakenne o = overlapping d = disjoint heikon kohdetyypin avainattribuutti vastaavan saat tenttiin ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 26

27 Mallintamisprosessi 1. Peruskohdetyyppien tunnistaminen Etsi toistuvia käsitteitä puheesta tai kirjallisesta kuvauksesta. Mallinna ne käsitteet, joista halutaan tallentaa tietoa tietokantaan. Helpoimmat kohteet tunnistaa ovat reaalimaailman konkreettiset asiat: tuote, asiakas jne. Vaikeampia kohteita ovat käsitteelliset asiat: tilaus, tilausrivi, sopimus jne. Valitse kohdetyypeille mahdollisimman täsmälliset nimet ja tarvittaessa kuvaile niiden merkitys. Huomaa, että erilaiset raportit ja tulosteet eivät ole kohdetyyppejä, vaan tietokannasta johdettua tulostietoa. 2. Attribuuttien tunnistaminen Pohdi, mitä kohdetyyppien ominaisuuksia halutaan tallentaa tietokantaan. Kaikki tieto ei välttämättä ole relevanttia, vaikka se toistuvasti mainittaisiinkin. Valitse erityiset attribuutit (avain-, moniarvoiset, johdetut, kootut). ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 27

28 Mallintamisprosessi 3. Suhdetyyppien tunnistaminen Etsi suhteet, jotka ovat tietokannan kannalta relevantteja. Suhteet voivat koskea esim. olemassaoloa, toimintaa tai tapahtumaa. 4. Iterointi Lisää mallintamisprosessin aikana löytyneitä uusia attribuutteja, kohdetyyppejä ja suhdetyyppejä. Nimeä kohdetyypit ja attribuutit tarkemmin ja kuvaavammin. Nimeä suhdetyypit kuvaavilla verbeillä tai muuten. Merkitse suhdetyyppien attribuutit. Merkitse kardinaalisuusmerkinnät. Käytä tarvittaessa abstraktiorakenteita selventämään rakennetta (useilla kohteilla on samoja attribuutteja). ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 28

29 Suuret kohdealueet Jos mallinnettava kohdealue on erityisen suuri, voi olla syytä mallintaa tietokanta osissa käsitteellisellä tasolla, ja integroida näkemykset (view) myöhemmin. Vähittäinen näkemysten integrointi: Big bang integrointi: A B C D A B C D Koko tietokannan kattava ER-kaava Koko tietokannan kattava ER-kaava ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 29

30 TOP 5 -virheet 1. Kardinaalisuudet on merkitty väärin. 2. Suhdetyyppejä on liikaa: ylimääräiset suhdetyypit kuvaavat tietokannan kannalta merkityksettömiä suhteita. Tavallisesti väärin: esim. asiakas katsoo autoa tai johtaja luo raportin. 3. Järjestelmän tulosteita on valittu kohdetyypeiksi. Tavallisesti väärin: esim. raportti, yhteenveto, kalenteri. 4. Kohdetyyppi on mallinnettu attribuuttina. Tavallisesti väärin: esim. attribuutit asiakas tai tuote. 5. Samat kohdetyypit toistuvat eri nimillä. Tavallisesti väärin: esim. tilavaraus, varaus, varauksen_tiedot mallintamassa samaa kohdetyyppiä. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 30

31 Osaamistavoitteet Osaa kuvailla tietokannanhallintajärjestelmän komponentit. Osaa kuvailla tietoriippumattomuuden merkityksen sovelluskehitykselle. Osaa soveltaa ER-mallia käsitteellisessä mallintamisessa, esim.: Annetaan ER-kaavio ja pyydetään muokkaamaan, tarkentamaan tai laajentamaan sitä. Annetaan ER-kaavio ja pyydetään selittämään tai korjaamaan sitä. Annetaan kuvaus kohdealueesta ja pyydetään esittämään sen mukainen ER-kaavio. Ei: Martinin kardinaalisuusnotaatiota eikä harakanvarvasnotaatiota. Huom. ER-notaation saat tentissä liitteenä! ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 31

1.1 Käsitteet ja termit 1.2 Historia. Luku 1. Johdanto. ITKA204 kevät

1.1 Käsitteet ja termit 1.2 Historia. Luku 1. Johdanto. ITKA204 kevät 1.1 Käsitteet ja termit 1.2 Historia Luku 1 Johdanto ITKA204 kevät 2016 1 Kurssin sisältö - tarvittavat käsitteet - historiaa 1. johdanto 2. analyysi ja arkkitehtuuri - DBMS:n sovellusarkkitehtuuri - käsitteellinen

Lisätiedot

3. Käsiteanalyysi ja käsitekaavio

3. Käsiteanalyysi ja käsitekaavio 3. Käsiteanalyysi ja käsitekaavio lehtori Pasi Ranne Metropolia ammattikorkeakoulu E-mail: pasi.ranne@metropolia.fi sivu 1 Käsiteanalyysi Selvitetään mitä tietokantaan pitää tallentaa Lähtökohtana käyttäjien

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

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

HELIA 1 (20) Outi Virkki Tiedonhallinta 4.11.2000

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

Lisätiedot

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

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Polku luokkakaavioista taulujen toteutukseen kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003,

Lisätiedot

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä

Lisätiedot

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2017 Kurssikoodi: Saapumisryhmä: Luento 7 TX00CN57-3001 TXQ16ICT, TXQ16S1 ja TXQ16PROS Pasi Ranne 02.10.2017 1/10/17 Helsinki Metropolia University of Applied Sciences 1 Tietokannan

Lisätiedot

ITKA204 Tietokannat ja tiedonhallinnan perusteet

ITKA204 Tietokannat ja tiedonhallinnan perusteet ITKA204 Tietokannat ja tiedonhallinnan perusteet Kevä t 2016 To n i Ta i p a l u s Jy v ä s k y l ä n y l i o p i s t o Opettaja Työskennellyt Jyväskylän yliopistossa erilaisissa opetus- ja tutkimustehtävissä

Lisätiedot

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä 582104 Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä 1 Luokkamallin lisäpiirteitä Erilaiset yhteystyypit kooste kompositio Muita luokkien välisiä suhteita riippuvuudet periytyminen eli luokkahierarkia

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 2007 ER-mallin peruskäsitteet.

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 ER-mallin peruskäsitteet. Tietosisällön kuvaaminen Toteutusvälineistä riippumaton tietosisällön kuvaus Entity-Relationship malliperhe Lähtökohta: Chenin malli vuodelta 1976 Useita muunnelmia, pieniä eroja peruskäsitteissä ja erityisesti

Lisätiedot

Tietokanta (database)

Tietokanta (database) Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja 1 Tiedosto Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään

Lisätiedot

HELIA 1 (17) Outi Virkki Tiedonhallinta 4.11.2000

HELIA 1 (17) Outi Virkki Tiedonhallinta 4.11.2000 HELIA 1 (17) Luento 4.5 Normalisointi... 2 Tavoitteet... 2 Attribuuttien väliset riippuvuudet... 4 Funktionaalinen / moniarvoinen riippuvuus... 4 Transitiivinen / suora riippuvuus... 6 Täydellinen / osittainen

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

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto Tietokanta Tiedosto Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään

Lisätiedot

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

8.1 Oliosuuntautunut 8.2 Oliorelaationaalinen 8.3 NoSQL. Luku 8. Tietokantaparadigmat. ITKA204 kevät

8.1 Oliosuuntautunut 8.2 Oliorelaationaalinen 8.3 NoSQL. Luku 8. Tietokantaparadigmat. ITKA204 kevät 8.1 Oliosuuntautunut 8.2 Oliorelaationaalinen 8.3 NoSQL Luku 8 Tietokantaparadigmat ITKA204 kevät 2016 1 8.1 Oliosuuntautunut Kohti uusia tietomalleja 1960 1970 1980 1990 2000 2010 flat file hierarkkinen

Lisätiedot

Tietokantojen suunnittelu, relaatiokantojen perusteita

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

Lisätiedot

Tietokantakurssit / TKTL

Tietokantakurssit / TKTL Tietokantakurssit / TKTL Tietokantojen perusteet - tietokannan käyttö: SQL, sovellukset Tietokannan hallinta - tietokannanhallintajärjestelmän ominaisuuksia: tallennusrakenteet kyselyjen toteutus tapahtumien

Lisätiedot

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

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

Lisätiedot

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

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

Lisätiedot

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:

Lisätiedot

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja mikä tahansa tietokokoelma? --> erityispiirteitä Tietokanta vs. tiedosto 1

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

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

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

5.1 Normalisoinnin tarkoitus 5.2 Funktionaalinen riippuvuus 5.3 Normaalimuodot. Luku 5. Normalisointi. ITKA204 kevät

5.1 Normalisoinnin tarkoitus 5.2 Funktionaalinen riippuvuus 5.3 Normaalimuodot. Luku 5. Normalisointi. ITKA204 kevät 5.1 Normalisoinnin tarkoitus 5.2 Funktionaalinen riippuvuus 5.3 Normaalimuodot Luku 5 Normalisointi ITKA204 kevät 2016 1 5.1 Normalisoinnin tarkoitus Loogisen tason suunnittelu ja validointi Käsitekaava

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

TIEDONHALLINTA - SYKSY Luento 2. Pasi Ranne /8/17 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINTA - SYKSY Luento 2. Pasi Ranne /8/17 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2017 Kurssikoodi: Saapumisryhmä: Luento 2 TX00CN57-3001 TXQ16ICT, TXQ16S1 ja TXQ16PROS Pasi Ranne 28.8.2017 27/8/17 Helsinki Metropolia University of Applied Sciences 1 Oppitunnin

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

Luokka- ja oliokaaviot

Luokka- ja oliokaaviot Luokka- ja oliokaaviot - tärkeimmät mallinnuselementit : luokat, oliot ja niiden väliset suhteet - luokat ja oliot mallintavat kuvattavan järjestelmän sisältöä ja niiden väliset suhteet näyttävät, kuinka

Lisätiedot

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

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

Lisätiedot

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä 582104 Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä 1 Luokkamallin lisäpiirteitä Erilaiset yhteystyypit kooste kompositio Muita luokkien välisiä suhteita riippuvuudet periytyminen eli luokkahierarkia

Lisätiedot

Tietokannan suunnittelu

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

Lisätiedot

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2006 Tiedon mallinnus ja tietokannat. Harri Laine 1. Tietokanta.

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2006 Tiedon mallinnus ja tietokannat. Harri Laine 1. Tietokanta. Tieto - data Digitaalisesti tallennettua informaatiota jostakin kohteesta Vapaamuotoinen tieto (unformatted) Esim. teksti, puhe, kuvat, Sisältö jäsentämätöntä Koneellinen käsittely vaikeaa paitsi kokonaisuutena

Lisätiedot

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

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

Lisätiedot

Tieto/datamallit. Marttila-Kontio/Unicta Oy

Tieto/datamallit. Marttila-Kontio/Unicta Oy 4.4.2017 Tieto/datamallit 4.4.2017 Data Governance Data governance (DG) refers to the overall management of the availability, usability, integrity, and security of the data employed in an enterprise. 4.4.2017

Lisätiedot

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI Tarkastellaan Tietokannan fyysistä suunnittelua Menetelmän vaihetta 4 Looginen suunoitelma muutetaan toimiviksi tauluiksi Id enimi snimi muuta 1 Aki Joki xxx

Lisätiedot

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

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

Lisätiedot

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento Näkymät... 2 Relaatiotyypit... 2 Taulu - Tallennettu relaatio... 3 Näkymä - Virtuaalirelaatio... 3 Tulosrelaatio - Kyselyn tulos... 3 Otetaulut - Tauluun tallennettu kyselyn tulos...

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

UML -mallinnus LUOKKAKAAVIO EERO NOUSIAINEN

UML -mallinnus LUOKKAKAAVIO EERO NOUSIAINEN UML -mallinnus LUOKKAKAAVIO EERO NOUSIAINEN SISÄLLYS 3. Luokkakaavio UML -mallinnuskielessä 3.1 Luokkakaavion luokan rakenteet 3.2 Luokan kuvauksesta C++ ohjelmakoodiksi 3.3 Luokkakaavion luokkien yhteystyypit

Lisätiedot

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu 9.3.2001

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu 9.3.2001 HELIA 1 (19) Luento 11 Eheyssäännöt (Integrity Constraints)... 2 Eheyden valvonta... 3 Yksilön eheyssääntö... 4 Arvojoukkoeheyssäännöt... 5 Null-arvoista... 6 Viite-eheyssäännöt... 7 Emorelaation päivitys...

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

SQL - STRUCTURED QUERY LANGUAGE

SQL - STRUCTURED QUERY LANGUAGE SQL Peruskomentoja SQL - STRUCTURED QUERY LANGUAGE SQL on tietokantojen käsittelyyn kehitetty kieli Esimerkkejä kielellä hoidettavistaa toiminnoista: Tietokannan rakenteen määrittely ja muuttaminen Kyselyt

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

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

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

Lisätiedot

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Olli Opiskelija (123), olli.opiskelija@foo.fi Maija Mallioppilas (321), maija.mallioppilas@foo.fi 13.3. 2007 1 Sisältö 1 Tietokannan kuvaus 3 1.1 Tietokannan rakenne..................................

Lisätiedot

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:

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

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1 Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa 14.11.2008 Harri Laine 1 Oliot ohjelmiston mallinnuksessa käyttötapaus käyttää Käyttämämme oliokeskeinen perusmalli ohjelmistojen

Lisätiedot

Yhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä

Yhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Olioiden väliset yhteydet Yhteyden nimi Nimen lukusuunta pankkitili 0..10 Omistaja-> 1..3 asiakas

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

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

Lisätiedot

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

UML - unified modeling language

UML - unified modeling language UML - unified modeling language Lähtökohtana: Booch, Rumbaugh, Jacobsson Tavoitteena Unified Method - syntyykö? Kehittäjänä: Rational Inc. Standardointi: Object Management Group (OMG) - vaiheessa Lähteet:

Lisätiedot

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Yhteyden nimi Nimen lukusuunta pankkitili 0..0 Omistaja->..3 asiakas

Lisätiedot

2. Olio-ohjelmoinnin perusteita 2.1

2. Olio-ohjelmoinnin perusteita 2.1 2. Olio-ohjelmoinnin perusteita 2.1 Sisällys Esitellään peruskäsitteitä yleisellä tasolla: Luokat ja oliot. Käsitteet, luokat ja oliot. Attribuutit, olion tila ja identiteetti. Metodit ja viestit. Olioperustainen

Lisätiedot

Relaatiomalli ja -tietokanta

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

Lisätiedot

TIETOKANNAT I. Kurssimoniste. Mika Karhulahti mika.karhulahti@jypoly.fi http://homes.jypoly.fi/~karmi Syksy 2002

TIETOKANNAT I. Kurssimoniste. Mika Karhulahti mika.karhulahti@jypoly.fi http://homes.jypoly.fi/~karmi Syksy 2002 TIETOKANNAT I Kurssimoniste Mika Karhulahti mika.karhulahti@jypoly.fi http://homes.jypoly.fi/~karmi Syksy 2002 Liiketalous Tietojenkäsittelyn koulutusohjelma 1 Tietokannan hallintajärjestelmien toteutusperiaatteet...

Lisätiedot

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 582101 - Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 1 Lähestymistapoja Kokonaisvaltainen lähestymistapa (top-down) etsitään kerralla koko kohdealuetta kuvaavaa mallia hankalaa, jos kohdealue

Lisätiedot

CS-A1150 Tietokannat CS-A1150 Tietokannat / 35

CS-A1150 Tietokannat CS-A1150 Tietokannat / 35 CS-A1150 Tietokannat 5.3.2019 CS-A1150 Tietokannat 5.3.2019 1 / 35 Oppimistavoitteet: tämän luennon jälkeen Osaat tehdä tietokantaa kuvaavan mallin UML-kaavion avulla. Tunnet esimerkiksi seuraavat UML-mallinnuksen

Lisätiedot

Tällä viikolla. Kotitehtävien tarkistus Upotettu SQL Indeksi-harjoitus täydennetään pelifirman tietokantamallia SQL-tehtäviä

Tällä viikolla. Kotitehtävien tarkistus Upotettu SQL Indeksi-harjoitus täydennetään pelifirman tietokantamallia SQL-tehtäviä Tällä viikolla Kotitehtävien tarkistus Upotettu SQL Indeksi-harjoitus täydennetään pelifirman tietokantamallia SQL-tehtäviä Seuraavissa harjoituksissa käytetään tukkukauppa-kantaa. 1. Hae kaikki toimittajat

Lisätiedot

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta Jouni Huotari Martti Laiho (materiaali on osa virtuaaliammattikorkeakoulun Tietokantaosaaja-opintokokonaisuutta) opintokokonaisuutta)

Lisätiedot

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA 1 (14) Outi Virkki Tiedonhallinta HELIA 1 (14) Luento SQL... 2 Historiaa... 2 Standardit... 3 Käyttö... 4 DDL... 5 Tietokantaobjektien määrittely... 5 SQL:n tietotyypit... 6 Eheyssääntöjen määrittely... 9 Indeksin määrittely... 11 Syntaksikuvaukset...

Lisätiedot

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet ..999 DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Yhteyden nimi Nimen lukusuunta pankkitili asiakas 0..0 Omistaja->..3

Lisätiedot

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Microsoft SQL käyttö Yleistä VisualStudiosta Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: - sovellushallintaan -

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

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

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

Käsitteellinen mallintaminen

Käsitteellinen mallintaminen Haaga-Helia / TIKO 1 (13) Käsitteellinen mallintaminen Käsitteellinen mallintaminen / Käsiteanalyysi...2 Tehtävät...2 Tietolähteet...2 Suunnitteluperiaatteita...3 ER-malli...4 Keskeiset käsitteet...4 Olio

Lisätiedot

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Ohjelmistojen mallintaminen kertausta Harri Laine 1 kertausta 5.12.2008 Harri Laine 1 Ohjelmiston elinkaari, elinkaarimallit Yleinen puitemalli (reference model) - abstrakti kokonaiskuva ei etenemiskontrollia, ei yksityiskohtia Ohjelmistoprosessimallit

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

Ohjelmistojen mallintaminen Luokkakaaviot Harri Laine 1

Ohjelmistojen mallintaminen Luokkakaaviot Harri Laine 1 Ohjelmistojen mallintaminen Luokkakaaviot 5.12.2008 Harri Laine 1 Olioiden palvelut Palvelun kuvauksessa annettavat tiedot näkyvyys (kuten attribuuttien kohdalla) nimi (ainoa välttämätön osa) parametrit

Lisätiedot

UML Luokkakaavio 14:41

UML Luokkakaavio 14:41 UML Luokkakaavio UML Olio-ohjelman luokkien pääpiirteet voidaan kätevähkösti esittää ns. UML-luokkakaaviona. Näin usein tehdäänkin esim. suunniteltaessa, millaisia luokkia ohjelmaan on tarkoitus laatia,

Lisätiedot

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu 13.11.2000

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu 13.11.2000 HELIA 1 (15) Luento 2.7 Toiminnallisuutta tietokantaan... 2 Deklaratiivinen eheysvalvonta... 2 Proseduraalinen eheysvalvonta... 3 Eheysvalvonnan suunnittelusta... 4 Sääntöjen määrittely... 4 Toteutusvaihtoehdot...

Lisätiedot

On autoja, henkilöitä, Henkilöllä on nimi Autolla on omistaja, joka on henkilö. Taulu AUTO(rekno, malli) Taulu HENKILO(nimi, )

On autoja, henkilöitä, Henkilöllä on nimi Autolla on omistaja, joka on henkilö. Taulu AUTO(rekno, malli) Taulu HENKILO(nimi, ) Tietomallit Tietomallilla (data model) tarkoitetaan tiedon rakenteen ja tiedolle suoritettavan käsittelyn määrittelevää kehikkoa - käsitteistöä Tietoa voidaan tarkastella eri näkökulmista - eri abstraktiotasoilla

Lisätiedot

Sopimuspohjainen olio-ohjelmointi

Sopimuspohjainen olio-ohjelmointi Sopimuspohjainen olio-ohjelmointi Jouni Smed Kevät 2007 Yleistä Laajuus: 5 op. (3 ov.) Esitiedot: Olio-ohjelmoinnin perusteet (tai ent. Ohjelmointi I) Ilmoittautuminen: https://www.it.utu.fi/kurssi-ilmo/

Lisätiedot

Yhteistoimintakaavio (Esimerkki)

Yhteistoimintakaavio (Esimerkki) Yhteistoimintakaavio (Esimerkki) Käyttötapaus: Vuokraa ajoneuvo Yleiskuvaus: Käyttäjä vuokraa ajoneuvon määräajaksi. Esiehdot: Käyttäjä on hakenut vuokrausaikana vapaat ajoneuvot näytölle. Aktori: Asiakas

Lisätiedot

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

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

Lisätiedot

Ohjelmistojen mallintaminen, kesä 2010

Ohjelmistojen mallintaminen, kesä 2010 582104 Ohjelmistojen mallintaminen, kesä 2010 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin

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

A271117 TIETOKANNAT, 4 op Kevät 2010 - TI09

A271117 TIETOKANNAT, 4 op Kevät 2010 - TI09 A271117 TIETOKANNAT, 4 op Kevät 2010 - TI09 Teemu Saarelainen, lehtori Tietotekniikka teemu.saarelainen@kyamk.fi A271117 TIETOKANNAT Tavoitteet Oppia tietokantojen suunnitteluperiaatteet Osata käyttää

Lisätiedot

JHS 179 ICT-palvelujen kehittäminen: Kokonaisarkkitehtuurin kehittäminen Liite 2 Arkkitehtuurikehyksen kuvaus

JHS 179 ICT-palvelujen kehittäminen: Kokonaisarkkitehtuurin kehittäminen Liite 2 Arkkitehtuurikehyksen kuvaus JHS 179 ICT-palvelujen kehittäminen: Kokonaisarkkitehtuurin kehittäminen Liite 2 Arkkitehtuurikehyksen kuvaus Versio: 1.0 Julkaistu: 8.2.2011 Voimassaoloaika: toistaiseksi Sisällys 1 Arkkitehtuurikehyksen

Lisätiedot

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta Tiedonhallinnan perusteet H11 Ovien ja kulun valvontajärjestelmän tietokanta Nimi: Mikko Haapanen Opiskelijanumero: 0900568 Ryhmä: T09L Työ tehty: 15.3.2010 Mikko Haapanen 15.3.2010 1(7) 1. Asiakasvaatimukset

Lisätiedot

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistojen mallintaminen, kesä 2009 582104 Ohjelmistojen mallintaminen, kesä 2009 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin

Lisätiedot

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot Arkkitehtuuripankki Mallintamisen metamalli ja notaatiot 21.2.2018 Sisältö Kuvaustapa (notaatio) ja standardit Mallityypit Metamalli Muuta Kuvaustavat ja hyödynnetyt standardit JHS179 template ArchiMate

Lisätiedot

JYVÄSKYLÄN YLIOPISTO Valintakoe s2011 Sivu 1 Tietojärjestelmätieteen opiskelijavalinta. Nimi: Henkilötunnus:

JYVÄSKYLÄN YLIOPISTO Valintakoe s2011 Sivu 1 Tietojärjestelmätieteen opiskelijavalinta. Nimi: Henkilötunnus: JYVÄSKYLÄN YLIOPISTO Valintakoe s2011 Sivu 1 Tehtävä 1. Tehtävän enimmäispistemäärä on 15. Esitä lyhyesti äskeisen esityksen keskeinen sisältö. Ilmaise asiasi sujuvasti ja selkeästi, kokonaisilla virkkeillä

Lisätiedot

TIETOKANNAN SUUNNITTELU

TIETOKANNAN SUUNNITTELU TIETOKANNAN SUUNNITTELU HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 2 JOUNI HUOTARI & ARI HOVI TIETOJEN MALLINNUS TIETOJEN MALLINNUKSESTA TIETOKANTAAN Käsiteanalyysin

Lisätiedot

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 11 TU00AA48-2002 TU10S1E Hannu Markkanen 22.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 Indeksit Indeksit Taulun

Lisätiedot

Fronter Varauskalenteri-työkalu

Fronter Varauskalenteri-työkalu Fronterin varauskalenteri 1 Fronter Varauskalenteri-työkalu 1. Yleistä 2. Varauskalenterin toimintaperiaate 2.1. Varauskalenteriin siirtyminen 2.2. Varauskalenteri 2.3. Varauksen tekeminen 2.3.1. Toistuvan

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

2. Olio-ohjelmoinnin perusteita 2.1

2. Olio-ohjelmoinnin perusteita 2.1 2. Olio-ohjelmoinnin perusteita 2.1 Sisällys Luokat ja oliot. Käsitteet, luokat ja oliot. Attribuutit, olion tila ja identiteetti. Metodit ja viestit. 2.2 Luokat ja oliot Olio-ohjelmoinnin keskeisimpiä

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

Analyysi on tulkkaamista

Analyysi on tulkkaamista Analyysi on tulkkaamista Petri: Pitää osata menetelmiä, arkkitehtuureja, suunnittelumalleja, eli miten [ohjelmistoja] ylipäänsä kehitetään. Pitää olla viestintätaitoja. Perttu: Pitää ymmärtää miten projekti

Lisätiedot

4.1 Yleistä SQL:stä 4.2 SQL-lauseet 4.3 DML: datan hallinta 4.4 DDL: rakenteen määrittäminen 4.5 DCL: valtuuttaminen 4.6 TxCL: tapahtumanhallinta

4.1 Yleistä SQL:stä 4.2 SQL-lauseet 4.3 DML: datan hallinta 4.4 DDL: rakenteen määrittäminen 4.5 DCL: valtuuttaminen 4.6 TxCL: tapahtumanhallinta Luku 4 SQL 4.1 Yleistä SQL:stä 4.2 SQL-lauseet 4.3 DML: datan hallinta 4.4 DDL: rakenteen määrittäminen 4.5 DCL: valtuuttaminen 4.6 TxCL: tapahtumanhallinta ITKA204 kevät 2016 1 4.1 Yleistä SQL:stä Structured

Lisätiedot

UML ja luokkien väliset suhteet

UML ja luokkien väliset suhteet UML ja luokkien väliset suhteet -Luokan kuvaaminen UML-tekniikalla -Yhteyssuhde ja koostumussuhde 1 Luokan kuvaaminen UML-tekniikalla : Luokka - attribuutti1 : tietotyyppi # attribuutti2 : tietotyyppi

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

T Testitapaukset TC-1

T Testitapaukset TC-1 T-76.115 Testitapaukset TC-1 ETL-työkalu ExtraTerrestriaLs / Aureolis Oy Versio Päivämäärä Tekijä Muutos 1.0 18.11.2004 Risto Kunnas Testitapaukset ensimmäistä iteraatiota varten 1.1 26.11.2004 Risto Kunnas

Lisätiedot