Vegard Nossum. 21. oktober 2010

Like dokumenter
INF1300 Introduksjon til databaser

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen Verdiskranker Mengdeskranker

INF1300 Introduksjon til databaser

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

INF1300 Introduksjon til databaser

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

IN2090 Databaser og datamodellering ORM 1

INF1300 Introduksjon til databaser

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen

INF Introduksjon til databaser ORM I

Dagens tema: Underbegreper og underbegrepsskranker Kombinerte totale roller Behandling av tid Informasjonsbærende representasjoner Ringskranker

Dagens tema: Ringskranker Informasjonsbærende representasjoner Behandling av tid Tommelfingerregler

Realiseringsalgoritmen fra ORM til relasjoner Intro til mengdeskranker i ORM

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker Underbegreper og underbegrepsskranker Kombinerte totale roller

Informasjonsbærende representasjoner

Språk for dataorientert modellering

UNIVERSITETET I OSLO INF1300. Dagens tema: Ringskranker. Tommelfingerregler. Institutt for informatikk. INF Ellen Munthe-Kaas 1

Flere skranker i ORM Integritetsregler med «CHECK» i SQL

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

Dataorientert modellering

Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner

Notater: INF1300. Veronika Heimsbakk 8. januar 2013

INF1300. Grunnbegrepene i ORM: fakta, begreper, roller, faktatyper, broer, entydighetsskranker, totale roller, funksjonelle avhengigheter

Dataorientert modellering

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

Dagens tema: Ringskranker Klisjéer (mønstre) Tommelfingerregler

Dagens tema: Ekvivalente stier og joinskranker Ringskranker Informasjonsbærende representasjoner Behandling av tid

Datamodellering med ORM

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO

Forelesning INF1300. Simen Buodd. Plenumstime 8. September 2015

UNIVERSITETET I OSLO

INF1300 Introduksjon til databaser

*UXSSHULQJ IRU JUDXWVNDOOHU (QYLVXHOOJXLGHJMHQQRPQRHQ DY1,$0JUXSSHULQJHQV XQGHUIXQGLJKHWHU

UNIVERSITETET I OSLO

Skranker og avledninger

VÆRSTASJONER Obligatorisk oppgave nr. 2 i INF1300 høsten 2011

Sensorveiledning for IN2090 og INF desember :30 18:30 (4 timer)

MATOPPSKRIFTER Obligatorisk oppgave nr. 2 i INF1300 høsten 2010

Modellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant

Modellenes to formål. Datamodellering med UML (forts.) Ugrupperte og grupperte modeller. Figur 5-2. Ogdens trekant

Modellenes to formål. Datamodellering med UML (forts.) Fra naturlig språk til datamodell. Figur 5-2. Ogdens trekant

R for alle a A. (, så er a, En relasjon R på en mengde A er en Ekvivalensrelasjon hvis den er refleksiv, symmetrisk og transitiv.

Dagens tema: Realiseringsalgoritmen (også kalt "grupperingsalgoritmen") fra ORM-diagram til relasjonsskjema

Dagens tema: Eksempel Klisjéer (mønstre) Tommelfingerregler

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Datamodellering med UML (forts.)

Dagens tema. Den redundansfri datamodellen. Modellenes to formål. Individer i interesseområdet

IN2090 Introduksjon til databaser

Gruppeøvelse 20/ Dagens tema: - Gruppering/realisering

Den redundansfri datamodellen

Matematikk for IT, høsten 2016

INF1050 Klasseromsoppgave Uke 6

INF september Relasjonsmodellen funksjonelle avhengigheter og nøkler Realisering: Fra ORM til relasjoner

Dagens plan INF3170 Logikk. Obliger og eksamen. Forelesning 1: Introduksjon, mengdelære og utsagnslogikk. Christian Mahesh Hansen og Roger Antonsen

UNIVERSITETET I OSLO

INF3170 Forelesning 1

R for alle a A. (, så er a, En relasjon R på en mengde A er en Ekvivalensrelasjon hvis den er refleksiv, symmetrisk og transitiv.

INF1800 LOGIKK OG BEREGNBARHET

Repetisjon INF1800 LOGIKK OG BEREGNBARHET FORELESNING 3: MENGDELÆRE, RELASJONER, FUNKSJONER. Mengder. Multimengder og tupler.

UNIVERSITETET I OSLO

{(1,0), (2,0), (2,1), (3,0), (3,1), (3,2), (4,0), (4,1), (4,2), (4,3) } {(1,0), (1,1), (1,2), (1,3), (2,0), (2,2), (3,0), (3,3), (4,0)}

Dagens tema: Relasjonsmodellen Funksjonelle avhengigheter og nøkler Realisering: Fra ORM til relasjoner

INF212 - Databaseteori. Kursinnhold

Kapittel 5: Relasjoner

INF1300 Introduksjon til databaser

Dagens plan. INF3170 Logikk

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Løsningsforslag Øving 9 TMA4140 Diskret matematikk Høsten i for i = 0, 1, 2, 3, 4, og så er W 4 svaret

Matematikk for IT. Prøve 1. Torsdag 17. september Løsningsforslag. 22. september 2015

MAT1030 Forelesning 12

UNIVERSITETET I OSLO

INF1300 Introduksjon til databaser

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

Ulykkesinvolvert person (ID=572)

INF2810: Funksjonell Programmering. Trær og mengder

Produktspesifikasjon. Ulykkesinvolvert person (ID=572) Oppdateringslogg. 1. Kjente bruksområder og behov. 2. Innhold og struktur. 2.

INF1050 Klasseromsoppgave Uke 7

UNIVERSITETET I OSLO

1 Aksiomatisk definisjon av vanlige tallsystemer

INF1300 Introduksjon til databaser

INF Logikk og analysemetoder Forslag til løsning på oppgave fra læreboken

Relasjoner. Ekvivalensrelasjoner. En relasjon R på en mengde A er en delmengde av produktmengden. La R være en relasjon på en mengde A.

PENSUM H2012 INF1300. Joakim Myrvoll Johansen. Pensum fra forelesnings-foilere

INF1300 Introduksjon til databaser

Hvordan føre reiseregninger i Unit4 Business World Forfatter:

INF1300 Introduksjon til databaser

INF2810: Funksjonell Programmering. Trær og mengder

Datamodellering med UML. Modellenes to formål. The Unified Modeling Language - UML

Transkript:

ORM, UML og DL-Lite A,id Vegard Nossum 21. oktober 2010

Plan Introduksjon til ORM-modellering Formalisering av ORM og UML Litt om kompleksitet

ORM-modellering: Begreper og forekomster Begreper tegnes som et rektangel med avrundede hjørner: Organisasjon Stilling Forekomster av begrepet :

ORM-modellering: Representasjoner Motivasjon: Kan ikke lagre selve forekomstene i en datamaskin......men vi kan lagre representasjoner av forekomstene Representasjoner tegnes som et rektangel med avrundede hjørner og stiplede linjer: nummer Organisasjonsnummer Forekomster av representasjonen nummer: 09075736194 07046518455...

ORM-modellering: Objekttyper Objekttyper er et fellesbegrep for begreper og representasjoner

ORM-modellering: Faktatyper Faktatyper forbinder ett eller flere begreper er ansatt av Organisasjon. er ansatt av/ansetter Organisasjon Antall roller i en faktatype er faktatypens aritet Faktatyper i ORM har aritet 1

ORM-modellering: Broer Broer forbinder et begrep og en representasjon har nummer. har/tilhører nummer Broer har alltid aritet 2

ORM-modellering: Påkrevde roller Påkrevde roller er roller som må spilles av enhver forekomst av begrepet (eller representasjonen) Enhver har nummer. har/tilhører nummer

ORM-modellering: Entydighetsskranker Entydighetsskranker begrenser forekomstene i en rolle Hver kan ikke ha flere enn ett nummer. har/tilhører nummer nummer Diego Calvanese 09075736194 Giuseppe De Giacomo 09075736194 Diego Calvanese 07046518455

ORM-modellering: Entydighetsskranker 2 Hvert nummer kan ikke tilhøre mer enn én. har/tilhører nummer nummer Diego Calvanese 09075736194 Diego Calvanese 07046518455 Giuseppe De Giacomo 09075736194

ORM-modellering: Perfekte broer En perfekt bro er en bro hvor enhver forekomst av begrepet har en entydig representasjon har/tilhører nummer nummer Diego Calvanese 09075736194 Diego Calvanese 07046518455 Giuseppe De Giacomo 09075736194 Ifølge latinerne skal alle broer være perfekte broer

ORM-modellering: Lange entydighetsskranker En entydighetsskranke kan dekke mer enn én rolle Da er det kombinasjonen av de to rollene som ikke må forekomme mer enn én gang er ansatt av/ansetter Organisasjon Diego Calvanese Diego Calvanese Giuseppe De Giacomo Giuseppe De Giacomo Organisasjon Università di Roma Universitetet i Oslo Università di Roma Università di Roma

ORM-modellering: Faktatyper med aritet > 2 ble ansatt av Organisasjon på Dato. ble ansatt av/ansetter/på Dato Organisasjon Organisasjon Dato Diego Calvanese Università di Roma 01.01.1990 Diego Calvanese Università di Roma 01.01.1997 Giuseppe De Giacomo Università di Roma 01.01.2005 Giuseppe De Giacomo Universitetet i Oslo 01.01.2005

ORM-modellering: Begrepsdannelser Vi kan erstatte den ternære rollen med en begrepsdannelse Ansettelse Dato Organisasjon

ORM-modellering: Mengdelikhetsskranker 1 De (og bare de) som sår, høster. sår/sås av Korn høster/høstes av

ORM-modellering: Mengdelikhetsskranker 2 Det (og bare det) som sås, høstes. sår/sås av Korn høster/høstes av

ORM-modellering: Mengdelikhetsskranker 3 Man høster hva man sår. sår/sås av Korn høster/høstes av

ORM-modellering: Mengdeulikhetsskranker 1 1 Sag ikke av en gren når du sitter på en annen gren. sager/blir saget Gren sitter på/blir sittet på 1 Kilde: INF1300 1.9.2008 Ellen Munthe-Kaas

ORM-modellering: Mengdeulikhetsskranker 2 Sag ikke av en gren som noen andre sitter på. sager/blir saget Gren sitter på/blir sittet på

ORM-modellering: Mengdeulikhetsskranker 3 Sag ikke av den grenen du selv sitter på. sager/blir saget Gren sitter på/blir sittet på

ORM-modellering: Delmengdeskranker 2 1 Alle som selger en bjørn må ha skutt en bjørn. selger/selges av Bjørn skyter/skytes av 2 Kilde: INF1300 13.9.2010 Ellen Munthe-Kaas

ORM-modellering: Delmengdeskranker 2 Alle bjørner som selges må ha blitt skutt. selger/selges av Bjørn skyter/skytes av

ORM-modellering: Delmengdeskranker 3 Selg ikke skinnet før bjørnen er skutt. selger/selges av Bjørn skyter/skytes av

ORM-modellering: Totalskranker Totalskranker uttrykker at minst én av rollene må spilles av hver forekomst må være ansatt, student eller begge deler. er ansatt er student

ORM-modellering: Mengdeulikhetsskranker + totalskranker må være enten mann eller kvinne. er mann er kvinne

ORM-modellering: Arv Underbegreper arver rollene til superbegrepet Student Ansatt Underbegreper kan være uttømmende og disjunkte Student Ansatt

ORM-modellering: Verdiskranker Verdiskranker begrenser forekomstene av en objekttype Kjønn Kjønnskode { Mann, Kvinne }

ORM-modellering: Ringskranker Ringskranker kan brukes på to roller i en faktatype som spilles av samme objekttype Refleksiv Irefleksiv Symmetrisk Asymmetrisk Antisymmetrisk Transitiv Intransitiv

Plan Introduksjon til ORM-modellering Formalisering av ORM og UML Litt om kompleksitet

Formalisering: Begreper Begreper i ORM, klasser i UML og konsepter i DL beskriver alle mengder av objekter

Formalisering: Representasjoner og broer Representasjoner i ORM har ikke noe direkte motstykke i UML eller DL Broer i ORM tilsvarer derimot attributter i UML og DL har/tilhører Navn δ(harnavn) ρ(harnavn) xsd:string

Formalisering: Perfekte broer har/tilhører Navn δ(harnavn) (funct harnavn) (id harnavn)

Formalisering: Unære faktatyper Rollen i en unær faktatype i ORM må enten spilles eller ikke spilles er gift Dette kan uttrykkes med et boolsk attributt i UML og DL δ(ergift) ρ(ergift) xsd:boolean

Formalisering: Binære faktatyper Binære faktatyper i ORM kan uttrykkes ved forbindelser (eng.: associations) i UML og roller i DL eier/eies av Telefon 0..* 0..* Telefon EIER EIER Telefon Merk: I DL er tolkningen av en rolle en mengde av ordnede par

Formalisering: Binære faktatyper: Påkrevde roller Hver eier minst én Telefon. eier/eies av Telefon 0..* 1..* Telefon EIER

Formalisering: Binære faktatyper: Påkrevde roller 2 Hver Telefon eies av minst én. eier/eies av Telefon 1..* 0..* Telefon Telefon EIER

Formalisering: Binære faktatyper: Entydighetsskranker Hver eier ikke mer enn én Telefon. eier/eies av Telefon 0..* 0..1 Telefon (funct EIER)

Formalisering: Binære faktatyper: Entydighetsskranker 2 Hver Telefon eies ikke av mer enn én. eier/eies av Telefon 0..1 0..* Telefon (funct EIER )

Formalisering: Begrepsdannelser (UML) Begrepsdannelser i ORM tilsvarer forbindelsesklasser (eng.: association classes) i UML Ansettelse Dato Ansettelse 0..* 0..* Dato

Formalisering: Begrepsdannelser (DL) Ansettelse Dato ANSETTELSE 1 Ansettelse, ANSETTELSE 1 ANSETTELSE 2 Ansettelse, ANSETTELSE 2 Telefon Ansettelse ANSETTELSE 1, (funct ANSETTELSE 1 ) Ansettelse ANSETTELSE 2, (funct ANSETTELSE 2 ) (id Ansettelse ANSETTELSE 1, ANSETTELSE 2 )

Formalisering: Mengdelikhetsskranker 1 sår/sås av Korn høster/høstes av SÅR HØSTER HØSTER SÅR

Formalisering: Mengdelikhetsskranker 2 sår/sås av Korn høster/høstes av SÅR HØSTER HØSTER SÅR

Formalisering: Mengdelikhetsskranker 3 sår/sås av Korn høster/høstes av SÅR HØSTER HØSTER SÅR

Formalisering: Mengdeulikhetsskranker 1 sager/blir saget Gren sitter på/blir sittet på SAGER SITTER-PÅ

Formalisering: Mengdeulikhetsskranker 2 sager/blir saget Gren sitter på/blir sittet på SAGER SITTER-PÅ

Formalisering: Mengdeulikhetsskranker 3 sager/blir saget Gren sitter på/blir sittet på SAGER SITTER-PÅ

Formalisering: Delmengdeskranker 1 selger/selges av Bjørn skyter/skytes av SELGER SKYTER

Formalisering: Delmengdeskranker 2 selger/selges av Bjørn skyter/skytes av SELGER SKYTER

Formalisering: Delmengdeskranker 3 selger/selges av Bjørn skyter/skytes av SELGER SKYTER

Formalisering: Arv Arv i ORM uttrykkes ved inklusjonspåstander (eng.: inclusion assertion) i DL Ansatt Ansatt Merk: I UML er underklasser disjunkte

Formalisering: Arv med disjunkte underbegreper Student Ansatt Student Ansatt Student Ansatt

Formalisering: Arv med uttømmende underbegreper Student Ansatt Student Ansatt Merk: I DL-Lite A,id er ikke tillatt

Plan Introduksjon til ORM-modellering Formalisering av ORM og UML Litt om kompleksitet

Kompleksitet... ORM is so expressive that its underlying logic extends a little beyond decidable fragments of first order logic. This makes it difficult to achieve efficient automated checking of aspects such as schema satsifiability... Terry Halpin and Tony Morgan, Information Modeling and Relational Databases

Kompleksitet Examples of ORM features that can t be translated into SHOIN (D), and hence OWL DL, include uniqueness and frequency constraints spanning multiple roles (of the same or different relationships), set-comparison constraints involving multiple arguments, acyclic ring constraints, and deontic constraints. The DLR ifd description logic adds support for identifier and functional dependency constraints, so it can capture internal uniqueness constraints spanning multiple roles as well as external uniqueness constraints. Terry Halpin and Tony Morgan, Information Modeling and Relational Databases