Re: Question re: Practical Issues in Database Management
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?
[snip] Received on Sat Mar 24 2007 - 13:34:41 CET