KÄSITEANALYYSI JA -MALLINNUS HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 3

Samankaltaiset tiedostot
Käsiteanalyysi. Jouni Huotari & Ari Hovi. kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luku 3

Ari Hovi & Jouni Huotari M3-1

Tietokantojen suunnittelu

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

3. Käsiteanalyysi ja käsitekaavio

TIETOKANTOJEN SUUNNITTELU

Tietokannan suunnittelu

TIETOKANNAN SUUNNITTELU

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

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

NORMALISOINTI TIETOJEN MALLINNUS JOUNI HUOTARI & ARI HOVI

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

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

IIO30100 TIETOKANTOJEN SUUNNITTELU (6 OP)

IIO10200 Tietokantaohjelmointi (4 op)

TTZC0800 TIETOKANNAT (5 OP)

IIO30100 Tietokantojen suunnittelu (6 op)

IIO30100 Tietokantojen suunnittelu (6 op)

IIO10200 TIETOKANTAOHJELMOINTI (4 OP) OPINTOJAKSON ESITTELY JOUNI HUOTARI

FYYSINEN SUUNNITTELU

Fyysinen suunnittelu

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

Tietokantojen suunnittelu, relaatiokantojen perusteita

Käsiteanalyysi prosessina ja tarveanalyysi

IIO30200 TIETOKANNAN HALLINTA (5 OP)

IIO30200 Tietokannan hallinta (5 op)

Luento 3 Tietokannan tietosisällön suunnittelu

2. Käsiteanalyysi ja relaatiomalli

HELIA 1 (17) Outi Virkki Tiedonhallinta

IIZO3030 TIETOKANNAT (5 OP)

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

FYYSINEN SUUNNITTELU

Relaatiomalli ja -tietokanta

Tietokannan suunnittelu

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

HELIA 1 (20) Outi Virkki Tiedonhallinta

TIETOVARASTOJEN SUUNNITTELU

YHTEYSSUHDE (assosiation)

TIETOKANNAT JOHDANTO

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Tietovarastojen suunnittelu

HARJOITUS 2. Kasvattamot ja mittaukset

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

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

UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI

HELIA 1 (12) Outi Virkki Tiedonhallinta

Visual Case 2. Miika Kasnio (C9767)

TIETOKANNAN JÄRKEISTÄMINEN

Tietokantojen perusteet

Tieto/datamallit. Marttila-Kontio/Unicta Oy

UML-mallinnus ja prosessien kuvaaminen Microsoft Visiolla (versio 2003 professional) Jouni Huotari

Tietomallit. Näkökulmat tietoon. Näkökulmat tietoon. Mitä malleja olisi tarjolla? Abstraktiotasot tiedon käsittelyssä

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Luokka- ja oliokaaviot

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

TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI

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

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

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Ohjelmistojen mallintaminen, kesä 2009

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14

HELIA 1 (17) Outi Virkki Tiedonhallinta

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

Myyntitilaus -tiedoston kuvaus

2017/11/21 17:28 1/2 Tilitapahtumat. Tilitapahtumat... 1 Käyttö:... 1 Asiakirjan kentät:... 1

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

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

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

Ohjelmistotekniikan menetelmät, kesä 2008

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

Ohjelmistojen mallintaminen, mallintaminen ja UML

TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT

Visma Business AddOn Tilauksen synkronointi. Käsikirja

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu

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

Helsingin yliopisto/tktl Tietokantojen perusteet, k 2003 Relaatiomallin peruskäsitteet Harri Laine 1. Tietomallit. Näkökulmat tietoon

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

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

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

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Mikko Mäkelä KONEHUOLTOJEN TIETOKANNAN SUUNNITTELU JA TOTEUTUS

UML:n yleiskatsaus. UML:n osat:

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

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

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Digitaalisuus palvelumuotoilussa. Annemari Auvinen Digipolku

Ohjelmistotekniikan menetelmät, kevät 2008

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

Ohjelmistojen suunnittelu

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

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

Tietokannat II -kurssin harjoitustyö

Jouni Huotari OLAP-ohjetekstit kopioitu Microsoftin ohjatun OLAP-kuution teko-ohjeesta. Esimerkin kuvaus ja OLAP-määritelmä

Liitokset - haut useaan tauluun

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

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

Transkriptio:

KÄSITEANALYYSI JA -MALLINNUS HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 3 JOUNI HUOTARI & ARI HOVI TIETOJEN MALLINNUS

MIKSI TIETOKANTOJA PITÄÄ SUUNNITELLA? Tietokannat nykyaikaisten sovellusten perusta Täytyy suunnitella hyvin, muuten sovellusten ohjelmointi vaikeaa Mitä monimutkaisempi, sitä paremmin suunniteltava Perinteinen esimerkki: Koirankopin tekee pätevä kirvesmies omasta päästä, mutta omakotitaloa ei kannata alkaa rakentamaan ilman kunnon piirustuksia Huom.: tietokannan suunnittelu (vaatimuksista ja mallinnuksesta fyys. suunnitteluuun) on laajempi kuin tietokannan mallinnus eli kuvaus jollakin välineellä Jouni Huotari & Ari Hovi 2

TIETOKANTOJEN PERUSTEISSA OSATTAVA Käsiteanalyysin ja käsitemallinnuksen perusidea: Käsitteiden tunnistaminen Yhteyksien muodostaminen Tietojen eli ominaisuuksien lisääminen Moni-moneen-yhteyksien purkaminen Käsitemallin piirtäminen Tietokannan määrittely: Käsitteistä tulee tauluja Tiedoista sarakenimet tauluun Yhteyksien luominen perus- ja viiteavaimien avulla Jouni Huotari & Ari Hovi

SUUNNITTELUPUTKI Määrittely & suunnittelu Käyttäjien näkemykset Näytöt, raportit Käsiteanalyysi Tarveanalyysi Normalisointitarkistus Käsitemalli Käsitemalli, täydennetty Perusavain Tieto1 Tieto2 Perusavain Tieto1 Tieto2 3. normaalimuodossa olevat käsitteet Toteutus Tietokannan fyysinen suunnittelu Suorituskyvyn viritys Relaatiotietokanta Jouni Huotari & Ari Hovi

Määrittely TIETOKANTAPROJEKTIN VAIHEET: INKREMENTAALINEN JA ITERATIIVINEN LÄHESTYMISTAPA; KS. ESIM. SCRUM v a i h e e t Suunnittelu Toteutus (ml. prototyypit/inkrementit) Käyttöliittymä Sovellus Tietokanta Testaus Jouni Huotari & Ari Hovi Käyttöönotto Ylläpito t

TIETOKANNAN ELINKAARI Tietokantojen (TK) perusteet SQL TK-ohjelmointi TK-suunnittelu TK-käsittely Käsite-ja tarveanalyysi (Conceptual and logical design) Ohjelmistosuunnittelu DBMSympäristön suunn Normalisointi Fyysinen suunn (Physical design) Tietoturva Varmistukset -suunn. Kannan toteutus Tietojenkeruu Suunn+testaus Mittaus, säädöt, muutokset Kuormitustesti Tuotantotesti Tietoturva Varmistukset Arkkitehtuurit Infra-suunn DBA TKHJ:n ylläpito Kehitys Tuotanto - OLTP - DW Jouni Huotari & Ari Hovi Helia / Martti Laiho; täydentänyt JAMK / Jouni Huotari

TERMEJÄ Käsite = kohde (Entity) = yksilö- tai oliotyyppi ~ luokka Yksittäiset oliot, esiintymät, ilmentymät, instanssit Käsiteanalyysi = kohdeanalyysi Käsitemalli (ER-malli) ER-kaavio (tietokantakaavio) ~ luokkakaavio Yhteys = riippuvuus = assosiaatio = suhde (Relationship) Ominaisuus = tieto = attribuutti (Attribute) Lukumääräsuhde = kardinaliteetti Notaatio = kuvaustekniikka Ks. myös Tietokantojen suunnittelu ja indeksointi kirjan liite 4 ja https://www.cs.helsinki.fi/u/laine/relaatiosanasto/ Jouni Huotari & Ari Hovi 7

Liiketoiminta ER-kaavio Relaatiotietokanta Teoria www.aisintl.com/case/rdbms.gif

KÄSITEANALYYSI Käsiteanalyysi on tietokantoihin johtavan suunnitteluprosessin ensimmäisiä vaiheita Selvitetään, mitkä ovat tietokantaan talletettavat tiedot Aloitetaan karkealla tasolla; toisaalta yksittäisten olioiden tunnistaminen auttaa käsitteiden löytymistä Tuloksena on käsitemalli Mitkä ovat tietokantaan talletettavat tiedot ja niiden väliset yhteydet tietyllä karkeustasolla Tietokannan piirustukset Yhteinen näkemys (tai sopimus) kohdealueesta Jouni Huotari & Ari Hovi 9

KÄSITEMALLI ON KUVAUS TIETOKANNAN TOTEUTUSTA VARTEN Käsitemalli ER-kaavio Tietokannan taulut Jouni Huotari & Ari Hovi 10

Käsitemalli Reaalimaailma Kohdealue Tietokanta Jouni Huotari & Ari Hovi KOHDEALUEEN VALINNASTA KÄSITEMALLIN KAUTTA TOTEUTETTAVAAN TIETOKANTAAN 11

KÄSITEANALYYSISTÄ Selventää kohdealueen käsitteistöä yhteinen kieli kohdealueen sanakirja On täysin riippumaton tulevasta teknisestä toteutuksesta ja tietokannan hallintajärjestelmistä Kuvittele, että käsitemalli toimii äärettömän tehokkaassa koneessa ei suorituskykypohdintoja vielä kaikki tiedot esiintyvät vain kertaalleen - ei toistoa Käsiteanalyysiä ei kannata jatkaa liian pitkään tee välillä muita systeemityön alueita toteuta prototyyppi ja paranna käsitemallia Jouni Huotari & Ari Hovi 12

Käsite ilmaisee jotain asiaa, esinettä, henkilöä, paikkaa, tapahtumaa tms., josta haluamme tallettaa tietoa tulevaa käyttöä varten Osoitettavissa oleva reaalimaailman objekti, kuten työntekijä, tuote, asiakas tai organisaatioyksikkö Abstrakti tai kuvitteellinen asia, kuten tulosyksikkö, vakuutuskorvaus tai budjettikuukausi Pysyvän luontoinen, kuten asiakas, tuote tai tapahtumatyyppinen, kuten tilausrivi, tilitapahtuma Käsite on lauseessa substantiivi Asiakas tekee tilauksia KÄSITTEEN TUNNISTAMINEN Jouni Huotari & Ari Hovi 13

TEHTÄVÄ 1: KÄSITTEIDEN TUNNISTAMINEN Tee lista esim. Demox Oy:n käsitteistä (nk. käsite-ehdokkaiden kirjaus) Voit käyttää joko kynää ja paperia tai listata käsitteet tietokoneella Tee lista nopeasti miettimättä aluksi kovin tarkkaan mikä olisi paras nimitys eri käsitteille Lopuksi voit hieman ryhmitellä käsitteitä (esim. mind-map) ja miettiä oliko kirjaamasi käsite paras mahdollinen vaihtoehto Ratkaisuehdotus toisessa moduulissa (yhtä ainutta oikeata vastausta ei ole olemassa) Näistä käsite-ehdokkaista mietitään, mitkä käsitteet ovat yläkäsitteitä ja mitkä kuuluvat yläkäsitteen alle Jouni Huotari & Ari Hovi 14

ESIMERKKI: DEMOX OY - TAUSTAA Matti ja Maija olivat opiskelleet taideteollisessa korkeakoulussa. Maijaa kiinnostivat tekstiilityö ja Matti mieltyi puun työstämiseen. Yhdessä he päättivät perustaa yrityksen, jonka liikeideana oli valmistaa ja markkinoida yrityksille liikelahjoja. Tuotteisiin voitiin painaa tai polttaa yrityksen logo. Matti suunnitteli joukon tuotteita, jotka valmistettiin pääasiassa kotimaisista puulajeista. Valikoimaan kuului mm. kuksia, puukkoja ja paperiveitsiä. Maija suunnitteli upean malliston, joka sisälsi mm. solmioita, huiveja ja laukkuja. Tuotteita lähdettiin markkinoimaan netissä ja eri alojen ammattilehdissä. Yrityksen liikeidea osoittautui toimivaksi. Matti ja Maija saivat tilauksia useilta suomalaisilta yrityksiltä. Toiminnan kasvaessa Matti ja Maija totesivat, että asiakastietojen ja tilausten hallinta manuaalisesti on liian työlästä. Matin veli Seppo oli opiskellut tietojenkäsittelyä. Seppo tarjoutui tekemään yrityksen käyttöön pienen tietokantapohjaisen tietojärjestelmän. Haastattelun tuloksena hän sai aikaan seuraavanlaisen vaatimusmäärittelyn (seuraava kalvo). Jouni Huotari & Ari Hovi 15

ESIMERKKI: DEMOX OY - VAATIMUSMÄÄRITTELY 1. Johdanto. Tavoitteena on tehdä tietokantaohjelmisto pienyrityksen asiakas-, tuote- ja tilaustietojen hallintaan. Toimeksiantajana on Demox Oy, jossa on neljä työntekijää. 2. Toiminnot. Pakollisia toimintoja ovat: P1. Asiakastietojen (nimi, osoite, puhelin ym.) ylläpito. P2. Tuotetietojen (nimi, tuoteryhmä, hinta ym.) ylläpito. P3. Tilaustietojen (ainakin tilauspvm) ylläpito. Tärkeitä toimintoja ovat: T1. Yhteenvetoraportti vuoden aikana toimitetuista tuotteista asiakkaittain. T2. Tarratulostus asiakastiedoista (myynnin mukaisessa järjestyksessä). Parhaimmille asiakkaille (yhteyshenkilölle kohdistettuna) lähetetään joululahja ja muille joulukortti vuosittain. Jouni Huotari & Ari Hovi 16

KÄSITEMALLINNUS KÄSITTEIDEN, YHTEYKSIEN JA OMINAISUUKSIEN KUVAAMINEN

ESIMERKKEJÄ KUVAUSTEKNIIKOISTA ELI NOTAATIOISTA Käsite ASIAKAS ASIAKAS ASIAKAS ASIAKAS ASIAKAS ASIAKAS Yhteys eli riippuvuus 1:1 tekee 0:N TILAUS TILAUS 1..1 0..* TILAUS Jouni Huotari & Ari Hovi 18

YHTEYS ELI RIIPPUVUUS Riippuvuus ilmaisee yhteyttä tai suhdetta käsitteiden välillä Yhteyttä voi kuvata verbillä Isällä on monta lasta Asiakas tekee monta tilausta Myyjä myy monta tuotetta Tilin avaa yksi henkilö Muista lukea lause molempiin suuntiin ja kysyä (toimeksiantajalta) esim.: Voiko lapsella olla monta isää? Voiko yhdessä tilauksessa olla monta asiakasta Voiko samaa tuotetta myydä moni myyjä? Voiko yksi henkilö avata monta tiliä Mieti, mihin tarkoitukseen (kenelle) tietokanta tulee Tee myös päätös: halutaanko historiatietoa tallentaa (esim. tuotteen myyntihistoria) Jouni Huotari & Ari Hovi 19

YHTEYKSIEN MERKINTÄTAPOJA Yhden suhde moneen -yhteys, 1:M, voidaan ilmaista lukuisilla eri tavoilla riippuen käytettävästä notaatiosta, esim. Jouni Huotari & Ari Hovi 20

SUOSITELTAVIA VAIHTOEHTOJA YHTEYKSIEN KUVAAMISEKSI harakanvarvasnotaatio UML-notaatio yksi-yhteen yksi-moneen moni-moneen * * * crow s feet Jouni Huotari & Ari Hovi 21

KÄSITEMALLI VOIDAAN JOHTAA ESIINTYMISTÄ HENKILÖ TILI Pekka Joki 203040-43567 Käsitemalli Pirkko Joki 203050-77564 Esiintymiä ASIAKAS asiakastunnus asiakas_nimi puhelinnumero asiakasluokka perustamispvm PeHe Pekka Heikkilä Jouni Huotari & Ari Hovi 22

MALLINNUSTEHTÄVÄ 2 a) Mallinna tilaustenkäsittelyyn liittyvien käsitteiden TILAUS, ASIAKAS ja TUOTE väliset yhteydet Suositus: tee käsitemalli UML-luokkakaavionotaatiolla Jouni Huotari & Ari Hovi 23

PIKAOHJE KÄSITEMALLINNUKSEEN (UML- LUOKKAKAAVIO) Luo yhteys Binary Association työkalulla Muuta viivan asetukset kaksoisnapsautuksella ja hiiren oik.puoleisella napilla Shape Display Options Format - Line Jos halutaan korostaa riippuvuutta Jouni Huotari & Ari Hovi 24

TIEDOT ELI OMINAISUUDET ELI ATTRIBUUTIT Käsitteisiin liittyy tietoja eli ominaisuuksia (attribute) Käsitteellä on oltava yksilöivä tunniste eli perusavain (primary key, PK) pakollinen, yksilöivä tieto voi koostua useasta tiedosta voi olla luonnollinen tai ns. surrogaatti (johdettu) ei saa olla tyhjä; moniosaisen perusavaimen kohdalla edes osittain Voidaan merkitä esim. alleviivaamalla tai lihavoimalla Joukko tavallisia tietoja (non-key attributes) Viiteavaimet (foreign key, FK) voi olla osa perusavainta voidaan merkitä esim. laittamalla kirjaimet FK tai kursivoimalla Tiedot kuvaavat käsitettä, johon ne liittyvät Jouni Huotari & Ari Hovi 25

ESIMERKKEJÄ ASIAKAS asiakastunnus asiakas_nimi puhelinnumero asiakasluokka perustamispvm ASIAKAS asiakastunnus asiakas_nimi puhelinnumero asiakasluokka perustamispvm ASIAKASRYHMA Perusavain Muut tiedot Viiteavain ASIAKAS as_tunnus as_nimi as_osoite ryhmatunnus Jouni Huotari & Ari Hovi (FK) ryhmatunnus asryhmannimi 26

MALLINNUSTEHTÄVÄ 2 (JATKUU) b) Mitä ominaisuuksia liittyy mallinnustehtävässä 2 a tunnistettuihin käsitteisiin? Kirjaa ne käsitteiden viereen. Huom. Koska Microsoft Visio ei mahdollista UML-kaavion muuntamista tietokantakaavioksi, on järkevää kirjata ominaisuudet CASE-työkalulla, joka pystyy generoimaan tietokannan ja taulujen luontikäskyt. Tee sen vuoksi nk. looginen malli TOADilla tai vastaavalla CASE-työkalulla. Tällöin myös moni-moneen yhteydet on purettava, jos ollaan tekemässä relaatiotietokantaa. Jouni Huotari & Ari Hovi 27

TARKEMPAA KÄSITEMALLINNUSTA Ehdollisuus; riippumattomat ja riippuvat käsitteet Moni-moneen-yhteys ja sen purkaminen Yksi-yhteen-yhteys Esimerkkejä Yhteys itseensä; hierarkkiset rakenteet Käsitteiden yhdistäminen Jouni Huotari & Ari Hovi 28

YHTEYKSIEN PAKOLLISUUS / EHDOLLISUUS OSASTO osasto_id osastonimi OSASTO osasto_id osastonimi voi kuulua HENKILO henkilotunnus etunimi Sukunimi osasto_id Henkilö voi kuulua osastoon (ei siis ole pakko kuulua) 0..1 0..* on kuuluttava HENKILO henkilotunnus etunimi Sukunimi osasto_id Henkilö kuuluu osastoon (ei voi tallettaa henkilöä antamatta samalla osastoa) 1..1 0..* 0:1 0:M Jouni Huotari & Ari Hovi 29

4 MAHDOLLISTA VAIHTOEHTOA OSASTO osasto_id osastonimi OSASTO osasto_id osastonimi OSASTO osasto_id osastonimi OSASTO osasto_id osastonimi HENKILO henkilotunnus etunimi sukunimi HENKILO henkilotunnus etunimi sukunimi HENKILO henkilotunnus etunimi sukunimi HENKILO henkilotunnus etunimi sukunimi Jouni Huotari & Ari Hovi 30

KÄSITETYYPIT 1) Moni-moneen-yhteydet => assosiatiiviset käsitteet Esimerkiksi projektin ja henkilön välillä on moni-moneen-yhteys Tämän yhteyden nimi on esim. osallistuu Tästä voidaan johtaa assosiatiivinen käsite osallistuminen PROJEKTI ptun pnimi osallistuu HENKILO htun etunimi sukunimi osoite PROJEKTI ptun pnimi OSALLISTUMINEN OsallistumisID ptun htun Tunnit KirjausPvm HENKILO htun etunimi sukunimi osoite Jouni Huotari & Ari Hovi 31

KÄSITETYYPIT (JATKOA) 2) Riippumattomat käsitteet eli ydinkäsitteet (Independent entities) Käsitteen perusavaimessa ei tarvita muiden käsitteiden tietoja Käsite ei ole riippuvainen muista käsitteistä (voi tallettaa tietoja muista välittämättä) 3) Riippuvat käsitteet eli karakteristiset käsitteet PROJEKTI ptun pnimi HENKILO htun etunimi sukunimi osoite Käsitteen moniosaisessa perusavaimessa on mukana isä-käsitteen perusavain Käsite ei voi olla olemassa, jos ei isää ole (ei voida tallettaa projektitunteja jollei projektia ole olemassa) OSALLISTUMINEN ptun htun Tunnit KirjausPvm UML: * Jouni Huotari & Ari Hovi 32

SUHTEISTA Monta riippuvuutta samojen käsitteiden välillä: Asiakas omistaa käyttää => Jos on monta riippuvuutta, nimeä riippuvuudet Tili Moni-moneen-yhteys: muista purkaa, jos ollaan tekemässä relaatiotietokantaa! Asiakas Tili ASIAKAS omistaa TILI TILITAPAHTUMA Lapsen nimivaihtoehtoja: ASIAKAS_TILI Asiakkaan tilit Jouni Huotari & Ari Hovi 33

MALLINNUSTEHTÄVÄ 2 c) Miten purat mahdolliset M:N-yhteydet (esim. TILAUKSENn ja TUOTTEEN välillä) Kun M:N-yhteydet puretaan ja ominaisuudet lisätään, syntyy nk. kohdemalli Jouni Huotari & Ari Hovi 34

ESIMERKKI YKSI-YHTEEN-YHTEYDESTÄ MAA PÄÄ- KAUPUNKI Jouni Huotari & Ari Hovi 35

TAPAHTUMA tapahtuma _ nro pvm kello kassa myynti maara alennus vero TUOTE tuotenro nimi kuvaus yksikko tuoteryhma tuoteryhmanimi LIIKE liikenro liiikenimi lahiosoite PIIRI piini piirinimi johtaja muutospvm LAANI laani laaninimi POSTI postinro posti TUOTERYHMA tuoteryhma tuoteryhmanimi kuvaus TUOTEHINTA tuotenro voimaantulopvm hinta HENKILO henkilonro etunimi sukunimi nimike toihintulopvm esimies vastaava TAPAHTUMA tapahtuma _ nro pvm kello kassa myynti maara alennus vero TUOTE tuotenro nimi kuvaus yksikko tuoteryhma tuoteryhmanimi LIIKE liikenro liiikenimi lahiosoite PIIRI piini piirinimi johtaja muutospvm LAANI laani laaninimi POSTI postinro posti TUOTERYHMA tuoteryhma tuoteryhmanimi kuvaus TUOTEHINTA tuotenro voimaantulopvm hinta HENKILO henkilonro etunimi sukunimi nimike toihintulopvm esimies vastaava ESIMERKKI KÄSITEMALLISTA Jouni Huotari & Ari Hovi 36

ESIMERKKI: OSA TILAUSTENKÄSITTELYSTÄ UML:N LUOKKAKAAVIONA Luokan nimi Ominaisuudet Minkälaisiin tilanteisiin oliopohjainen suunnittelu soveltuu? Metodit (toiminnot) Onko olemassa hybridiratkaisuja? Jouni Huotari & Ari Hovi 37

ESIMERKKI KURSSIEN HALLINNASTA (MARTININ INF. ENG. NOTAATIO; KOPIO VISION OHJEESTA) Jouni Huotari & Ari Hovi (kopio Vision helpistä) 38

HIERARKIAT JA BOM-RAKENNE kuuluu yhtiöön YRITYS Yritystunnus Emon_yritystunnus (FK) Esimerkki hierarkiasta: yritys voi omistaa monta muuta yritystä; yksi yritys voi kuulua yhteen emoyhtiöön. YRITYS yritystun kauprekno nimi osoite puhelin tase liikevaihto omistaa yhtiöitä Esimerkki BOM-rakenteesta (bill-of-material): Yritys voi omistaa monta muuta yritystä; yksi yritys voi kuulua moneen emoyhtiöön. BOM: tuoterakenne YRITYS yritystun kauprekno nimi osoite puhelin tase liikevaihto kuuluu yhtiöön omistaa yhtiöitä YRITYSSUHDE yritystun1 yritystun2 omistuspros Jouni Huotari & Ari Hovi 39

TIETOJEN TOISTAMISTA? ASIAKAS TILAUS astun osoite tilnro toimitusosoite Saaako asiakkaan osoitteen kopioida tilaukseen? Eikö ole kiellettyä toistamista? TILAUSRIVI tilnro rivinro hinta TUOTE tkoodi hinta Entä hinta? Jouni Huotari & Ari Hovi 40

KÄSITTEIDEN YHDISTÄMINEN Ennen: ASIAKAS YHTEISTYOKUMPPANI TOIMITTAJA Nyt: OSAPUOLI Ennen: 1_neljannes 2_neljannes 3_neljannes 4_neljannes tulos tase tulos tase tulos tase tulos tase Nyt: Neljannes neljannes_tunnus tulos tase Jouni Huotari & Ari Hovi 41

MÄÄRITTELYISTÄ Yrityksemme kanssa liikesuhteessa oleva luonnollinen henkilö, yhteisö tai yritys. ESIM. Oy Kala Ab, Joutsenon kunta, Pekka Jokinen, Shakkipojat ry Anna käsitteille määritelmät + kirjoita esimerkkejä Jouni Huotari & Ari Hovi 42

LISÄTIETOJA Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) Hovi, Ari. SQL-opas, Docendo (2004) Connolly & Begg: Database Systems, Addison Wesley (2003) Soini, Tapani. Tietoanalyysi, Weilin&Göös (1984) Jouni Huotari & Ari Hovi 43