Re: Question re: Practical Issues in Database Management

From: mAsterdam <mAsterdam_at_vrijdag.org>
Date: Sat, 24 Mar 2007 13:34:41 +0100
Message-ID: <46051a8e$0$322$e4fe514c_at_news.xs4all.nl>


Joe Thurbon wrote:
> TroyK wrote:

>> Joe Thurbon wrote:

>
> [...]
>
>>> "A MVD between two columns exists when sets of values in one column are
>>> each associated with values in another column"
>>>
>>> and 4th normal form is defined as
>>>
>>> "If no MVDs exist between columns, then a table is in 4th normal form"
>>>
>>> Even assuming that 'no MVDs' is shorthand for 'no MVDs that are not also
>>> FDs' these definition would mean that the table,
>>>
>>> EMP#  ACTIVITY
>>> ==============
>>> 130      DEBUG
>>> 130      SUPPORT
>>>
>>> would not be in 4th normal form. (Since, it's clear that there is a set
>>> of values {DEBUG, SUPPORT} that is functionally dependant on EMP#. The
>>> caption of the example on page 138 says that the above table is in 4th
>>> normal form (as do all other definitions I've read).
>>
>> But the set of values is not, in fact, functionally determined by emp
>> #.

>
> I disagree (he says, with trepidation).
>
> Although I may be abusing the term functionally dependent - I'd welcome
> correction if I am. Note above that I said there is a _set_ of values,
> and I meant that that set is functionally dependant on EMP#, not that
> ACTIVITY was functionally dependent on EMP#.

The representation

> EMP# ACTIVITY
> ==============
> 130 DEBUG
> 130 SUPPORT
doesn't capture that subtlety. It suggests ACTIVITY as atomic, not SET_OF_ACTIVITIES.

> I thought that the general notion of dependency was (informally) along
> the lines of:
>
> "B is dependent on A if, every time I am told a value for A, I can
> observe the world and determine the value of B."

Either you are making the same mistake as I or we are both right :-)

> For functional dependencies, (A -> B), B is a 'simple value'. For
> multivalues dependencies, (A ->> B), B is a set of values, and for join
> dependencies, I'll have to keep reading and see if my analogy falls over.

http://www.almaden.ibm.com/cs/people/fagin/tods77.pdf

> As an aside, for a table in 3NF, for exmaple.
>
> TABLE A B
> === ---
> 1 1
> 2 1
> 3 2
>
> Is it right to say that
>
> A -> B
>
> and
>
> B ->> A
>
> And if not, why not?

Maybe, maybe not. Again, your notation suggests no. Reconsider what your notation does and does not convey.

Googling for "population diagram" (by far the most important data analysis tool according to Nijssen) did not give me what I was looking for (a good tutorial example), but there were some interesting articles, e.g.

http://www.inconcept.com/jcm/June2000/becker.html

[snip] Received on Sat Mar 24 2007 - 13:34:41 CET

Original text of this message