Object–relational impedance mismatch: Difference between revisions

Content deleted Content added
AnomieBOT (talk | contribs)
m Dating maintenance tags: {{Disputed inline}}
Rhino02 (talk | contribs)
No edit summary
 
(One intermediate revision by one other user not shown)
Line 17:
 
==== Interface, class, inheritance and polymorphism ====
Objects must implement [[Interface (computer science)|interfaces]] to not expose internals. Relational uses [[View (database)|views]] to vary perspectives and constraints. It lacks OO concepts like [[class (computer science)|classes]], [[Inheritance (object-oriented programming)|inheritance]] and [[polymorphism (computer science)|polymorphism]].
 
==== Mapping to relational concepts ====
Line 44:
 
# ''NoSQL''. The mismatch is not between OO and DBMSes. Object-relational impedance mismatch is eponymously only between OO and '''R'''DBMSes. Alternatives like [[NoSQL]] or [[XML database]]s avoid this.
# ''Functional-relational mapping''. [[Functional programming]] is a popular alternative to [[object-oriented programming]]. [[List_comprehension|Comprehensions]] in functional programming languages are isomorphic with relational queries.<ref>{{cite web | url=https://nbviewer.org/github/phelps-sg/python-bigdata/blob/master/src/main/ipynb/relational-python.ipynb | title=Jupyter Notebook Viewer }}</ref> Some functional programming languages implement functional-relational mapping.<ref>{{cite web | url=https://scala-slick.org/doc/stable/introduction.html | title=Introduction · Slick }}</ref> The direct correspondence between comprehensions and queries avoids many of the problems of object-relational mapping.
 
=== Minimization in OO ===