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 vaatimukset, joiden perusteella tunnistetaan: Kohdealueen käsitteet (entiteetit) ja niiden merkitys Käsitteiden väliset suhteet Käsitteiden ominaisuudet (attribuutit) Viope: yksilötyypit, yhteystyypit ja ominaisuustyypit. sivu 2
Käsiteanalyysi (jatkoa) Käsitteen yksittäisen ilmentymän (olion) kullakin attribuutilla on arvo. Attribuuttien arvot muodostavat suuren osan tietokannassa olevasta datasta. Käsitemalli on täysin riippumaton toteutusratkaisusta Aloitetaan karkealla tasolla ja tarkennetaan iteratiivisesti Ei kannata pyrkiä tekemään heti täydellistä mallia Käsitteellinen mallintaminen on tietokannan suunnittelun tärkein vaihe! sivu 3
Vaihe 1. Käsitteiden tunnistaminen Käsite kuvaa jotain asiaa, josta haluamme tallettaa tietoa tietojärjestelmän käyttäjiä varten Käsite on kohdealuetta kuvaavassa lauseessa substantiivi Opiskelija ilmoittautuu kurssille. Reaalimaailman konkreettinen objekti esim. opiskelija, työntekijä, tuote, asiakas Abstrakti asia esim. tilaus, osallistuminen Pysyvän luontoinen esim. asiakas, tuote Tapahtumatyyppinen esim. tilaus, talletus tilille Huomioi historiatiedon tallentamistarve (esim. tuotteen myyntihistoria) sivu 4
Harjoitus 1. Käsitteiden tunnistaminen Tee lista videovuokraamon toimintaan liittyvistä käsitteistä (nk. käsite-ehdokkaiden kirjaus) Listaa käsitteet käyttäen kynää ja paperia tai tietokoneella Nimeä käsitteet alustavasti, niitä ei kannata miettiä alussa liian pitkään Ryhmittele käsitteitä (esim. mind-map) ja mieti voiko käsitevalintaa parantaa Yhtä ainutta oikeata vastausta ei ole olemassa! sivu 5
Harjoitus 1. Ehdotuksia sivu 6
Käsitemallin esittäminen Useita erilaisia notaatioita (katso luennon 1 kalvot) Chen, harakanvarvas, UML Käytettävissä oleva työkalu määrää Koulussa käytettävissä MS Visio Webissä ilmainen simppeli sovellus Tiny Modeller (http://tinymodeler.com) sivu 7
Suhteet eli yhteydet Kuvaavat käsitteiden välisiä, kohdealueen kannalta kiinnostavia riippuvuuksia Kohdealuetta kuvaavissa lauseissa yhteys on yleensä verbi Opiskelija ilmoittautuu kursseille Asiakas tekee tilauksia Suhteiden mahdollinen lukumäärä (eli yhteystyypin aste) on tärkeä suunnittelutieto sivu 8
Suhteet eli yhteydet (jatkoa) Lukumääräsuhteet voivat olla: 1:1 - yhden suhde yhteen 1:N - yhden suhde moneen M:N - monen suhde moneen M:N suhde ei ole sallittu valmiissa relaatiotietokannaksi muutettavassa käsitekaaviossa ja tällainen suhde on purettava kahdeksi 1:N tyyppiseksi suhteeksi. Kohdealuetta kuvaavat lauseet on tulkittava molempiin suuntiin! Voiko yhdessä tilauksessa olla monta asiakasta? sivu 9
Suhteet eli yhteydet (jatkoa) Suhteet voidaan johtaa käsitteiden ilmentymistä: Liisalla on yksi oma pankkitili ja yhteinen tili Pekan kanssa. Millainen lukumääräsuhde on käsitteiden pankkitili ja henkilö välillä? Visio Entity Relationship stencil, Dynamic connector Tiny Modeller sivu 10
Yhteyksien pakollisuus ja ehdollisuus sivu 11
Yksi-yhteen -yhteys Kahden käsitteen välillä on yksi-yhteen yhteys, jos ensimmäisen käsitteen yksilö voi liittyä vain ja ainoastaan toisen käsitteen yhteen yksilöön ja päinvastoin Melko harvinaisia Esimerkki: Maa Pääkaupunki Mallinnusvaihtoehto: käsitteiden yhdistäminen Pääkaupunki ja tavallinen kaupunki Pääkaupunkia varten ominaisuus rooli (joka voisi saada tietysti muitakin arvoja) Kunta? sivu 12
Moni-Moneen -yhteys Projektitietokannassa on projektin ja henkilön välillä on moni-moneen-yhteys Tyoskentelee Tyoskentelee on assosiatiivinen käsite, joka purkaa projektin ja työntekijän välisen monesta-moneen yhteyden sivu 13
Attribuutit eli ominaisuudet Käsitteitä määrittäviä ja kuvaavia tietoja Tavalliset attribuutit ja avainattribuutit Pääavain/perusavain (primary key, PK) pakollinen, yksilöivä tieto (eri arvo jokaisella yksilöllä) voi koostua useasta attribuutista ei voi olla arvoltaan tyhjä, moniosaisen pääavaimen kaikilla osilla on oltava arvo merkitään kaavioissa esim. alleviivaamalla, lihavoimalla pääavaimen nimi tai liittämällä siihen kirjaimet PA tai PK Viiteavaimet (foreign key, FK) voi olla osa pääavainta merkitään kaavioissa esim. kursivoimalla viiteavaimen nimi tai liittämällä siihen kirjaimet VA tai FK sivu 14
Harjoitus 2. Yhteydet ja ominaisuudet Mallinna videovuokraamoon liittyvien käsitteiden väliset yhteydet Mitä ominaisuuksia liittyy videovuokraamon mallinnustehtävässä tunnistettuihin käsitteisiin? Kirjaa ominaisuudet käsitteiden alle taulukkoon. sivu 15