鉴于这个问题:
考虑一个
geq
表示“大于或等于”的关系,即 (x,y)E geq 仅当 y < x 时。create table geq ( lb integer not null , ub integer not null , primary key lb , foreign key (ub) references geq on delete cascade )
如果删除元组 (x,y),以下哪项是可能的?
(a) 删除 z > y
的元组 (z,w) (b) 删除 z > x 的元组 (z,w)
这就是我试图解决它的方法:-
由于 ub (上限)是外键,因此在元组 (x,y) 中, y 是外键。鉴于表本身的外键 (y) 引用geq
,geq 中必须有一个元组 (y, y')。
现在,y >= x 并且 y' >= y。因此,y' >= x。
因此,我没有使用 (z,w),而是使用了 (y,y')。
那么,答案不应该是,a tuple (z,w) with w>x is deleted 吗?
(我正在尝试解决旧的 GATE 论文)