Kap 04 Datamodellering

37
1 Kap 04 Datamodellering Kap 04 Datamodellering

description

Kap 04 Datamodellering. Datamodellering. -Et språk for å analysere og beskrive virkeligheten. -En metode for å beskrive naturlige sammenhenger i data som skal benyttes i et informasjons-system. Objekt. - PowerPoint PPT Presentation

Transcript of Kap 04 Datamodellering

Page 1: Kap 04   Datamodellering

11

Kap 04 DatamodelleringKap 04 DatamodelleringKap 04 DatamodelleringKap 04 Datamodellering

Page 2: Kap 04   Datamodellering

22

Datamodellering

- Et språk for å analysereog beskrive virkeligheten.

- En metode for å beskrive naturlige sammenhenger i datasom skal benyttesi et informasjons-system.

Page 3: Kap 04   Datamodellering

33

Objekt

Et Et ObjektObjekt er en gjenstand eller et begrep som er er en gjenstand eller et begrep som er entydig identifiserbarentydig identifiserbar..

Eks:Eks: En En BilBil er et objekt. er et objekt.Denne bilen kan vi identifisere eller gjenkjenne ved identifikasjonenDenne bilen kan vi identifisere eller gjenkjenne ved identifikasjonenbilnummer siden biler har ulikt bilnummer.bilnummer siden biler har ulikt bilnummer.Vi sier at ID = bilnummerVi sier at ID = bilnummer

En En PersonPerson er et objekt. er et objekt.Personen kan vi identifisere ved hjelp av navn hvis den gruppe Personen kan vi identifisere ved hjelp av navn hvis den gruppe

personerpersonervi betrakter er slik at ingen har samme navn.vi betrakter er slik at ingen har samme navn.Eller vi kan sette ID = fødselsnummer siden dette er unikt.Eller vi kan sette ID = fødselsnummer siden dette er unikt.

En En VareVare (eller produkt) er et objekt. (eller produkt) er et objekt.ID kan være et varenummer.ID kan være et varenummer.

En En AvdelingAvdeling kan vi betrakte som et objekt. kan vi betrakte som et objekt.ID kan være avdelingsnummer.ID kan være avdelingsnummer.

Et Et TidspunktTidspunkt kan vi betrakte som et objekt. kan vi betrakte som et objekt.Her kan vi sette ID = Dato + Klokkeslett.Her kan vi sette ID = Dato + Klokkeslett.

Page 4: Kap 04   Datamodellering

44

Attributt

AttributtAttributt:: Med Attributt mener vi en Med Attributt mener vi en egenskapegenskap knyttet til et knyttet til et objekt.objekt.

Eks:Eks: Attributter (egenskaper) knyttet til en Attributter (egenskaper) knyttet til en BilBil kan være:kan være:Farge, Vekt, Pris, Årsmodell, ...Farge, Vekt, Pris, Årsmodell, ...

Attributter knyttet til en Attributter knyttet til en PersonPerson kan være:kan være:Alder, Høyde, Vekt, Yrke, ...Alder, Høyde, Vekt, Yrke, ...

Attributter knyttet til Attributter knyttet til AvdelingAvdeling kan være:kan være:Avdelingsnavn, Salgsbudsjett, Etasje, ...Avdelingsnavn, Salgsbudsjett, Etasje, ...

Page 5: Kap 04   Datamodellering

55

Verdi

Med Med VerdiVerdi mener vi verdier som et attributt kan anta. mener vi verdier som et attributt kan anta.

Eks:Eks: Attributtet Attributtet FargeFarge kan anta verdiene:kan anta verdiene:Rød, Blå, Grønn, ...Rød, Blå, Grønn, ...

Attriubuttet Attriubuttet YrkeYrke kan anta verdiene:kan anta verdiene:Fisker, Lege, Snekker, ...Fisker, Lege, Snekker, ...

Attributtet Attributtet HøydeHøyde kan anta verdiene:kan anta verdiene:180 cm, 150 cm, ...180 cm, 150 cm, ...

Page 6: Kap 04   Datamodellering

66

Entitet

Med en Med en EntitetEntitet mener vi et objektmener vi et objekttilknyttet dets attributter og verdier.tilknyttet dets attributter og verdier.

Page 7: Kap 04   Datamodellering

77

Objekt / Attributt / Verdi / Entitet

ObjektObjekt

AttributtAttributt

VerdiVerdi

EntitetEntitet

VerdiVerdi

En gjenstand eller et begrepsom er entydig identifiserbar

En gjenstand eller et begrepsom er entydig identifiserbar

Egenskap knyttet tilet objekt

Egenskap knyttet tilet objekt

Verdien til et attributtVerdien til et attributt

Et objekt tilknyttet detsattributter og verdier

Et objekt tilknyttet detsattributter og verdier

Bil ID = BilNr

FargeFarge

RødRød

PC 12345 Rød

Begrep Figur Definisjon Eks

Page 8: Kap 04   Datamodellering

88

Relasjoner( Sammenhenger )

Nils PC23718Eier Eies av

Page 9: Kap 04   Datamodellering

99

Relasjoner

Person BilEier Eies av

Eier Eies avPerson Bil

Objekter

Entiteter

Page 10: Kap 04   Datamodellering

1010

Relasjoner

1 1

1 n

n m

En-til-en 1:1

En-til-mange 1:n

Mange-til-mange 1:1

Page 11: Kap 04   Datamodellering

1111

1:n relasjon

1 n

Person(Navn)

Bil(BilNr)Eies avEier

NilsenOlsenAndersenOlsenNilsen

PC23718PN11900DA30980PN12000PC10550

Page 12: Kap 04   Datamodellering

1212

1:n relasjon

1 n

Person(Navn)

Bil(BilNr)Eies avEier

NilsenOlsenAndersenOlsenNilsen

PC23718PN11900PC23718PN12000PC10550

Galt:Samme bilnummerforekommerflere ganger

Page 13: Kap 04   Datamodellering

1313

1:n relasjon

n 1

Person(Navn)

Bil(BilNr)Eies avEier

NilsenOlsenAndersen

PC23718PN11900PC23718

Page 14: Kap 04   Datamodellering

1414

1:n relasjon

n 1

Person(Navn)

Bil(BilNr)Eies avEier

NilsenOlsenNilsen

PC23718PN11900PN12000Galt:

Samme navnforekommerflere ganger

Page 15: Kap 04   Datamodellering

1515

n:m relasjon

n m

Person(Navn)

Bil(BilNr)Eies avEier

NilsenOlsenAndersenOlsenNilsenKnutsen

PC23718PN11900DA30980PN12000PC10550PN11900

Page 16: Kap 04   Datamodellering

1616

n:m relasjon

n m

Person(Navn)

Bil(BilNr)Eies avEier

NilsenOlsenAndersenOlsenNilsenKnutsen

PC23718PN11900DA30980PN12000PC23718PN11900

Galt:Samme kombinasjonav navn og bilnummerforekommerflere ganger

Page 17: Kap 04   Datamodellering

1717

1:1 relasjon

1 1

Person(Navn)

Bil(BilNr)Eies avEier

NilsenOlsenAndersenKnutsen

PC23718PN11900DA30980LH20000

Page 18: Kap 04   Datamodellering

1818

1:1 relasjon

1 1

Person(Navn)

Bil(BilNr)Eies avEier

NilsenOlsenNilsenKnutsen

PC23718PN11900DA30980PN11900 Galt:

Samme bilnummerforekommerflere ganger

Galt:Samme navnforekommerflere ganger

Page 19: Kap 04   Datamodellering

1919

Relasjoner

1:1

1:n

n:m

Page 20: Kap 04   Datamodellering

2020

Objektering av relasjoner

Person(Navn)

Bil(BilNr)Eies avEier

Ved en mange-til-mange-relasjon ( n:m ) mellom to objekter lager vi et nytt objekt av relasjonen.ID i det nye objektet vil være samlingen av ID-ene fra de to opprinnelige objektene.Dette nye objektet vil seinere gi opphav til en ny entitet og en ny tabell i relasjons-databasen.

Page 21: Kap 04   Datamodellering

2121

n:m relasjon Eksempel

Nilsen Storgt 3Olsen Havnegt 7Hansen Ekornv 8Knutsen Tiurv 9

PC 11111 FordPC 22222 VolvoPC 33333 RenaultPC 44444 SaabPC 55555 FordPC 66666 FordPC 77777 Toyota

Person Bil

BilEier

Nilsen PC 33333 01.01.95Hansen PC 11111 07.07.93Nilsen PC 22222 03.05.96Olsen PC 44444 12.09.94Olsen PC 22222 14.10.96

1

n

1

n

Page 22: Kap 04   Datamodellering

2222

Objektering av relasjoner

Firma Vare

Lev

F V LEn n:m relasjon mellom Firma og Varegir opphav til et nytt objekt FV.Lev (Leverandør) inngår i en n:m relasjon til FV.Slutt-resultatet blir som vist i figuren til høyre.

Page 23: Kap 04   Datamodellering

2323

Entiteter - Tabeller

Person(PNr)

Avd(ANr)

Adr Navn

Navn Budsj.

1. Grupper sammen objekter til entiteter

2. Overfør entitetene og relasjonene mellom disse til tabeller.

Page 24: Kap 04   Datamodellering

2424

Entiteter - Tabeller

PNR navn adr ANR navn budsjett

PNR anr

PNR navn adr avd ANR navn budsjett

Person Avd

Person Avd

Page 25: Kap 04   Datamodellering

2525

Datamodell / Entiteter / Tabeller - Eks 1

A B

E F

C G

D

A c d e B f g

a B

A c d e B f g a

A B

A B

Page 26: Kap 04   Datamodellering

2626

Datamodell / Entiteter / Tabeller - Eks 2

A B

E F

C G

D

A c d e B f gA B

A c d e B f gA B

H

A H B

Page 27: Kap 04   Datamodellering

2727

Datamodell / Entiteter / Tabeller - Eks 3

A B

E F

D G

A d e B f gA B C

I

A IC B

C H

C hC

Tabellene blir de samme som entitetene

Page 28: Kap 04   Datamodellering

2828

Datamodell / Entiteter / Tabeller - Eks 4

A B

F H

D G

E

A d e f

K

A

C J I

A BK C j C B gB H iH

A d e fA A B cK C j C B g hB H iH

Page 29: Kap 04   Datamodellering

2929

KinoEt litt større eksempel - Tidsobjekter

Kino Film

Page 30: Kap 04   Datamodellering

3030

KinoPrøver å starte med objektene Kino og Film

Kino Film

Page 31: Kap 04   Datamodellering

3131

KinoPrøver å starte med objektene Kino og Film

Kino Film

Tid

Page 32: Kap 04   Datamodellering

3232

KinoPrøver å starte med objektene Kino og Film

Kino Film

Tid

K F T

Page 33: Kap 04   Datamodellering

3333

KinoPrøver å starte med objektene Kino og Film

K F T

K1K2K3K4K4

F1F2F1F2F1

T1T2T3T2T2 Ikke mulig.

To forskjellige filmerkan ikke samtidigvises i samme kinosal.

Konklusjon: Uakseptabel datamodell

Page 34: Kap 04   Datamodellering

3434

KinoPrøver å starte med objektene Film og Tid

Film Tid

Kino

F T K

F1F2F3

T1T2T2

K1K2K2Konklusjon: Uakseptabel datamodell

Page 35: Kap 04   Datamodellering

3535

KinoPrøver å starte med objektene Kino (Kinosal) og Tid

Kinosal Tid

Forestilling

Page 36: Kap 04   Datamodellering

3636

KinoGrunnleggende datamodell

Kinosal Tid

Forestilling

Film

Kino

Page 37: Kap 04   Datamodellering

3737

End