Chapter5_DataBase***叙切久昼没啮丑而诸民钟惨摹拽泰Chapter5_DataBaseChapter5_DataBase数据的正确性和相容性防止不合语义的数据进入数据库。例:学生的年龄必须是整数,取值范围为14--29;学生的性别只能是男或女;学生的学号一定是唯一的;学生所在的系必须是学校开设的系;完整性:真实地反映现实世界一、什么是数据库的完整性敢谍纂维杰镰胚撞绣晓***债菩二千澎刑爆烃烃篆赠睛订实趣捍仗恰牢碎藕Chapter5_DataBaseChapter5_DataBase二、。例:银行数据库中“借贷总金额应平衡”,则采取一定的动作来保证数据的完整性。立即执行的约束(Immediateconstraints)语句执行完后立即检查是否违背完整性约束延迟执行的约束(Deferredconstrainsts)、实体完整性定义实体完整性规则:关系中的码不能为空也不能重复。定义方法:在CREATETABLE中用PRIMARYKEY。二、实体完整性检查和违约处理检查:插入操作或更改码的值时。处理:、参照完整性定义参照完整性规则:关系中的外码或者取空值,或者等于被参照关系中某个元组的主码值。定义方法:在CREATETABLE中用FOREIGNKEY。二、参照完整性检查和违约处理检查:对参照表和被参照表进行增、删、改操作时,有可能破坏参照完整性,必须进行检查。处理:.在被参照关系中删除元组时的问题例:要删除Student关系中Sno=200215122的元组,而SC关系中有4个元组的Sno都等于200215122。级联删除:将SC关系中所有4个Sno=200215122的元组一起删除。如果参照关系同时又是另一个关系的被参照关系,则这种删除操作会继续级联下去受限删除:系统将拒绝执行此删除操作。置空值删除:将SC关系中所有Sno=200215122的元组的Sno值置为空值。在学生选课数据库中,显然第一种方法和第二种方法都是对的。第三种方法不符合应用环境语义。,而被参照关系不存在相应的元组。违约反应受限插入递归插入仅当被参照关系中存在相应的元组,其主码值与参照关系插入元组的外码值相同时,系统才执行插入操作,否则拒绝此操作。首先向被参照关系中插入相应的元组,其主码值等于参照关系插入元组的外码值,然后向参照关系插入元组。例:向SC关系插入(200215125,1,90)元组,而Student关系中尚没有Sno=200215125的学生受限插入:系统将拒绝向SC关系插入(200215125,1,90)元组。递归插入:系统将首先向Student关系插入Sno=200215125的元组,然后向SC关系插入(200215125,1,90)元组。(1)允许修改主码(2)不允许修改主码跺岛昌恳潞陌所意囤他箭区酶敛藏信凤遂钻掷蹲爪持偿寝剃抽颖档享挪买Chapter5_DataBaseChapter5_DataBase(1)允许修改主码策略违约操作要修改被参照关系中某些元组的主码值,而参照关系中有些元组的外
Chapter5 DataBase 来自淘豆网www.taodocs.com转载请标明出处.