RDBMS在实现参照完整性时需要考虑哪些方面的问题,以及可以采取的策略?
正确答案:(1)外码能否接受空值
(2)删除被参照关系中的元组。这时可有三种不同的策略:
级联删除:同时删除参照关系中相关元组;
受限删除:仅当参照关系中没有任何元组的外码值与被参照关系中要删除元组的主码值相同时,系统才执行删除操作,否则拒绝此删除操作。
置空值删除:删除被参照关系的元组,并将参照关系中相应元组的外码值置空值。
(3)在参照关系中插入元组
当参照关系插入某个元组,而被参照关系不存在相应的元组,其主码值与参照关系插入元组的外码值相同,这时可有以下策略:
受限插入:不允许在参照关系中插入;
递归插入:同时在被参照关系中插入一个元组,其主码值为插入元组的外码值。
(2)删除被参照关系中的元组。这时可有三种不同的策略:
级联删除:同时删除参照关系中相关元组;
受限删除:仅当参照关系中没有任何元组的外码值与被参照关系中要删除元组的主码值相同时,系统才执行删除操作,否则拒绝此删除操作。
置空值删除:删除被参照关系的元组,并将参照关系中相应元组的外码值置空值。
(3)在参照关系中插入元组
当参照关系插入某个元组,而被参照关系不存在相应的元组,其主码值与参照关系插入元组的外码值相同,这时可有以下策略:
受限插入:不允许在参照关系中插入;
递归插入:同时在被参照关系中插入一个元组,其主码值为插入元组的外码值。
答案解析:有

微信扫一扫手机做题