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

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Recently uploaded (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

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