Miscellaneous
James V. Luisi , in Pragmatic Enterprise Architecture, 2014
8.1.2 Nonsensical Buzzwords
As with any taxonomy, there are bound to be terms that emerge that misrepresent information and mislead others; most of them are accidental from individuals that see one side of an issue, but lack the experience to have encountered the other sides of the issue that help put it in perspective. We see this in books and commonly on the Web.
While it is neither practical nor possible for that matter to identify them all, we will share one of our favorites.
My recommendation is to ask lots of questions to learn what any buzzword means. If you don't get an explanation that makes it crystal clear, keep asking questions. The others in the room probably have no idea what the buzzword means either.
8.1.2.1 Object Relational Impedance Mismatch
Entity relationship diagrams were in use nearly a decade before IBM announced their first relational database management system. Entity relationship diagrams were routinely used with:
- ▪
-
"hierarchical databases" (e.g., DL/I and IMS),
- ▪
-
"inverted list databases" (e.g., Adabas), and
- ▪
-
"network databases" (e.g., IDMS).
The point here is that entity relationship diagrams provide a basic method with which to depict collections of data points and the relationships that those collections have with one another.
It is therefore amusing how often one can find statements on the Web, including in Wikipedia, that state that entity relationship diagrams can only depict designs for relational databases. But that said, it gets even better.
Now that the reader is now knowledgeable in many of the differences between information systems and control systems, it is easy to understand how object-oriented paradigms originated with control systems, and then became adapted to information systems.
Yes, the architectural foundation between the two paradigms is different, but that's only because there are no tangible things that you can consistently touch in an information system.
Stable collections of data points within information systems are "objects" around which the application may be architected, as with collections of data that are identified within a logical data architecture. This goes down to the smallest collection of data points for which there are many synonyms, which include:
- ▪
-
record,
- ▪
-
tuple,
- ▪
-
entity,
- ▪
-
table, and
- ▪
-
object.
A conceptual or logical data model, as represented by an entity relationship diagram, is suited to model the data, regardless of what anyone decides to call the collections of data points. In other words, relational has nothing to do with it.
Now that there are a few generations of developers that only know object-oriented and relational, who have seen the differences between object-oriented control systems and relational database-oriented information systems, they have coined a new term called, "object relational impedance mismatch."
The following are examples of what has been used as justification for the existence of "object relational impedance mismatch."
Encapsulation: Object-oriented programming languages (e.g., Ada) use concepts to hide functionality and its associated data into the architecture of the application. However, this reason speaks to application, not database architecture.
Accessibility: Public data versus private data, as determined by the architecture of the application, are introduced as additional metadata, which are impertinent to data models.
Interfaces: Objects are said to have interfaces, which simply confuses interfaces that exist between modules of applications with data objects.
Data type differences: Object-oriented databases support the use of pointers, whereas relational does not. From the perspective of database management system architectures, the architectures that support pointers include hierarchical, network, and object oriented, whereas inverted list, relational, and columnar do not.
Structural and integrity differences: Objects can be composed of other objects. Entity relationship diagrams support this construct as well.
Transactional differences: The scope of a transaction as a unit of work varies greatly with that of relational transactions. This is simply an observation of one of the differences between control systems and information systems. What does "transaction" even mean when you are flying a B2 Stealth bomber, and if the transaction rolls back, does that make the plane land backwards where it took off from?
Okay, I can predict the e-mails that I am going to receive on this last one, but you have to inject a little fun into everything you do.
Read full chapter
URL:
https://www.sciencedirect.com/science/article/pii/B9780128002056000081