Re: We claim that delete anomality is due to table not being in 3NF, but...
Date: Wed, 29 Oct 2008 22:07:22 +0100
Message-ID: <3qjhg4pg94sjulnpi76i6tab59ltlcblup_at_4ax.com>
On Tue, 28 Oct 2008 17:32:49 -0700 (PDT), Srubys_at_gmail.com wrote:
>greetings
>
>Sorry for not replying sooner
>
>> > But is C always dependent on A simply because B is dependent on A or…
>> > I mean, B will be dependent on A regardless of whether we have C
>> > attribute, but I assume that is not the case with C?
>> I'm afraid I don't understand the question. Could you give an example?
>
>I can’t think of any examples and I’m also not quite sure how to ask
>differently, but I’ll try. In most transitive dependencies C is
>dependent on A simply because B is dependent on A. Meaning if we
>removed B from the relation then C would no longer be dependent on A.
>
>But can there be transitive dependencies where C would still be
>dependent on A even if we removed B from the relation ( BTW - I
>realize that if we removed B from the relation that we wouldn’t have
>transitive dependency anymore)?
Hi Srubys,
Functional dependencies stem from reality. Whether or not you choose to
include B in your model does not change the situation where, apparently,
C depends on A through some intermediary B (that is not in the DB).
In a DB that stores PersonID and EyeColour, one might argue that the
actual dependency goes back to the parents of the person and their
genetic patterns - but those will typically not be stored, and yet the
EyeColour still depends on PersonID.
>> Delete anomalies can surface in more than one normal form. I haven't
>> thought about the sepcific case you raise. It seems like a different kind
>> of delete anomaly. In one case, the data that's lost is a relationship
>> (e.g. Jane Smith always teaches in classroom 13).
>
>But existence is also lost here.
Existence was never properly represented. If existence of a teacher is worth storing in your DB, then you need a table of teachers. Otherwise, you may be implying existence of a teacher as a side effect of storing attributes of other entities, but yoy fail to actively and explicitly store it.
(snipped the rest - I think the above addresses your questions)
Best, Hugo Received on Wed Oct 29 2008 - 22:07:22 CET