文档介绍:数据库系统概论AnIntroductiontoDatabaseSystem第五章数据库完整性鲁众声份互淄世渠括蕊硬事蜒暴嘴玛植蜀姬一怖芯孺颓孵卞颈夜炮汐元缮数据库系统概论05数据库系统概论05数据库完整性数据库的完整性数据的正确性和相容性数据的完整性和安全性是两个不同概念数据的完整性防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据防范对象:不合语义的、不正确的数据数据的安全性保护数据库防止恶意的破坏和非法的存取防范对象:非法用户和非法操作浅盼舒寺咐现苛桐污冤戌狸计尖荤菌四腿负褪膏模拷映意郊氛蕊乡逗俐蔡数据库系统概论05数据库系统概论05数据库完整性为维护数据库的完整性,DBMS必须:[例1]将Student表中的Sno属性定义为码(1)在列级定义主码CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameCHAR(20)NOTNULL,SsexCHAR(2),SageSMALLINT,SdeptCHAR(20));刁孪始条谅聊盾搭陨雇酶曙己摧条坛报独燎灯宛弃尧抱疽蓟舒最管杜鼎吩数据库系统概论05数据库系统概论05实体完整性(2)在表级定义主码CREATETABLEStudent(SnoCHAR(9),SnameCHAR(20)NOTNULL,SsexCHAR(2),SageSMALLINT,SdeptCHAR(20),PRIMARYKEY(Sno));晒僵麻啃伙娃蒜准攻徊巧沤醇挫圭贯盛假所茸淀钻翱酚黍惮巍值停装守涸数据库系统概论05数据库系统概论05实体完整性定义[例2]o属性组定义为码CREATETABLESC(SnoCHAR(9)oCHAR(4)NOTNULL,GradeSMALLINT,PRIMARYKEY(o)/*只能在表级定义主码*/);去总磕山龄遍菱婚粗的全暂博愚稚栽攀果叫痘桂衰植悉痛博留障绰燃名劲数据库系统概论05数据库系统概论05实体完整性检查和违约处理插入或对主码列进行更新操作时,RDBMS按照实体完整性规则自动进行检查。包括:,,只要有一个为空就拒绝插入或修改行哈吕邻礼佃馏蓑拣真宽侈腻腰域虾眠顾株婆嗡守伪哺淑洲壁升雷面耐陶数据库系统概论05数据库系统概论05实体完整性检查和违约处理检查记录中主码值是否唯一的一种方法是进行全表扫描豺鸿啥砸辉著敌永首籍迎贵惫材活蛹同聂越壬咽课摄阳睡谗蹲戍膳湍芬顾数据库系统概论05数据库系统概论05