第9章-数据完整性_第1页
第9章-数据完整性_第2页
第9章-数据完整性_第3页
第9章-数据完整性_第4页
第9章-数据完整性_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章

数据完整性第9章数据完整性ppt课件(全)本章的学习目标: 操纵数据时的问题和解决机制 约束的基本概念和类型 管理DEFAULT约束 管理CHECK约束 管理主键约束 管理UNIQUE约束 管理外键约束 禁止约束的场景第9章数据完整性ppt课件(全)9.1数据完整性概述数据完整性的含义包括以下内容:(1)数值的完整性,指数据类型与取值的正确性。(2)表内数据不相互矛盾。(3)表间数据不相互矛盾,指数据的关联性不被破坏。第9章数据完整性ppt课件(全)实体完整性,要求表中每一条记录(每一行数据)是惟一的,即它必须至少拥有一个惟一标识以区分不同的数据行。实现方法有:主键约束PRIMARYKEY、惟一性约束UNIQUE、惟一索引UNIQUEINDEX、标识IDENTITY等。第9章数据完整性ppt课件(全)值域完整性,限定表中输入数据的数据类型与取值范围。实现方法:默认值约束DEFAULT或默认对象、核查约束CHECK、外键约束FOREIGNKEY、规则RULE、数据类型、非空性约束NOTNULL等。第9章数据完整性ppt课件(全)引用完整性,指对数据库进行添加、删除、修改数据时,要维护表间数据的一致性。实现方法:外键约束FOREIGNKEY、核查约束CHECK、触发器TRIGGER、存储过程PROCEDURE。第9章数据完整性ppt课件(全)用户定义的完整性,用于实现用户特殊要求的数据规则或格式。实现方法:默认值DEFAULT、核查约束CHECK、规则RULE等。第9章数据完整性ppt课件(全)9.2使用约束实施数据的完整性 约束用于实现表内数据的完整性,属于对象级。SQLServer支持的约束有如下几种:非空约束NOTNULL,主键约束PRIMARYKEY、惟一约束UNIQUE、核查约束CHECK、外键约束FOREIGNKEY、默认值约束DEFAULT。第9章数据完整性ppt课件(全)9.3约束的概念和类型 在SQLServer中,对于基本表的约束分为列约束和表约束。列约束是对某一个特定列的约束,包含在列定义中,直接跟在该列的其他定义之后,用空格分隔,不必指定列名;表约束与列定义相互独立,不包括在列定义中,通常用于对多个列一起进行约束,与列定义用“,”分隔,定义表约束时必须指出要约束的列的名称。 完整性约束的基本语法格式如下:[CONSTRAINTconstraint_name(约束名)]<约束类型>第9章数据完整性ppt课件(全)9.4管理约束9.4管理约束本节详细研究各种DEFAULE、CHECK、主键、UNIQUE、外键等约束的特点、创建方式、修改等内容。第9章数据完整性ppt课件(全)

约束:完整性类型约束类型描述域DEFAULT指定列的默认值CHECK指定列的允许值FOREIGNKEY指定必须存在值的列NULL指定是否允许为NULL实体PRIMARYKEY唯一标识每一行UNIQUE防止非主键重复引用FOREIGNKEY定义值与同一个表或另一个表的主键值匹配的一列或多列组合

CHECK指定根据同一个表中其他列的值可在列中接受的数据值第9章数据完整性ppt课件(全)PRIMARYKEY约束:

一个表通常可以通过一个列或多个列组合的数据来唯一标识表中的每一行,这个列或列的组合就被称为表上的主键。创建表中的主键是为了保证数据的实体完整性。PRIMARYKEY(主键)约束用于定义基本表的主键,它是惟一确定表中每一条记录的标识符,其值不能为NULL,也不能重复,以此来保证实体的完整性。第9章数据完整性ppt课件(全)使用Transact-SQL语句操作法设置主键约束,其语法形式如下:CONSTRAINTconstraint_namePRIMARYKEY(column_name)第9章数据完整性ppt课件(全)UNIQUE约束通过SSMS可以完成创建和修改唯一性约束的操作使用Transact-SQL语句完成惟一性约束的操作,其语法形式如下:

CONSTRAINTconstraint_nameUNIQUE(column_name)第9章数据完整性ppt课件(全)CHECK约束使用SSMS图形化界面创建检查约束

用Transact-SQL语句创建检查约束。其语法形式如下:

CONSTRAINTconstraint_nameCHECK(logical_expression)第9章数据完整性ppt课件(全)DEFAULT约束使用SSMS图形化界面创建默认约束用Transact-SQL语句创建默认约束。其语法形式如下:

CONSTRAINTconstraint_nameDEFAULTconstraint_expression[FORcolumn_name]第9章数据完整性ppt课件(全)NULL约束使用SSMS图形化界面设置空值约束。用Transact-SQL语句创建空值约束。其语法形式如下:直接在相应的语句后书写[NULL|NOTNULL]第9章数据完整性ppt课件(全)FOREIGNKEY约束在SSMS图形化平台上添加外键约束。第9章数据完整性ppt课件(全)使用Transact-SQL语句设置外部键约束,其语法形式如下:CONSTRAINTconstraint_nameFOREIGNKEY(column_name[,…n])REFERENCESref_table[(ref_column[,…n])]第9章数据完整性ppt课件(全)9.5禁止约束约束是作用于表的数据库对象,离开了表,约束将不再存在。除了约束外,SQLServer还提供了两个独立于表的数据库对象用以维护数据库的完整性,即默认和规则。规则的作用类似于核查约束,若将一个规则绑定到指定列上,则可以检查该列的数据是否符合规则的要求。第9章数据完整性ppt课件(全)9.5.1创建规则创建规则的语法如下。命令格式:CREATERULErule_nameASrule_expression命令说明: (1)rule_name为要建立的规则的名称。 (2)rule_expression为规则表达式,它与WHERE子句中的条件表达式类似,可以使用比较表达式、逻辑表达式、LIKE子句等,所不同的是需要将WHERE子句中的列名改为一个以@开头并符合SQLServer命名规则的参数。第9章数据完整性ppt课件(全)9.5.2绑定规则

规则创建后,它仅仅是一个数据库对象,与其他数据库对象并没有联系。要将规则应用于一个表(或用户定义的数据类型)中,必须将其与表中的指定列(或用户定义的数据类型)相结合,称之为将规则绑定(bind)到列(或用户定义的数据类型),或称绑定规则。绑定规则需要使用系统存储过程sp_bindrule,语法如下。命令格式:sp_bindrulerule_name,'table_name.column_name'或sp_bindrulerule_name,'user_defined_datatype'[,'futureonly_flag']命令说明:第9章数据完整性ppt课件(全)9.5.3解除绑定当表中不再需要规则时,可以将规则与列分离,称为解除绑定。解除绑定需要使用系统存储过程sp_unbindrule,语法如下。命令格式:sp_unbindrule'table_name.column_name'或sp_unbindrule'user_defined_datatype'[,'futureonly_flag']第9章数据完整性ppt课件(全)9.5.4删除规则删除规则的前提是解除数据库中所有表的绑定。删除规则语法如下。命令格式:DROPRULErule_name第9章数据完整性ppt课件(全)9.6默认9.6.1创建默认创建默认的语法如下。命令格式:CREATEDEFAULTdefault_nameASdefault_expression命令说明: (1)default_name是符合SQLServer标识符规则的默认值名称。 (2)default_expression是常量,用以指出默认值的具体数值或字符串。第9章数据完整性ppt课件(全)9.6.2绑定默认绑定默认的语法如下。命令格式:sp_bindefaultdefault_name,'table_name.column_name'或sp_bindefaultdefault_name,'user_defined_datatype'[,'futureonly_flag']命令说明: (1)default_name为默认值数据库对象的名称。 (2)其他语法项目的用法与规则类似。第9章数据完整性ppt课件(全)9.6.3解除绑定解除默认绑定的语法如下。命令格式:sp_unbindefault'table_name.column_name'或sp_unbindefault'user_defined_datatype'[,'futureonly_flag']第9章数据完整性ppt课件(全)9.6.4删除默认删除默认之前要先解除默认绑定。删除默认的语法如下。命令格式:DROPDEFAULTdefault_name第9章数据完整性ppt课件(全)9.6.5使用SSMS图形化界面管理默认值对象与管理规则类似,在企业管理器中展开指定数据库节点,单击“默认”,在窗口右边可以看到当前数据库中的所有默认值对象。右击“默认”,选择“新建默认”,在弹出的窗口输入默认名称及其取值。或右击某个现有的默认值对象,选择“属性”,可以查看、修改或绑定该默认值对象。注意在修改之前需要解除绑定。第9章数据完整性ppt课件(全)9.7使用自动编号IDENTITYSQLServer为自动进行顺序编号而引入了自动编号的IDENTITY属性。当需要对某一列输入的数据进行有规律的顺序编号且保证每个编号惟一时,最好是采用IDENTI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论