Re: 4NF is Where It Is At! [WAS Re: 1:1 relationships]

From: Jan Hidders <hidders_at_REMOVE.THIS.win.tue.nl>
Date: 15 Feb 2001 11:02:37 GMT
Message-ID: <96gd0d$7qs$1_at_news.tue.nl>


First, I would like to warn innocent bystanders: This is not really *the* math behind 5NF but only Vadim's interpretation of it. In reality things are much simpeler than that. :-)

Second, I would like to ask Vadim to post inside a thread if it is relevant and not start a new thread with the same subject line.

Right, now that this is out of the way we can get on with the discussion. :-)

Vadim Tropashko wrote:
> >===== Original Message From hidders_at_win.tue.nl (Jan Hidders) =====
> >
> >Actually, the math behind 5NF is much simpler than
> >that of 4NF. And I was really baffled when I saw that Date doesn't tell
> >how you can check if you are in 5NF because that is really quite
> >simple. But later I found that some books (and a lot of web pages)
> >actually do not tell this correctly. Quite amazing.
>
> I half baked some geometric interpretation below. Basically, I agree
> that 5NF is simpler that 4NF.
>
> Consider Course-Teacher-Text (CTX) example from C.Date's textbook:
>
> [...]
>
> Let's picture those records in 3-dimensional space
>
>
> 1 --- 1 --- 0 --- 0
> / | / | / | / |
> / | / | / | / |
> 1 0 1 0 0 0 0 0
> | / | / | / | /
> | / | / | / | /
> 1 --- 0 --- 1 --- 1
>
> where the axes are
>
> Phys Brown
> ^ ^
> | /
 Course (C) Teacher (T)
> | / Text (X)
> | / Mech---Opt---Vect-->Trig
> Math Green
>
> We assume that records in the active domain are represented as 1s.
> The shapes of both the set of all 1s, and the set of all 0s are of
> our primary interest here. Let's call them 1-image, and 0-image,
> correspondingly. What does the statement "CTX relation could be
> decomposed into a join of CT and CX" mean in this interpretation?
>
> Whenever a 3D geometric solid is defined through a synthesis of its
> projections we deal with cylinder sets. In our example
> {<Phys,Green,Mech>,<Phys,Brown,Mech>}
> is a cylinder set, because it doesn't vary along axis T. It is
> sometimes more convenient to write this set as {<c,t,x>| c=Phys &
> x=Mech}.
>
> Note, that when describing a geometric shape as a composition of
> projections, 0s are more important than 1s, because whenever you have
> a cylinder of 0s (0-cylinder, for short), it means that a view along
> 0-cylinder axis through 1-image is unobstructed. In other words, the
> cylinder is disjoint to 1-image. Now, the steps of reconstructing a
>
> shape from its projections are:
> 1. Consider 0-image within each projection subspace (CT, or CX)
> 2. Build 0-cylinders upon them (in CTX)
> 3. Make a union of those cylinders
> 4. The result is 0-image
> (Note, that this construction is very similar to Conjunctive Normal
> Form in Boolean algebra).
>
> Now, the condition of a set in CTX being decomposable into a join of
> its projections upon CT and CX is:
> ___________________________________________________
> Every 0 point in active domain must be enclosed into either
> 0-cylinder along T or 0-cylinder along X axes.
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I think the 'or' should be an 'and'. Otherwise this is not a sufficient condition. Note that your condition is equivalent with saying that

  ~(R[CT]) JN R[X] <= ~R or ~(R[CX]) JN R[T]) <= ~R

where ~ is 'complement' and <= is 'subset or equal'. But in your 'reconstruction' you are already showing that

  ~R = (~R[CT] JN R[X]) + (~R[CX] JN R[T])

where + is the set union. Why you think this is simpeler than just saying that R = R[CT] JN R[CX] is not really clear te me. :-)

-- 
  Jan Hidders
Received on Thu Feb 15 2001 - 12:02:37 CET

Original text of this message