(Data)Modellering nikos dimitrakas rum 6626

Slides:



Advertisements
Liknande presentationer
Justerad metod i RAMS Justerad metod i RAMS 2011 I framställningen av den Registerbaserade arbetsmarknadsstatistiken (RAMS) avseende.
Advertisements

Relationsdatabasdesign
Romersk skulptur Exempel Förutsättningar Kännetecken
MS Excel 2010 – Dag 2 Mahmud Al Hakim
Klasser och objekt.
DATABASHANTERING för programmerare
Leif Håkansson’s Square Dancer Rotation
Klassarv och inkapsling
Datamodellering med E/R-diagram
OOP Objekt-orienterad programmering
Elkraft 7.5 hp distans: Kap. 3 Likströmsmotorn 3:1
Objektorienterad tänkande
Förstudie 2. Design 3. Migrering 4 Analys av befintlig miljö –Microsoft Assessment and Planning (MAP) kan användas för att analysera sin miljö.
1 Medarbetarenkät svar. 2 Kön 3 Jag är knuten till en klass, undervisningsgrupp eller barngrupp.
Kommunpussel Din uppgift är att sortera de organisatoriska delar på nästa sida på ett sådant sätt att det överensstämmer med hur din kommun är organiserad.
Modellering med UML
V E R S I O N N R 2. 0 T A V E L I D É E R I M I L J Ö.
V ersion Dialogseminarium – Patientens väg i vården Välkommen!
Datamodellering med E/R-diagram
Hur vill studenter bo? En studie av enrumslägenheter 1.
KARTKUNSKAP 1.
Enkätresultat för Fritidshem Föräldrar 2014 Skola - Hällby skola.
Fakta om undersökningen
INFÖR NATIONELLA PROVET
Företagarpanelen – Q SEPTEMBER 2011 Hallands län.
Enkätresultat för Grundskolan Elever 2014 Skola:Hällby skola.
Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT Lite OOA/OOD.
15 x 25 meter. Skriv banenavn Skriv designet af Skriv dato MÅL sväng vänster 6 sväng höger 5 runt 7 Vänster runt hund höger runt.
Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1
DATABASHANTERING för programmerare
Arv.
TÄNK PÅ ETT HELTAL MELLAN 1-50
Grundskola Elever 2013 Grundskoleenkät - Elever ( per klass)
1 Joomla © 2009 Stefan Andersson 1. 2 MÅL 2 3 Begrepp Aktör: en användare som interagerar med webbplatsen. I diagrammet till höger finns två aktörer:
Best pictures on the internet 2007 Awards 1http:// Är vänsteralliansen trovärdig i Norrköping.
Enkätresultat för Fritidshem Elever 2014 Skola:Fritidselever, Gillberga skola.
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
Diskreta, deterministiska system Projekt 1.2; Vildkatt
Grundskola Föräldrar 2013 Grundskoleenkät - Föräldrar Enhet:Gillberga skola.
Best pictures on the internet 2007 Awards 1http:// (s), (v), och (mp) i Norrköping, gillar inte att vi använder grundlagarna.
Styrteknik: Grundläggande logiska funktioner D2:1
Barnets rättigheter i Sverige och för alla barn i världen
Exempelbaserade specifikationer med SpecFlow
Täckningsgrad Dec 2014 – feb 2015 Täckningsgrad Dec 2014 – feb 2015.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Enkätresultat för Grundskolan Föräldrar 2014 Skola - Gillberga skola.
Systemdesign som process
Bevarande utifrån nya Ladoks perspektiv
Föreläsning 8 Programmeringsteknik och Matlab DD1312 Klassmetoder Egen modul, Self Metoderna: __str__, __lt__,… Meddelande Arv, Överlagring av metoder,
Experience from LiU Collaboration with Industry Ingegerd Bauren & David Lawrence Linköping University.
Informationsteknologi - Lektion 2 Trådlöst nätverk (WLAN) Trådlöst nätverk (WLAN) Filarkivet: Filarkivet:
Mathematics 1 /Matematik 1 Lesson 7 – complex numbers Lektion 7 – Komplexa tal.
Vara kommun Grundskoleundersökning 2014 Föräldrar 2 Levene skola årskurs 5 Antal svar 2014 för aktuell årskurs i skola: 12 Antal svar 2014 för årskurs.
Räkna till en miljard 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15,16,17,18,19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, En miljard är ett.
BVForum - en genomgång för revisorer Sören Thuresson.
1 L U N D S U N I V E R S I T E T Bygginnovationssystem, VBEN20 Kristian Widén.
Förskoleenkät Föräldrar 2012 Förskoleenkät – Föräldrar Enhet:Hattmakarns förskola.
DATABASHANTERING för programmerare Lektion 5 Mahmud Al Hakim
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Lite OOA/OOD.
1 Mönstermatchning och rekursion Nr 4. 2 Förenklad notation val fnname = fn name => expression Förenklas till fun fnname name = expression Exempel fun.
Grundskola Elever 2013 Grundskoleenkät - Elever Enhet: Gillberga skola.
1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.
1 Jan Lundström OV’s Hemsida Utbildning Ledare. 2 Jan Lundström OV’s Hemsida Standard Lagrum.
1 Föreläsning 8 Mer om klasser och objektorientering.
När infaller Julafton och hur ofta?
Programmeringsteknik
OOP - teori1 OOP del II– Föreläsning 5 vecka 6. OOP - teori2 Klasser Substantiv i singularis stavat med stor bokstav till exempel Human Dog Account Circle.
OOP&M - teori1 OOP&M del II– Föreläsning 5 vecka 50 OBJEKT Substantiv i singularis stavat med stor bokstav till exempel Human Dog Account Circle Book String.
OOP&M - teori1 OOPM del II– Föreläsning vecka Mer om ärvning.. Abstrakta klasser/metoder Gränssnitt/Interface klasser.
Operativ informationshantering, databaser
Presentationens avskrift:

(Data)Modellering nikos dimitrakas nikos@dsv.su.se 08-162099 rum 6626 Database Systems, Connolly & Begg third edition: kapitel 11, 12 & 14 fourth edition: kapitel 11, 12 & 15

Vad är en modell? Definitioner av “modell”: Robert A. Maksimchuk, Eric J. Naiburg (UML): A miniature representation of an object. A pattern on which something not yet produced will be based. A design or type. One serving as an example to be emulated or imitated. Wordnet: Representation of something (sometimes on a smaller scale). A simplified description of a complex entity or process.

Typer av modellering Datamodellering Processmodellering Modellera data som berör verksamheten. TechTarget: Data modeling is the analysis of data objects that are used in a business or other context and the identification of the relationships among these data objects. Processmodellering Modellera verksamhetens processer. Verksamhetsmodellering Modellera olika aspekter av en verksamhet. Kan inkludera datamodellering och processmodellering.

Datamodellering Konceptuell modellering Logisk databasmodellering oberoende av alla fysiska aspekter Logisk databasmodellering plattformsoberoende, men anpassad för vald databastyp Fysisk databasmodellering implementationsspecifik

Modelleringsmetod Faktorer som bör ingå i en modelleringsmetod: användarmedverkan. utgå endast från informationskrav. beakta integritetskrav. normalisera och validera de framtagna modellerna. använd grafisk notation så långt som möjligt, men komplettera med textuell notation när nödvändigt. använd samma metod under hela modelleringsfasen. var villig att göra om steg.

Modelleringsmetod Konceptuell modellering Logisk databasmodellering Ta fram en konceptuell modell Logisk databasmodellering Omvandla en konceptuell modell till en logisk databasmodell Fysisk databasmodellering Omvandla en logisk databasmodell till en fysisk databasmodell

Konceptuell modellering Olika notationer ER UML MOLOC ??? Olika begrepp Entiteter, klasser, koncept, begrepp Relationer, samband, associationer Attribut, egenskaper, properties Identifierare, avbildningsregler, kardinalitet, multiplicitet Supertyp, superklass, subtyp, subklass, arv

Konceptuell modell Betrakta följande exempel: En familj kan äga en bil. Varje bil ägs av en familj.

Modell vs. värden/objekt Modellnivå Instansnivå

Klass/Entitetstyp Beskriver en företeelse av vilken det finns många förekomster. T ex Bil, Familj, Företag, Hund, Köp. Representeras i modellen oftast som rektanglar: Varje förekomst är ett identifierbart objekt (instans) av denna klass (entitetstyp)

Klass/Entitetstyp Varje klass namnges oftast så att den beskriver vad en förekomst (ett objekt) är. Man använder oftast substantiv. T ex är ett objekt av klassen Bil en bil. Entitetstyper som är oberoende av andra kallas strong entity types Entitetstyper som är beroende av andra kallas weak entity types

Relationstyp/Association Beskriver ett samband som kan existera mellan objekt av klasser (entitetstyper). T ex att familjer kan äga bilar eller att företag kan samarbeta med andra företag. Representeras i modellen som en linje mellan de relaterade klasserna:

Relationstyp/Association Varje relationstyp har ett namn som beskriver innebörden av relationen. Namnet kan vara ett verb så att man lätt kan läsa t ex Familj äger Bil Om sambandet är mellan tre eller fler entitetstyper brukar man skapa en ny entitetstyp för sambandet med en gång. För varje relation måste man definiera följande avbildningsregler för varje sida: minimum antal objekt som måste relateras för denna relation maximum antal objekt som kan relateras

Attribut/Egenskap Beskriver en egenskap som en klass har. T ex kan en bil ha egenskaper som färg, märke, antal dörrar och registreringsnummer. Varje attribut måste ha en domän (värdeförråd) och följande avbildningsregler: minimum antal värden som ett objekt måste ha för denna egenskap maximum antal värden som ett objekt kan ha för denna egenskap om två objekt av samma klass får ha samma värde för denna egenskap

Attribut/Egenskap Representeras i modellen oftast i klassens rektangel tillsammans med sina avbildningsregler: Jämför attribut och relationstyp!

Attribut/Egenskap Sammansatt attribut (composite attribute) T ex adress som består av gatuadress, postnummer och postort. Härledbart attribut (derived attribute) T ex antal bilar som en familj har. Flervärt attribut Ett objekt har flera värden för detta attribut

Identifierare Varje objekt måste kunna identifieras unikt. Alla objekt som tillhör samma klass (entitetstyp) måste identifieras på samma sätt, dvs med hjälp av samma attribut och relationer. Varje klass identifieras av en samling envärda attribut och relationer. Varje klass kan identifieras av flera olika kombinationer attribut och relationer.

Verksamhetsregler Kallas också Business rules eller Enterprise constraints Regler som ingår i verksamheten men kan inte visas grafiskt i modellen (oftast pga att de är beroende av objektens värden). Är en del av modellen och kompletterar den grafiska delen. T ex att en familj på 5 eller flera personer inte får äga en röd bil. en anställd på ett företag får inte ha högre lön än sin chef.

Relationstyper Ett-till-ett (1:1) Ett-till-många (1:M) T ex: En person äger en hund och en hund ägs av en person. Ett-till-många (1:M) T ex: En familj äger flera bilar och varje bil ägs av en familj. Många-till-många (M:M) T ex: Ett företag säljer många produkter och varje produkt säljs av många företag. Obs! Endast maximum (kardinalitet) anges i denna uppdelning

Arv Superklass Subklass Exempel: Den generella klassen i arvshierarkin Subklass Den specifika klassen i arvshierarkin Exempel: Superklass: Person Subklass: Lärare Representeras oftast enligt följande notation: Kan läsas Lärare is a (är en) Person

Arv Attribut och relationer som finns för superklassen ärvs ner till alla subklasser. Andra regler som bör beaktas: Måste alla objekt av en superklass tillhöra även en subklass? (Participation constraint) Får ett objekt tillhöra flera subklasser? (Överlappande subklasser) (Disjoint constraint)

Arv

Konceptuell modellering Identifiera klasser Definiera namn Identifiera relationer Definiera multiplicitet Identifiera attribut Definiera domän Identifiera identifierare Identifiera verksamhetsregler

Exempel Modellera följande verksamhet: Varje familj har ett namn och en adress. Varje familj består av flera personer. Varje person har ett namn och ett födelseår. Varje familj kan äga hundar. Varje person kan äga fiskar och hamstrar. Alla husdjur har namn och färger. Hundar har en ras. Personer har olika ansvar i hemmet (t ex diska, tvätta). Samma arbetsuppgift kan dock delas av många. Om en person äger två eller flera fiskar får denna person inte äga hamstrar.

Exempel Identifiera klasser Definiera namn

Exempel Identifiera relationer Definiera namn Definiera multiplicitet

Exempel Identifiera attribut Definiera namn Definiera domän Definiera multiplicitet

Exempel Identifiera identifierare Identifiera verksamhetsregler