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