Re: Role of functional dependencies in database design

From: Erwin <e.smout_at_myonline.be>
Date: Fri, 20 Feb 2015 01:22:52 -0800 (PST)
Message-ID: <64b9cd98-8a5e-4f95-a805-a8ab8c80ed70_at_googlegroups.com>


Op vrijdag 20 februari 2015 10:08:58 UTC+1 schreef Nicola:
> In article <>,
> pk wrote:
>
> > > given two lecturers L1 and L2 and a time T
> > > when L1 is teaching at time T and L2 is teaching at time T
> > > then L1 and L2 are in different rooms
> >
> > FORALL L1,L2,T,R1,R2
> > teaches(L1,T,R1) AND teaches(L2,T,R2) => R1 <> R2
>
> I think that it should be:
>
> FORALL L1,L2,T,R1,R2
> L1 <> L2 AND teaches(L1,T,R1) AND teaches(L2,T,R2) => R1 <> R2
>
> > > (this is absolutely off the top of my head: don't take it as a serious
> > > attempt).
> >
> > No FD.
>
> Correct. The FD is implied, though:
>
> Let X be L1 <> L2
> Let Y be teaches(L1,T,R1) AND teaches(L2,T,R2)
> Let Z be R1 <> R2
>
> Then the sentence above is the universal closure of
>
> X AND Y -> Z,
>
> If my coffee has worked as it should, the latter is equivalent to
>
> (NOT Z) AND Y -> NOT X,
>
> that is,
>
> R1 = R2 AND teaches(L1,T,R1) AND teaches(L2,T,R2) -> L1 = L2,
>
> or, simplifying,
>
> teaches(L1,T,R) AND teaches(L2,T,R) -> L1 = L2.
>
> The idea behind my example is that a hypothetical formalism based on
> natural language might allow the user to write specifications that are
> not a direct translation of the logical definition of a FD, but from
> which the system might *infer* a FD, giving the user more freedom in the
> way constraints may be expressed. But again, I haven't really thought
> about it too much.
>
> Nicola
>
> --- news://freenews.netfront.net/ - complaints: ---

Well, even if you can manage to get that formalism fully specced (a tall order imo), the main problem will still remain that if you apply that formalism to any given input, the output produced will only be as reliable as the input it is applied to.

Which is by the way illustrated perfectly by the example used : I carelessly overlooked the possibility of L1=L2, thus neglected to explicitly specify L1<>L2 as a premisse (tacitly assuming it would be tacitly understood), and the rest is history ... Received on Fri Feb 20 2015 - 10:22:52 CET

Original text of this message