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 ä Et Objekt er en gjenstand eller et begrep som er entydig identifiserbar. Eks:En Bil er et objekt. Denne bilen kan vi identifisere eller gjenkjenne ved identifikasjonen bilnummer siden biler har ulikt bilnummer. Vi sier at ID = bilnummer En Person er et objekt. Personen kan vi identifisere ved hjelp av navn hvis den gruppe personer vi betrakter er slik at ingen har samme navn. Eller vi kan sette ID = fødselsnummer siden dette er unikt. En Vare (eller produkt) er et objekt. ID kan være et varenummer. En Avdeling kan vi betrakte som et objekt. ID kan være avdelingsnummer. Et Tidspunkt kan vi betrakte som et objekt. Her kan vi sette ID = Dato + Klokkeslett.
Attributt ä Attributt :Med Attributt mener vi en egenskap knyttet til et objekt. Eks:Attributter (egenskaper) knyttet til en Bil kan være: Farge, Vekt, Pris, Årsmodell,... Attributter knyttet til en Person kan være: Alder, Høyde, Vekt, Yrke,... Attributter knyttet til Avdeling kan være: Avdelingsnavn, Salgsbudsjett, Etasje,...
Verdi ä Med Verdi mener vi verdier som et attributt kan anta. Eks:Attributtet Farge kan anta verdiene: Rød, Blå, Grønn,... Attriubuttet Yrke kan anta verdiene: Fisker, Lege, Snekker,... Attributtet Høyde kan anta verdiene: 180 cm, 150 cm,...
Entitet ä Med en Entitet mener vi et objekt tilknyttet dets attributter og verdier.
Objekt / Attributt / Verdi / Entitet Objekt Attributt Verdi Entitet Verdi En gjenstand eller et begrep som er entydig identifiserbar En gjenstand eller et begrep som er entydig identifiserbar Egenskap knyttet til et objekt Egenskap knyttet til et objekt Verdien til et attributt Et objekt tilknyttet dets attributter og verdier Et objekt tilknyttet dets attributter og verdier Bil ID = BilNr Farge Rød PC 12345Rød BegrepFigurDefinisjonEks
Relasjoner( Sammenhenger ) Nils PC23718 EierEies av
Relasjoner PersonBil EierEies av EierEies av PersonBil Objekter Entiteter
Relasjoner 11 1n nm En-til-en1:1 En-til-mange1:n Mange-til-mangen:m
1:n relasjon 1n Person (Navn) Bil (BilNr) BilNrNavn Nilsen Olsen Andersen Olsen Nilsen PC23718 PN11900 DA30980 PN12000 PC10550
1:n relasjon 1n Person (Navn) Bil (BilNr) BilNrNavn Nilsen Olsen Andersen Olsen Nilsen PC23718 PN11900 PC23718 PN12000 PC10550 Galt: Samme bilnummer forekommer flere ganger
1:n relasjon n1 Person (Navn) Bil (BilNr) BilNrNavn Nilsen Olsen Andersen PC23718 PN11900 PC23718
1:n relasjon n1 Person (Navn) Bil (BilNr) BilNrNavn Nilsen Olsen Nilsen PC23718 PN11900 PN12000 Galt: Samme navn forekommer flere ganger
n:m relasjon nm Person (Navn) Bil (BilNr) BilNrNavn Nilsen Olsen Andersen Olsen Nilsen Knutsen PC23718 PN11900 DA30980 PN12000 PC10550 PN11900
n:m relasjon nm Person (Navn) Bil (BilNr) BilNrNavn Nilsen Olsen Andersen Olsen Nilsen Knutsen PC23718 PN11900 DA30980 PN12000 PC23718 PN11900 Galt: Samme kombinasjon av navn og bilnummer forekommer flere ganger
1:1 relasjon 11 Person (Navn) Bil (BilNr) BilNrNavn Nilsen Olsen Andersen Knutsen PC23718 PN11900 DA30980 LH20000
1:1 relasjon 11 Person (Navn) Bil (BilNr) BilNrNavn Nilsen Olsen Nilsen Knutsen PC23718 PN11900 DA30980 PN11900 Galt: Samme bilnummer forekommer flere ganger Galt: Samme navn forekommer flere ganger
Relasjoner 1:1 1:n n:m
Objektering av relasjoner Person (Navn) Bil (BilNr) BilNrNavn 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.
n:m relasjon Eksempel Nilsen Storgt 3 Olsen Havnegt 7 Hansen Ekornv 8 Knutsen Tiurv 9 PC Ford PC Volvo PC Renault PC Saab PC Ford PC Ford PC Toyota Person Bil BilEier Nilsen PC Hansen PC Nilsen PC Olsen PC Olsen PC n 1 n
Objektering av relasjoner FirmaVare Lev FVL En n:m relasjon mellom Firma og Vare gir 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.
Entiteter-Tabeller Person (PNr) Avd (ANr) Adr Navn Budsj. 1. Grupper sammen objekter til entiteter 2. Overfør entitetene og relasjonene mellom disse til tabeller.
Entiteter-Tabeller PNRnavnadrANRnavnbudsjett PNRanr PNRnavnadravdANRnavnbudsjett PersonAvd PersonAvd
Datamodell / Entiteter / Tabeller-Eks 1 A B E F C G D A c d eB f g aB A c d e B f g a AB A B
Datamodell / Entiteter / Tabeller-Eks 2 A B E F C G D A c d eB f gA B A c d eB f gA B H AHB
Datamodell / Entiteter / Tabeller-Eks 3 A B E F D G A d eB f gA B C I AICB C H C hC Tabellene blir de samme som entitetene
Datamodell / Entiteter / Tabeller-Eks 4 A B F H D G E A d e f K A C JI A B K C j C B g B H i H A d e f A A B cKC jCB g hBH iH
Kino Et litt større eksempel - Oppgave
Kino Et litt større eksempel - Involverte objekter Kinosal Film Kino Pris Alders- grense Tidspunkt Hoved- rolle Bi- rolle Varighet
Kino Et litt større eksempel - Starter med Kinosal og film Kinosal Film
Kino Starter med objektene Kinosal og Film Kinosal Film K1 K2 K3 K1 F1 F2 F3 F2 Feil iflg. datamodell. Medfører at en kinosal ikke kan vise en film hvis det tidligere er blitt vist film i samme kinosal. Feil iflg. datamodell. Medfører at en film ikke kan vises om igjen hvis den tidligere er vist et eller annet sted.
Kino Starter med objektene Kinosal og Film Kinosal Film K1 K2 K3 K1 F1 F2 F3 F2 Feil iflg. datamodell. Medfører at en kinosal ikke kan vise en film hvis det tidligere er blitt vist film i samme kinosal.
Kino Starter med objektene Kinosal og Film Kinosal Film K1 K2 K3 K1 F1 F2 F3 F2 Feil iflg. datamodell. Medfører at en film ikke kan vises om igjen hvis den tidligere er vist et eller annet sted.
Kino Starter med objektene Kinosal og Film Kinosal Film
Kino Starter med objektene Kinosal og Film Kinosal Film Tid K1 K2 K3 K1 K2 F1 F2 F1 T1 T2 T3 T4 Feil iflg. datamodell. Medfører at en film ikke kan vises til et gitt tidspunkt hvis det vises film andre steder til samme tidspunkt. Feil iflg. datamodell. Medfører at en kinosal ikke kan vise samme film mer enn en gang.
Kino Starter med objektene Kinosal og Film Kinosal Film Tid K1 K2 K3 K1 K2 F1 F2 F1 T1 T2 T3 T4 Feil iflg. datamodell. Medfører at en kinosal ikke kan vise samme film mer enn en gang.
Kino Starter med objektene Kinosal og Film Kinosal Film Tid Feil iflg. datamodell. Medfører at en film ikke kan vises til et gitt tidspunkt hvis det vises film andre steder til samme tidspunkt. K1 K2 K3 K1 K2 F1 F2 F1 T1 T2 T3 T4
Kino Starter med objektene Kinosal og Film Kinosal Film Tid
Kino Starter med objektene Kinosal og Film Kinosal Film Tid KFT
Kino Starter med objektene Kinosal og Film KFT K1 K2 K3 K4 F1 F2 F1 F2 F1 T1 T2 T3 T2 Ok iflg datamodell. Men medfører at to forskjellige filmer kan vises samtidig i samme kinosal. Konklusjon:Uakseptabel datamodell
Kino Starter med objektene Film og Tid FilmTid
Kino Starter med objektene Film og Tid FilmTid F1 F2 F3 F1 T1 T2 T3 T2 Feil iflg. datamodell. Medføret at en film kan ikke vises mer enn en gang
Kino Starter med objektene Film og Tid FilmTid F1 F2 F3 F4 T1 T2 T3 T2 Feil iflg. datamodell. Medfører at en kinosal ikke kan vise en film hvis det på samme tidspunkt vises film i en annen kinosal.
Kino Starter med objektene Film og Tid FilmTid
Kino Starter med objektene Film og Tid FilmTid Kinosal
Kino Starter med objektene Film og Tid FilmTid Kinosal FTK F1 F2 F3 T1 T2 K1 K2 Konklusjon:Uakseptabel datamodell Ok iflg datamodell. Men medfører at to forskjellige filmer kan vises samtidig i samme kinosal.
Kino Starter med objektene Kinosal og Tid KinosalTid Forestilling
Kino Starter med objektene Kinosal og Tid - Grunnleggende datamodell KinosalTid Forestilling Film Kino Hovedregel: Hvis vi skal unngå at to ulike begivenheter inntreffer på samme sted til samme tid, start med objektene Sted og Tid (her Kinosal og Tid).
End