- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
/ SQL Server 2000数据库应用技术 / 吴青 wuqingwhu@ 数据完整性 完整性的概念 使用约束实施数据完整性 数据完整性 数据完整性 指存放在数据库中数据的一致性和准确性,即限制数据库表中可输入的数据 实体完整性 域完整性 参照完整性 用户自定义完整性 数据完整性 实体完整性 行完整性 规定表中的每一行在表中表示唯一的实体,即数据库中所有的行都具有一个非空且没有重复的标识字段,这样就确保数据库中所代表的任何事务均不存在重复的条目 数据完整性 域完整性 列完整性,用于限制用户想列中输入的内容 限制列值的数据类型,可以通过数据类型来实施 限制列值的格式,通过check约束和规则来实施 限制列值的取值范围,可以通过外键约束、check约束、默认约束、非空约束来实施 数据完整性 参照完整性 两个表的主键和外键的数据应对应一致,确保了主键的表中对应其他表的外键的行存在 即保证表之间数据的一致性 禁止往外键列中插入主键列中没有的值 禁止修改外键列值,而不修改主键列的值 禁止先从主键列所属的表中删除数据行 数据完整性 用户自定义完整性 用户自定义完整性允许用户自定义不属于其他任何完整性分类的特定规则,所有其他的完整性类型都支持用户定义完整性 数据完整性 创建、删除和修改约束 主键约束(primary key constraint) 外键约束(foreign key constraint) 唯一性约束(unique constraint) 检查约束(check constraint) 缺省约束(default constraint) 数据完整性 创建、删除和修改约束 主键约束(primary key constraint) 表的一列或几列组合的值在表中具有唯一性,即能唯一的标识一行记录. 数据完整性 创建、删除和修改约束 外键约束(foreign key constraint) 定义了表之间的关系。当一个表中的一个列或多个表的组合和其他表中的主键定义相同时,就可以将这些列或列的组合定义为外键。通过它可以实施参照完整性 外键中的列量和数据类型必须和参照完整性子句中的类数据量和类型匹配. 外键约束不能用于临时表和不同的数据库间. 数据完整性 创建、删除和修改约束 唯一性约束(unique constraint) 用于指定一个或者多个列的组合的值具有唯一性,以防止在列中输入重复的值。 数据完整性 创建、删除和修改约束 唯一性约束(unique constraint) 当使用唯一性约束时,需要考虑: ①使用唯一性约束的字段允许为空值。 ②一个表中可以允许有多个唯一性约束。 ③可以把唯一性约束定义在多个字段上。 ④唯一性约束用于强制在指定字段上创建一个唯一性索引。 ⑤缺省情况下,创建的索引类型为非聚簇索引。 数据完整性 创建、删除和修改约束 检查约束(check constraint) 限制输入到一列或多列中的可能值,只有符合特定条件和格式的数据才能存到字段中,从而保证数据库中的域完整性。 数据完整性 创建、删除和修改约束 检查约束需注意 一个列级检查约束只能与限制的字段有关;一个表级检查约束只能与限制的表中字段有关。 一个表中可以定义多个检查约束。 每个CREATE TABLE语句中每个字段只能定义一个检查约束。 在多个字段上定义检查约束,则必须将检查约束定义为表级约束。 当执行INSERT语句或者UPDATE语句时,检查约束将验证数据。 检查约束中不能包含子查询。 数据完整性 创建、删除和修改约束 缺省约束(default constraint) 使用缺省约束时,应该注意以下几点: 每个字段只能定义一个缺省约束。 如果定义的缺省值长于其对应字段的允许长度,那么输入到表中的缺省值将被截断。 不能加入到带有IDENTITY属性或者数据类型为timestamp的字段上。 如果字段定义为用户定义的数据类型,而且有一个缺省绑定到这个数据类型上,则不允许该字段有缺省约束。 Thank You! /
原创力文档


文档评论(0)