Olioistako relaatiokanta?

Samankaltaiset tiedostot
POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

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

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Tietokannan suunnittelu

HELIA 1 (17) Outi Virkki Tiedonhallinta

2. Käsiteanalyysi ja relaatiomalli

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

TIETOVARASTOJEN SUUNNITTELU

TIETOKANNAN SUUNNITTELU

Visual Case 2. Miika Kasnio (C9767)

Data Warehouse kuulumisia

Tietokantojen suunnittelu, relaatiokantojen perusteita

FYYSINEN SUUNNITTELU

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

Tietovarastojen suunnittelu

IIO30100 Tietokantojen suunnittelu (6 op)

TIETOKANNAT JOHDANTO

IIO30100 TIETOKANTOJEN SUUNNITTELU (6 OP)

IIO30100 Tietokantojen suunnittelu (6 op)

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

3. Käsiteanalyysi ja käsitekaavio

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

Luento 3 Tietokannan tietosisällön suunnittelu

Fyysinen suunnittelu

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

Tietoarkkitehtuuri nyt!

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

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

Relaatiomalli ja -tietokanta

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

NORMALISOINTI TIETOJEN MALLINNUS JOUNI HUOTARI & ARI HOVI

HELIA 1 (20) Outi Virkki Tiedonhallinta

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ari Hovi & Jouni Huotari M3-1

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Relaatiomallin peruskäsitteet Harri Laine 1. Relaatiotietokannat DONOTP

Ohjelmistojen mallintaminen, kesä 2009

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

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

FYYSINEN SUUNNITTELU

Kari Aalto Saariston IT

TIETOKANTOJEN PERUSTEET MARKKU SUNI

Tietokantakurssit / TKTL

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

Tietokantojen perusteet

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

IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI ( )

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

UML-kielen formalisointi Object-Z:lla

IIO10200 TIETOKANTAOHJELMOINTI (4 OP) OPINTOJAKSON ESITTELY JOUNI HUOTARI

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

Oliotietokannat. Nääsvillen Oliopäivät Pekka Kähkipuro Kehitysjohtaja, FT

TIETOKANNAT JOHDANTO JOUNI HUOTARI & ARI HOVI

IIO10200 Tietokantaohjelmointi (4 op)

HELIA 1 (12) Outi Virkki Tiedonhallinta

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

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

Käsiteanalyysi prosessina ja tarveanalyysi

Ohjelmistojen mallintaminen, olioja relaatiomallinnuksen suhteesta

Data, informaatio, tieto, ymmärtäminen ja viisaus

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

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

UML - unified modeling language

TIETOKANTOJEN SUUNNITTELU

HAAGA-HELIA TIKO-05 1 (19) ICT23a Tietokannan suunnittelu ja toteutus O.Virkki

Ohjelmistojen mallintaminen, kesä 2010

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

Ohjelmistotekniikan menetelmät, kesä 2008

Tietokannanhallintajärjestelmä (DBMS)

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

Ohjelmistotekniikan menetelmät, UML

HAAGA-HELIA heti09 1 (27) ICT05 Tiedonhallinta ja tietokannat O.Virkki Relaatiomalli

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

TIETOKANTOJEN PERUSTEET MARKKU SUNI

Tietokannat II -kurssin harjoitustyö

Relaatioista TIETOJENKÄSITTELYTIETEIDEN LAITOS, JUHA IISAKKA 11-14

HARJOITUS 2. Kasvattamot ja mittaukset

1. Olio-ohjelmointi 1.1

UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Ohjelmistojen mallintaminen

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

A TIETOKANNAT, 4 op Kevät TI09

Tietokannat II -kurssin harjoitustyö

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

Ohjelmistojen mallintaminen kertausta Harri Laine 1

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

Ohjelmistotekniikan menetelmät, kevät 2008

Results on the new polydrug use questions in the Finnish TDI data

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

UML:n yleiskatsaus. UML:n osat:

YHTEYSSUHDE (assosiation)

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

Sovellusarkkitehtuurit

Tutkimustiedonhallinnan peruskurssi

Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne

7.4 Variability management

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Transkriptio:

Olioistako relaatiokanta? OUFG 12.5.2004 Ari Hovi Ari Hovi Oy 2004 Ari Hovi Oy, P. 0400 473 458 1

Esittely Ari Hovi, Ari Hovi Oy Ari Hovi Oy vuodesta 1990, erikoistuminen tietokantoihin Konsultointi Tietovarastoarkkitehtuurit, DW-kantojen suunnittelu, tietokantojen suunnittelu, SQL, PL/SQL koodaus, Access-Oracle Koulutus yleiset ja yrityskohtaiset kurssit DW-kannan suunnittelu, DW-tietoiskut Relaatiokannan suunnittelu SQL peruskurssi ja syventävä kurssi Kirjat Tietokantojen suunnittelu ja indeksointi, Hovi, Huotari, Lahdenmäki, 2003 Tietovarastot liiketoiminnan tukena, Hovi, Koistinen, Ylinen, 2001 SQL-ohjelmointi Pro training, Hovi, 1999 Tietovarastotekniikka Data Warehousing, Hovi, 1997 2004 Ari Hovi Oy, P. 0400 473 458 2

Olio vs relaatio? UML UML objekti ajattelevan ihmisen ulkopuolinen olio tai ilmiö. relaatio 1. kertomus, kuvaus, selostus 2. asioiden tila, olosuhde, tilanne 3 2004 Ari Hovi Oy, P. 0400 473 458 3

Lähtökohtia Tietokantojen käyttö lisääntyy yhä kaikkien sovellusten taustalla relaatiokannat uusia sovelluksia, laajempaa käyttöä internet, tekstit, kuvat, tiedostojärjestelmän korvaus, BI ja DW Tietokannat eivät ole in Oliosuunnittelu ja ohjelmointi yhä suositumpaa koulutus, hype Tietokantojen suunnittelutaito? 2004 Ari Hovi Oy, P. 0400 473 458 4

Relaatiokannat E.F.Codd 1970: Relaatiomalli IBM:lta SQL 70-luvulla Oracle 1979 Vallankumous syrjäytti verkkomalliset ja hierarkkiset kannat SQL ainoaksi tietokantakieleksi Tietokantatoimittajien keskittyminen Tuotteet kypsyneet vaativat tap.käs. järj., DW-ominaisuudet, multimedia, 7*24, 2004 Ari Hovi Oy, P. 0400 473 458 5

Oliotietokannat Oliokannat ilmaantuivat n. 1990 haastamaan relaatiokannat Lupauksia liittyvät saumattomasti olio-ohjelmointiin sopivat multimediaan, monimutk. rakenteisiin tehokkaita Eivät ole syrjäyttäneet relaatiokantoja eivät edes isoissa oliototeutuksissa Syitä eivät ole saavuttaneet relaatiokantojen kypsyyttä pieniä toimittajia (tietokanta valitaan suurelta toimittajalta) ei yhteistä standardia vrt relaatiomalli, SQL-kieli Julkaiseeko joku isoista oliotietokannan 2004 Ari Hovi Oy, P. 0400 473 458 6

Oliorelaatiokannat Relaatiokantoihin ilmaantui olio-ominaisuuksia esim Oracle 8 oli object-relational database Ominaisuuksia johdetut tyypit, kokoelmatyypit, rakenteel. tyypit, tyyppien metodit, tyyppipohjaiset taulut, viitetyyppi, tyyppiperiytyminen, olionäkymät, laajennustietotyypit Onko niitä käytetty Sytyke ry:n Rela-kerhon oliorelaatiokantakysely: vain vähän käytännön soveltamista SQL99 ja SQL 2003 sisältävät olio-ominaisuuksia implementointi tuotteisiin? 2004 Ari Hovi Oy, P. 0400 473 458 7

Olio vs. relaatio -maailmat Olio-maailma koetut sov. keh. periaatteet navigoidaan objekteja olio-avaruus; talletus toissijaista UML-suunnittelu Relaatio-maailma koettu matemaattinen pohja (rel.malli) taulujen käs. SQL-kielellä, liitokset painopiste talletuksessa käsiteanalyysi 2004 Ari Hovi Oy, P. 0400 473 458 8

Olio vs- relaatiokehitystä client/server vaihe tiedot ja prosessointi erillään, perinteinen tapa olio-ajattelu ilmaantui osa ohjelmoijista ja suunnittelijoista mukaan: ratkaisee kaiken tietokantaihmiset: ohimenevä ilmiö tai taas yksi ohjelmointitapa olio-ajattelu jäi oliotietokannat eivät tulleetkaan relaatiokannat kehittyvät ongelmia sovittaa olio- ja relaatioajattelu oliosuunnittelu UML-pohjaista tietokannan suunnittelu hyvin vähällä painotuksella olio-koodarit eivät tunne tietokantatekniikkaa tietokantaihmiset vierastavat eivät osaa lukea UML-kuvauksia 2004 Ari Hovi Oy, P. 0400 473 458 9

Tietomallit Tietomalli Mallinnusmenetelmä, jota käytetään reaalimaailman tai tietokannan mallintamisessa. Käsitemalli Oliomalli Relaatiomalli Relaatiotietokanta "Vanha termi" Käsite Luokka Relaatio Taulu Tieto (attribuutti) Attribuutti Attribuutti Sarake Kenttä Esiintymä Ilmentymä, olio Monikko (tuple) Rivi Tietue Yhteys Suhde Viiteavain Viiteavain Perusavain Object ID (OID) Perusavain Perusavain 2004 Ari Hovi Oy, P. 0400 473 458 10

Kannan suunnittelumenetelmistä Chen: ER menetelmä 1976 J. Martin Information Engineering SSADM, IDEFIX Suomessa Soini: Tietoanalyysi 1984 Finnsystems: Käsiteanalyysi TISMA, SUM yms menetelmät Lukuisat Case välineet tukevat Menetelmä kehittynyt, mutta perusidea pitänyt pintansa kaikki nämä vuodet Oliosuunnittelu ja UML noussut vaihtoehdoksi 2004 Ari Hovi Oy, P. 0400 473 458 11

ER-Menetelmä Graafinen, selkeä suunnittelumenetelmä Käsitteet, tiedot, yhteydet Sopii kaikenlaisten tietokantojen suunnitteluun Tuloksena syntyvä käsitemalli on tekijöidensä yhteinen näkemys kohdealueesta sisältää käsitteiden ja tietojen määritykset (metadata) tulevan tietokannan piirustukset Käsitemalli käyttäjien ja it-ihmisten kommunikaation pohjana Myös tietovarastosuunnittelun menetelmä Inmonin CIF Kimballin tähtimalli on osajoukko ER-mallinnuksesta 2004 Ari Hovi Oy, P. 0400 473 458 12

UML Unified Modelling Language Yleisesti käytetty ja hyväksytty syst. suunnittelussa UML:lla voidaan kuvata laajasti järjestelmiä, mm. Käyttötapauskaaviot Luokkakaaviot lähinnä ER-kaaviota Toimintokaavio Tilakaavio Vuorovaikutuskaavio Viestiyhteys- ja yhteistyökaaviot Toteutus- ja komponenttikaaviot 2004 Ari Hovi Oy, P. 0400 473 458 13

UML ja tietokantasuunnittelu Standardi UML:sta puuttuu tärkeitä osia: Primary Key (OID), Null, Uniqueness, domain constraints UML Profile for Database Design UML:sta puuttuu Data Modelling kaavio, siksi tehty UML Profile UML:n laajennus:taulu, sarake, PK, FK, yhteys, useampia vaihtoehtoja Osa CASE-välineistä tukee Toisaalta UML on ilmaisuvoimainen, myös laajennusmahd. UML ei vielä ole saavuttanut jakamatonta suosiota tksunnittelussa 2004 Ari Hovi Oy, P. 0400 473 458 14

Oracle Designer ja UML Frequently Asked Questions Will Oracle9i Designer include support for UML? No. Oracle9i Designer is essentially an Information Engineering (IE) tool while UML is based on the requirements of Object Oriented programming. These two paradigms are sufficiently different to make integration distinctly problematic, not only technically, but from a methodological and usability standpoint. It is extremely unlikely that developers would ever mix these two approaches, or sets of techniques, in a single project. There are also several technical issues that justify reserving Oracle9i Designer for IE modeling and Oracle9i JDeveloper for UML modeling: Oracle9i Designer runs only on Windows while Oracle9i JDeveloper, written in 100% Java, runs on any platform that supports a Java Virtual Machine (JVM). Oracle9i Designer is a meta-data repository-based tool. Recreating the UML model and a metamodel in the Designer repository would be an extremely time-consuming and resource-intensive effort, and could potentially impact the robustness and stability of the current product Source: Oracle Modeling Tools: Statement of Direction - April 2003, www.oracle.com 2004 Ari Hovi Oy, P. 0400 473 458 15

Oliomallinnusesimerkkejä Asiakas nimi osoite Luokan nimi Attribuutit Asiakas nimi osoite Asiakas nimi osoite lisaa() muuta() poista() Operaatiot eli metodit tekee 1 * Assosiaatio 1..1 0..* Lukumääräsuhde Tilaus Tilaus tilausnro tilauspvm tilausnro tilauspvm 2004 Ari Hovi Oy, P. 0400 473 458 16

asiakasid nimi osoite Luokkahierarkia ASIAKAS Asiakas nimi osoite UML YRITYSASIAKAS yhteysnimi luottoluokitus luottoraja HENKILÖASIAKAS luottokortinnro Yritysasiakas yhteysnimi luottoluokitus luottoraja Henkiloasiakas luottokortinnro Käsitemalli (eräs variaatio) Asiakas Yritysasiakas yrasiakasid yhteysnimi luottoluokitus luottoraja asiakasid nimi osoite Henkiloasiakas hloasiakasid luottokortinnro Yritysasiakas AsiakasID nimi osoite yhteysnimi luottoluokitus luottoraja Henkiloasiakas AsiakasID nimi osoite luottokortinnro Asiakas asiakasid nimi osoite asiakasluokka yhteysnimi luottoluokitus luottoraja luottokortinnro 3 taulua 2 taulua 1 taulu 2004 Ari Hovi Oy, P. 0400 473 458 17

Vaihtoehtoiset polut tauluihin Oliomallinnus, UML 1) Käsiteanalyysi, ER-notaatio Oliomallinnus, UML Käsiteanalyysi, ER-notaatio Käsiteanalyysi, UML Relaatiokannant taulut 1) Connolly, T. ja Begg, C. Database Systems a Practical Approach to Design, Implementation, and Management, 3. painos, Addison-Wesley, 2002. 2004 Ari Hovi Oy, P. 0400 473 458 18

Tietokantasuunnittelun sudenkuoppia Tietokannan suunnittelu ei niin tärkeää ajattelu suorituskyky, yhteiskäyttöisyys ja ylläpidettävyys kärsivät Unohdetaan tietokannan yhteiskäyttöisyys eri osa-alueiden tarpeita ja malleja ei selvitetä Ei käytetä tietokantojen ominaisuuksia koodataan olemassa olevia ominaisuuksia ( Javalla kaikki ) Taulu per näyttö ajattelu ylimääräisiä ohjelmia tietojen turhan toistamisen hoitoon Ei osata riittävästi SQL:aa turhaa koodausta ohjelmissa Joskus: edellisten kohtien toinen ääripää 2004 Ari Hovi Oy, P. 0400 473 458 19

DW-suunnitteluvaikutuksia Huonosti suunnitellut operatiiviset kannat laatu heikkenee heikot eheys- ja raja-arvotarkistukset: sisään huonoa dataa sekavat tietorakenteet vaikeuttavat poimintoja DW:hen Oliopohjaista DW-suunnittelua? 2004 Ari Hovi Oy, P. 0400 473 458 20

Olioihmiset ja relaatioihmiset UML UML Olioihmiset suunnittelevat UML-kaavioita, mallintavat toimintaa ja businesta (mm.luokkakaaviot) ei ehkä tiedostetakaan että suunnitellaan samalla tietokantaa kaaviot jäävät puutteelliseksi Relaatioihmiset hoitavat ja suunnittelevat tietokantoja ER-menetelmä ja kantojen virittäminen osataan he eivät enää olekaan mukana suunnittelun alkupäässä Olioihmisten suunnittelemat luokkakaaviot heitetään relaatioihmisille: tehkää tietokanta tehdyt suunnitelmat eivät aukene eivätkä riitä hyvän tietokannan suunnittelemiseksi ja toteuttamiseksi. Olioihmiset generoivat suoraan tietokannan luokkakaaviosta syntyy helposti liikaa tauluja (hidas kanta) ja ei-yhteiskäyttöisyyttä 2004 Ari Hovi Oy, P. 0400 473 458 21

Miten eteenpäin? Olioihmisten tulisi opetella tietokantoja mitkä asiat ovat tärkeitä, jotta syntyy hyvä tietokanta myös tarvittavat UML-laajennokset Relaatioihmisten tulisi opetella UML:aa mm. luokkakaavioiden tekeminen itse tietokantasuunnittelun periaatteet säilyvät Yhteistyötä ja kommunikointia pitäisi lisätä relaatioihmiset aiemmin mukaan suunnitteluun, vaatimaan tietokantojen tarvitsemat määritykset olioihmiset voisivat olla pitemmälle mukana kannan suunnittelussa ja toteutuksessa UML voisi toimia yhdistäjänä ja yhteisenä kielenä Tietoresurssin arvostus saatava takaisin! 2004 Ari Hovi Oy, P. 0400 473 458 22

Barrikaadeille! Ylös tietokannat! 2004 Ari Hovi Oy, P. 0400 473 458 23