第23章定义数据完整性精选文档.ppt
《第23章定义数据完整性精选文档.ppt》由会员分享,可在线阅读,更多相关《第23章定义数据完整性精选文档.ppt(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第23章定义数据完整性本讲稿第一页,共二十五页1.1.1.1.实体完整性实体完整性实体完整性实体完整性学号学号姓名姓名性别性别年龄年龄班号班号02010202李勇李勇刘晨刘晨男男男男1819信信01信信011完整性约束综述完整性约束综述学号学号课号课号成绩成绩0201023300100180902.2.2.2.参照完整性参照完整性参照完整性参照完整性班号班号专业专业院系院系信管信管1信管信管2信息管理信息管理信息管理信息管理管院管院管院管院“班级班级”学号学号姓名姓名性别性别年龄年龄班号班号02010235李勇李勇刘晨刘晨男男男男1819信管信管1信管信管2“学生学生”3 3 3 3.用户定义
2、完整性用户定义完整性用户定义完整性用户定义完整性如:性别只能为如:性别只能为“男男”或或“女女”一一.完整性分类完整性分类本讲稿第二页,共二十五页二二.完整性约束的范围完整性约束的范围1.列级约束:应用于某一列上。列级约束:应用于某一列上。2.表级约束:应用于表中的多列上。表级约束:应用于表中的多列上。三三.DBMS的完整性控制功能的完整性控制功能1.定义功能:提供定义完整性约束条件的机制。定义功能:提供定义完整性约束条件的机制。2.检检查查功功能能:检检查查用用户户发发出出的的操操作作请请求求是是否否违违背背了了完完整整性性约约束条件。束条件。3.纠正措施:发现违背约束时的处理。纠正措施:发
3、现违背约束时的处理。1完整性约束综述完整性约束综述本讲稿第三页,共二十五页四四.完整性约束条件的设置完整性约束条件的设置完完整整性性约约束束条条件件可可以以在在建建表表时时设设置置,也也可可以以后后增增或或删删除除。在建表时设置约束的命令格式是:在建表时设置约束的命令格式是:createtable表名表名(列名(列名1数据类型数据类型1列级完整性约束条件列级完整性约束条件1,列名列名2数据类型数据类型2列级完整性约束条件列级完整性约束条件2,列名列名n数据类型数据类型n列级完整性约束条件列级完整性约束条件n,表级完整性约束条件表级完整性约束条件););1完整性约束综述完整性约束综述本讲稿第四页
4、,共二十五页1.建立列级主键约束建立列级主键约束例例1:将:将“学生学生”表中的表中的“学号学号”列设为主键。列设为主键。createtable学生学生(学号学号varchar(8)primarykey,姓名姓名varchar(8),:);例例2:将:将“班级班级”表中的表中的“班号班号”列设为主键,并命名。列设为主键,并命名。createtable班级班级(班号班号varchar(7)primarykey,专业专业varchar(20),院系院系varchar(20);2使用使用primarykey(主键)约束实施实体完整性(主键)约束实施实体完整性本讲稿第五页,共二十五页2.建立表级主键约
5、束建立表级主键约束例例1:将:将“选修选修”表中的表中的“学号学号”与与“课号课号”列设为主键。列设为主键。createtable选修选修(学号学号varchar(8),课号课号varchar(4),成绩成绩tinyint,primarykey(学号学号,课号课号);2使用使用primarykey(主键主键)约束实施实体完整性约束实施实体完整性学号学号课号课号成绩成绩020102010233001002001809075本讲稿第六页,共二十五页例例1:将学生表中的:将学生表中的“班号班号”列设为外键。列设为外键。前提:前提:(1)班级表中的班级表中的“班号班号”列已设为主键列已设为主键;(2)
6、外键与主键数据类型及长度相同。外键与主键数据类型及长度相同。createtable学生学生(学号学号varchar(8)primarykey,姓名姓名varchar(8),性别性别varchar(2),年龄年龄tinyint,班号班号varchar(7)foreignkeyreferences班级班级(班号班号);3使用使用foreignkey(外键外键)约束实施参照完整性约束实施参照完整性班号班号专业专业院系院系信管信管1信管信管2信息管理信息管理信息管理信息管理管院管院管院管院“班级班级”学号学号姓名姓名性别性别年龄年龄班号班号02010235李勇李勇刘晨刘晨男男男男1819信管信管1信管
7、信管2“学生学生”本讲稿第七页,共二十五页例例2.将将“选修表选修表”中的中的“学号学号”列和列和“课号课号”列分别设为外键。列分别设为外键。createtable选修选修(学号学号varchar(8)foreignkeyreferences学生学生(学号学号),课号课号varchar(4)foreignkeyreferences课程课程(课号课号),成绩成绩tinyint,primarykey(学号学号,课号课号);3使用使用foreignkey(外键外键)约束实施参照完整性约束实施参照完整性学号学号姓名姓名性别性别年龄年龄班号班号0201李勇李勇男男18信管信管1学号学号课号课号成绩成绩0
8、20102010010028088课号课号课名课名学时学时学分学分001002微机原理微机原理操作系统操作系统50402.52“学生学生”关系关系“课程课程”关系关系“选修选修”关系关系本讲稿第八页,共二十五页实现参照完整性要考虑的问题实现参照完整性要考虑的问题外外键键的的作作用用即即对对输输入入自自身身表表格格的的数数据据进进行行限限制制,同同时时也也限限制制了了对对主主键键所在表的数据的修改。所在表的数据的修改。1在主键表删除元组问题在主键表删除元组问题1)级联删除)级联删除2)受限删除()受限删除(SQLServer采用)采用)3)置空值删除)置空值删除2在外键表插入元组问题在外键表插入
9、元组问题1)受限插入()受限插入(SQLServer采用)采用)2)递归插入)递归插入3修改主键问题修改主键问题1)不允许修改:先删除,再插入。)不允许修改:先删除,再插入。2)允许修改()允许修改(SQLServer采用)采用)3使用使用foreignkey(外键外键)约束实施参照完整性约束实施参照完整性本讲稿第九页,共二十五页一一.使用使用unique约束约束该约束用来确保不受主键约束的列上的数据的唯一性。例:该约束用来确保不受主键约束的列上的数据的唯一性。例:createtable学生学生(学号学号varchar(8)primarykey,姓名姓名varchar(8),身份证号身份证号v
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 23 定义 数据 完整性 精选 文档
限制150内