Re: Dawn doesn't like 1NF

From: Dan <guntermann_at_verizon.com>
Date: Thu, 07 Oct 2004 16:06:21 GMT
Message-ID: <1Qd9d.12265$na.4447_at_trnddc04>


"Laconic2" <laconic2_at_comcast.net> wrote in message news:pI2dncO9sK7WpvjcRVn-uQ_at_comcast.com...
>
>
>> In regards to Dawn's comments that there is no basis for 1NF in
> mathematics,
>> I disagree with that even more vehemently. There exists a basis in both
>> logic, philosophy, and mathematics. Show me the alternative to
>> relations,
>> domains, tuples, and cartesian products across values using nested values
> in
>> relations, and I might defer. I'd actually enjoy being
> convinced...perhaps
>> with even a proof.
>
> First off, I agree with you that relations, domains, tuples, and cartesian
> products are the basis of much coherent thought in the area of "describing
> reality", which is what databases are ultimately all about. And the
> fact
> that Codd developed the theory of database systems on a logical basis,
> complete with axioms and theorems, was the basis for much of its
> strength.
> The rest of IT tends to go with "we tried this, and it worked, so we'll
> try it again."

I'm looking at it from a perspective of being even more fundamental -- systems of logic and theory. I am interested in being able to ask a question and being able to retrieve a consistent and complete answer, and perhaps even deduce new information from facts, whether held in a DBMS or not.

My major issue with non 1NF-attributes, such as nested relations, or comma-delimited lists, is that there is no analog that I know of to predicate calculus or propositional logic that will give me the same power and completeness when forming questions of logic. I am ultimately drawing a clear line in the sand between model and implementation. With predicate calculus, values that plug into predicates must be discrete and atomic in order to meet the criteria of a correct well-formed forumula. Nested values means higher order logic. If we can find a solution in terms of how we view the world from a system of logic, then it shouldn't be so hard to apply it to the DBMS, or think about the implications it has on Codd's original work. So let's start with the foundations, like Codd did I think.

This is the core issue in my mind. 1NF is critical, not because it is the right way to organize data necessarily, but because it is an essential criterion for specifying domain values, as data, or as part of expressions in logic.
>
> But the limitation to simple attributes has no such counterpart in the
> mathematics of relations. In particular, a domain can be a domain of
> relations in math. Not in the relational data model of 1970.
>
Of course you are right on this point. This is interesting to me, for I know that sets can be composed as a set of sets and therefore fit into the defintion of domains, yet when thinking back about my study of relations (in mathematics), I cannot think of one time where I manipulated a relation between two sets. I will have to research this issue more. And as I mentioned before, logic does not give us a clean way of asking questions or using inference with these breakaways from a formal model. Codd was a smart man and he decided that allowing exposed nested values added a good number of issues and complexities that detracted from a more basic model. I don't think we know exactly what they all are, but I have a feeling that we haven't even scratched the surface yet in terms of talking about them or discovering them all in this forum (because no one has made a formal proposal for an alternative - hint).

> When the commercial "relational DBMS" systems came out in the 1980s, all
> of
> them required that table columns be "simple". Even a blob is "simple"
> from
> the point of view of the DBMS. From the DBMS point of view, it's just a
> string bytes with no discernable substructure.

Well, what you say here is what I believe is rather self-evident. But using lists as domain values is a mistake! Like I said before, I am concerned the most about using logic and inference, and using a system based on a formal system of logic. An algebra and DBMS application to this system is rather trivial once the first step is achieved.

Sometime since 1990, both
> the theory and the products have relaxed this rule. But it was definitely
> there when I began to work with relational databases. Dawn can speak for
> Dawn.
>
Nothing has stopped her from doing this before! :-)

Regards,

Dan Received on Thu Oct 07 2004 - 18:06:21 CEST

Original text of this message