Ari Hovi & Jouni Huotari M3-1



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

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

3. Käsiteanalyysi ja käsitekaavio

TIETOKANTOJEN SUUNNITTELU

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

Tietokantojen suunnittelu

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

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

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

Tietokantojen suunnittelu, relaatiokantojen perusteita

Käsiteanalyysi prosessina ja tarveanalyysi

2. Käsiteanalyysi ja relaatiomalli

Fyysinen suunnittelu

Tietokannan suunnittelu

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

TIETOKANNAN SUUNNITTELU

FYYSINEN SUUNNITTELU

Tietovarastojen suunnittelu

IIO30100 TIETOKANTOJEN SUUNNITTELU (6 OP)

HELIA 1 (17) Outi Virkki Tiedonhallinta

Luento 3 Tietokannan tietosisällön suunnittelu

IIO30100 Tietokantojen suunnittelu (6 op)

TIETOVARASTOJEN SUUNNITTELU

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

IIO10200 TIETOKANTAOHJELMOINTI (4 OP) OPINTOJAKSON ESITTELY JOUNI HUOTARI

YHTEYSSUHDE (assosiation)

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

Visual Case 2. Miika Kasnio (C9767)

UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI

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

IIO10200 Tietokantaohjelmointi (4 op)

HELIA 1 (20) Outi Virkki Tiedonhallinta

FYYSINEN SUUNNITTELU

IIO30100 Tietokantojen suunnittelu (6 op)

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

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Relaatiomalli ja -tietokanta

Myyntitilaus -tiedoston kuvaus

HARJOITUS 2. Kasvattamot ja mittaukset

TIETOKANNAT JOHDANTO

HELIA 1 (12) Outi Virkki Tiedonhallinta

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

TIETOJEN TUONTI TIETOKANNASTA + PIVOT-TAULUKON JA OLAP-KUUTION TEKO

Tietokannan suunnittelu

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

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

TTZC0800 TIETOKANNAT (5 OP)

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

IIZO3030 TIETOKANNAT (5 OP)

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Mikä yhteyssuhde on?

Visma Business AddOn Tilauksen synkronointi. Käsikirja

Tieto/datamallit. Marttila-Kontio/Unicta Oy

TIETOKANNAN JÄRKEISTÄMINEN

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

Ohjelmistojen mallintaminen, mallintaminen ja UML

2. Olio-ohjelmoinnin perusteita 2.1

Toad Data Modeler Lari Hoppula Annika Koppelomäki Johanna Pietilä Esko-Pekka Tähti

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

Tietokantojen perusteet

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

Tietokannat II -kurssin harjoitustyö

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

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

Pikaohje formaatin valmistamiseen

IIO30200 TIETOKANNAN HALLINTA (5 OP)

2. Olio-ohjelmoinnin perusteita 2.1

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14

IIO30200 Tietokannan hallinta (5 op)

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

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Hovi Huotari Lahdenmäki TIETO- KANTOJEN SUUNNITTELU & INDEKSOINTI

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

Sisäänkirjautuminen Tallennus/raportit (YAP) Tallennusohjelma

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

UML Luokkakaavio 14:41

HELIA 1 (19) Outi Virkki Tietokantasuunnittelu

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

UML ja luokkien väliset suhteet

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

HELIA 1 (13) Outi Virkki Tietokantasuunnittelu

Basware toimittajaportaali

Luokkakohtaiset eli stattiset metodit ja attribuutit

Antti-Jussi Lakanen Ohjelmointi 1, C# / kevät 2011

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Yrityksen sähköisen sanomaliikenteen automatisointi

HELIA 1 (17) Outi Virkki Tiedonhallinta

TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI

TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT

1. Tarkastellaan seuraavaa kaaviota

Timanttiset-verkkokauppa, ohje

ADMIN. Käyttöopas 08Q4

Olioistako relaatiokanta?

1. Valitse aineiston perusteella oikea vaihtoehto: b) Uudet liiketoimintamallit ovat korvanneet perinteisen musiikkimyynnin vähenemisen.

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

LIIKETOIMINTASUUNNITELMA YRITYKSEN NIMI PÄIVÄYS

Transkriptio:

Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Käsitemalli Reaalimaailma Käsiteanalyysi kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luku 3 Tietokanta Kohdealue Kohdealueen valinnasta käsitemallin kautta toteutettavaan tietokantaan 2 Systeemimetodologian malli Termejä Käsite = kohde (Entity) = yksilö- tai oliotyyppi ~ luokka yksittäiset oliot, esiintymät, ilmentymät, instanssit Käsiteanalyysi = kohdeanalyysi Ks. Tietoanalyysi (Soini) Käsitemalli (ER-malli) ER-kaavio (tietokantakaavio) ~ luokkakaavio Yhteys = riippuvuus = assosiaatio = suhde (Relationship) Ominaisuus = tieto = attribuutti (Attribute) Lukumääräsuhde = kardinaliteetti Notaatio = kuvaustekniikka 3 4 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 Käsitemalli on kuvaus tietokannan toteutusta varten Käsitemalli Mitkä Mitkäovat tietokantaan talletettavat tiedot tiedot ja ja niiden niiden väliset väliset yhteydet tietyllä tietylläkarkeustasolla Tietokannan piirustukset Yhteinen näkemys (tai (tai sopimus) kohdealueesta 5 Tietokannan taulut 6 Ari Hovi & Jouni Huotari M3-1

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 7 Käsitteen tunnistaminen 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 yksikkö, vakuutuskorvaus tai budjettikuukausi Pysyvän luontoinen, kuten asiakas, tuote tai tapahtumatyyppinen, kuten tilausrivi, tilitapahtuma Käsite on lauseessa substantiivi Asiakas tekee tilauksia 8 Tehtävä 1: käsitteiden tunnistaminen Tee lista esim. Demox Oy:n käsitteistä (nk. käsiteehdokkaiden 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 9 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). 10 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,, 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. Tarratus asiakastiedoista (myynnin mukaisessa järjestyksessä). Parhaimmille asiakkaille (yhteyshenkilölle kohdistettuna) lähetetään joululahja ja muille joulukortti vuosittain. 11 Käsitemallinnus Ari Hovi & Jouni Huotari M3-2

Esimerkkejä kuvaustekniikoista eli notaatioista Käsite Yhteys eli riippuvuus tekee TILAUS TILAUS 13 1:1 tekee 0:N TILAUS 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) 14 Yhteyksien merkintätapoja Yhden suhde moneen -yhteys, 1:M, voidaan ilmaista lukuisilla eri tavoilla riippuen käytettävästä notaatiosta, esim. 2 vaihtoehtoista suositusta yhteyksien kuvaamiseksi harakanvarvasnotaatio UML-notaatio yksi-yhteen yksi-moneen moni-moneen crow s feet 15 16 Käsitemalli voidaan johtaa esiintymistä HENKILÖ TILI Pekka Joki 203040-43567 Mallinnustehtävä 2 a) Mallinna tilaustenkäsittelyyn liittyvien käsitteiden TILAUS, ja TUOTE väliset yhteydet Käsitemalli Pirkko Joki Esiintymiä 203050-77564 Suositus: tee käsitemalli MS Vision UMLluokkakaavionotaatiolla asiakastunnus asiakas_nimi puhelinnumero asiakasluokka perustamispvm PeHe Pekka Heikkilä 17 18 Ari Hovi & Jouni Huotari M3-3

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 19 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 20 Esimerkkejä asiakastunnus asiakas_nimi puhelinnumero asiakasluokka perustamispvm asiakastunnus asiakas_nimi puhelinnumero asiakasluokka perustamispvm Mallinnustehtävä 2 (jatkuu) b) Mitä ominaisuuksia liittyy mallinnustehtävässä 2 a tunnistettuihin käsitteisiin? Kirjaa ne käsitteiden viereen. RYHMA Perusavain Muut tiedot Viiteavain as_tunnus as_nimi as_ ryhmatunnus (FK) ryhmatunnus asryhmannimi 21 22 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 Yhteyksien pakollisuus / ehdollisuus voi kuulua Sukunimi Henkilö voi kuulua osastoon (ei siis ole pakko kuulua) 0..1 0.. on kuuluttava Sukunimi Henkilö kuuluu osastoon (ei voi tallettaa henkilöä antamatta samalla osastoa) 1..1 0.. 0:1 0:M 23 24 Ari Hovi & Jouni Huotari M3-4

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 pnimi osallistuu PROJEKTI pnimi OsallistumisID Tunnit KirjausPvm OSALLISTUMINEN 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 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) PROJEKTI pnimi OSALLISTUMINEN Tunnit KirjausPvm UML: 25 26 Suhteista Monta riippuvuutta samojen käsitteiden välillä: omistaa Asiakas Tili käyttää => Jos on monta riippuvuutta, nimeä riippuvuudet Moni-moneen-yhteys: muista purkaa, jos ollaan tekemässä relaatiotietokantaa! Asiakas Tili 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 TILI TILITAPAHTUMA Lapsen nimivaihtoehtoja: _TILI Asiakkaan tilit 27 28 esimies Esimerkki yksi-yhteen-yhteydestä Esimerkki käsitemallista henkilonro PIIRI piini piirinimi nimike toihintulopvm vastaava TUOTERYHMA tuoteryhma tuoteryhmanimi kuvaus johtaja muutospvm LIIKE liikenro MAA PÄÄ- KAUPUNKI POSTI postinro posti liiikenimi lahi TUOTE tuotenro nimi kuvaus yksikko tuoteryhma TAPAHTUMA tuoteryhmanimi LAANI tapahtuma _ nro laani laaninimi pvm kello kassa myynti maara alennus vero TUOTEHINTA tuotenro voimaantulopvm hinta 29 30 Ari Hovi & Jouni Huotari M3-5

Esimerkki: tilaustenkäsittely Esimerkki 2: tilaustenkäsittely, jossa isä-lapsi-suhteet esitetty ymmärrettävämmin? Asiakas_myyjä Asiakas_myyjä Myyjä Myyjä Alue Alue Varasto Varasto vtun mnro aluetun astun mnro astun Asiakas Asiakas Tilaus Tilaus Tilausrivi Tilausrivi rivinro maks. vast.ot. Yleistiedot Yleistiedot Sopimus Sopimus sopnro Tuote Tuote tkoodi aluetun Varasto Varasto vartun Alue Alue Myyjä Myyjä myyjanro As_myyjä As_myyjä asiakastun myyjanro Asiakas Asiakas maks.vast.ot. Sopimus Sopimus sopnro asiakastun Tilaus Tilaus tilausnro Tilausrivi Tilausrivi tilausnro rivinro Yleistiedot Yleistiedot Tuote Tuote tuotekoodi Minkälaisia ongelmia voi esiintyä, jos kuvaus esitettäisiin aina yllä olevalla tavalla? Minkälaisia ratkaisuja keksit kuvausongelmiin? Mikä kuvaustapa on mielestäsi paras? 31 32 Esimerkki 3: osa tilaustenkäsittelystä UML:n luokkakaaviona Esimerkki 4: Martinin ERD notaatio (kopio Vision helpistä) Luokan nimi Omainaisuudet Minkälaisiin tilanteisiin oliopohjainen suunnittelu soveltuu? Metodit (toiminnot) Onko olemassa hybridiratkaisuja? 33 34 4 mahdollista vaihtoehtoa Hierarkiat ja BOM-rakenne kuuluu yhtiöön omistaa yhtiöitä YRITYS Yritys Yritystunnus Emon_yritystunnus (FK) Esimerkki hierarkiasta: yritys voi omistaa monta muuta yritystä; yksi yritys voi kuulua yhteen emoyhtiöön. BOM: tuoterakenne yritystun kauprekno nimi puhelin liikevaihto Esimerkki BOM-rakenteesta (bill-of-material): Yritys voi omistaa monta muuta yritystä; yksi yritys voi kuulua moneen emoyhtiöön. YRITYS yritystun kauprekno nimi puhelin liikevaihto kuuluu yhtiöön omistaa yhtiöitä YRITYSSUHDE yritystun1 yritystun2 omistuspros 35 36 Ari Hovi & Jouni Huotari M3-6

Tietojen toistamista? astun Saaako asiakkaan osoitteen kopioida tilaukseen? Eikö ole kiellettyä toistamista? Käsitteiden yhdistäminen Ennen: TILAUS TILAUS toimitus YHTEISTYOKUMPPANI TOIMITTAJA TILAUSRIVI TILAUSRIVI rivinro hinta TUOTE TUOTE tkoodi hinta Entä hinta? Nyt: OSAPUOLI Ennen: 1_neljannes 2_neljannes 3_neljannes 4_neljannes Nyt: Neljannes neljannes_tunnus 37 38 Määrittelyistä Yrityksemme kanssa liikesuhteessa oleva luonnollinen henkilö, yhteisö tai yritys. ESIM. Oy Kala Ab, Joutsenon kunta, Pekka Jokinen, Shakkipojat ry 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) Anna käsitteille määritelmät + kirjoita esimerkkejä 39 40 Ari Hovi & Jouni Huotari M3-7