《SQLSERVER课件-数据完整性.ppt》由会员分享,可在线阅读,更多相关《SQLSERVER课件-数据完整性.ppt(14页珍藏版)》请在三一办公上搜索。
1、数据完整性,望宇科技,课程目标,实现各种完整性实体完整性引用完整性域完整性自定义完整性掌握规则和默认的使用,数据完整性,数据完整性保证了在数据库中存储数据的一致性和正确性。实体完整性:保证每一行都能被由称为主键的性来标识域完整性:保证在有效范围内的值才能存储到相应列中引用完整性:确保外键的值必须与相关的主键相匹配用户定义完整性:由用户指定的一组规则,约束的分类,实现数据完整性的主要方式是约束1、主键约束 primary key 确保字段值不重复不为NULL2、唯一约束 unique 确保字段值不重复3、外键约束 foreign key 确保字段值必须来自于指定表4、检查约束 check 确保字
2、段值的取值范围5、缺省约束 default 给相应字段提供默认值创建约束的层次:列层 表层注:约束即可在创表时创建,也可在已存在的表上添加,主键约束的运用,主键约束:格式:create table 表名(字段名 类型 constraint 约束名 primary key,)alter table 表名 add constraint 约束名 primary key(字段名)注:一个表上只能创建一个主键约束,唯一性约束,唯一约束:格式:create table 表名(字段名 类型 constraint 约束名 unique,)alter table 表名 add constraint 约束名 un
3、ique(字段名),外键约束,外键约束:格式:create table 表名(字段名 类型 constraint 约束名 foreign key(字段名)references 表名(字段名)on deletecascade|no action on updatecascade|no action,),外键约束,外键约束:格式:alter table 表名 with nocheck add constraint 约束名 foreign key(字段名)references 表名(字段名)on delete|on updatecascade|noaction 注:字段名上必须有主键或唯一约束 wi
4、th nocheck 不检查表中现有数据 on delete 级联删除 on update 级联更新 cascade 级联 no action 不级联,检查约束,检查约束:格式:create table 表名(字段名 类型 constraint 约束名 check(字段检查表达式),)alter table 表名with nocheck add constraint 约束名 check(字段检查表达式)注:with nocheck 不检查表中的现有数据,缺省约束,缺省约束:格式:create table 表名(字段名 类型 constraint 约束名 default 常值,)alter ta
5、ble 表名 add constraint 约束名 defaul 常值 for 字段名,约束的维护,查看约束 sp_helpconstraint 表名删除约束 Alter table 表名 drop constraint 约束名,规则与默认,在不改变表结构的情况下实现约束规则:为实施列或用户自定义数据类型的域完整性提供的一种机制,用来控制字段和用户自定义数据类型中所存储的值。必须先定义再和字段或用户用定义数据类型绑定格式:创建规则 create rule 规则名 as 规则表达式 注:变量进行比较删除规则 drop rule 规则名,规则与默认,绑定规则 sp_bindrule 规则名,对象,futureonly 对象:1、表名.列名 2、自定义数据类型 futureonly 只把规则应用于数据类型,而不影响 以前采用该数据类型的列,仅影响以后采 用该数据类型的列 取消绑定 sp_unbindrule 对象,futureonly futureonly 仅取消数据类型与规则的绑定,规则与默认,创建默认(给字段指定缺省值)create default 缺省名 as 常量删除默认 drop default 默认名绑定默认 sp_bindefault 默认名,对象,futureonly取消绑定 sp_unbindefault 对象,futureonly,
链接地址:https://www.31ppt.com/p-5449406.html