Konceptuell modellering



Relevanta dokument
Relationsdatabasdesign, 2I-4067

IT i organisationer och databasteknik

Introduktion till informationssystem Från verklighet till relationsdatabas Konceptuell modellering och databasmodellering Modelleringsmönster

Kontoutdelning EFTER dagens föreläsning (WinXP/FC/Daisy/Unix) Programvaror på kursen: MySQL MS Access 2003 Rational Rose

(Data)Modellering. nikos dimitrakas rum 2423

Informationssystem och Databasteknik

Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem?

Analytisk relationsdatabasdesign

Tentamen EIT:DB Databastmetodik 11/ kl Lösningsförslag

Objektorientering. Grunderna i OO

Lite om databasdesign och modellering

Abstraktion. Objektorientering. Kartor. Kartor. Hus. Generalisering

Objektorientering Klasser

Konceptuell modellering. Formalisering, automatisering och effektivisering

Lösningsförslag till Exempel tentamen

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Objektorientering Användning

LITEN HANDLEDNING TILL E-TJÄNSTER I BJUVS KOMMUN. Så här ser inloggningssidan ut. Börja med att skriva ditt användarnamn och lösenord i rutorna.

Laboration 1: Figurer i hierarki

Riktlinjer för Kungälvs kommuns styrdokument

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

Interaktions- och klassdiagram, kap F4 vt -07

Riktlinjer för styrdokument

HFS Hälsovinstmätningsprojekt

Ett annat exempel på en E-R modell. En bank. Beskrivning av banken

Exempel-tentamen 1. + Lösningsförslag. Inga hjälpmedel är tillåtna.

Exempel tentamen. Skriv bara på en sida av pappret Skriv namn på varje papper Skriv läsligt, annars rättas inte tentamen Alla hjälpmedel är tillåtna

NVDB - Översiktlig informationsmodell

Introduktion till arv

Databasdesign. E-R-modellen

Nationell informationsstruktur 2015:1 Bilaga 3: Modeller för hälso- och sjukvård

Boken om svenska för 3:an

ANSÖKAN OM VALIDERING INOM LÄRARLYFTET VT15

IT i organisationer och databasteknik

Introduktion av aktiv generaliserad kunskap i Businss Process Support System (BPSS)

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

Tentamen Databasteknik

Utveckling av webbapplikationer med.net, DVA213 (1 av 5)

Grunderna i SQL del 1

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

Informationssystem och databasteknik

Relationsmodellen och syntetisk databasdesign

Föreläsning 4 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Normalisering (Analytisk databasdesign)

Informationsspecifikation för levnadsvanor. Tobakskonsumtion, alkoholkonsumtion, fysisk aktivitet och matvanor

Nationell informationsstruktur 2015:1 Bilaga 1: Läsanvisning till modellerna

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

TNM040 Kommunika3on och användargränssni< HT2015, FÖ3 TNM040 HT2015. Bra överblick. h<p:// anvandbarhet/metoder

a), c), e) och g) är olikheter. Av dem har c) och g) sanningsvärdet 1.

TDDC74 Programmering, abstraktion och modellering DUGGA 2

De formulär och arbetsverktyg som finns med i denna fil är:

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program.

Anmälan mot Göteborgs universitet angående nekande att rätta inlämnade uppgifter

Inlämningsuppgift 2. DA156A - Introduktion till webbutveckling Teknik och samhälle, Malmö högskola Oktober 2012

Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl

F8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander

Systemvetarutbildningen och dataekonomutbildningen

Kommunal vuxenutbildning: elever, kursdeltagare och utbildningsresultat, första halvåret 2016.

Introduktion. Byggstenar TDBA

Rita med ritstift. Raka banor Klicka med Ristiftet vid varje hörn.

Giltig legitimation/pass är obligatoriskt att ha med sig. Tentamensvakt kontrollerar detta.

Bokanalys Sci-fi, skräck, fantasy

Teknisk beskrivning PDL i HSA

Särskilt stöd. Arbetsgången för att nå kunskapsmålen Inklusive bilagor. Norrtelje Teknik- och Naturbruksgymnasium

Webbteknik för ingenjörer

Västsvenska paketet Skattning av trafikarbete

Relationsdatabasdesign

OOP Objekt-orienterad programmering

Fortsättningskurs i programmering F 2. Algoritmer i Programutveckling Hugo Quisbert Problemexempel 1

TLR Lokala Regler & Tävlingsregler

Metadokument för dokument inom Chalmers Studentkår

Så här gör du i Skolportalen

NATIONELLT KURSPROV I MATEMATIK KURS A VÅREN Del II

Syns norm e r i vårdens dokument? Del 1 Dokumentanalys

Prövnings- processen

Objektorienterad programmering

Världskrigen. Talmanus

Major Release 3.1. Vad innebär Major Release 3.1 för svenska användare?

Portföljer Studentmanual

Databasteori. Övningar

Design och underhåll av databaser

Kompletterande lösningsförslag och ledningar, Matematik 3000 kurs B, kapitel 1

Tvärtom Hur du vinner framgång, blir lycklig och rik genom att göra precis tvärtom

Statligt LOK-stöd från 2014

Steg 4. Lika arbeten. 10 Diskrimineringslagen

DELPROV 1 I DATAVETENSKAP

Ensam VAD HANDLAR BOKEN OM? LGR 11 CENTRALT INNEHÅLL SOM TRÄNAS ELEVERNA TRÄNAR FÖLJANDE FÖRMÅGOR SIDAN 1. Lärarmaterial

Instruktion för suggringsnav

Tentamen. Grundläggande programmering i Java A 5p, DTAA

En beskrivning av det professionella rådgivningssamtalet

3. namn på huvudman, skolenhet och den kommun där skolenheten är belägen, 5. namn och titel på den eller de som har beslutat om betyg,

ALLMÄNT OM FUNKTIONSPAKET OMDÖME

Rätt beslut och rätt ersättning

Systemvetarutbildningen och dataekonomutbildningen

MANUAL för samplanering i hemmet - Sigtuna

Statistik över PTS konkurrensfrämjande regleringsbeslut, överklagade beslut och relaterade rättsprocesser tioårsperioden

Objektorienterad Programmering (TDDC77)

IT i organisationer och databasteknik

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: Tid: kl

Transkript:

Konceptuell modellering En konceptuell modell beskriver data och datasamband på ett representationsoberoende sätt. Vad modellen sen ska implementeras som/i får inte påverka modellens utformning! Grundbegrepp: Objekt, Attribut Relationer (associationer), Entiteter (klasser), Regler. Konkreta objekt: Eiffeltornet, George Washington, London Abstrakta objekt: Talet 7, Beethovens sjunde symfoni, Valutan Euro Attribut: Uttrycker egenskaper hos objekt Relationer (associationer): avbildar hur objekt är relaterade till varandra Entiteter (klasser): Entiteter grupperar samman likartade objekt Konkreta klasser: Personer, Byggnader, Bilar Abstrakta klasser: Symfonier, Tal, Valutor Regler uttrycker vilka sakförhållanden som kan och bör föreligga i ett system En person kan vara gift med högst en annan person, En person måste ha ett personnummer. Grafiskt språk för konceptuella modeller: ER-scheman (Entity-Relationship schemas) Entitet Relation Entitet APA ÄTER BANAN Annat notation: APA 0 äter BANAN

Grafisk notation för konceptuella scheman: UML-klassschema Vi kommer att använda UML-klasscheman som ER-scheman Klass association (relation) APA Namn : Sträng 0.. äter..* BANAN attribut Avbildningsregel (för associationen, attributet) Avbildningsregler för associationer i UML Regno : Sträng ägs_av En association ( pil ) har avbildningsregler (kardinalitetsregler). Man kan sas läsa pilen i två riktningar och för varje riktning måste vi avgöra vilka avbildningsregler som gäller. Vi använder oss av en Minimum..Maximum -notation (alternativ finns...). I minimum-posistionen kan vi skriva värdet 0 eller. I maximimum -positionen kan vi skriva värdet eller *, där * står för många. Det ger oss fyra möjliga avbildningsregler: 0..,,.. och..*. I praktiken brukar man förkorta.. till. För att förstå vad de olika max..min-värdena står för kan vi börja med att betrakta relations-pilen från :ens synvinkel. Om en kan ägas av HÖGST EN så skriver vi en :a i max-positionen (annars *). Om en måste ägas av NÅGON sätter vi en :a i min-positionen (annars 0). I just detta fall fattades beslutet att en kan ägas av högst en person och att alla bilar ägas av någon. Dvs avbildningsregeln blev.., vilket vi förkortade till. Om en kan äga HÖGST EN BIl skriv en :a i max-position (annars *). Om en måste äga minst en, skriv en :a i min-position (annars 0). Här tyckte vi att en kan äga många :ar men inte nödvändigvis måste äga någon,! 2

Associationer i UML forts. Navigabilitet vs konceptuell riktning Regno: String.. ägs_av.. Pnr: String.. Envärd? Om en bil kan ägas av högst en person så ja, annars nej. Total? Om en bil måste ägas av minst en person så ja, annars nej. Injektiv? Om en person kan äga högst en bil så ja, annars nej. Surjektiv? Om en person måste äga minst en bil så ja, annars nej. Vad betyder associationen? Namngivning i funktionell riktning? Namngivning av både associationen och båda rollerna? Avbildningsregler Avbildningsregler för ATTRIBUT i UML... Regno : Sträng ägs_av Även attribut (som t ex Regno och Namn) behöver få sina avbildningsregler bestämda. Detta kan i vissa notationer visas grafiskt i det konceptuella schemat (vilket har många fördelar). Ett sätt är att explicit rita ut relationen (via en pil) mellan entiteten i fråga och attributet: Regno Sträng Ska utläsas varje har högst ett registreringsnummer, Ett givet värde i mängden av text-strängar (t ex ABC23 ) kan vara relaterad till högst 0.. en via attributet Regno. En måste ha ett registreringnummer och, slutligen, det finns text-strängar (t ex Maria Bergholtz ) som inte utgör registreringsnummer. Som synes används samma princip som för avbildningsregler för relationer mellan entiteter. Regno: Sträng.. UNIK Ett alternativ är att använda notationen ovan, den har nästan samma informationskapacitet som notationen till vänster ( en kan ha högst ett värde på registreringsnummer, och minst ett värde på registreringsnummer (dvs Regno är totalt ). Med UNIK avses att ingen annan kan använda ett Regno som en viss använder). Däremot visar inte notationen ovan om det finns sträng-värden som inte utgör reg.nummer. 3

Multiplicitet - regler i systemet vs common sense Regno: Sträng.. ägs_av Pnr: Sträng.. Arv Namn: String.. UNIK isa isa MAN KVINNA Militärtjänstort: String:.. Arv DJUR Namn: String.. UNIK isa isa HUND KATT Skatt: Integer.. MAN och KVINNA är ömsesidigt uteslutande och uttömmande map HUND och KATT är ömsesidigt uteslutande men inte uttömmande map DJUR En arvs-hierarki består av sub- och supertyper. Subtyperna utgör en delmängd av supertypen. Om subtyperna täcker upp hela supertypen säger man att de är uttömmande (eng. exhaustive). Om en och samma instans inte kan tillhöra till flera subtyper säger man att subtyperna är ömsesidigt uteslutande (eng. mutually independent). 4

Reifiering Reifiering SJUKDOM..* botar blir: botas SJUKDOM BOT Procent: Float.. BEHANDLING..* botmedel BEHAND- LING Relationen botar är M:M. Om man vill lagra information som berör relationen botar måste relationen reifieras, dvs göras till ett objekt. Övriga M:M kan lämnas som de är på modelleringsnivå, men måste brytas upp när man skapar en relationsdatabas! Övning reifiering UNIK, TOTAL är_medlem_i 0 KLUBB Klubb_namn: Sträng UNIK, TOTAL Uttöka det konceptuella schemat ovan så att det klarar av att representera att en viss person gick in i en viss klubb vid ett visst tillfälle! 5

Template-Copy strukturer (power types) Template-Copy strukturer (power types) Vissa objekt kan ses som mallar för andra objekt, kopior. En mall beskriver de generella dragen hos kopiorna som i sin tur kan innehålla ett antal idividuella drag. Mallar är ofta abstrakta objekt medan kopior är konkreta objekt. Kopior kan ses som materialiseringar av mallar. BOK är ett typiskt exempel på en mall, boken som ett litterärt verk. BOK:en har en titel, en författare osv. De individuella kopiorna är de fysiska exemplaren av det litterära verket som kan ha egenskaper som vikt, antal sidor etc. Observera att KOPIA inte utgör en delmängd av BOK. Template- Copies är inte samma sak som supertyp-subtyp. BOK titel Författare: String.. UNIK Titel: String.. av_typ KOPIA Vikt: String.. Antal_sidor.. Samma ord - olika begrepp - powertypes På vilka sätt används ordet bok i meningarna nedan? Jules Verne skrev många böcker Biblioteket i Vällingby har många böcker Nazi Tyskland förbjöd många böcker Bokhandlaren i Jönköping sålde många böcker Kurskod Kursnamn Startdatum Antal poäng Kursansvarig KURS Kurskod Kursnamn Antal_poäng.. tillhör KURSTILL- FÄLLE Startdatum Kursansvarig 6