《数据完整性》ppt课件

《数据完整性》ppt课件

ID:26943240

大小:271.00 KB

页数:61页

时间:2018-11-30

《数据完整性》ppt课件_第1页
《数据完整性》ppt课件_第2页
《数据完整性》ppt课件_第3页
《数据完整性》ppt课件_第4页
《数据完整性》ppt课件_第5页
资源描述:

《《数据完整性》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章数据完整性1本章内容9.1数据完整性9.2约束9.3规则9.4默认值29.1数据完整性数据完整性是指数据库中存储数据的一致性和正确性,确保各个文件或表中的数据值的关系一致,确保数据库中的数据可以成功和正确地更新。数据库设计的一项重要内容是确定如何加强数据的完整性。39.1数据完整性关系数据完整性关系数据完整性包括一下内容:(1)实体完整性实体完整性就是把表中每一条记录看作一个实体,要求所有行都具有唯一标识,即主键,且主键的值非空,又称为行完整性。(2)域完整性域完整性是关于数据列取值有效性的限制。域完整性通常用有效性检查来实现,也可以通过限制数据类型、格式

2、或者可能的取值范围来实现。例如,对于teaching数据库中s_c表中,GRADE字段的取值只能是从0到100的整数值,而不能为其他数值。49.1数据完整性(3)参照完整性参照完整性是对外键取值有效性的限制,以确保数据在另一个参照表的取值范围内。参照完整性要求外键的取值只能取参照表中的有效值或空值。如果在参考表中某一记录的主键被依赖表中的外部键参考,那么这一记录既不能删除,也不能修改其主键值,以确保关键字的一致性。(4)用户定义完整性用户定义完整性允许特定的不属于上述类别规则的完整性定义,前面的3个完整性类型都支持用户定义完整性。实现用户定义完整性,可以有两种方

3、法,即声明数据完整性和过程数据完整性。59.1数据完整性声明数据完整性声明数据完整性是通过在对象定义中定义的标准来实现数据完整性,是由系统本身的自动强制来实现的,它包括使用各种约束、缺省的规则。过程数据完整性过程数据完整性是通过在脚本语言中定义的完整性标准来实现的,当执行这些脚本时,就可以强制完整性的实现。过程数据完整性的方式包括使用触发器和存储过程等。69.1数据完整性SQLServer2005中的数据完整性各类数据完整性和对应实现完整性的SQLServer组件如表9.1所示。数据完整性对应的SQLServer组件实体完整性PRIMARYKEY(主键)约束、U

4、NIQUE(唯一)约束UNIQUEINDEX(唯一索引)、IDENTITYCOLUMN(标识列)域完整性DEFAULT(默认值)、CHECK(检查)约束、RULE(规则)FOREIGNKEY(外键)约束、DATATYPE(数据类型)参照完整性FOREIGNKEY(外键)约束、CHECK(检查)约束TRIGGER(触发器)、STOREDPROCEDURE(存储过程)用户定义完整性RULE(规则)、TRIGGER(触发器)、STOREDPROCEDURE(存储过程)79.1数据完整性(1)空值数据表中的列可以接受空值,也可以拒绝空值。在数据库中,NULL是一个特殊值

5、,表示未知值的概念。NULL不同于空字符或0。空字符是一个有效的字符,0是一个有效的数字。NULL只是表示此值未知这一概念。NULL也不同于零长度字符串(空串)。如果列定义中包含NOTNULL子句,则不能为该列输入NULL值。如果列定义中仅包含NULL关键字,则接受NULL值89.1数据完整性(2)约束约束定义关于列中允许值的规则,是强制实施完整性的标准机制。使用约束优先于使用DML触发器、规则和默认值。约束类型SQLServer2005有下列约束类型:NOTNULL约束:非空约束,指定列不接受NULL值.CHECK约束:检查约束,通过限制可输入到列中的值来强制

6、实施域完整性。UNIQUE约束:唯一约束,强制实施列取值集合中值的唯一性。主键强制实施唯一性,但主键不允许NULL作为一个唯一值。99.1数据完整性d.PRIMARYKEY约束:主键约束,标识具有唯一标识表中行的值的列或列集。e.FOREIGNKEY约束:外键约束,标识并强制实施表之间的关系。列约束和表约束列约束指定为列定义的一部分,并且只应用于该列。表约束的声明与列定义无关,可以应用于表中多个列。当一个约束中必须包含多个列时,应使用表约束。109.1数据完整性(3)规则规则用于执行一些与CHECK约束相同的功能。使用CHECK约束是限制列值的首选标准方法。CH

7、ECK约束还比规则更简明。一个列只能应用一个规则,但可以应用多个CHECK约束。CHECK约束被指定为CREATETABLE语句的一部分,而规则是作为单独的对象创建,然后绑定到列上。119.1数据完整性(4)默认值如果插入行时没有为列指定值,默认值则指定列中默认取值。默认值可以是计算结果为常量的任何值,例如常量、内置函数或数学表达式。若要应用默认值,可以通过在CREATETABLE中使用DEFAULT关键字来创建默认值定义。这将为每一列分配一个常量表达式作为默认值,也可以作为单独的对象创建,然后绑定到列上。129.2约束约束是通过限制字段中数据、记录中数据和表之

8、间的数据来保证数据完整性

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

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

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