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



Samankaltaiset tiedostot
POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

Fyysinen suunnittelu

Ari Hovi & Jouni Huotari M3-1

IIO30100 TIETOKANTOJEN SUUNNITTELU (6 OP)

Olioistako relaatiokanta?

FYYSINEN SUUNNITTELU

Tietokannan suunnittelu

Käsiteanalyysi prosessina ja tarveanalyysi

TIETOKANNAN SUUNNITTELU

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

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

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

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

IIO10200 Tietokantaohjelmointi (4 op)

UML -mallinnus LUOKKAKAAVIO EERO NOUSIAINEN

NORMALISOINTI TIETOJEN MALLINNUS JOUNI HUOTARI & ARI HOVI

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

IIO10200 TIETOKANTAOHJELMOINTI (4 OP) OPINTOJAKSON ESITTELY JOUNI HUOTARI

IIO30100 Tietokantojen suunnittelu (6 op)

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

Tietokantojen suunnittelu, relaatiokantojen perusteita

TIETOKANNAT JOHDANTO

TIETOKANTOJEN SUUNNITTELU

FYYSINEN SUUNNITTELU

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

IIO30100 Tietokantojen suunnittelu (6 op)

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

2. Käsiteanalyysi ja relaatiomalli

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

HELIA 1 (17) Outi Virkki Tiedonhallinta

Tietokantojen perusteet

TTZC0800 TIETOKANNAT (5 OP)

Sisällys. Mitä on periytyminen? Yksittäis- ja moniperiytyminen. Oliot ja perityt luokat. Periytymisen käyttö. 8.2

TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI

Mitä on periytyminen?

Tietokannan suunnittelu

IIZO3030 TIETOKANNAT (5 OP)

A TIETOKANNAT, 3 op Syksy TI07. Teemu Saarelainen, lehtori Tietotekniikka teemu.saarelainen@kyamk.fi

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

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

3. Käsiteanalyysi ja käsitekaavio

Tietovarastojen suunnittelu

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

9. Periytyminen Javassa 9.1

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

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

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat

HELIA 1 (17) Outi Virkki Tiedonhallinta

Tietokantojen suunnittelu

TIETOKANNAN JÄRKEISTÄMINEN

Sisällys. 19. Unified Modeling Language (UML) Johdanto. Johdanto. Johdanto. Luokkakaavio:

IIO30200 TIETOKANNAN HALLINTA (5 OP)

IIO30200 Tietokannan hallinta (5 op)

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

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistojen mallintaminen Luokkakaaviot Harri Laine 1

Visual Case 2. Miika Kasnio (C9767)

TIETOKANNAN NORMALISOINTI JA NORMAALIMUODOT

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys)

Olio-ohjelmoinnissa luokat voidaan järjestää siten, että ne pystyvät jakamaan yhteisiä tietoja ja aliohjelmia.

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

HARJOITUS 2. Kasvattamot ja mittaukset

UML ja luokkien väliset suhteet

A TIETOKANNAT, 4 op Kevät TI09

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

Luokkamalli LUOKKAKAAVIO. Tämän osan sisältö. Luokkamalli. Luokka ja olio. Luokkakaavio (class diagram)

Luento 3 Tietokannan tietosisällön suunnittelu

Tietokannat II -kurssin harjoitustyö

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton

UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI

UML Luokkakaavio 14:41

Data Warehouse kuulumisia

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistojen mallintaminen, olioja relaatiomallinnuksen suhteesta

Hakemistojen sisällöt säilötään linkitetyille listalle.

Relaatiomalli ja -tietokanta

TIETOVARASTOJEN SUUNNITTELU

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

HELIA 1 (20) Outi Virkki Tiedonhallinta

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

Tietokannan suunnittelu

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

SQL - STRUCTURED QUERY LANGUAGE

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

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

Tutkimustiedonhallinnan peruskurssi

Luokka- ja oliokaaviot

19. Unified Modeling Language (UML)

UML-kielen formalisointi Object-Z:lla

Tieto/datamallit. Marttila-Kontio/Unicta Oy

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

UML - unified modeling language

T Olio-ohjelmointi Osa 5: Periytyminen ja polymorfismi Jukka Jauhiainen OAMK Tekniikan yksikkö 2010

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Johdanto. Olio (Object) Luokka (Class) Olion kuvaaminen

TIEDONHALLINTA - SYKSY Luento 1. Saapumisryhmä: TXQ16ICT, TXQ16S1 ja TXQ16PROS. 27/8/17 Helsinki Metropolia University of Applied Sciences

Transkriptio:

Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Polku luokkakaavioista taulujen toteutukseen kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luku 7 Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI LOOGINEN MALLI: tietomalli valittu FYYSINEN MALLI: DBMS valittu 2 Ari Hovi & Jouni Huotari M3-1

Käsitemallinnuksesta relaatiokantaan toteutus opintojaksoilla II030100, IIO30200, IIO10200 KÄSITEMALLI (UML:n luokkakaavio): Kuvataan keskeiset käsitteet ja niiden väliset yhteydet LOOGINEN MALLI (tietokantakaavio): relaatiomalli (puretaan moni-moneen-yhteydet, 3. NF) FYYSINEN MALLI (DDL-skripti): Oracle, SQL Server, MySQL, PostgreSQL tms. 3 Luokkakaavio Luokkakaaviosta tauluihin ER-kaavio Taulukaavio (normalisoitu) Relaatiotietokannan taulut 4 Ari Hovi & Jouni Huotari M3-2

Luokkakaavio 5 ER- eli tietokantakaavio 6 Ari Hovi & Jouni Huotari M3-3

Normalisoitu (3. normaalimuoto) tietokanta- eli taulukaavio 7 Yhteyksien merkintätapoja Yhden suhde moneen -yhteys, 1:M, voidaan ilmaista lukuisilla eri tavoilla riippuen käytettävästä notaatiosta, esim. 8 Ari Hovi & Jouni Huotari M3-4

UML-luokkakaavioiden perusnotaatio Luokka Luokan tiedot (attribuutit) ja operaatiot eli metodit LuokanNimi attribuutti 1: Tyyppi = alkuarvo attribuutti 2 operaatio(argumenttilista) Assosiaatio Yksi-moneen Kooste Vahva kooste Yleistys (kolmion kärki osoittaa yliluokkaan) 1 * Navigointisuunta (nuoli osoittaa riippumattomaan käsitteeseen) 9 Esimerkki luokasta lisaa() muuta() poista() Luokan Attribuutit Operaatiot eli metodit 10 Ari Hovi & Jouni Huotari M3-5

Esimerkki assosiaatiosta tekee Tilaus 1 * tilausnro tilauspvm Assosiaatio Tilaus 1..1 0..* tilausnro tilauspvm Lukumääräsuhde 11 Lisää esimerkkejä assosiaatiosta 1 tekee * Tilaus tilausnro tilauspvm Navigointisuunta 1 * Tilaus tilausnro tilauspvm Vahva kooste 12 Ari Hovi & Jouni Huotari M3-6

Esimerkki yli- ja aliluokasta (periytyminen) Henkilöauto vuosimalli rekisterinro kiihtyvyys huippunopeus hinta Kuorma-auto vuosimalli rekisterinro akselipaino hinta Henkilöauto kiihtyvyys huippunopeus Auto vuosimalli hinta rekisterinro Kuorma-auto akselipaino 13 Esimerkki luokkahierarkkiasta Kulkuväline hinta Auto vuosimalli rekisterinro Vene materiaali Henkilöauto kiihtyvyys huippunopeus Kuorma-auto akselipaino 14 Ari Hovi & Jouni Huotari M3-7

Käyttöliittymä Välikerros sovelluksen ja TKHJ:n välissä Sovellus Sovellusluokka Välikerros Tietokantaluokka Tietokannan hallintajärjestelmä Relaatiotietokannan taulut 15 Luokkakaaviosta ER-kaavioon Luokkakaavio ER-kaavio 16 Ari Hovi & Jouni Huotari M3-8

Moniarvoinen attribuutti: oma taulu (vrt. 1. normaalimuoto) Henkilo henkiloid puhelinnrot HENKILO henkiloid PUHELIN henkiloid puhelinnro puhtyyppi 17 Koosteen muuttaminen yksi-moneen-yhteydeksi Tuote tuoteid tuotenimi Tuote tuoteid tuotenimi 1 * Osa OsaID osanimi Osa OsaID osanimi tuoteid (FK) 18 Ari Hovi & Jouni Huotari M3-9

Koosteen muuttaminen viittaukseksi itseensä Osa osaid osanimi EmoOsaID tai Tuote tuoteid tuotenimi emotuoteid 19 Luokkahierarkia (Fowler 2000) Yritysasiakas yhteysnimi luottoluokitus luottoraja Henkiloasiakas luottokortinnro 20 Ari Hovi & Jouni Huotari M3-10

Kolme käsitettä: aliluokista tulee omat käsitteensä asiakasid (asiakasluokka) 1 0..1 Yritysasiakas yrid yhteysnimi luottoluokitus luottoraja 0..1 Henkiloasiakas hloid luottokortinnro 21 Yksi käsite: luokat yhdistetään asiakasid asiakasnimi asiakasluokka yhteysnimi luottoluokitus luottoraja luottokortinnro luokka: joko yritys tai henkilö Yleensä tehokkain! Pienenä haittana tyhjäksi jäävät tiedot (onko sillä merkitystä huomioiden nykyiset levyhinnat? 22 Ari Hovi & Jouni Huotari M3-11

Kaksi käsitettä: aliluokista tulee omat käsitteensä ja yliluokan ominaisuudet yhdistetään aliluokkiin Yritysasiakas yrid yhteysnimi luottoluokitus luottoraja Henkiloasiakas hloid luottokortinnro 23 Kaksi käsitettä: aliluokista tulee omat käsitteensä ja yliluokan ominaisuudet yhdistetään aliluokkiin Selvitä, onko aliluokilla yhteys toisiinsa! Yritysasiakas yrid yhteysnimi luottoluokitus luottoraja Henkiloasiakas hloid luottokortinnro yrid 24 Ari Hovi & Jouni Huotari M3-12