Relational data model, relations, and relationships (was: To whoever hacked into my Database)

Ben Finney ben+python at benfinney.id.au
Fri Nov 8 19:34:56 EST 2013


Dennis Lee Bieber <wlfraed at ix.netcom.com> writes:

> On Fri, 08 Nov 2013 13:31:02 +0000, Mark Lawrence <breamoreboy at yahoo.co.uk>
> declaimed the following:
>
> >The only relational database that has no relationships as effectively
> >there's only one table, despite what Denis McMahon (amongst others?)
> >has said.

Relational databases aren't about implementing relationships between
tables. They're about implementing the relational data model
<URL:http://www.c2.com/cgi/wiki?RelationalModel>
<URL:http://www.c2.com/cgi/wiki?RelationalDatabase>.

> 	In terms of relational database theory -- "relation" IS what
> most people call a "table": the dependent data is "related" to the
> primary key of the table.

Yes. In databases using SQL, one table implements a relation, where
“relation” is a term of art from relational data theory.

> 	Foreign keys to other tables are part of the definition.

And between two relations connected by a foreign key, there exists a
relationship — which is *not* what the “relational” in relational
databases are about.

Confusing? Yep. Relational theory is *not* a theory about relationship
between tables. Relational databases are so called not because of
relationships between tables, but because they implement relational
theory.

-- 
 \      “It is the integrity of each individual human that is in final |
  `\        examination. On personal integrity hangs humanity's fate.” |
_o__)               —Richard Buckminster Fuller, _Critical Path_, 1981 |
Ben Finney




More information about the Python-list mailing list