Entity-Relationship Diagrams ER-mallit Käsitemallit Kohde-suhde-kaavio

Slides:



Advertisements
Samankaltaiset esitykset
1. Missä vietät joulun useimmiten?. 2. Missä viettäisit joulun mieluiten?
Advertisements

Juha Kauppinen Consulting oy Työntekijäkysely Tietoja
@ Leena Lahtinen Helia Ohjelman perusrakenteet 1. PERÄKKÄISRAKENNE 2. VALINTARAKENNE 3. TOISTORAKENNE.
ER-mallista relaatiomalliin
Pääkaupunkiseudun 8. luokkien palvelukyky Espoo, Tapiolan koulu Joulukuu 2013.
Hampuri, Saksa Löytää suunta, joka mahdollistaa Lions Clubs Internationalin saavuttavan sen täyden potentiaalin kansainvälisenä.
Ohjelmiston tekninen suunnittelu
Ongelma Mikä tuottaa kamppailua oikeudessa? • 1: Tulkinnat yksittäisistä tapauksista • 2: ”Asiayhteyksien” väliset välienselvittelyt • 3: Kysymys siitä,
Tietoturvallisuuden huonetaulu
Active directory.
NAO/Maija-Leena Haapa-alho
@ Leena Lahtinen Helia TIETO JA TIETOKONEOHJELMA  TIETOKONEOHJELMA KÄSITTELEE TIETOJA  TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA.
Suunnitelma ohjelmiston testaukseen
Ohjelman perusrakenteet
Relaatiomalli •Ted Codd 1970 •Matemaattinen perusta •Helppo toteuttaa •Helppo omaksua •Käytetyin tietomalli •Muodostaa perustan kurssin myöhemmille asioille.
Tietokanta.
Ohjaaja: Ville Hentilä, Elisa Oyj Valvoja: Prof. Jukka Manner
Kökkötraktori-verkkokauppa
Käsiteanalyysi Käsiteanalyysi on työskentelymenetelmä
Tietokannan suunnittelu
5 Toimintojen ja tietojen kuvaus
EXtensible Markup Language
Tilasiirtymäkaavio ja eri mallien yhteensovittaminen
Tilastotietoja pankkien maksu-järjestelmistä Suomessa
Michael Sundvist, Jussi Huttunen, Tommi Vekkilä, Antti Raessalo TV10s1
Perusopetuksen huoltajat 2014 Generated on :04.
II Kehittämismenetelmistä
Tietojärjestelmän suunnittelu
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
CSC / Tietohallinnon asiakkaat ja tuotteet / Teemu Kemppainen Aikataulu 09:00-09:30Mallin kehitys versioon 1 ja tästä eteenpäin; UML-notaatio.
Elinkeinopoliittinen mittaristo 2014 Pelkosenniemi 1.
1 TILASTOTIETOJA PANKKIEN MAKSU- JÄRJESTELMISTÄ SUOMESSA
V V V V V V V V V V V V Kuuden suurimman kaupungin lasten päivähoidon palvelujen ja kustannusten vertailu 2009 Kuuden suurimman kaupungin lasten päivähoidon.
I.R.O. Research Oy vee 10/2000 Mediakäyttö Käyttää vähintään kerran viikossa Tytöt ja pojat *) Kirjat (esim. romaanit, lasten- ja nuortenkirjat)
TMA.003 / L3 ( )1 3. Funktioista 3.1. Kuvaus ja funktio Olkoon A ja B ei-tyhjiä joukkoja. Tulojoukon A  B = {(x,y) | x  A, y  B} osajoukko on.
Juha Kauppinen Consulting oy Rakenneselvitykseen liittyviä tutkimuksia Tiedotustilaisuus Karjasillan kirkolla Juha Kauppinen.
Elinkeinopoliittinen mittaristo 2014
Ohjelman perusrakenteet
TIETO JA TIETOKONEOHJELMA TIETOKONEOHJELMA KÄSITTELEE TIETOJA TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA MENETELMILLÄ.
Haaga-Helia Ammattikorkeakoulu
Relaatioalgebra (1) Kokoelma relaatioiden käsittelyyn tarkoitettuja operaatioita Operaatiot muuntavat relaatioita uusiksi relaatioiksi Muodostaa perustan.
Suomi-Venäjä-Seuran Jäsenrekisteriohjelma
Suuntaamattoman graafin syvyyshaku
1 Raha-asioiden suunnitteleminen ja nykyinen rahatilanne Senioritutkimus 2011.
Maatalous, maaseutuyrittäminen rahavirrat 2008 ja 2007 Pohjois-Savo Jari Kauhanen MTK- Pohjois-Savo.
Tietovuokaaviot (ei osa UML-kieltä)
1 Akavalaisten ja kaikkien palkansaajien palkkatietoja Lähde: Tilastokeskus n Palkkarakennetilasto 2007, diat 2-24 n Sektorikohtaiset palkkatilastot.
Maitotaito PIENEN VAUVAN PÄIVÄ Maitotaito.
Monikon lisääminen (1) Luetellaan kaikki lisättävän rivin arvot INSERT INTO Asiakas VALUES (4, ’Assi’, ’Asiakas’); Luetellaan vain osa arvoista; muut arvot.
Jatkuvan parantamisen Jp-taulu
Muunnos luokkakaaviosta relaatiokaavioon
1. Usean muuttujan funktiot
Käsitteellisen mallinnuksen tekniikkaa
Lukujärjestys Kevät 2015.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Tietokannan normalisointi
6. Relaatioalgebra ja relaatiokalkyyli
– Ohjelmistojen mallintaminen, mallintaminen ja UML.
Suomen Lääkäriliitto | Finnish Medical AssociationLääkärit Suomessa | Physicians in Finland Tilastotietoja lääkäreistä ja terveydenhuollosta 2014 Statistics.
© Jukka Juslin1 Osio2 Olio-ohjelmointi: Merkkijonot eli Stringit Jukka Juslin.
11. Relaatiotietokannan suunnittelualgoritmit ja lisäriippuvuudet Tällä kurssilla käsitellään kirjan luvusta 11 ainoastaan algoritmi 11.1 häviöttömän liitoksen.
Yleistä Kotisivuja päivitetty Demoryhmät Luentomonisteen ensimmäiset osat Luentokalvot jaossa Demot alkavat maanantaina Selvitä oma demoryhmäsi Tutustu.
Komponenttikaavio Lehtonen Iiro, Janne Liikka
Tilastollisesti merkitsevä nousu Tilastollisesti merkitsevä lasku Edelliseen aineistoon KMT 2005 verrattuna* KMT Kevät06 puolivuosiaineisto KMT SYKSY05/KEVÄT06.
MapInfon tiedostot TAB – Tiedosto, jonka avulla tietokanta avataan MapInfossa. Tiedostossa tietoja kentistä ja koordinaattijärjestelmästä. DAT, XLS. TXT.
JOPOX Uusi hallinta / Lomaketyökalu. Uuden lomakkeen luonti Lomakkeen rakentaminen alkaa klikkaamalla auki Lomakkeet. Oletusarvoisesti oman joukkueesi.
UML-luokkakaavio ● Luokkakaavio (class diagram) kuvaa järjestelmän luokkarakennetta ● Mitä luokkia on olemassa ● Minkälaisia luokat ovat ● Luokkien suhteet.
Ohjelman perusrakenteet
Lisenssikausi 2017 Lisenssisivut
Esityksen transkriptio:

Entity-Relationship Diagrams ER-mallit Käsitemallit Kohde-suhde-kaavio Kohdemallit Entity-Relationship Diagrams ER-mallit Käsitemallit Kohde-suhde-kaavio

ER-mallit käytetään tietokantojen, varsinkin relaatiotietokantojen suunnittelussa malli auttaa luomaan yhteisen näkemyksen rakennettavasta systeemistä; yhteinen kieli yhteinen työskentelytapa mallin avulla rajataan suunniteltava systeemi

mallissa kuvataan tietokannan tieto-objektit ja niiden väliset yhteydet mallin perusteella määritellään tietokannan taulut ja taulujen perus- ja viiteavaimet ym. ER-mallinnuksessa on käytössä erilaisia notaatioita eli merkintätapoja

ER-mallin peruselementit kohteet eli entiteetit kohteen ominaisuudet eli attribuutit kohteiden väliset yhteydet (relationships) attribuutit yhteyksissä

Kohteet eli entiteetit esitetään suorakaiteena edustaa kohteiden kokoelmaa tai joukkoa, jonka yksittäisiä esiintymiä tieto-järjestelmässä käsitellään jokainen kohde voidaan yksilöidä jollakin tavalla, eli jokainen esiintymä on yksilö, joka voidaan erottaa muista kohteen esiintymistä jonkin ominaisuuden mukaan esim. kohteen ”asiakas” esiintymät on kyettävä erottamaan toisistaan

jokainen kohde / entiteetti on rakennettavan systeemin kannalta tarkoituksellinen jokainen kohde voidaan kuvata yhden tai useamman tietoalkion avulla esim. ”asiakas” voidaan kuvata tietoalkioilla: nimi, laskutusosoite, puhelinnumero usein näitä tietoalkioita kutsutaan kohteen attribuuteiksi eli ominaisuuksiksi

Relaatiot eli yhteydet kohteet kytketään toisiinsa relaatioiden avulla Yourdonin notaation mukaan kohteiden välinen suhde ilmaistaan ’salmiakin’ avulla relaatio voi olla ’yhden suhde yhteen’ tai ’yhden suhde moneen’ (tai ’monen suhde moneen’) kahden kohteen välillä voi olla myös useita eri suhteita

OSTAMINEN ASIAKAS TUOTE HOIDOT LÄÄKÄRI POTILAS LASKUTUS

Yhteystyyppien pakollisuus pakollinen yhteystyyppi tarkoittaa, että jokainen kohteen yksilö on yhteydessä vähintäänkin yhteen toisen kohteen yksilöön puolittainen ehdollinen yhteystyyppi tarkoittaa, että toisessa kohteessa voi olla yksilöitä, joilla ei ole yhteyttä toiseen kohteeseen täysin ehdollinen yhteystyyppi tarkoittaa, että molemmissa kohteissa voi olla yksilöitä, joilla ei ole yhteyttä toisen kohteen yksilöihin

Vaihtoehtoisia merkintätapoja edellisten esimerkkien graafit olivat suuntaamattomia relaatioissa ei ilmaistu kardinaliteettia, eli keskinäisessä suhteessa olevien kohteiden esiintymien määrää kardinaliteetin ilmaisemiseksi on useampia eri merkintätapoja

ASIAKAS 1 N TUOTE OSTAMINEN ASIAKAS 1:N 0:N TUOTE SISÄLTYY VIIKKO VIIKONPÄIVÄ 1 7 ASIAKAS TUOTE

osallistuu opiskelija kurssi kuuluu luennoi suorittaa tentti opettaja suoritus Tehtävä:Lisää kardinaliteetit

1:N osallistuu 0:N opiskelija kurssi 1:1 0:N 0:N kuuluu luennoi 0:N suorittaa 0:N tentti 0:N 0:N opettaja suoritus

Tehtäviä: Piirrä kohdemalli, joka kuvaa videovuokraamon vuokraustoimintaa (pelkistetysti). käytä haluamaasi notaatiota ilmoita kardinaliteetit

hankkii 0:N työntekijä 1:1 filmi 1:N 0:N vuokraa 0:N asiakas 0:N palauttaa

Kohteen attribuutit jokaista kohdetta voi kuvata yhdellä tai useammalla attribuutilla asiakasnro tuotenro nimi TILAA ASIAKAS N M TUOTE nimike hinta puhelinnro

Attribuutit yhteyksissä monen suhde moneen –yhteydellä voi olla itsessään attribuutteja esim. tietyn asiakkaan tietyn tuotteen tilaukseen liittyy tilauspvm-attribuutti tilauspvm tilauspvm TILAA ASIAKAS N M TUOTE

Assosiatiivisten kohdetyyppien merkintä kohdemallissa voidaan käyttää myös ns. assosiatiivista (yhdistävää) kohdetyyppiä se edustaa suhdetta, josta tallennetaan tietoja systeemiin ASIAKAS TUOTE TILAUS- TAPAHTUMA

asiakas tilaa tuotteen ja syntyy uusi omistussuhde tuotteen ja tilauksen välille se voidaan merkitä assosiatiivisena kohteena tähän uuteen kohteeseen voidaan lisätä esim. tilaustapahtuman tietoja, kuten tilausajankohta, tilaushinta jne. tässä esimerkissä asiakas ja tuote ovat itsenäisiä kohteita, mutta tilaustapahtuma-kohde voi olla tietojärjestelmässä vain tilaustapahtuman seurauksena, eli se edellyttää muiden kohteiden esiintymien yksilöintiä

ER-kaavion laatiminen: Tunnista kohteet; niistä halutaan tallentaa pysyvästi tietoa. Nimeä kohde ymmärrettävästi. Tunnista kohteiden väliset suhteet; niistä halutaan tallentaa pysyvästi tietoa. Nimeä suhdetyypit ja määritä kardinaliteetit. Tunnista attribuutit; mitkä kohteisiin ja suhteisiin liittyvät tiedot ovat tarpeellisia. Nimeä attribuutit.

Tehtäviä: Mieti mahdollisia attribuutteja kurssisuorituskaavion entiteeteille. (s. 13) Olet suunnittelemassa mökkivarausjärjestelmää. Mieti millaisia kohdetyyppejä mökkivaraukset pitävät sisällään? millaisia attribuutteja kohdetyypeillä on ja mitkä niistä on otettava järjestelmään mukaan? mitkä ovat ko. kohteiden väliset yhteydet? mitkä ovat kardinaliteetit? Piirrä kohdemalli mökkivarausjärjestelmästä

Alityyppi / supertyyppi-merkintä Jos kaksi tai useampia kohteita poikkeaa toisistaan vain muutamien attribuuttien osalta, voidaan niistä muodostaa alityyppi / supertyyppi–merkintä. Kohteet yhdistetään silloin tavalla, joka ilmaisee niiden keskinäistä käsitteellistä suhdetta. Kohteen ominaisuudet voidaan kuvata luokkahierarkiana, jossa superluokan ominaisuudet ’periytyvät’ alemmille, astetta tarkemmalla tasolla määritellyille objekteille. Alityypit yhdistetään supertyyppiin nimeämättömän suhteen avulla ja supertyyppi merkitään rakenteessa poikkiviivalla.

TYÖNTEKIJÄ MÄÄRÄAIKAINEN TYÖNTEKIJÄ VAKINAINEN TYÖTEKIJÄ Alityyppi/supertyyppimerkintä. Poikkiviiva työntekijä-objektin alla merkitsee supertyyppiä tai supertyyppiluokkaa.

Esimerkki ’pankkitilit’ Pankkisovelluksessa käyttötili ja luotollinen tili ovat kohteina lähes samanlaisia. Luotolliseen tiliin liittyy kuitenkin attribuutti ’luottoraja’, jota käyttötilillä ei ole. Samoin käyttötiliin voi liittyä attribuutteja, joita luotollisella tilillä ei ole. Asia voitaisiin mallintaa kolmella eri kohteena: tili, luotollinen tili, käyttötili. Tili sisältäisi kaikille tileille yhteiset attribuutit ja luotollinen tili sille ominaiset muut attribuutit, samoin käyttötili.

kolme eri kohdetta mallinnettuna: ON ON TILI 1:1 1:1 0:1 0:1 LUOTOLLINEN TILI KÄYTTÖTILI tässä ratkaisussa tili voisi olla samanaikaisesti käyttötili ja luotollinen tili

seuraavassa esimerkissä tilejä on mallinnettu yhteisen supertyypin avulla TILI LUOTOLLINEN TILI KÄYTTÖTILI Alityyppi / supertyyppi-merkinnän käyttö on yleisintä oliopohjaisten suunnittelumenetelmien yhteydessä.

Kohdemallin muodostamisohjeita Kohdemallia laadittaessa ei ole syytä olettaa, että ensimmäinen kohdemallin versio olisi lopullinen. Yleensä joudutaan tekemään useita työversioita ennen kuin lopullinen hyväksyttävä versio valmistuu. Ensimmäinen versio piirretään usein sen käsitteistön perusteella, joka kuvaa tietojärjestelmää ja sen käyttöä käyttäjän näkökulmasta. Kohdemallin toistuva piirtäminen ja uudelleenkäsittely tuo esiin uusia kohdetyyppejä ja / tai karsii niitä.

Kohdemallista poistetaan kaikki monesta-moneen –relaatiot, synnyttämällä assosiatiivisia kohteita ja muodostamalla yhdestä moneen –relaatiot uuden ja aikaisempien kohteiden välille. Kohdemallista poistetaan myös sellaiset kohteet, joissa on vain tunnistin, ei muita attribuutteja sekä sellaiset kohteet, joista on vain yksi esiintymä. Esim. henkilöstö-tietokannassa on olemassa erillinen kohde ’avio- tai avopuoliso’, josta on relaatio ’työntekijä’-kohteeseen. Jos jokaisella työntekijällä on vain 1 avio- tai avopuoliso, voidaan ko. kohde poistaa ja tieto tallentaa ’työntekijä’-kohteen attribuutiksi.

ER-mallista relaatiotietokannan tauluiksi Kun ER-malli on viimeistelty ja hyväksytty, sen pohjalta voidaan rakentaa tietokannan tauluja Jokaisesta kohteesta tulee yleensä oma taulunsa ja kohteiden attribuuteista taulun sarakkeet Kullekin taululle pitää myös miettiä perusavaimet, sekä mahdolliset muut rajoitukset, kuten not-null –rajoitus yms.

Jos kyseessä on ’yhden suhde moneen’ relaatio, ota sarakkeeksi N-puolelle relaation 1-puolen kohteen avainattribuutti (viittaamaan 1-puoleen) Jos kyseessä on ’monen suhde moneen’ relaatio, tulisi se purkaa tekemällä siitä oma taulunsa (esim. ’tuote ja asiakas’ –relaatiosta ’tilaus’-taulu). Tällaisen taulun sarakkeiksi tulee yleensä molempien relaatioon liittyvien kohteiden avainattribuutit (esim. tuotenro ja asiakasnro) sekä mahdolliset yhteyden omat attribuutit (esim. tilauspvm)

Jos kyseessä on ’yhden suhde yhteen’ relaatio, tulee toiseen tauluun viiteavaimeksi toisen taulun perusavainsarake. Se, kumpaan tauluun viiteavain määritellään, riippuu tapauksesta.

ER-malliharjoitus nro 1 Tee ER-malli sekä sen perusteella taulumääritykset seuraavanlaisen casen pohjalta: Kyseessä on pienehkö 24 henkilöä työllistävä postimyyntifirma, joka myy polkupyöriä. Yritykseen kuuluu 3 osastoa: myynti, markkinointi ja kirjanpito. Jokaisella osastolla on yksi johtaja ja työntekijä voi työskennellä vain yhdellä osastolla. Asiakkaiden tekemät tilaukset toimitetaan kokonaisina (ei osatoimituksia) ja jokaisesta tilauksesta vastaa aina yksi työntekijä.

tuotenro TUOTE ASIAKAS nimike asnimi hinta 1:N tilausnro postinro asnro lähios TILAUS ptoimip tilauspvm kpl TOIMITTAA 0:N osastonro TYÖSKEN- TELEE 1:1 2:N 1:1 OSASTO TYÖNTEKIJÄ JOHTAA 1:1 0:1 osnimi ttnro ttnimi

Taulut em. ER-kaavion perusteella Asiakas (asnro, asnimi, lähios, postinro, ptoimip) Tuote (tuotenro, nimike, hinta) Tilaus (tilausnro, tilauspvm, kpl, ttnro, asnro, tuotenro) Työntekijä (ttnro, ttnimi, osastonro) Osasto (osastonro, osnimi, ttnro) (ttnro on johtajan ttnro)

ER-malliharjoitus nro 2 Piirrä ER-malli eli kohdemalli seuraavasta: Kyseessä on tietosysteemi, joka ottaa vastaan ilmoittautumisia urheiluopiston järjestämille lasten kesäleireille. Leirejä järjestetään useita kappaleita ja ne ovat teemoiltaan erilaisia. Järjestelmään on tarkoitus kirjata ilmoittautumisen lisäksi lapsen yhteystietoja ja leirien tarkemmat tiedot. Mallissa tulisi olla näkyvillä ainakin entiteettien/kohteiden ja yhteyksien lisäksi tärkeimmät attribuutit.

hetu nimi puhelin Leirin nimi paikka LAPSI 0:N 1:N LEIRI huoltaja lähiosoite ajat hinta postinro hpuh vetäjä sisältö ptoimip ILMOITTAUTU-MINEN ilmnro ilmoaika

Tietohakemisto (data dictionary) Sisältää kuvauksen kaikista järjestelmään sisältyvistä tiedoista. Siinä kuvataan järjestelmän syötteet, tulosteet, tietovarastojen rakenteet ja tietojen tarkat määritykset. Tietohakemistoa laadittaessa: kuvaa kaikki tietovirtakaavion tietovirrat ja tietovarastot kuvaa tietovirtojen ja tietovarastojen sisältämät tietoalkiot kuvaa kunkin tietoalkion mahdolliset arvot kuvaa miten tietoalkiot liittyvät toisiinsa käytä oikeaa notaatiota älä kuvaa mitään tietoalkiota useammin kuin kerran

Tietohakemisto Tietojen kuvaamisessa käytettävät merkinnät: = muodostuu seuraavista + ja ( ) vaihtoehto (saattaa esiintyä tai puuttua) { } iteraatio eli toisto [ ] valitse yksi vaihtoehdoista | vaihtoehtojen erotin * * kommentti @ avainkenttä tai tietovaraston tunnistinkenttä

Tietohakemisto Esimerkki: Asiakasrekisteri = { Asiakas } Asiakas = @Henkilötunnus + Asiakkaan nimi + Yhteystiedot Henkilötunnus = { Numero }6 + ’-’ + { Laillinen_merkki }4 Asiakkaan nimi = Etunimi + Sukunimi Sukupuoli = [ mies | nainen ] Yhteystieto = 1{ Laillinen merkki }n Etunimi = 1{ Kirjain }n Sukunimi = 1{ Kirjain }n Laillinen_merkki = [ Numero | Kirjain | ’ | - | ] Numero = { 0-9 } Kirjain = [ A-Ö | a-ö ]