Hacker News new | ask | show | jobs
by rantanplan 3480 days ago
Relational comes from Relation which means "table", not relationship.

There's no relationship between 2 tables. You're probably referring to foreign keys, but these are just constraints, not relationships in the sense you're alluding in your comment.

2 comments

While that may be true in the definition of a relational database, that is not generally what is meant by an ORM. The relationships between objects are a key part of what an ORM would provide.
Actually it's exactly what is meant by ORM.

Object Relational Mapper: It maps Objects to Relations.

Everything else is just auxiliary functionality.

Although I get what you're saying, and indeed the facility you describe is very convenient, it's not what the term means.

I'm just pointing that out because obviously people conflate relation(which comes from relational theory) with relationships.

Relation DOES NOT mean table. Relation does mean relations in the context of the Entity/Relationship model. It has nothing to do with tables, at all. So you are partially right technically I should have used the word entity, not table. But relation does not mean table again.
No. It would obviously be called Objection Relationship mapping and not relational.

This is really RDBMS 101 and we do have specific names and terms for a reason, please do not conflate them and don't confuse other people.

When you will go to https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_mo..., you will see that it doesn't even mention ORMs.

Now go to https://en.wikipedia.org/wiki/Object-relational_mapping.

Read the "challenges" section that points to https://en.wikipedia.org/wiki/Object-relational_impedance_mi....

Now I'll just quote this:

<<The object-relational impedance mismatch is a set of conceptual and technical difficulties that are often encountered when a relational database management system (RDBMS) is being served by an application program (or multiple application programs) written in an object-oriented programming language or style, particularly because objects or class definitions must be mapped to database tables defined by relational schema.>>

Open any DBMS book. Pick one at random and read the definition of a "relation". It's always going to be "table".

Alternatively, go to the most(?) popular ORM framework in the world and read this page http://hibernate.org/orm/what-is-an-orm/

More: https://www.fullstackpython.com/object-relational-mappers-or...

<<An object-relational mapper (ORM) is a code library that automates the transfer of data stored in relational databases tables into objects that are more commonly used in application code.>>

I could go on for hours, you get the idea.

Still doesn't make Godb an ORM.