Kap 04 Datamodellering
description
Transcript of Kap 04 Datamodellering
11
Kap 04 DatamodelleringKap 04 DatamodelleringKap 04 DatamodelleringKap 04 Datamodellering
22
Datamodellering
- Et språk for å analysereog beskrive virkeligheten.
- En metode for å beskrive naturlige sammenhenger i datasom skal benyttesi et informasjons-system.
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.
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, ...
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, ...
66
Entitet
Med en Med en EntitetEntitet mener vi et objektmener vi et objekttilknyttet dets attributter og verdier.tilknyttet dets attributter og verdier.
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
88
Relasjoner( Sammenhenger )
Nils PC23718Eier Eies av
99
Relasjoner
Person BilEier Eies av
Eier Eies avPerson Bil
Objekter
Entiteter
1010
Relasjoner
1 1
1 n
n m
En-til-en 1:1
En-til-mange 1:n
Mange-til-mange 1:1
1111
1:n relasjon
1 n
Person(Navn)
Bil(BilNr)Eies avEier
NilsenOlsenAndersenOlsenNilsen
PC23718PN11900DA30980PN12000PC10550
1212
1:n relasjon
1 n
Person(Navn)
Bil(BilNr)Eies avEier
NilsenOlsenAndersenOlsenNilsen
PC23718PN11900PC23718PN12000PC10550
Galt:Samme bilnummerforekommerflere ganger
1313
1:n relasjon
n 1
Person(Navn)
Bil(BilNr)Eies avEier
NilsenOlsenAndersen
PC23718PN11900PC23718
1414
1:n relasjon
n 1
Person(Navn)
Bil(BilNr)Eies avEier
NilsenOlsenNilsen
PC23718PN11900PN12000Galt:
Samme navnforekommerflere ganger
1515
n:m relasjon
n m
Person(Navn)
Bil(BilNr)Eies avEier
NilsenOlsenAndersenOlsenNilsenKnutsen
PC23718PN11900DA30980PN12000PC10550PN11900
1616
n:m relasjon
n m
Person(Navn)
Bil(BilNr)Eies avEier
NilsenOlsenAndersenOlsenNilsenKnutsen
PC23718PN11900DA30980PN12000PC23718PN11900
Galt:Samme kombinasjonav navn og bilnummerforekommerflere ganger
1717
1:1 relasjon
1 1
Person(Navn)
Bil(BilNr)Eies avEier
NilsenOlsenAndersenKnutsen
PC23718PN11900DA30980LH20000
1818
1:1 relasjon
1 1
Person(Navn)
Bil(BilNr)Eies avEier
NilsenOlsenNilsenKnutsen
PC23718PN11900DA30980PN11900 Galt:
Samme bilnummerforekommerflere ganger
Galt:Samme navnforekommerflere ganger
1919
Relasjoner
1:1
1:n
n:m
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.
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
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.
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.
2424
Entiteter - Tabeller
PNR navn adr ANR navn budsjett
PNR anr
PNR navn adr avd ANR navn budsjett
Person Avd
Person Avd
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
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
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
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
2929
KinoEt litt større eksempel - Tidsobjekter
Kino Film
3030
KinoPrøver å starte med objektene Kino og Film
Kino Film
3131
KinoPrøver å starte med objektene Kino og Film
Kino Film
Tid
3232
KinoPrøver å starte med objektene Kino og Film
Kino Film
Tid
K F T
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
3434
KinoPrøver å starte med objektene Film og Tid
Film Tid
Kino
F T K
F1F2F3
T1T2T2
K1K2K2Konklusjon: Uakseptabel datamodell
3535
KinoPrøver å starte med objektene Kino (Kinosal) og Tid
Kinosal Tid
Forestilling
3636
KinoGrunnleggende datamodell
Kinosal Tid
Forestilling
Film
Kino
3737
End