WindowsServer数据库课件-第05章数据库完整性(3学时)ne

WindowsServer数据库课件-第05章数据库完整性(3学时)ne

ID:41102358

大小:358.50 KB

页数:52页

时间:2019-08-16

WindowsServer数据库课件-第05章数据库完整性(3学时)ne_第1页
WindowsServer数据库课件-第05章数据库完整性(3学时)ne_第2页
WindowsServer数据库课件-第05章数据库完整性(3学时)ne_第3页
WindowsServer数据库课件-第05章数据库完整性(3学时)ne_第4页
WindowsServer数据库课件-第05章数据库完整性(3学时)ne_第5页
资源描述:

《WindowsServer数据库课件-第05章数据库完整性(3学时)ne》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据库系统概论AnIntroductiontoDatabaseSystem第五章数据库完整性1AnIntroductiontoDatabaseSystem第五章数据库完整性什么是数据库的完整性?数据的正确性和相容性防止不合语义的、不正确的数据进入数据库。例:学生的年龄必须是整数,取值在6-50间;学生的性别只能是男或女;学生的学号一定是唯一的;学生所在的系必须是学校已有的系;完整性:保证数据库能否真实地反映现实世界.区别数据完整性和安全性的两个概念。2AnIntroductiontoDatabaseSystem完整性约束条件是数据模型的组成部分,约束数据库中数据的语义。检查用户发出的

2、操作请求是否违背了完整性约束条件。操作违背了完整性约束条件,则采取一定的操作来保证数据的完整性。为保证完整性,DBMS必须做到:1.完整性约束条件定义机制2.完整性检查机制3.违约反应第五章数据库完整性3AnIntroductiontoDatabaseSystem第五章数据库完整性5.1实体完整性5.2参照完整性5.3用户定义完整性5.4完整性约束命名子句5.5触发器4AnIntroductiontoDatabaseSystem5.1实体完整性1.实体完整性定义在CREATETABLE语句中用PRIMARYKEY定义码由单字段构成:定义可以为列级或表级约束;码由多字段构成:定义只能为

3、表级约束;5AnIntroductiontoDatabaseSystem5.1实体完整性[例1]在数据库中,定义Student表的Sno属性为主码。定义在列级约束:CREATETABLEStudent(SnoCHAR(8),SnameCHAR(8),SageINT);定义在表级约束:CREATETABLEStudent(SnoCHAR(8),SnameCHAR(8),SageINT,);PRIMARYKEY,PRIMARYKEY(Sno));6AnIntroductiontoDatabaseSystem5.1实体完整性[例2]在SC表中定义(Sno,Cno)为主码。CREATETAB

4、LESC(SnoCHAR(5),CnoCHAR(2),GradeSMALLINT,PRIMARYKEY(Sno,Cno));7AnIntroductiontoDatabaseSystem5.1实体完整性2.实体完整性检查和违约处理(1)完整性检查当用户进行插入记录或修改主码时,DBMS系统自动检查:检查主码值是否惟一;检查每个主属性值是否为空。(2)违约处理拒绝插入或修改操作。8AnIntroductiontoDatabaseSystem5.1实体完整性2.实体完整性检查和违约处理(3)检查主码是否惟一的方法全表扫描依次判断表中每一个记录的主码值与插入记录的主码值是否一致。缺点:效率

5、低利用主码的B+索引优点:效率高9AnIntroductiontoDatabaseSystem5.1实体完整性keyF1F2F33………25………20………15………93………79………65………84………71………51………7………30………41………54………65………69………68………2551123066783715202530415154656869717679849310AnIntroductiontoDatabaseSystem第五章数据库完整性5.1实体完整性5.2参照完整性5.3用户定义完整性5.4完整性约束命名子句5.5触发器11AnIntroductiontoD

6、atabaseSystem5.2参照完整性1.参照完整性定义在CREATETABLE语句中:用FOREIGNKEY短语定义外码列;用REFERENCES短语指明外码参照哪个表的主码。12AnIntroductiontoDatabaseSystem5.2参照完整性[例3]在SC表中的参照完整性。CREATETABLESC(SnoCHAR(8)NOTNULL,CnoCHAR(3)NOTNULL,GradeSMALLINT,PRIMARYKEY(Sno,Cno),FOREIGNKEY(Cno)REFERENCEScourse(Cno)ONDELETECASCADE);REFERENCESs

7、tudent(Sno),13AnIntroductiontoDatabaseSystem5.2参照完整性[例3]在SC表中的参照完整性。ALTERTABLESCADDFOREIGNKEY(SNO)REFERENCESSTUDENT(SNO)14AnIntroductiontoDatabaseSystem2.参照完整性检查和违约处理对被参照表和参照表进行增、删、改操作时进行检查有四种情况可能破坏参照完整性:参照表中插入一个新元组;修改外码值;被参照表中删除一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。