1 / 49

Datamodellering

Datamodellering. Man is a knot, a web, a mesh into which relationships are tied. Only those relationships matter Saint-Exupéry. Datamodellering. En teknikk for å modellere data En grafisk representasjon av en database Målet er å identifisere opplysningene som skal lagres i databasen

mia-paul
Download Presentation

Datamodellering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

  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 • EnivironmentalFactors - 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. Geografi ny versjon

  13. Familie 1. versjon

  14. Familie 2. versjon

  15. Familie 3. versjon

  16. Familie 4. versjon

  17. Familie 5. versjon

  18. Bibliotek En bok er ikke en bok!

  19. Historie 1. versjon

  20. Historie 2. versjon

  21. Historie 3. versjon

  22. Historie 4. versjon

  23. 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

  24. Trekantforhold for entiteter 1.versjon

  25. Trekantforhold for entiteter 2.versjon Leieavtalen ”LEASE”binder sammen agent, fly og flyselskap. Slik er det også i virkeligheten. 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.

  26. 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?

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

  28. Plan og gjennomføring ver 2.

  29. Entitetstyper • Uavhengige • Avhengige (Svake) • Assosiative • (aka entitetiseringer eller intersection) • Aggregater • Underordnete

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

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

  32. 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

  33. 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

  34. 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?

  35. Generalisering • En sammenheng mellom en mer generel og en spesiell entitet

  36. 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.

  37. Aggregering • Aggregering er et del/hele-forhold

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

  39. Kompositt aggregering • En entitet har eksklusivt eierskap til en annen entitet

  40. 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

  41. Datamodell sammentrekning

  42. 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 detaljers.182

  43. 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

  44. 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?

  45. Meningsbærende identifikator • En identifikator er meningsbærende når noen av entitetens attribtter kan utledes av identifikatorens verdi f.eks flight BU240

  46. 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

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

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

More Related