1 / 52
文档名称:

数据库系统概论第五章2014.ppt

格式:ppt   页数:52
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库系统概论第五章2014.ppt

上传人:rabbitco 2016/7/25 文件大小:0 KB

下载得到文件列表

数据库系统概论第五章2014.ppt

相关文档

文档介绍

文档介绍:An Introduction to Database System 数据库系统概论 An Introduction to Database System 第五章数据库完整性数据库完整性数据库完整性??数据库的完整性数据库的完整性??数据的数据的正确性正确性和和相容性相容性??数据的完整性和安全性是两个不同概念数据的完整性和安全性是两个不同概念??数据的完整性数据的完整性??防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据确的数据??防范对象:不合语义的、不正确的数据防范对象:不合语义的、不正确的数据??数据的安全性数据的安全性??保护数据库防止恶意的破坏和非法的存取保护数据库防止恶意的破坏和非法的存取??防范对象:非法用户和非法操作防范对象:非法用户和非法操作数据库完整性数据库完整性( (续续) ) 为维护数据库的完整性, 为维护数据库的完整性, DBMS DBMS 必须: 必须: ?? 1. ?? 2. ?? 3. 实体完整性实体完整性 参照完整性参照完整性 用户定义的完整性用户定义的完整性 完整性约束命名字句完整性约束命名字句* * 域中的完整性限制域中的完整性限制 触发器触发器 小结小结 实体完整性实体完整性?? 实体完整性定义实体完整性定义?? 实体完整性检查和违约处理实体完整性检查和违约处理插入或对主码列进行更新操作时, 插入或对主码列进行更新操作时, RDBMS RDBMS 按照实体完整性规按照实体完整性规则自动进行检查。包括: 则自动进行检查。包括: ?? 1. 1. 检查主码值是否唯一,如果不唯一则拒绝插入或修改检查主码值是否唯一,如果不唯一则拒绝插入或修改?? 2. 2. 检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改改??检查记录中主码值是否唯一的一种方法是进行检查记录中主码值是否唯一的一种方法是进行全表扫描全表扫描??索引索引第五章第五章数据库完整性数据库完整性 实体完整性实体完整性 参照完整性参照完整性 用户定义的完整性用户定义的完整性 完整性约束命名字句完整性约束命名字句* * 域中的完整性限制域中的完整性限制 触发器触发器 小结小结 参照完整性参照完整性?? 参照完整性定义参照完整性定义?? 参照完整性检查和违约处理参照完整性检查和违约处理 参照完整性定义参照完整性定义??关系模型的参照完整性定义关系模型的参照完整性定义??在在 CREATE TABLE CREATE TABLE 中用中用 FOREIGN KEY FOREIGN KEY 短语定短语定义哪些列为外码义哪些列为外码??用用 REFERENCES REFERENCES 短语指明这些外码参照哪些表短语指明这些外码参照哪些表的主码的主码参照完整性定义参照完整性定义( (续续) ) 例如,关系例如,关系 SC SC 中一个元组表示一个学生选修的某门课程的成绩, 中一个元组表示一个学生选修的某门课程的成绩, ( ( Sno Sno , , o )是主码。)是主码。 Sno Sno , , o 分别参照引用分别参照引用 Student Student 表的表的主码和主码和 Course Course 表的主码表的主码[例[例 3 3] ]定义定义 SC SC 中的参照完整性中的参照完整性 CREATE TABLE SC CREATE TABLE SC ( ( Sno Sno CHAR(9) NOT NULL CHAR(9) NOT NULL , , o CHAR(4) NOT NULL CHAR(4) NOT NULL , , Grade SMALLINT Grade SMALLINT , , PRIMARY KEY ( PRIMAR