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 mallintaminen... 6 Käsitekaavio... 8 Luokka... 9 Attribuutti... 10 Yhteys... 11 Tietohakemistokuvaus... 13 CASE-tuotteet... 15 Yhteenveto... 16 Käsitteitä... 17
HAAGA-HELIA / Heti-09 2 (17) Tietojärjestelmän suunnitteluprosessi Tietokannan suunnittelu on osa tietojärjestelmän suunnittelua 1. Vaatimusmäärittely 2. Systeemin suunnittelu 3. Toteutus 4. Testaus 5. Käyttöönotto 6. Ylläpito
HAAGA-HELIA / Heti-09 3 (17) Tietokannan suunnittelun tavoitteet 1. Tyydyttää käyttäjien tietotarpeet 2. Tiedon luotettavuus 3. Hyvä suorituskyky 4. Yhteensopivuus 5. Jatkokehitettävyys Luotettavuus? Vastaa todellisuutta Ristiriidaton Suunnittelumenetelmä on työkalu tavoitteiden saavuttamiseksi suunnittelun vaiheistus suunnittelun työtehtävät ja tuotokset kuvaustavat
HAAGA-HELIA / Heti-09 4 (17) Tietokannan suunnitteluprosessi Vaihe Tavoite Päätehtävät Tuotokset Käsitteellinen mallintaminen (Conceptual Modeling) Ymmärtää kohdealueen toiminta ja terminologia Keskeiset käsitteet, niiden merkitys, niiden väliset suhteet sekä attribuutit Luokkakaavion suunnittelu Tietohakemiston määrittely Luokkakaavio (class diagram) Tietohakemistokuvaukset Looginen mallintaminen (Logical Modeling) Esittää luokkakaavion tietosisältö relaatiotietomallin (relational model) mukaisesti Relaatiokaavion johtaminen Normalisointi Relaatiokaavio (Logical Schema) Eheysmäärittelyt (Integrity Constraints) Fyysinen mallintaminen (Physical Modeling) Fyysisen talletusratkaisun ja suojausten suunnittelu Suojausten suunnittelu Suorituskyvyn optimointi SQL-lauseet, joilla tietokannan objektit luodaan
HAAGA-HELIA / Heti-09 5 (17) Suunnittelun edetessä suunnitelma konkretisoituu: Käsitteellinen mallintaminen Looginen mallintaminen Fyysinen mallintaminen Tietosisältö Riippumaton toteutusratkaisuista Rakenne Sidottu käytettävään tietomalliin Toteutusratkaisut Sidottu käytettävään toteutusympäristöön Eri tasojen kuvaukset yhdessä kuvaavat tiedot kokonaisuudessaan Samaa asiaa ei kuvata monella tasolla.
HAAGA-HELIA / Heti-09 6 (17) Käsitteellinen mallintaminen (Conceptual modeling) 1. Kohdealueen käsitteet (terminologia) 2. Käsitteiden merkitys 3. Käsitteiden väliset suhteet 4. Käsitteiden ominaisuudet eli attribuutit 5. Yksilöiden identifiointi Perustuu käyttäjien vaatimuksiin (requirements) Riippumaton toteutusratkaisusta! Tietokannanhallintajärjestelmä / DBMS Ohjelmointikieli Laitealusta...
HAAGA-HELIA / Heti-09 7 (17) Esim. Kurssihallinto... Kohdealue Kansanopiston kurssihallinto Kohteen keskeiset käsitteet Kurssi Opettaja Oppilas Osallistuminen Yksilötyyppien määrittely Rajaus: Mikä kuuluu ko. käsitteen piiriin Opettaja kansanopistossa opetustyöhön palkattu henkilö Kurssi Opiskeltava kokonaisuus, jolle on määritelty tavoitteet ja sisältö Oppilas kansanopistossa opiskeleva henkilö Osallistuminen oppilaan toiminta, joka tähtää kurssin suorittamiseen
HAAGA-HELIA / Heti-09 8 (17) Käsitekaavio (Conceptual schema) Yleisin tapa kuvata tietokantaa käsitetasolla 1 perustekniikka monta murretta (=piirrostapaa) Nykyään käytetyin kuvaustapa on Luokkakaavio (Class Diagram) Vanhemmissa tietojärjestelmissä puhutaan ER-kaavioista (Entity Relationship Model / ER-model) Keskeiset käsitteet luokkakaaviossa 1. Luokka Class 2. Yhteys (Association) Relationship 3. Attribuutti Attribute
HAAGA-HELIA / Heti-09 9 (17) Luokka Olio on mikä tahansa todellisuuden osa, joka on itsenäisesti olemassa ja joka voidaan identifioida Luokka on keino ryhmitellä samankaltaisia olioita ts. luokan jäsenillä on samankaltaisia ominaisuuksia (eli attribuutteja) ja yhteyksiä Ts. olio on aina jonkin luokan esiintymä Luokka Olio OPISKELIJA Oliot voivat olla konkreettisia, kuten asiakas, opiskelija, kirja erilaisia liiketoiminnan tapahtumia, kuten varaus, tilaus, toimitus, maksu abstrakteja asioita, kuten yritys, työsuhde, pankkitili, sopimus, kurssi
HAAGA-HELIA / Heti-09 10 (17) Attribuutti Luokan jäsenten tietyt ominaisuudet ovat kiinnostavia kohdealueen kannalta niistä halutaan tallentaa tietoa Luokka Olio OPISKELIJA +opi_id +opi_sukunimi +opi_etunimi +opi_osoite +opi_puh 0900123 Valonen Veikko Kotitie 1 00100 HKI 040 123456 Luokalla on oltava jokin idenfioiva attributti usein se on keinotekoinen numero tai tunnus esim. opiskelijanumero, kurssitunnus, rekisteritunnus, sotu
HAAGA-HELIA / Heti-09 11 (17) Yhteys Luokkien välinen kiinnostava yhteys OPISKELIJA KURSSI Määrärajoite alaraja: 0, 1 yläraja: 1, * ( * = monta) esim: tietyllä kurssilla on 0:sta moneen kirjaa ja tietty kirja 0-1 kurssilla: KIRJA 0..1 KURSSI esim: tietyllä kurssilla on 0:sta moneen opiskelijaa ja tietty opiskelija 0:sta moneen kurssilla: KURSSI OPISKELIJA erilaisia kombinaatiomahdollisuuksia
HAAGA-HELIA / Heti-09 12 (17) Esim. Luokkakaavio.. ilman attribuutteja KURSSI OPISKELIJA 1 OPETTAJA tai attribuuttien kanssa KURSSI +krs_id +krs_nimi +krs_laajuus OPISKELIJA +opi_id +opi_sukunimi +opi_etunimi +opi_osoite 1 OPETTAJA +ope_id +ope_sukunimi +ope_etunimi +ope_huoneno
HAAGA-HELIA / Heti-09 13 (17) Tietohakemistokuvaus Tietohakemistoon kootaan luokkiin liittyvä kiinnostava tieto, jota ei mahdu luokkakaavioon Käsitteellisen tason tietohakemistoa nimitetään nykyään myös kuvauskannaksi (repository) Huom: Tiedonhallintajärjestelmä ylläpitää omaa tietohakemistoa toteutetuista tietokantaobjekteista (data dictionary)
HAAGA-HELIA / Heti-09 14 (17) Esim. Tietohakemistokuvaus Käsitteen nimi: Nimilyhenne: Määritelmä: Attribuutit: Pääavain: Esimerkki: Opettaja OPE Oppilaitoksessa ammatikseen opetustyötä tekevä henkilö, jonka työsuhde on voimassa tai päättynyt Opettajanumero, Sukunimi, Etunimi, Tutkinto, Puhelinnumero, Huone, Lyhenne, Päättymis_pvm Opettajanumero Esiintymän / yksilön kuvaus Opettajanumero 1234 Sukunimi Valo Etunimi Into Tutkinto FM Puhelinnumero (09) 1498 01 Huone 3012 Lyhenne ValIn Päättymis_pvm
HAAGA-HELIA / Heti-09 15 (17) CASE-tuotteet (Computer Aided System Engineering) Tietokoneavusteinen systeemityö tukevat määrittelytiedon tallentamista tukevat suunnitelman visualisointia tuottavat alustavan tietokanta- (ja ohjelmisto-) ratkaisun määrittelyjen pohjalta. Tällä kurssilla CASE-tuotteen sijasta käytössä on MS Visio kaaviopiirrosohjelma
HAAGA-HELIA / Heti-09 16 (17) Yhteenveto Tietokannan suunnitteluprosessi alkaa käsitteellisestä mallintamisesta 1. Kohdealueen Luokat 2. Luokkien määrittely 3. Luokan yksilöiden identifiointi 4. Luokkien väliset yhteydet 5. Luokkien attribuutit Lopputuloksina 1. Luokkakaavio 2. Tietohakemistokuvaukset Tarkista lopputulos asiakkaan edustajan kanssa! Käsitteellinen mallintaminen on kriittisin vaihe tietokannan suunnitteluprosessissa!
HAAGA-HELIA / Heti-09 17 (17) Käsitteitä Käsitekaavio (Conceptual Schema) Tietokannan tietosisällön kuvaus, jossa kohdetta kuvataan käsitteinä ja niiden välisinä suhteina. Kuvaus on riippumaton toteutusratkaisuista. Luokkakaavio (Class Diagram) Kohdealueen kuvaus, jossa kohdetta kuvataan olioluokkina ja niiden välisinä suhteina. Luokkakaavio on keskeinen osa oliosuuntautunutta ohjelmiston suunnittelukuvastoa. Suunnitteluprosessi Suunnittelun eteneminen vaiheesta toiseen Tietohakemisto 1) tietokannan tietosisällön määrittelyt (repository) sisältäen myös merkitysten määrittelyt 2) tietokannan hallintajärjestelmän (DBMS) ylläpitämät tiedot (data dictionary) tietokantaan luoduista objekteista Tietokannan hallintajärjestelmä (Database Management System, DBMS) Yleisohjelmisto, joka avulla tietokannan tietoja käytetään ja ylläpidetään Tietomalli (Data Model) Malli jonka mukaan tietokannan tiedot organisoidaan. Koostuu joukosta käsitteitä, sääntöjä ja operaatioita. (esim. relaatiomalli, hierarkkinen malli, verkkomalli, oliomalli)