2021-11-07
参照完整性
关系模型的参照完整性在create table中用foreign key短语定义哪些列为外码,用references短语指名这些外码参照哪些表的主码。
例如,关系sc中一个元组表示一个学生选修的某门课程的成绩,(sno,cno)是主码,sno,cno分别参照引用student表的主码和course表的主码。
参照完整性检查和违约处理
参照完整性将两个表中的相应元组联系起来了。因此,对被参照表和参照表进行增、删、改操作时有可能破坏参照完整性,必须进行检查以保证这两个表的相容性。
当发生违约是,可采用以下策略加以处理。
1.拒绝执行
不允许该操作执行。该策略一般设置为默认策略。
2.级联操作
当删除或修改被参照表的一个元组导致与参照表的不一致时删除或修改参照表中的所有导致不一致的元组。
3.设置为空值
当删除或修改被参照表的一个元组时造成了不一致,则将参照表中的所有造成的不一致的元组的对应属性设置为空值。
关系数据库管理系统在实现参照完整性时,除了要提供定义主码、外码的机制外,还需要提供不同的策略供用户选择。具体选择哪种策略,要提供应用环境的要求确定
“21天好习惯”第十七期-17
最新推荐文章于 2022-04-25 23:11:48 发布