Circular References are Prohibited in Codd's Relational Model

From: Derek Asirvadem <derek.asirvadem_at_gmail.com>
Date: Mon, 16 Feb 2015 21:49:04 -0800 (PST)
Message-ID: <836888e9-e7d6-4fde-b2d4-497b04f96e2b_at_googlegroups.com>


James

I thought this should be handled and closed as a separate thread.

> On Monday, 16 February 2015 12:07:48 UTC+11, in the Hierachical Model thread, James K. Lowden wrote:
> > On Wed, 11 Feb 2015 23:00:52 -0800 (PST) Derek Asirvadem wrote:

> and I wouldn't rely on this example
> to prove circular references can't exist in a relational database,

Not this example, but Codd's words in the RM.

  1. Circular References are Prohibited in the RM

> Looking at the example in section 1.4, I finally see what you mean by
> "hierarchy". And, fair enough, Codd says of Figure 3 {employee,
> jobhistory, salaryhistory children} ,"The tree ... shows just these
> interrelationships...." Having worked with the relational model all
> these years, I look at that diagram and I don't see a tree. I see an
> ancestor of a Chen diagram, and automatically assume the "nonsimple
> domains" are tables. To Codd's contemporaries, the tree-ness was
> obvious.
>
> > when he gives the pre-requisties to his __Relational Normal Form__
> > [1.4](1)(2), and in (1) states "collections of trees", we take that
> > to mean:
> > - trees with integrity
> > - normalised to the extent that we did prior to the RM
> > - no circular references
> > - what I am calling, in retrospect __Hierarchical Normal Form__
>
> Codd certainly knew that a tree is a kind of DAG.

Yes, Codd certainly knew that a tree is a DAG.

> > Do you honestly believe that a tree, in the days of the HM and NM,
> > could survive a circular reference ?
>
> No. In fact I would go futher: a tree with a circular reference is not
> a tree. A tree is a kind of directed acyclic graph. A "tree" with a
> cycle is a cyclic graph (directed or not is hard to say).

Agreed, completely.

1 Codd uses the term graph twice, and the term tree thirteen times, in specific contexts. He certainly knew what he was talking about when he used those terms.

2 We certainly knew what he was talking about when he used those terms.

3 Now, finally, you have proved that you know what Codd was was talking about when he used those terms. When he stated tree, he meant tree, and nothing but a tree.

4 As per RM [1.4] (Relational) Normal Form, the stated pre-requisite is, the data must be organised (Normalised) into a valid tree, before Codd's (Relational) Normal Form can be applied:

>>>>
If normalization as described above is to be applicable, the unnormalized collection of relations must satisfy the following conditions: (1) The graph of interrelationships of the nonsimple domains is a collection of trees. (2) No primary key has a component domain which is nonsimple. <<<<

Given Codd's use of the term 'tree', which you have confirmed you understand, therefore circular references are prohibited in the RM.

Anyone who implements circular references in their Record Filing Systems (it ain't a Relational Db) is violating the RM.

2. The Prohibition is Not to be Relaxed


Note that immediately following the quoted para above, Codd cautions that:

>>>>
The writer knows of no application which would require any relaxation of these conditions. Further operations of a normalizing kind are possible. These are not discussed in this paper. <<<<

Therefore, there is no reason whatsoever, for relaxing the prohibition.

Therefore, anyone requesting a relaxation of the prohibition against circular reference, is specifically dismissed. As a Relational retard.

3. Anyone who Needs a Circular Reference is Ignorant


Further, in his second sentence, Codd gives the method to be used for removing circular references: Normalisation. Which is, of course, the method that I and other RM adherents use, to easily and effortlessly eliminate circular references in Relational Databases. No dramas, no having to deal with wild justifications.

Therefore anyone who *cannot* design a database without a circular reference is simply ignorant of what Codd calls "Normalisation".  

Case closed.

Your teachers are sub-humans, apes that eat pig poop, straight from the backside of a sow, who -- as evidenced severally -- know little about the RM, who -- as evidenced severally -- are ignorant re Normalisation.

I strongly recommend that you stop visiting the barn, if only to listen to their squeals. Read only Codd, without the monkeys schreeching in your ear. Do not let them onto your shoulder, they will jump onto, get into, your head. They have subverted many good young minds.


Note also, Codd's use of the term Normalisation, clearly with reference to Normalising the Tree, in order to eliminate circular references. This is *further evidence* re my declaration that we knew and understood Normalisation very well in those days, that it is not merely a bag of NFs, as it is known these days.  

Cheers
Derek Received on Tue Feb 17 2015 - 06:49:04 CET

Original text of this message