SlideShare a Scribd company logo
1 of 4
Download to read offline
2010 CRC PhD Student Conference



 Understanding Object-Relational Impedance Mismatch: A
                            Framework Based Approach
                                                             Chris Ireland
                                                  cji26@student.open.ac.uk


Supervisors                   David Bowers
                              Mike Newton
                              Kevin Waugh
Department/Institute          Computing
Status                        5th Year, Part-time
Probation viva                Completed
Starting date                 1 October 2005


Research Question
Object-relational impedance mismatch is the label used to classify the problems faced by the developer
of an object-oriented application that must use a relational database for storage. What is object-
relational impedance mismatch, how do we know if a particular strategy is the most appropriate way to
address the problems it presents and what can be done to improve the situation?


Background
In [1] I describe a framework and classification (Figure 1) that provide new insights into the object-
relational mapping (ORM) strategies used to address problems of an object-relational impedance
mismatch.
                 Concept
                                                                     Conceptual
                              Object Orientation                      Mismatch          Relational
                                                                   (Reconciliation)


                 Language
                                                                       Representation
                              OOPL (e.g. Java)                           Mismatch         SQL
                                                                         (Pattern)


                 Schema
                                                                        Emphasis
                                 Application                            Mismatch        DB Schema
                                                                        (Mapping)
                                      Behaviour




                 Instance
                                                       Insta
                                                                                 e
                                                                              ur




                                                             nce
                                                                            ct




                                                      Mis
                                                  (Tran match
                                                                          ru
                                                                         St




                                                       sform
                                                             ation
                                                                   )

                                   Object                                  State          Row




         Figure 1 - My Conceptual Framework and Classification of Impedance Mismatch
What is not clear are how one uses my framework to understand an ORM strategy, where does one
start, how does one proceed, what can one expect to discover and how do we understand changes that
may improve the situation? Figure 2 provides an overview of one process for using my framework. I


                                                             Page 37 of 125
2010 CRC PhD Student Conference



describe this process in more detail in [5]. The process and framework have been validated by
comparing and contrasting the outcomes with those possible using the classification of Fussell [6].




                             Figure 2 - My Framework Based Approach
The framework may also be used to understand (possible) solutions to problems of an object-relational
impedance mismatch. At the last CRC PhD Student Conference I set an objective to understand the
consequences of changes introduced in Object-Relational SQL (OR-SQL) [7] using my framework.
OR-SQL is a language level change and may be one solution to problems of an object-relational
impedance mismatch. This work is complete and the results have been published in [8]. I found that
OR-SQL does not improve the situation and that the term relational database is now overloaded.


So what…
ORM strategies are not new. There is a body of literature (e.g. Keller [2], Ambler [3], Hohenstein [4])
that provide a description and analysis of each ORM strategy. This analysis is focused on the practical
consequences of combining object and relational artefacts rather than understanding the underlying
issues with an ORM strategy. Achieving an understanding of the underlying issues is the objective of
my framework and process. Analysis using my framework asks that one thinks about an ORM strategy
in a new way. In so doing it helps to provide new insights into an ORM strategy, highlight new issues,
understand cause and effect, and suggest improvements to an ORM strategy.


In [1] (this was awarded a best paper at the conference), [5] and [8] I have shown that the framework
and process do provide new insights. These insights provide an opportunity to improve an ORM
strategy and the context in which that ORM strategy operates, and to understand how best to make use



                                             Page 38 of 125
2010 CRC PhD Student Conference



of new features in OR-SQL. Such information is useful to standards bodies, tools vendors and those
who define an ORM strategy using SQL or OR-SQL. Thinking about the consequences of an ORM
strategy provides information necessary to choose between alternatives. This information is invaluable
to those who implement an ORM strategy.


The Problem
The framework provides guidance on the use of my framework but there is still a need for clear
guidance on how to compare object and relational representations. What is the basis for a comparison
and how might we go about making a comparison?


Current Research Activities
I am exploring how we might explore the different kinds of impedance mismatch described in Figure

1. To that end I am developing a technique based on equivalence. Problems of an impedance mismatch
exist because object and relational representations are different, but how are they equivalent?


An object and a relational design reflect aspects of a universe of discourse ([9], p2-1). That universe of
discourse provides a point of reference common to both object and relational representations. Whilst
each design uses a different conceptual framework, language and structure(s) to describe that universe
they are representations of the same universe. So, whilst object and relational representations are
different, if we are not to lose information in a round-trip between an object-oriented application and a
relational database they must be equivalent descriptions of that universe. The problem is how do we
describe that universe without favouring one conceptual framework over another?


I introduce a third silo into the framework: the reference silo. The reference silo is currently theoretical
and artefacts within it an ideal. In this silo there is a reference concept level, a reference language level,
a reference schema level and a reference instance level. Each level provides artefacts for the description
of some aspect of a universe of discourse. This description does not need to be perfect, but as a
minimum it must be a superset of those semantics and structures that may be described using object
and relational artefacts.
                    Identity                        Entity                       Identity based
                independent of                                                    on value of a
                   attributes                                                         tuple


            Identity is
              implicit                                                                  Identity is
                                  Object           Identify a       Relational            explicit
                                 Schema            particular        Schema
                                                  occurrence
          Identity of an
             object                                                                    Identity of a
                                                                                           row

                                                                                                        
    Figure 3 - Exploring Identity Between Object and Relational Representations of an Entity




                                                Page 39 of 125
2010 CRC PhD Student Conference



Employing the reference silo I can then explore those semantics and structures of a reference
representation that are captured in an object and a relational representation. Each representation is
shown as a set in a Venn diagram (e.g. Figure 3) where, depending on the level of the framework, a
set may contain conceptual building blocks, language structures, design representations or data formats.


In Figure    3 I provide one example that shows that there is little in common between object and
relational representations of identity at the language level. My argument is that only those semantics
and structures that are equivalent i.e. they are captured in both representations, can form part of a no-
loss transformation between object and relational representations. It follows that current pattern
strategies to map identity between object and relational representations (e.g. Blaha [10], p420, Keller
[2], p21 and Fowler, in Ambler [11], p285), are at best misguided.


The work on equivalence will enhance my process (Figure 2) and provide a more robust approach to
exploring individual ORIM problems and ORM strategies. I expect that this will also open up new
avenues for research into the nature and development of the reference silo.


Remaining Work
I have provided a convincing and published body of evidence to support my claims for the framework.
The work on equivalence provides the final piece of work for my thesis and will open up new avenues
for future research. The work on equivalence necessary for my Thesis will be complete by the summer
of 2010. If time permits I would like to publish the work on equivalence before submitting my Thesis
in the summer of 2011.


References
1.    Ireland, C., Bowers, D., Newton, M., Waugh, K.: A Classification of Object-Relational Impedance
      Mismatch. In: Chen, Q., Cuzzocrea, A., Hara, T., Hunt, E., Popescu, M. (eds.): The First International
      Conference on Advances in Databases, Knowledge and Data Applications, Vol. 1. IEEE Computer Society,
      Cancun, Mexico (2009) p36-43
2.    Keller, W.: Mapping Objects to Tables: A Pattern Language. In: Bushman, F., Riehle, D. (eds.): European
      Conference on Pattern Languages of Programming Conference (EuroPLoP), Irsee, Germany (1997)
3.    Ambler, S.: Mapping Objects to Relational Databases: O/R Mapping In Detail. (2006)
4.    Hohenstein, U.: Bridging the Gap between C++ and Relational Databases. In: Cointe, P. (ed.): European
      Conference on Object-Oriented Programming, Vol. Lecture Noted on Computer Science 1098. Springer-
      Verlag, Berlin (1996) 398-420
5.    Ireland, C., Bowers, D., Newton, M., Waugh, K.: Understanding Object-Relational Mapping: A Framework
      Based Approach. International Journal On Advances in Software 2 (2009)
6.    Fussell, M.L.: Foundations of Object Relational Mapping. Vol. 2007. ChiMu Corporation (1997)
7.    Eisenberg, A., Melton, J.: SQL: 1999, formerly known as SQL3. SIGMOD Record 28 (1999) 119-126
8.    Ireland, C., Bowers, D., Newton, M., Waugh, K.: Exploring the use of Mixed Abstractions in SQL:1999 - A
      Framework Based Approach. In: Chen, Q., Cuzzocrea, A., Hara, T., Hunt, E., Popescu, M. (eds.): The
      Second International Conference on Advances in Databases, Knowledge and Data Applications, Vol. 1.
      IEEE Computer Society, Les Menuires, France (2010) TBA
9.    Griethuysen, J.J.v. (ed.): Concepts and Terminology for the Conceptual Schema and the Information Base.
      ISO, New York (1982)
10.   Blaha, M.R., Premerlani, W.J., Rumbaugh, J.E.: Relational database design using an object-oriented
      methodology. Communications of the ACM 31 (1988) 414-427
11.   Ambler, S.W.: Agile Database Techniques - Effective Strategies for the Agile Software Developer. Wiley
      (2003)




                                               Page 40 of 125

More Related Content

What's hot

Invited Talk "Pattern Language 3.0: Writing Pattern Languages for Human Actio...
Invited Talk "Pattern Language 3.0: Writing Pattern Languages for Human Actio...Invited Talk "Pattern Language 3.0: Writing Pattern Languages for Human Actio...
Invited Talk "Pattern Language 3.0: Writing Pattern Languages for Human Actio...Takashi Iba
 
Komogortsev Qualitative And Quantitative Scoring And Evaluation Of The Eye Mo...
Komogortsev Qualitative And Quantitative Scoring And Evaluation Of The Eye Mo...Komogortsev Qualitative And Quantitative Scoring And Evaluation Of The Eye Mo...
Komogortsev Qualitative And Quantitative Scoring And Evaluation Of The Eye Mo...Kalle
 
Lecture#01, object orientation
Lecture#01, object orientationLecture#01, object orientation
Lecture#01, object orientationbabak danyal
 
How To Set Kill Ratios For Defects
How To Set Kill Ratios For DefectsHow To Set Kill Ratios For Defects
How To Set Kill Ratios For DefectsStuart Riley
 
T4 Introduction to the modelling and verification of, and reasoning about mul...
T4 Introduction to the modelling and verification of, and reasoning about mul...T4 Introduction to the modelling and verification of, and reasoning about mul...
T4 Introduction to the modelling and verification of, and reasoning about mul...EASSS 2012
 
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...The Impact of Methods and Techniques on Outcomes from Agile Software Developm...
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...David Parsons
 
Context-aware similarities within the factorization framework (CaRR 2013 pres...
Context-aware similarities within the factorization framework (CaRR 2013 pres...Context-aware similarities within the factorization framework (CaRR 2013 pres...
Context-aware similarities within the factorization framework (CaRR 2013 pres...Balázs Hidasi
 

What's hot (15)

A neural networks model of self-representation for autonomous agents in compe...
A neural networks model of self-representation for autonomous agents in compe...A neural networks model of self-representation for autonomous agents in compe...
A neural networks model of self-representation for autonomous agents in compe...
 
Gem Executive Overview Market For Ee (Gem Ema) 20090315 - pdf
Gem Executive Overview   Market For Ee (Gem Ema) 20090315 - pdfGem Executive Overview   Market For Ee (Gem Ema) 20090315 - pdf
Gem Executive Overview Market For Ee (Gem Ema) 20090315 - pdf
 
Invited Talk "Pattern Language 3.0: Writing Pattern Languages for Human Actio...
Invited Talk "Pattern Language 3.0: Writing Pattern Languages for Human Actio...Invited Talk "Pattern Language 3.0: Writing Pattern Languages for Human Actio...
Invited Talk "Pattern Language 3.0: Writing Pattern Languages for Human Actio...
 
Manage complexity
Manage complexityManage complexity
Manage complexity
 
Komogortsev Qualitative And Quantitative Scoring And Evaluation Of The Eye Mo...
Komogortsev Qualitative And Quantitative Scoring And Evaluation Of The Eye Mo...Komogortsev Qualitative And Quantitative Scoring And Evaluation Of The Eye Mo...
Komogortsev Qualitative And Quantitative Scoring And Evaluation Of The Eye Mo...
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Lecture#01, object orientation
Lecture#01, object orientationLecture#01, object orientation
Lecture#01, object orientation
 
Object modeling
Object modelingObject modeling
Object modeling
 
How To Set Kill Ratios For Defects
How To Set Kill Ratios For DefectsHow To Set Kill Ratios For Defects
How To Set Kill Ratios For Defects
 
Social Networks
Social NetworksSocial Networks
Social Networks
 
T4 Introduction to the modelling and verification of, and reasoning about mul...
T4 Introduction to the modelling and verification of, and reasoning about mul...T4 Introduction to the modelling and verification of, and reasoning about mul...
T4 Introduction to the modelling and verification of, and reasoning about mul...
 
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...The Impact of Methods and Techniques on Outcomes from Agile Software Developm...
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...
 
Jar chapter 2
Jar chapter 2Jar chapter 2
Jar chapter 2
 
Context-aware similarities within the factorization framework (CaRR 2013 pres...
Context-aware similarities within the factorization framework (CaRR 2013 pres...Context-aware similarities within the factorization framework (CaRR 2013 pres...
Context-aware similarities within the factorization framework (CaRR 2013 pres...
 
7494608
74946087494608
7494608
 

Similar to Ireland

Data Integration Ontology Mapping
Data Integration Ontology MappingData Integration Ontology Mapping
Data Integration Ontology MappingPradeep B Pillai
 
An efficient metric of automatic weight generation for properties in instance...
An efficient metric of automatic weight generation for properties in instance...An efficient metric of automatic weight generation for properties in instance...
An efficient metric of automatic weight generation for properties in instance...IJwest
 
An efficient metric of automatic weight generation for properties in instance...
An efficient metric of automatic weight generation for properties in instance...An efficient metric of automatic weight generation for properties in instance...
An efficient metric of automatic weight generation for properties in instance...Md. Hanif Seddiqui
 
Trust evaluation using an improved context
Trust evaluation using an improved contextTrust evaluation using an improved context
Trust evaluation using an improved contextijbiss
 
Trust Evaluation Using an Improved Context Similarity Measurement
Trust Evaluation Using an Improved Context Similarity MeasurementTrust Evaluation Using an Improved Context Similarity Measurement
Trust Evaluation Using an Improved Context Similarity Measurementijbiss
 
Conceptual Interoperability and Biomedical Data
Conceptual Interoperability and Biomedical DataConceptual Interoperability and Biomedical Data
Conceptual Interoperability and Biomedical DataJim McCusker
 
Image-Based Literal Node Matching for Linked Data Integration
Image-Based Literal Node Matching for Linked Data IntegrationImage-Based Literal Node Matching for Linked Data Integration
Image-Based Literal Node Matching for Linked Data IntegrationIJwest
 
Survey on Supervised Method for Face Image Retrieval Based on Euclidean Dist...
Survey on Supervised Method for Face Image Retrieval  Based on Euclidean Dist...Survey on Supervised Method for Face Image Retrieval  Based on Euclidean Dist...
Survey on Supervised Method for Face Image Retrieval Based on Euclidean Dist...Editor IJCATR
 
Reasoning Over Knowledge Base
Reasoning Over Knowledge BaseReasoning Over Knowledge Base
Reasoning Over Knowledge BaseShubham Agarwal
 
Reasoning Over Knowledge Base
Reasoning Over Knowledge BaseReasoning Over Knowledge Base
Reasoning Over Knowledge BaseShubham Agarwal
 
Domain vs. (Data) Type, Class vs. Relation
Domain vs. (Data) Type, Class vs. RelationDomain vs. (Data) Type, Class vs. Relation
Domain vs. (Data) Type, Class vs. RelationFabian Pascal
 
WordNet Based Online Reverse Dictionary with Improved Accuracy and Parts-of-S...
WordNet Based Online Reverse Dictionary with Improved Accuracy and Parts-of-S...WordNet Based Online Reverse Dictionary with Improved Accuracy and Parts-of-S...
WordNet Based Online Reverse Dictionary with Improved Accuracy and Parts-of-S...IRJET Journal
 
Object segmentation by alignment of poselet activations to image contours
Object segmentation by alignment of poselet activations to image contoursObject segmentation by alignment of poselet activations to image contours
Object segmentation by alignment of poselet activations to image contoursirisshicat
 
Semantics in Financial Services -David Newman
Semantics in Financial Services -David NewmanSemantics in Financial Services -David Newman
Semantics in Financial Services -David NewmanPeter Berger
 
UTS workshop talk
UTS workshop talkUTS workshop talk
UTS workshop talkLei Wang
 
Low-Rank Neighbor Embedding for Single Image Super-Resolution
Low-Rank Neighbor Embedding for Single Image Super-ResolutionLow-Rank Neighbor Embedding for Single Image Super-Resolution
Low-Rank Neighbor Embedding for Single Image Super-Resolutionjohn236zaq
 
Barzilay & Lapata 2008 presentation
Barzilay & Lapata 2008 presentationBarzilay & Lapata 2008 presentation
Barzilay & Lapata 2008 presentationRichard Littauer
 

Similar to Ireland (20)

Data Integration Ontology Mapping
Data Integration Ontology MappingData Integration Ontology Mapping
Data Integration Ontology Mapping
 
An efficient metric of automatic weight generation for properties in instance...
An efficient metric of automatic weight generation for properties in instance...An efficient metric of automatic weight generation for properties in instance...
An efficient metric of automatic weight generation for properties in instance...
 
An efficient metric of automatic weight generation for properties in instance...
An efficient metric of automatic weight generation for properties in instance...An efficient metric of automatic weight generation for properties in instance...
An efficient metric of automatic weight generation for properties in instance...
 
Trust evaluation using an improved context
Trust evaluation using an improved contextTrust evaluation using an improved context
Trust evaluation using an improved context
 
Trust Evaluation Using an Improved Context Similarity Measurement
Trust Evaluation Using an Improved Context Similarity MeasurementTrust Evaluation Using an Improved Context Similarity Measurement
Trust Evaluation Using an Improved Context Similarity Measurement
 
Conceptual Interoperability and Biomedical Data
Conceptual Interoperability and Biomedical DataConceptual Interoperability and Biomedical Data
Conceptual Interoperability and Biomedical Data
 
Image-Based Literal Node Matching for Linked Data Integration
Image-Based Literal Node Matching for Linked Data IntegrationImage-Based Literal Node Matching for Linked Data Integration
Image-Based Literal Node Matching for Linked Data Integration
 
Survey on Supervised Method for Face Image Retrieval Based on Euclidean Dist...
Survey on Supervised Method for Face Image Retrieval  Based on Euclidean Dist...Survey on Supervised Method for Face Image Retrieval  Based on Euclidean Dist...
Survey on Supervised Method for Face Image Retrieval Based on Euclidean Dist...
 
Reasoning Over Knowledge Base
Reasoning Over Knowledge BaseReasoning Over Knowledge Base
Reasoning Over Knowledge Base
 
Reasoning Over Knowledge Base
Reasoning Over Knowledge BaseReasoning Over Knowledge Base
Reasoning Over Knowledge Base
 
Domain vs. (Data) Type, Class vs. Relation
Domain vs. (Data) Type, Class vs. RelationDomain vs. (Data) Type, Class vs. Relation
Domain vs. (Data) Type, Class vs. Relation
 
Dissertation Defense Presentation
Dissertation Defense PresentationDissertation Defense Presentation
Dissertation Defense Presentation
 
WordNet Based Online Reverse Dictionary with Improved Accuracy and Parts-of-S...
WordNet Based Online Reverse Dictionary with Improved Accuracy and Parts-of-S...WordNet Based Online Reverse Dictionary with Improved Accuracy and Parts-of-S...
WordNet Based Online Reverse Dictionary with Improved Accuracy and Parts-of-S...
 
Object segmentation by alignment of poselet activations to image contours
Object segmentation by alignment of poselet activations to image contoursObject segmentation by alignment of poselet activations to image contours
Object segmentation by alignment of poselet activations to image contours
 
Semantics in Financial Services -David Newman
Semantics in Financial Services -David NewmanSemantics in Financial Services -David Newman
Semantics in Financial Services -David Newman
 
UTS workshop talk
UTS workshop talkUTS workshop talk
UTS workshop talk
 
A018110108
A018110108A018110108
A018110108
 
Low-Rank Neighbor Embedding for Single Image Super-Resolution
Low-Rank Neighbor Embedding for Single Image Super-ResolutionLow-Rank Neighbor Embedding for Single Image Super-Resolution
Low-Rank Neighbor Embedding for Single Image Super-Resolution
 
Barzilay & Lapata 2008 presentation
Barzilay & Lapata 2008 presentationBarzilay & Lapata 2008 presentation
Barzilay & Lapata 2008 presentation
 
Analyse de sentiment et classification par approche neuronale en Python et Weka
Analyse de sentiment et classification par approche neuronale en Python et WekaAnalyse de sentiment et classification par approche neuronale en Python et Weka
Analyse de sentiment et classification par approche neuronale en Python et Weka
 

More from anesah

Aizatulin slides-4-3
Aizatulin slides-4-3Aizatulin slides-4-3
Aizatulin slides-4-3anesah
 
Aizatulin poster
Aizatulin posterAizatulin poster
Aizatulin posteranesah
 
Abraham
AbrahamAbraham
Abrahamanesah
 
Mouawad
MouawadMouawad
Mouawadanesah
 
Pantidi
PantidiPantidi
Pantidianesah
 
Wilkie
WilkieWilkie
Wilkieanesah
 
Van der merwe
Van der merweVan der merwe
Van der merweanesah
 
Thomas
ThomasThomas
Thomasanesah
 
Taubenberger
TaubenbergerTaubenberger
Taubenbergeranesah
 
Pantidi
PantidiPantidi
Pantidianesah
 
Corneli
CorneliCorneli
Cornelianesah
 
Collins
CollinsCollins
Collinsanesah
 
Ullmann
UllmannUllmann
Ullmannanesah
 
Quinto
QuintoQuinto
Quintoanesah
 
Pawlik
PawlikPawlik
Pawlikanesah
 

More from anesah (20)

Aizatulin slides-4-3
Aizatulin slides-4-3Aizatulin slides-4-3
Aizatulin slides-4-3
 
Aizatulin poster
Aizatulin posterAizatulin poster
Aizatulin poster
 
Abraham
AbrahamAbraham
Abraham
 
Mouawad
MouawadMouawad
Mouawad
 
Pantidi
PantidiPantidi
Pantidi
 
Wilkie
WilkieWilkie
Wilkie
 
Van der merwe
Van der merweVan der merwe
Van der merwe
 
Thomas
ThomasThomas
Thomas
 
Taubenberger
TaubenbergerTaubenberger
Taubenberger
 
Sach
SachSach
Sach
 
Rae
RaeRae
Rae
 
Pantidi
PantidiPantidi
Pantidi
 
Corneli
CorneliCorneli
Corneli
 
Collins
CollinsCollins
Collins
 
Xambo
XamboXambo
Xambo
 
Ullmann
UllmannUllmann
Ullmann
 
Tran
TranTran
Tran
 
Quinto
QuintoQuinto
Quinto
 
Pluss
PlussPluss
Pluss
 
Pawlik
PawlikPawlik
Pawlik
 

Recently uploaded

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 

Recently uploaded (20)

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 

Ireland

  • 1. 2010 CRC PhD Student Conference Understanding Object-Relational Impedance Mismatch: A Framework Based Approach Chris Ireland cji26@student.open.ac.uk Supervisors David Bowers Mike Newton Kevin Waugh Department/Institute Computing Status 5th Year, Part-time Probation viva Completed Starting date 1 October 2005 Research Question Object-relational impedance mismatch is the label used to classify the problems faced by the developer of an object-oriented application that must use a relational database for storage. What is object- relational impedance mismatch, how do we know if a particular strategy is the most appropriate way to address the problems it presents and what can be done to improve the situation? Background In [1] I describe a framework and classification (Figure 1) that provide new insights into the object- relational mapping (ORM) strategies used to address problems of an object-relational impedance mismatch. Concept Conceptual Object Orientation Mismatch Relational (Reconciliation) Language Representation OOPL (e.g. Java) Mismatch SQL (Pattern) Schema Emphasis Application Mismatch DB Schema (Mapping) Behaviour Instance Insta e ur nce ct Mis (Tran match ru St sform ation ) Object State Row Figure 1 - My Conceptual Framework and Classification of Impedance Mismatch What is not clear are how one uses my framework to understand an ORM strategy, where does one start, how does one proceed, what can one expect to discover and how do we understand changes that may improve the situation? Figure 2 provides an overview of one process for using my framework. I Page 37 of 125
  • 2. 2010 CRC PhD Student Conference describe this process in more detail in [5]. The process and framework have been validated by comparing and contrasting the outcomes with those possible using the classification of Fussell [6]. Figure 2 - My Framework Based Approach The framework may also be used to understand (possible) solutions to problems of an object-relational impedance mismatch. At the last CRC PhD Student Conference I set an objective to understand the consequences of changes introduced in Object-Relational SQL (OR-SQL) [7] using my framework. OR-SQL is a language level change and may be one solution to problems of an object-relational impedance mismatch. This work is complete and the results have been published in [8]. I found that OR-SQL does not improve the situation and that the term relational database is now overloaded. So what… ORM strategies are not new. There is a body of literature (e.g. Keller [2], Ambler [3], Hohenstein [4]) that provide a description and analysis of each ORM strategy. This analysis is focused on the practical consequences of combining object and relational artefacts rather than understanding the underlying issues with an ORM strategy. Achieving an understanding of the underlying issues is the objective of my framework and process. Analysis using my framework asks that one thinks about an ORM strategy in a new way. In so doing it helps to provide new insights into an ORM strategy, highlight new issues, understand cause and effect, and suggest improvements to an ORM strategy. In [1] (this was awarded a best paper at the conference), [5] and [8] I have shown that the framework and process do provide new insights. These insights provide an opportunity to improve an ORM strategy and the context in which that ORM strategy operates, and to understand how best to make use Page 38 of 125
  • 3. 2010 CRC PhD Student Conference of new features in OR-SQL. Such information is useful to standards bodies, tools vendors and those who define an ORM strategy using SQL or OR-SQL. Thinking about the consequences of an ORM strategy provides information necessary to choose between alternatives. This information is invaluable to those who implement an ORM strategy. The Problem The framework provides guidance on the use of my framework but there is still a need for clear guidance on how to compare object and relational representations. What is the basis for a comparison and how might we go about making a comparison? Current Research Activities I am exploring how we might explore the different kinds of impedance mismatch described in Figure 1. To that end I am developing a technique based on equivalence. Problems of an impedance mismatch exist because object and relational representations are different, but how are they equivalent? An object and a relational design reflect aspects of a universe of discourse ([9], p2-1). That universe of discourse provides a point of reference common to both object and relational representations. Whilst each design uses a different conceptual framework, language and structure(s) to describe that universe they are representations of the same universe. So, whilst object and relational representations are different, if we are not to lose information in a round-trip between an object-oriented application and a relational database they must be equivalent descriptions of that universe. The problem is how do we describe that universe without favouring one conceptual framework over another? I introduce a third silo into the framework: the reference silo. The reference silo is currently theoretical and artefacts within it an ideal. In this silo there is a reference concept level, a reference language level, a reference schema level and a reference instance level. Each level provides artefacts for the description of some aspect of a universe of discourse. This description does not need to be perfect, but as a minimum it must be a superset of those semantics and structures that may be described using object and relational artefacts. Identity Entity Identity based independent of on value of a attributes tuple Identity is implicit Identity is Object Identify a Relational explicit Schema particular Schema occurrence Identity of an object Identity of a row   Figure 3 - Exploring Identity Between Object and Relational Representations of an Entity Page 39 of 125
  • 4. 2010 CRC PhD Student Conference Employing the reference silo I can then explore those semantics and structures of a reference representation that are captured in an object and a relational representation. Each representation is shown as a set in a Venn diagram (e.g. Figure 3) where, depending on the level of the framework, a set may contain conceptual building blocks, language structures, design representations or data formats. In Figure 3 I provide one example that shows that there is little in common between object and relational representations of identity at the language level. My argument is that only those semantics and structures that are equivalent i.e. they are captured in both representations, can form part of a no- loss transformation between object and relational representations. It follows that current pattern strategies to map identity between object and relational representations (e.g. Blaha [10], p420, Keller [2], p21 and Fowler, in Ambler [11], p285), are at best misguided. The work on equivalence will enhance my process (Figure 2) and provide a more robust approach to exploring individual ORIM problems and ORM strategies. I expect that this will also open up new avenues for research into the nature and development of the reference silo. Remaining Work I have provided a convincing and published body of evidence to support my claims for the framework. The work on equivalence provides the final piece of work for my thesis and will open up new avenues for future research. The work on equivalence necessary for my Thesis will be complete by the summer of 2010. If time permits I would like to publish the work on equivalence before submitting my Thesis in the summer of 2011. References 1. Ireland, C., Bowers, D., Newton, M., Waugh, K.: A Classification of Object-Relational Impedance Mismatch. In: Chen, Q., Cuzzocrea, A., Hara, T., Hunt, E., Popescu, M. (eds.): The First International Conference on Advances in Databases, Knowledge and Data Applications, Vol. 1. IEEE Computer Society, Cancun, Mexico (2009) p36-43 2. Keller, W.: Mapping Objects to Tables: A Pattern Language. In: Bushman, F., Riehle, D. (eds.): European Conference on Pattern Languages of Programming Conference (EuroPLoP), Irsee, Germany (1997) 3. Ambler, S.: Mapping Objects to Relational Databases: O/R Mapping In Detail. (2006) 4. Hohenstein, U.: Bridging the Gap between C++ and Relational Databases. In: Cointe, P. (ed.): European Conference on Object-Oriented Programming, Vol. Lecture Noted on Computer Science 1098. Springer- Verlag, Berlin (1996) 398-420 5. Ireland, C., Bowers, D., Newton, M., Waugh, K.: Understanding Object-Relational Mapping: A Framework Based Approach. International Journal On Advances in Software 2 (2009) 6. Fussell, M.L.: Foundations of Object Relational Mapping. Vol. 2007. ChiMu Corporation (1997) 7. Eisenberg, A., Melton, J.: SQL: 1999, formerly known as SQL3. SIGMOD Record 28 (1999) 119-126 8. Ireland, C., Bowers, D., Newton, M., Waugh, K.: Exploring the use of Mixed Abstractions in SQL:1999 - A Framework Based Approach. In: Chen, Q., Cuzzocrea, A., Hara, T., Hunt, E., Popescu, M. (eds.): The Second International Conference on Advances in Databases, Knowledge and Data Applications, Vol. 1. IEEE Computer Society, Les Menuires, France (2010) TBA 9. Griethuysen, J.J.v. (ed.): Concepts and Terminology for the Conceptual Schema and the Information Base. ISO, New York (1982) 10. Blaha, M.R., Premerlani, W.J., Rumbaugh, J.E.: Relational database design using an object-oriented methodology. Communications of the ACM 31 (1988) 414-427 11. Ambler, S.W.: Agile Database Techniques - Effective Strategies for the Agile Software Developer. Wiley (2003) Page 40 of 125