| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: delete cascade
Bob Badour wrote:
> paul c wrote:
...
>> Sorry, I think I put that wrongly. Maybe the constraint that "one may
>> not delete an invoice when any items exists would look something like
>> "(NOT Invoices{Invoice#}) AND Items{Invoice#} = FALSE", ie., a
>> reference from the complement of invoices to items.
Not sure I entirely understand my notation either but here's what I get if I substitute "A" for the invoices projection and "B" for the items projection:
(not A) and B = false /* ie., the join is empty */
-> not ((not A) and B) = true /* negate both sides */
-> A or (not B) = true /* de Morgan */
in other words,
Invoices{Invoice#} OR NOT(Items{Invoice#}) is not empty.
p Received on Tue Apr 17 2007 - 08:05:56 CDT
![]() |
![]() |