Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
PublisertRagnhild Christensen Endret for 9 år siden
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
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
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.