第23章定义数据完整性优秀课件.ppt





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

限制150内