11第第66章数据完整性章数据完整性6.16.1完整性的概念完整性的概念6.26.2约束的类型约束的类型6.36.3约束的创建约束的创建6.46.4查看约束的定义查看约束的定义6.56.5删除约束删除约束226.16.1完整性的概念完整性的概念完整性的概念完整性的概念数据完整性指存储在数据库中的数据完整性指存储在数据库中的数据正确无误数据正确无误并且并且相关数据相关数据具有一致性具有一致性。。数据完整性可分为以下四种:数据完整性可分为以下四种:11、实体完整性、实体完整性:要求在表中:要求在表中不能不能存在两条完全存在两条完全相相同同的记录。的记录。实现实体完整性的方法有:实现实体完整性的方法有:主键约束、惟一索引、主键约束、惟一索引、唯一约束、指定唯一约束、指定IDENTITYIDENTITY属性属性。。336.16.1完整性的概念完整性的概念22、域完整性、域完整性:要求向表中指定列输入的数据必须具有正确:要求向表中指定列输入的数据必须具有正确的数据类型、格式及有效的数据范围。的数据类型、格式及有效的数据范围。实现域完整性的方法有:实现域完整性的方法有:检查约束、外键约束、非空约束、检查约束、外键约束、非空约束、规则及在建表时设置的数据类型规则及在建表时设置的数据类型。。33、参照完整性、参照完整性:指作用于有关联的表通过主键和外键或主:指作用于有关联的表通过主键和外键或主键和惟一键间的关系,使表中的键值在相关表中保持一致。键和惟一键间的关系,使表中的键值在相关表中保持一致。实现参照完整性的方法有:实现参照完整性的方法有:外键约束外键约束44、用户定义的完整性、用户定义的完整性:指应用领域需要遵守的约束条件。:指应用领域需要遵守的约束条件。44第第66章数据完整性章数据完整性6.16.1完整性的概念完整性的概念6.26.2约束的类型约束的类型6.36.3约束的创建约束的创建6.46.4查看约束的定义查看约束的定义6.56.5删除约束删除约束556.26.2约束的类型约束的类型11、、NOTNULLNOTNULL(非空)约束(非空)约束22、、PRIMARYKEYPRIMARYKEY(主键)约束(主键)约束33、、UNIQUEUNIQUE(惟一)约束(惟一)约束44、、CHECKCHECK(检查)约束(检查)约束55、、FOREIGNKEYFOREIGNKEY(外健)约束(外健)约束66、、DEFAULTDEFAULT(默认)约束(默认)约束66第第66章数据完整性章数据完整性6.16.1完整性的概念完整性的概念6.26.2约束的类型约束的类型6.36.3约束的创建约束的创建6.46.4查看约束的定义查看约束的定义6.56.5删除约束删除约束776.36.3约束的创建约束的创建使用使用CREATETABLECREATETABLE或者或者ALTERTABLEALTERTABLE–CREATETABLECREATETABLE是在创建表时创建约束是在创建表时创建约束–ALTERTABLEALTERTABLE是在一个已有的表上添加约束是在一个已有的表上添加约束可添加可添加单列单列或或多列多列约束约束–若约束应用于单列,称为若约束应用于单列,称为列级约束列级约束–若约束引用了多列,称为若约束引用了多列,称为表级约束表级约束,一般此类约束,一般此类约束都是在表创建完成后再进行添加约束都是在表创建完成后再进行添加约束..886.36.3约束的创建约束的创建CREATETABLECREATETABLEtable_nametable_name({({column_namecolumn_namedata_typedata_type}[...}[...nn]}]}[[[[DEFAULTDEFAULTconstant_expressionconstant_expression]]]]<[CONSTRAINT<[CONSTRAINTconstraint_nameconstraint_name]]{|[{{|[{PRIMARYKEYPRIMARYKEY||UNIQUEUNIQUE}}[CLUSTERED|NONCLUSTERED][CLUSTERED|NONCLUSTERED]|[[|[[FOREIGNKEYFOREIGNKEY]]REFERENCESREFERENCESref_tableref_table[([(ref_columnref_column))]][[ONDELETE{CASCADE|NOACTIONONDELETE{CASCADE|NOACTION}]}][[ONUPDATE{CASCADE|NOACTIONONUPDATE{CASCADE|NOACTION}]}]||CHECKCHECK](](logical_expressionlogical_expression))}}996.36.3约束的创建约束的创建6.3.16.3.1创建主键约束创建主键约束6.3.26.3.2创建惟一约束创建惟一约束6.3.36.3.3创建检查约束创建检查约束6.3.46.3.4创建默认约束创建默认约束6.3.56.3.5创建外键约束创建外键约束10106.3.16.3.1创建...