问题
单项选择题
设有供应商关系S和零件关系P如下图所示。它们的主码分别是“供应商号”和“零件号”。而且,零件关系P的属性“供应商号”是它的外码,属性“颜色”只能取值为‘红’‘白’或‘兰’。
关系S中的下列行,哪个(些)可以被删除?()
Ⅰ.(‘S10’,‘宇宙’,‘上海’)
Ⅱ.(‘Z01’,‘立新’,‘重庆’)
A.仅Ⅰ
B.仅Ⅱ
C.都可以
D.都不可以
答案
参考答案:B
解析:
当执行删除操作时:一般只需要考虑参照完整性约束。如果是删除被参照关系中的行,检查被删除行在主键属性上的值是否正在被相应的参照关系的外键引用,若不被引用,可以执行删除操作;若正在被引用,有三种可能的做法:不执行该删除操作(拒绝删除),或将参照关系中相应行在外键属性上的值改为空值(若它允许空值)后再执行删除操作(空值删除),或将参照关系中相应行一起删除(级联删除)。