1 / 8

第五章 数据库完整性

第五章 数据库完整性. 教学目标: 掌握三类完整性的实现方法 外码对参照表和被参照表的影响 难点 : 触发器 课时: 4. 含义:数据的正确性和相容性 安全性与完整性的区别 DBMS 的完整性控制有三个方面的功能: 定义功能 检查功能 违约处理:若操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。 5.1 实体完整性 一 定义 primary key ( 主码 ) 二 检查 唯一 不能为空. 5.2 参照完整性 一 定义 foreign key ( 外码 ) references 被参照表 ( 属性 )

craig
Télécharger la présentation

第五章 数据库完整性

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第五章 数据库完整性 • 教学目标: • 掌握三类完整性的实现方法 • 外码对参照表和被参照表的影响 • 难点: • 触发器 • 课时:4

  2. 含义:数据的正确性和相容性 • 安全性与完整性的区别 • DBMS 的完整性控制有三个方面的功能: • 定义功能 • 检查功能 • 违约处理:若操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。 • 5.1 实体完整性 一 定义 primary key (主码) 二 检查 • 唯一 • 不能为空

  3. 5.2 参照完整性 • 一 定义 • foreign key (外码) references 被参照表(属性) • 二 检查、处理

  4. 学生 专业 • 学号 姓名 专业号 专业号 专业名 • 101 张琴 JSJ JSJ 计算机 • 102 王芹 JSJ SX 数学 • 103 张勇 WY 外语 • 104 刘廷 SX • 105 钱生 WY • 106 赵开 KK

  5. 1 在参照关系中插入元组 • 受限插入(默认) • 2 在参照关系中修改外码值 • 受限 • 3 被参照关系中删除元组 • 受限删除 (默认) • 级联删除 (ON delete cascade) • 置空删除 (极少使用) • 4 修改被参照表的主码 • 注意:修改参照表的主码不受限制 • 受限修改 (默认) • 级联修改 (on update cascade) • 置空修改

  6. SC表的Sno是外码,参照Student表的 Sno。 • Sno Sname Ssex Sage Sdept • 0001 陈小明 男 20 SX • 0002 杨秀红 女 21 JSJ • 0004 周志林 男 20 SX • SC表中有数据: • Sno Cno grade • 0001 1 90 • 0002 1 91 • 0002 2 90 1 执行如下语句,说明能否成功执行,请说明理由。 Update sc set sno=’0001’ where sno=’0002’ and cno=’2’ 2 执行如下语句,说明能否成功执行,请说明理由。如不能 成功执行,则可以采取哪些技术解决此问题。 Update student set sno=’0009’ where sname=’陈小明’ 3执行如下语句,说明能否成功执行,请说明理由。如不能 成功执行,则可以采取哪些技术解决此问题。 Update student set sno=’0019’ where sname=’周志林’

  7. 5.3 用户定义的完整性 • 5.3.1 列级约束 – 列 • 列非空 • 列值唯一 • 满足一定条件 • 5.3.3 表级约束 –以元组为检查单位

  8. 5.4 完整性约束的实现 • 5.6 触发器

More Related