Upload
jenna-mccormick
View
49
Download
8
Embed Size (px)
DESCRIPTION
SQL. Forskjellige nivåer. Beskrivende Object Role Model ORM. Konseptuelt skjema. Eksternt skjema. Rmap. Logisk skjema. Formell teorimodell Relasjons databaser. SQL. Fysisk implementasjon DataBase Management System = DBMS. Internt skjema. Konseptuelt skjema deles inn i 3 seksjoner:. - PowerPoint PPT Presentation
Citation preview
Forskjellige nivåer
Konseptueltskjema
Logiskskjema
Interntskjema
Beskrivende Object Role Model ORM
Formell teorimodell Relasjons databaser
Fysisk implementasjon DataBase Management System = DBMS
Eksterntskjema
SQL
Rmap
SQL
Konseptuelt skjema deles inn i 3 seksjoner:
Base fact types - Grunnleggende faktatyper Contraints - Beskrankninger Derivation rules - Utledningsregler
Hopp til første side
Relasjonskjema
ansNavn
HansenOlsenNilsen
avdeling
SalgSalgService
kjønn
KMK
ansNavn
HansenNilsenNilsen
fremSpråk
SpanskFranskJapansk
Nilsen Spansk
Snakker:Ansatt:
Ansatt ( ansNavn, avdeling, kjønn )
Snakker ( ansNavn, fremSpråk )
Primær nøkkel Fremmed nøkkel
Hopp til første side
Modellering
Livssyklus Top-down Faktaorientert - verbalisering av UoD Perspektiver
Data orientert Prosess orientert Oppførsel/hendelses orientert
ER vs ORM
Hopp til første side
Konseptuell Skjema Design Prosedyre (KSDP)
1. Omform kjente dataeksempler til grunnleggende fakta, og anvend kvalitetskontroller.2. Tegn faktatypene, og anvend en befolkningssjekk.3. Se etter entitetstyper som bør kombineres, og noter eventuelle aritmetiske utledninger.4. Legg til entydighetsbeskrankninger, og kontroller aritet til faktatypene.5. Legg til totale rollebeskrankninger, og se etter logiske utledninger.6. Legg til verdi-, sett- og subtype-beskrankninger.7. Legg til andre beskrankninger og utfør sluttsjekker.
Hopp til første side
KSDP steg 1
Omform kjente dataeksempler til grunnleggende fakta,og anvend kvalitetskontroller.
Hva er et grunnleggende fakta ?
Fakta : - en antagelse om interesseområdet som skal tas for sann.- en antagelse om at gitte objekter spiller gitte roller.
Grunnleggende : - kan ikke deles i mindre biter med informasjon, uten å miste informasjonsinnhold.
Hopp til første side
Eksempler
Anne røyker Anne ansetter Rune Anne ansetter Anne
Anne røyker og Rune røyker
Anne røyker eller Rune røyker
Anne røyker ikke Hvis Rune røyker da er
Rune kreftutsatt. Alle personer som røyker
er kreftutsatt
Et objekt har en egenskap.
Et eller flere objekter inngår en relasjon.
Hopp til første side
Hvordan spesifisere objekter og roller ?
Entitetstype:
Referansemåte:
Verdi:
Pasient
etternavn
’Johansen’
Temperatur
º Celsius
37
Pasienten med etternavn ’Johansen’ har en Temperatur på 37º Celsius
Pasienten med etternavn ’Johansen’ er lokalisert på Post ’Hjerte 1 Syd’
Rolle spesifiseres med predikat : ... er lokalisert på ...
Hopp til første side
Informasjonskilder
Tabeller (evt fra tidligere system) Skjema Grafer Eksempler fra UoD ekspert(er)
Hopp til første side
EksemplerForeleser
TelleMughalPetersen
Emne
I120I125I126
Person med etternavn ’Telle’foreleser Emne med kode ’I120’
Designer
WirthKayWirth
Språk
PascalSmalltalkModula2
År
197119721979
Person med etternavn ’Wirth’designet Språk med navn ’Pascal’ i År 1971
Person med etternavn ’Wirth’ designet Språk med navn ’Pascal’
Språk med navn ’Pascal’ ble designet i År 1971
Hopp til første side
Mer om referanser
Kan forkorte litt når det ikke er rom for misforståelser: Person(etternavn) ’Wirth’ designet Språk(navn) Pascal’ Språk(navn) ’Pascal’ ble designet i År(AD) 1971
Eller som i tidligere eksempler; først liste referanse- skjema for entitetstypene: Person (etternavn); Språk(navn); År(AD)+ Person ’Wirth’ designet Språk ’Pascal’ Språk ’Pascal’ ble designet i År 1971
Numerisk
Hopp til første side
Kvalitetskontroll
Er entitetene veldefinert ?
Kan faktaene deles opp i mindre enheter uten å miste informasjon ?
2 nøkkelspørsmål :
Hopp til første side
Øvelse/eksempelGruppe
1
2
3
Tid
Man 12.15
Tir 14.15
Tor 10.15
Rom
Rb 2
Rb 5
Rb 5
Student# Navn
302156180064278155334467200140266010
Andersen BJakobsen IFyllingen LNilsen HAndersen BHop C
Gruppe med gruppenr 1 møtes ved Tid med dag-tid-kode ’Man 12.15’
Gruppe med gruppenr 1 møtes i Rom med romnr ’Rb 2’
Student med student# 302156 tilhører Gruppe med gruppenr 1
Student med student# 302156 har StudentNavn ’Andersen B’
Hopp til første side
KSDP steg 2
Tegn faktatypene, og anvend en befolkningssjekk.
Hvordan tegne ?
Person Bil
PersonNavn Reg#
...kjører...
Entitets-type
Verdi-type
Referanse
Fakta
Hopp til første side
Befolkningssjekk
Person(PersonNavn)
Bil(Reg#)
kjører/blir kjørt av
Adams B 235PZNJones E 235PZN
Jones E 108AAQ
Sertifikat(Sertifikat#)
innehar/er registrert på
Adams B A3050Jones E A2245
Kan forkorteved 1:1 Referanse
Hopp til første side
Røyker
TjalveKenneth
Ikke-røyker
KariNinaGeorg
Person(fornavn)
røyker
TjalveKenneth
KariNinaGeorg
er en ikke-røyker
Person(fornavn)
RøykerStatus(kode)har
KennethKariGeorgNinaTjalve
RIIIR
Heterogen fakta type
Homogen fakta type
Hopp til første side
Ring fakta type
Person(fornavn)
mann til kone til
AdamMichal
EvaSharon
Hopp til første side
Nøsting
Person(PersonNavn)
Medalje(kode)
Adams B HøydeJones E Lengde
Jones E Høyde
KonkGren(kode)
<Adams B, høyde><Jones E, lengde>
deltok i
vant
”Deltagelse”
SG
Objektifisert relasjon Ikke en splitting
Hopp til første side
KSDP steg 3Se etter entitetstyper som bør kombineres, og noter eventuelle aritmetiske utledninger.
Primitive entitetstyper overlapper ikke Hint:
Samme entitet kan være medlem av 2 entitetstyper. Det er meningsfullt å sammenligne 2 entitetstyper.
(Samme enhet, dimensjon). Samme informasjon blir lagret for flere entitetstyper.
Hopp til første side
Artikkel(kode)
Utsalgspris(NKr)+har
Fortjeneste(NKr)+har
Innkjøpspris(NKr)+har
{fortjeneste = utsalg - innkjøp }Artikkel a har fortjeneste på Beløp f iff a selges for s and a kjøpes inn for k and f = s-k
Artikkel(kode)
Beløp(NKr)+
kjøpes inn for
selges for