Path: csiph.com!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.004 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; '*not*': 0.07; 'table.': 0.07; 'implements': 0.09; 'lawrence': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'sql,': 0.09; 'subject:into': 0.09; '\xe2\x80\x94': 0.09; '>the': 0.16; 'definition.': 0.16; 'finney': 0.16; 'received:80.91.229.3': 0.16; 'received:plane.gmane.org': 0.16; 'said.': 0.16; 'tables,': 0.16; 'dependent': 0.19; 'implementing': 0.19; 'header:User-Agent:1': 0.23; "aren't": 0.24; 'exists': 0.24; 'connected': 0.24; 'tables': 0.26; 'primary': 0.26; 'header:X-Complaints-To:1': 0.27; 'url:wiki': 0.31; 'about.': 0.31; 'keys': 0.31; 'relational': 0.31; 'subject:Database': 0.31; 'table,': 0.31; 'writes:': 0.31; 'yes.': 0.31; 'fri,': 0.33; 'table': 0.34; 'subject: (': 0.35; 'but': 0.35; 'there': 0.35; 'subject:data': 0.36; 'two': 0.37; 'implement': 0.38; 'ben': 0.38; 'nov': 0.38; 'to:addr:python- list': 0.38; 'to:addr:python.org': 0.39; 'received:org': 0.40; 'called': 0.40; 'relations': 0.60; 'most': 0.60; 'term': 0.63; 'personal': 0.63; 'skip:\xe2 10': 0.65; 'effectively': 0.66; 'between': 0.67; 'foreign': 0.74; '8bit%:43': 0.74; 'integrity': 0.74; '2013': 0.98 X-Injected-Via-Gmane: http://gmane.org/ To: python-list@python.org From: Ben Finney Subject: Relational data model, relations, and relationships (was: To whoever hacked into my Database) Date: Sat, 09 Nov 2013 11:34:56 +1100 References: <527a5f79$1@news.synserver.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Gmane-NNTP-Posting-Host: rasputin.madmonks.org X-Public-Key-ID: 0xAC128405 X-Public-Key-Fingerprint: 517C F14B B2F3 98B0 CB35 4855 B8B2 4C06 AC12 8405 X-Public-Key-URL: http://www.benfinney.id.au/contact/bfinney-gpg.asc X-Post-From: Ben Finney User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux) Cancel-Lock: sha1:pskvjD2WpM9WGWkjzZBDpwJyD/Y= X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 38 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1383957311 news.xs4all.nl 15978 [2001:888:2000:d::a6]:46415 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:58888 Dennis Lee Bieber writes: > On Fri, 08 Nov 2013 13:31:02 +0000, Mark Lawrence > 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 . > 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