Presentation laddar. Vänta.

Presentation laddar. Vänta.

ITK3:DB h t2006 nikos dimitrakas 1 (Data)Modellering Database Systems, Connolly & Begg third edition: kapitel 11, 12 & 14 fourth edition: kapitel 11, 12.

Liknande presentationer


En presentation över ämnet: "ITK3:DB h t2006 nikos dimitrakas 1 (Data)Modellering Database Systems, Connolly & Begg third edition: kapitel 11, 12 & 14 fourth edition: kapitel 11, 12."— Presentationens avskrift:

1 ITK3:DB h t2006 nikos dimitrakas 1 (Data)Modellering Database Systems, Connolly & Begg third edition: kapitel 11, 12 & 14 fourth edition: kapitel 11, 12 & 15 nikos dimitrakas rum 6626

2 ITK3:DB h t2006 nikos dimitrakas 2 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.

3 ITK3:DB h t2006 nikos dimitrakas 3 Typer av modellering •Datamodellering •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.

4 ITK3:DB h t2006 nikos dimitrakas 4 Datamodellering •Konceptuell modellering •oberoende av alla fysiska aspekter •Logisk databasmodellering •plattformsoberoende, men anpassad för vald databastyp •Fysisk databasmodellering •implementationsspecifik

5 ITK3:DB h t2006 nikos dimitrakas 5 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.

6 ITK3:DB h t2006 nikos dimitrakas 6 Modelleringsmetod •Konceptuell modellering –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

7 ITK3:DB h t2006 nikos dimitrakas 7 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

8 ITK3:DB h t2006 nikos dimitrakas 8 Konceptuell modell Betrakta följande exempel: En familj kan äga en bil. Varje bil ägs av en familj.

9 ITK3:DB h t2006 nikos dimitrakas 9 Modell vs. värden/objekt Modellnivå Instansnivå

10 ITK3:DB h t2006 nikos dimitrakas 10 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)

11 ITK3:DB h t2006 nikos dimitrakas 11 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

12 ITK3:DB h t2006 nikos dimitrakas 12 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:

13 ITK3:DB h t2006 nikos dimitrakas 13 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

14 ITK3:DB h t2006 nikos dimitrakas 14 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

15 ITK3:DB h t2006 nikos dimitrakas 15 Attribut/Egenskap •Representeras i modellen oftast i klassens rektangel tillsammans med sina avbildningsregler: Jämför attribut och relationstyp!

16 ITK3:DB h t2006 nikos dimitrakas 16 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

17 ITK3:DB h t2006 nikos dimitrakas 17 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.

18 ITK3:DB h t2006 nikos dimitrakas 18 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.

19 ITK3:DB h t2006 nikos dimitrakas 19 Relationstyper •Ett-till-ett (1:1) –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

20 ITK3:DB h t2006 nikos dimitrakas 20 Arv •Superklass –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

21 ITK3:DB h t2006 nikos dimitrakas 21 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)

22 ITK3:DB h t2006 nikos dimitrakas 22 Arv

23 ITK3:DB h t2006 nikos dimitrakas 23 Konceptuell modellering •Identifiera klasser –Definiera namn •Identifiera relationer –Definiera namn –Definiera multiplicitet •Identifiera attribut –Definiera namn –Definiera domän –Definiera multiplicitet •Identifiera identifierare •Identifiera verksamhetsregler

24 ITK3:DB h t2006 nikos dimitrakas 24 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.

25 ITK3:DB h t2006 nikos dimitrakas 25 Exempel •Identifiera klasser –Definiera namn

26 ITK3:DB h t2006 nikos dimitrakas 26 Exempel •Identifiera relationer –Definiera namn –Definiera multiplicitet

27 ITK3:DB h t2006 nikos dimitrakas 27 Exempel •Identifiera attribut –Definiera namn –Definiera domän –Definiera multiplicitet

28 ITK3:DB h t2006 nikos dimitrakas 28 Exempel •Identifiera identifierare •Identifiera verksamhetsregler


Ladda ner ppt "ITK3:DB h t2006 nikos dimitrakas 1 (Data)Modellering Database Systems, Connolly & Begg third edition: kapitel 11, 12 & 14 fourth edition: kapitel 11, 12."

Liknande presentationer


Google-annonser