Re: Sixth normal form

From: Brian Selzer <>
Date: Mon, 20 Aug 2007 11:47:40 GMT
Message-ID: <wbfyi.46997$>

"JOG" <> wrote in message

> On Aug 19, 1:43 pm, "Brian Selzer" <> wrote:

>> "paul c" <> wrote in message
>> news:%CNxi.70306$fJ5.3346_at_pd7urf1no...
>> > JOG wrote:
>> >> ...
>> >> Does anyone else understand any of this? ...
>> > It strikes me as absurdly technocratic, no apparent value, ie. for me
>> > the
>> > answer is no. I don't see any value in theory for its own sake unless
>> > you
>> > can say or guess at *some* point along the way what the "sake" is.
>> [snip]
>> No apparent value.... I gave an example before, but perhaps it was a bit
>> too complicated. Suppose that you have a 5NF relation schema,
>> employee {emp#, last, first, ssn, payrate} where emp# is the key, last is
>> the last name, and first is the first name, ssn is the social security
>> account number and payrate is the hourly pay rate.
>> Now split it into the family of 6NF schemata,
>> emplast {emp#, last}
>> empfirst {emp#, first}
>> empssn {emp#, ssn}
>> emppayrate {emp#, payrate}
>> Wouldn't it be a bit strange for an employee to have a first name but not
>> a
>> last name?
> Yes it would be strange if a person had no surname. Would be strange
> that there is no proposition containing a person's last name. No. In
> the RealWorld(tm) its always possible there we will be missing info.
> See the difference?

I see what you're driving at. I don't agree with your argument. If the last name could have been missing, then the relation wasn't in 5NF to begin with. 6NF isn't a substitute for modeling missing information. It could be a requirement that whenever one value is supplied, another value must also be supplied. That can't be modeled through decomposition into 6NF.

Besides, due to the domain closure assumption, the absence of a proposition containing a person's last name indicates that the person doesn't have a last name. So if emplast only contains supplied last names, then the meaning of last in emplast is different from the meaning of last in employee, and thus the join of the relations emplast, empfirst, empssn, emppayrate no longer means the same thing as the original relation.

>> How about a pay rate without a social security account number?
>> Under the domain closure assumption, if there is a value for emp#, then
>> there is an employee with that employee number. For example, if there is
>> a
>> tuple {emp#:152, first:Brian} in empfirst, then there is an employee with
>> employee number 152, and that employee has the first name, Brian. Under
>> the
>> closed world assumption, the absence of a tuple with employee number 152
>> in
>> emplast indicates that the employee with employee number 152 has no last
>> name.

> I disagree, it does not mean at all that employee 152 has no last
> name. Under CWA in a data model, it means there is no proposition
> describing that information. The first order objects are propositions,
> not people. A subtle but invaluable distinction.

But the domain closure assumption states that the only individuals that exist are represented by values in the body of the database. Are you denying the domain closure assumption?

>> So how can you determine how much to pay him without a pay rate? How
>> can you produce a check to pay him without a last name? How can you
>> report
>> to the government how much he was paid without a social security account
>> number. If you can't pay him, then is he really an employee?
>> I now ask what is wrong with exploring why this can happen? Is this
>> really
>> theory for theory's sake? In order to find a correct solution, isn't it
>> necessary to find the root cause?
>> I could be wrong, but I think I may have found the root cause. I offered
>> it
>> up here in this forum--the database theory newsgroup. If you don't
>> understand what I'm trying to say, then please ask for clarification. If
>> you see a problem with my argument, or even better, if you can prove that
>> I'm wrong, then by all means do it: I'm not afraid to be wrong and would
>> prefer to be corrected so I don't waste any more time on it.

> I don't think it is ever a waste of time to explore these issues.

>> > When the foundation is nothing more than mysticism, arbitrary
>> > vocabulary
>> > and name dropping, any result no matter how ostensibly it appears to be
>> > reasoned is likely to be up for grabs.
>> Are you saying the foundation of the relational model is mysticism? The
>> whole notion of keys is semantic in nature: does that mean that the model
>> is
>> based upon mysticism?
> No, again I disagree 100%. Keys are not semantic in nature whatsoever.
> They are the antecedents of any material implication in a statement of
> FOL.  Semantics or 'meaning' are added by the user at the conceptual
> layer, as they are to any role or value.

What does that have to do with it? Are you saying that a functional dependency is not a semantic notion? If you are, then I'm not alone in disagreement.

>> The entirety of normalization theory is semantically
>> oriented, does that mean that it is all founded upon mysticism?
>> [snip]
> Received on Mon Aug 20 2007 - 13:47:40 CEST

Original text of this message