Re: Why is "group by" obligatory in SQL?
Date: Wed, 29 Jul 2009 06:14:06 -0700 (PDT)
I reread your last email and realized you raised some critical points we never had a chance to exchange upon throughout past conversations.
> It reminds me of another fuzzy area, what I would call 'domain
> theory' to use Codd's lingo.
With an initial education and inclination towards mathematics, I discovered Codd's relation construct fact encoding scheme with the strong bias to understand the mathematical refining process that would have naturally led him to conclude that such construct would be practical/optimized to formalize facts based of a universe of discourse specific observation/implementation .
I was initially genuinely more interested in the mathematical refining process than the construct itself since I considered the relational model more of an application of abstraction than a truly abstract reasonning. Naturally, I started looking for *Codd's math* in previous work of his, particularly on the subject of celullar automata (1968) written prior to the publishing of the relational model 1969 and 1971 papers. I had a hope to get a clearer understanding of the mathematical universe of discourse that may have driven him to the assumption that a relation construct could represent a effective solution to information encoding.
While studying Codd's cellular automata work, involving the establisment of deterministic predictability through algebra, probabilism and set theory (you have not misread) , I quickly realized that an effective encoding scheme to represent pairs of logical values was at the heart some fundamental issues in the relational model. My big deception however was that there was no clear definite link between the two papers, that could explain the *why* on the choice of relations as a formal optimized construct. I felt very frustrated since I could find an explanation on the choice of relations (why not another construct?).
Having that said, I started looking of relational model as a related but independent work of Codd's but I kept in mind which math were used priorly and which problems Codd had to solve. As far as domains are concerned, it is true they somehow remained *off the radar* in relational theory development and algebric scrutiny. It is reasonable to assume that they were an initial etymological tool Codd used to designate sets of values in a non naive way to distinguish them from define the computing construct of relation in the context of constraint specialization. Once the relational construct was defined, a probably more computing significant construct, the relation, was clarified and placed the interest more its possible applications rather than the theory behind the construct.
Such phenomenon can be observed in all great discoveries: the capacity to generate a new field of investigation driven by application but somehow amnesic asto the process that brought the discovery .
> He didn't talk of 'types', at least in the
> early days. There must be a elemental domain theory that emphasizes
See my above comment.
> dependent the rest of Codd's concept was on a distinct domain
> implementation, eg., equality in his RM can't be implemented without
> forrmal domains. I like the word 'domain' because it helps me separate
> that basic requirement from all of the more subtle and logically
> unnecessary concepts that are written about by type theorists.
The understanding of domains is fundamental to the understanding of constraints specialization.
> theorists such as Date are basically concerned with programming
> productivity, which is fair, but I'd say it is distinct from basic RT
The scope of RM's field of investigation is simply breathtaking and my guess is there will be a need for tens of people like Date to clarify signficant portions of it. In such perspective, I agree that a domain theory is more than ever necessary. I have now spent 1 decade trying to clarify some aspects of it with a significantly better grasp of some of Codd's motivation and writings. Received on Wed Jul 29 2009 - 15:14:06 CEST