Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Datamodellering Man is a knot, a web, a mesh into which relationships are tied. Only those relationships matter Saint-Exupéry.

Liknende presentasjoner


Presentasjon om: "Datamodellering Man is a knot, a web, a mesh into which relationships are tied. Only those relationships matter Saint-Exupéry."— Utskrift av presentasjonen:

1 Datamodellering Man is a knot, a web, a mesh into which relationships are tied. Only those relationships matter Saint-Exupéry

2 Datamodellering En teknikk for å modellere data En grafisk representasjon av en database Målet er å identifisere opplysningene som skal lagres i databasen Datamodellering er et samarbeid mellom kunden og den som analyserer

3 Modellering av virksomhet InnholdModellTeknologi MotivasjonhvorforMålForretningsplanGroupware MenneskerhvemForretnings- enhet OrganisasjonskartGrensesnitt TidnårNøkkel- hendinger PERT diagramProsjektplanlegging DatahvaNøkkel- entiteter Data modellRelasjonsdatabase FunksjonhvordanNøkkel- prosesser ProsessmodellApplikasjons- programmer NettverkhvorStederLogistisk nettverkSystemarkitektur

4 Byggeblokker Entitet (ting, sted, person, hendelse, beskrivelse, rolle,..) Attributt (egenskap) Sammenheng (hvordan entitetene henger sammen) Identifikator (hvilke attributter skiller entitetene fra hverandre)

5 Kvalitet i datamodeller En godt utformet datamodell Et bilde som avspeiler en del av virkeligheten

6 En godt utformet datamodell Følger konstruksjonsreglene Er ikke tvetydig Alle entiteter, attributter, sammenhenger og identifikatorer er definert Navn er meningsfulle for kunden

7 Et speilbilde av en del virkeligheten Er en virkelighetstro beskrivelse av den delen av verden modellen representerer Sammenhenger har korrekt kardinalitet Datamodellen er avgrenset, men komplett, forståelig og nøyaktig Datamodellen gir mening for kunden

8 Kvalitetsforbedring Er detaljeringsgraden korrekt? Er alle unntak håndtert Er modellen nøyaktig Er avgrensningen korrekt

9 Systemdefinisjon (Checkland) Client - Hvem er "kunden" som det går utover hvis systemet svikter Actor - Hvilke aktører er involvert i systemets daglige bruk Transformation process - Hva må gjøres med input for å produsere output Weltanschauung - Hvilket verdenssyn gjør definisjonen meningsfull Owner Hvem har makt til å fjerne systemet Enivironmental Factors - Begrensninger i form av lovverk, etikk Dette er viktige faktorer å tenke gjennom tidlig i en systemutviklingsprosess.

10 Bruksanvisning De neste lysarkene inneholder modelleringseksempler Diskusjon av eksemplene finnes i boka på side 163-183 Diskusjonen er sentral i fagområdet datamodellering Krever bearbeiding og modning.

11 Ren geografi

12

13 Geografi ny versjon

14 Familie 1. versjon

15 Familie 2. versjon

16 Familie 3. versjon

17 Familie 4. versjon

18 Familie 5. versjon

19 Bibliotek En bok er ikke en bok!

20 Historie 1. versjon

21 Historie 2. versjon

22 Historie 3. versjon

23 Historie 4. versjon

24 Problem Leasing av fly til flyselskaper Et fly kan leases av flere flyselskaper gjennom sin levetid Flyselskapet leaser flere fly Leasingavtalen formidles av en agent Agenten formidler flere fly Agenten formidler fly til flere flyselskaper Samme fly kan ha blitt formidlet gjennom flere agenter

25 Trekantforhold for entiteter 1.versjon

26 Trekantforhold for entiteter 2.versjon NB! Dette er en ny form for entitetisering. Den entitetiserer tre M:M sammenhenger. Samme prinsipp kan brukes når flere entiteter skal knyttes sammen, men må være begrunnet i virkelige sammenhenger. Leieavtalen ”LEASE” binder sammen agent, fly og flyselskap. Slik er det også i virkeligheten.

27 Problem Prosjektplanlegging Plan og virkelighet En ansatt kan være involvert i flere prosjekter Et prosjekt gjøres av flere ansatte Et prosjekt består av flere aktiviteter En aktivitet hører til nøyaktig ett prosjekt Den ansatte registrerer timer på prosjekt og aktivitet Følgende eksempler fokuserer på timeregistrering Hvor detaljert er planleggingen?

28 Plan og gjennomføring ver 1. Hva om planleggingen er mer detaljert – fra dag til dag per ansatt?

29 Plan og gjennomføring ver 2.

30 Entitetstyper Uavhengige Avhengige (Svake) Assosiative (aka entitetiseringer eller intersection) Aggregater Underordnete

31 Uavhengige entieter Vanligvis startpunktet Framstående i kundens tankegang Ofte knyttet til andre og avhengige entiteter

32 Avhengige entiteter Avhenger av en annen entitet for å kunne eksistere og identifiseres Kan gjøres uavhengig ved hjelp av en vilkårlig identifikator

33 Assosiative entiteter Et bi-produkt av en m:m sammenheng Typisk mellom uavhengige entiteter Kan lagre gjeldende eller historiske data Kan gjøres uavhengige med en vilkårlig identifikator

34 Aggregat-entiteter Skapes av mange forskjellige entiteter med felles prefix eller suffix Brukes ofte ved navn og adresser fornavn, mellomnavn, etternavn, kallenavn postadresse, gateadresse, leveringsadresse hjemmetelefon, mobiltelefon, fax, kontortelefon

35 Underordete entiteter En entitet som varierer mellom instanser De underordnede entitetene utelukker hverandre Streken betyr at identifikator i overordnet er identifikator i underordnet Underordnede eller uavhengige?

36 Generalisering En sammenheng mellom en mer generel og en spesiell entitet

37 Generalisering Map med en tabell per entitet For hver av subtypeentitetene er primærnøkkelen den samme som i supertypen Denne kolonnen må også være en fremmednøkkel så subtypen ikke kan settes inn uten en matchende supertype Det vil si at du må sikre at det finnes en rad i dyretabellen før du setter inn tilsvarende rad i hestetabellen.

38 Aggregering Aggregering er et del/hele-forhold

39 Delt aggregering En entitet eier en annen entitet, men andre entiteter kan også eie den.

40 Kompositt aggregering En entitet har eksklusivt eierskap til en annen entitet

41 Tips om datamodellering Modellen vil utvide seg og trekke seg sammen Finn opp identifikatorer om nødvendig Identifikatorer har kun et formål – identifisering Identifikatorer skal ikke brukes til å kode annen informasjon En datamodell forutsetter ingen rekkefølge Lag en ranking-attributt hvis ordning av instanser er påkrevet En attributts betydning må være konsistent

42 Datamodell sammentrekning

43 Navn og adresser Spørringstesten Om en attributt har deler, er det sannsynlig at noen av delene noen gang vil delta i en spørring? Finn en løsning for hvordan navn, adresser og telefonnumre skal lagres i databasen Eksempel med viktige detaljer s.182

44 Tips om datamodellering Entiteter med bare en instans er i orden (firma) Bruk omtanke når du velger navn på entiteter og attributter - navnene må gi klar mening Synonymer - forskjellige ord med samme betydning Oppnå enighet blant kundene eller bruk view Homonymer - samme ord med forskjellig mening Vær oppmerksom så unngår du forvirring Lag mer presise uttrykk: salgsdato ->salgsdato, kontraktdato, leveringsdato Navnsetting for assosiasjonsentiteter Sett sammen entitetsnavnene hvis du ikke finner noe begrep som passer. studentkurs vs. deltakelse

45 Tips om datamodellering Oppdag alle unntak!? Still spørsmål: Er det alltid slik? Har det noen gang vært unntak? Hva kan endre seg i framtida? Sett navn på sammenhenger for å unngå tvetydighet Hold datamodellen nøyaktig og velformet Er det en god idé å begynne fra scratch?

46 Meningsbærende identifikator En identifikator er meningsbærende når noen av entitetens attribtter kan utledes av identifikatorens verdi f.eks flight BU240 FordelerUlemper Lett å gjenkjenne og huskeOppbrukte identifikatorer Enkelt å administrereVirkeligheten endrer seg Tap av meningsinnhold Kan gi svært lange identifikatorer som er vanskelig å skrive inn riktig

47 Anbefalinger Ingentig går tapt og mye kan vinnes ved å bruke identifikatorer som ikke er meningsbærende Ikke meningsbærende identifikatorer er hensiktsmessige Hensikten er unik identifisering av entiteten Attributtter brukes for å beskrive entiteten nærmere Et klart skille mellom rollen til identifikatorer og attributter skaper færre problemer knyttet til administrasjon av data

48 Sju vaner hos gode eksperter på datamodellering Treng inn i det som skal modelleres Utfordre Generalisere Test Begrens Integrer Fullfør

49 Datamodelleringsoppgave Entiteten destinasjon Skriv ned attributter i samarbeid med sideperson Skriv ned eksempel på verdier Skift samarbeidspartner Finn homonymer og synonymer


Laste ned ppt "Datamodellering Man is a knot, a web, a mesh into which relationships are tied. Only those relationships matter Saint-Exupéry."

Liknende presentasjoner


Annonser fra Google