Re: A different definition of MINUS, part 4
From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Sun, 28 Dec 2008 14:19:24 -0400
Message-ID: <4957c331$0$5460$9a566e8b_at_news.aliant.net>
>
> ...
>
>
> ...
>
>
> My question would be why is there any mention of 'KEY' and why the
> constraint equation in scheme 2? How do they change the presumably
> desired 'equivalence' of being able to update either through EMP1 and
> EMP2 or through EMPLOYEE?
>
> (unless there is some difference between the braces and square brackets
> that eludes me).
>
> I don't say there is anything 'wrong' here that results from including
> keys, I would like to know why that is presumably necessary. If that is
> necessary, does it mean that some other key than EMPID, say {EMPID,
> SSAN} is somehow wrong or unnecessary?
Date: Sun, 28 Dec 2008 14:19:24 -0400
Message-ID: <4957c331$0$5460$9a566e8b_at_news.aliant.net>
paul c wrote:
>> paul c wrote: >> >>> Brian Selzer wrote:
>
> ...
>
>>>> equivalent. What that means is that for a view to be uncontingently >>>> updatable, there has to be an equivalent database scheme in which >>>> the heading of a base relation matches the heading of the view. For >>>> example, suppose you have two database schemes >>>> >>>> scheme 1: >>>> >>>> EMPLOYEE {EMPID, LAST, FIRST, MIDDLE, SSAN} KEY{EMPID} >> >> >> Scheme 1 is incomplete. >> >> scheme 1: >> >> EMPLOYEE {EMPID, LAST, FIRST, MIDDLE, SSAN} KEY {EMPID} >> EMP1 = EMPLOYEE[EMPID, LAST, FIRST, MIDDLE] >> EMP2 = EMPLOYEE[EMPID, SSAN] >> >> >>>> scheme 2: >>>> >>>> EMP1 {EMPID, LAST, FIRST, MIDDLE} KEY{EMPID} and >>>> EMP2 {EMPID, SSAN} KEY{EMPID} such that >>>> EMP1[EMPID] = EMP2[EMPID] >>>> EMPLOYEE = EMP1 JOIN EMP2 >>>> >>>> Here the circular inclusion dependency guarantees that any update >>>> through the EMPLOYEE view can be transformed into a legal set of >>>> updates against EMP1 and EMP2. >>>> >>>> I don't see how anything short of schema equivalence could be >>>> permitted--for instance, relaxing the circular inclusion >>>> dependency--without changing the information content of the database.
>
> ...
>
>> In scheme 1 above, we have our base relation declaration(s) and two >> view equations. In scheme 2 above, we have our base relation >> declaration(s) and two equations: one constraint equation and one view >> equation. >> >> I agree logical independence demands we be able to use either scheme >> equally without having any concern for which sheme we actually have.
>
> My question would be why is there any mention of 'KEY' and why the
> constraint equation in scheme 2? How do they change the presumably
> desired 'equivalence' of being able to update either through EMP1 and
> EMP2 or through EMPLOYEE?
>
> (unless there is some difference between the braces and square brackets
> that eludes me).
>
> I don't say there is anything 'wrong' here that results from including
> keys, I would like to know why that is presumably necessary. If that is
> necessary, does it mean that some other key than EMPID, say {EMPID,
> SSAN} is somehow wrong or unnecessary?