Skip to Main Content
  • Questions
  • Meaning of the word 'Relational' in relational database.

Breadcrumb

Question and Answer

Tom Kyte

Thanks for the question, Gorav.

Asked: October 11, 2012 - 12:17 pm UTC

Last updated: October 12, 2012 - 8:23 am UTC

Version: 11.0.2

Viewed 1000+ times

You Asked

Hi tom,

I tried to google and find what is the meaning of word relational in Relation database but i got more confused as nowhere its properly explained.

1) What i understood is that Relation in the database means relation between two rows(Tuples) so when we have a set of cars then this set is a table and individual cars are the rows.(Till this day i used to think that in database relation is always between two tables )

2) What is the difference between ORDBMS and RDBMS.( Wikipedia page of Oracle database says Oracle is ORDBMS).

3) Oracle doesn't follow which rule of Codd's?


Kindly shed some light on the above topic when you are free.

Thanks.

and Tom said...

You might be interested in this book:

http://www.amazon.com/dp/0596523068/

The 'relational' bit here refers to the relations (also commonly referred to as tables) in the database - the tables and their relationships to each other. The tables 'relate' to each other. It is these relations (tables) and their relationships that make it "relational".


Oracle does have optional "object" capabilities - this allows us to say "we have Object Relational capabilities". So there are extensions like nested tables, collections, varrays, object types, object refs etc that allow one to say "Oracle is object relational"

http://docs.oracle.com/cd/E11882_01/appdev.112/e11822/toc.htm



there are no databases in existence that I'm aware of that support all of Codd's rules. We probably break every single one of them in some fashion or another at some point. As do the others.

http://en.wikipedia.org/wiki/Codd's_12_rules

for example, we permit tables to not have a primary key. rule 2 is done in.







Rating

  (3 ratings)

Is this answer out of date? If it is, please let us know via a Comment

Comments

My take

Galen Boyer, October 12, 2012 - 7:59 am UTC

The way I understand the term relational is that relational theory talks about a relation being a set of tuples, which translated to database worlds is saying a table is a set of rows. Each table is "relational" in and of itself because it contains rows of data. The idea that tables "relate" to each other is true but that does not make them relational, the relating to others are constraints. This term then gets confused again in the ERD world because most people view the lines between tables as the term "relationship" of the Entity Relationship Diagram, but the lines also are referring to a constraint and the term in ERD is still to mean a relation and its tuples.

I first viewed "relational" as you did, then I remember learning what I believe to be true now but now, I'm back at square one because what I think is true differs with what you believe is true. You rarely are wrong.
Tom Kyte
October 12, 2012 - 8:23 am UTC

I don't think it is really important actually. If forced to take a test on relational theory - I would likely fail outright. And I'm not truly worried about it. What I've always focused on is the pragmatic stuff. I don't care (never have, well, not for many years anyway) which of the 12 rules we don't satisfy - that wouldn't make my life any better. The database has a feature set - we need to use that feature set - I go with what the database does, how the database works - not the theory about how it could/should work.

Relational is the table concept - yes. But once you have that - you have the relationships between them and you can start answering questions using relational calculus (math, set operations). So the relational bit is just the fact there are tables technically. But that doesn't get you very far - you need the relationships and everything else.

this is not a horrible description:

http://en.wikipedia.org/wiki/Relational_database

Relational

Jeff, October 12, 2012 - 9:42 am UTC

At a most simplistic level, a relational database is "relational" because data is joined by virtue of logical values in the data itself, rather than through the physical storage location (parent/child) relationship that would be found in hierarchical databases.

Relational

Dragutin Jastrebic, October 13, 2012 - 4:41 am UTC

From "The art of SQL" written by Stéphane Faroult :

"...there is usually one representation that best meets
the business requirement. The relational model
is thus named, not because you can relate tables
to one another (a popular misconception) ,but as a
reference to the relationships between the columns
in a table..."




But with network databases & hierchical databases,
the predecessors of relational databases, maybe you can
apply this definition to some degree as well...


So, as Tom said,it's not really important

Dragutin