- 1、本文档共69页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 DB完整
* * 本次课主要内容 第五章 SQL Server的数据完整性 5.1 数据完整性的基本概念 5.2 定义约束 5.3 约束的类型 5.4 创建约束的其他选项 5.5 默认与规则 * 5.5 默认与规则 类似DEFAULT约束,使用默认也可实现当用户在向表中插入数据时,若未明确给出某列的值,则由SQL Server自动为该列输入缺省值 5.5.1 默认 * 默认 在数据库中 只需定义一次 可被一次或 多次应用于任意表 中的一列或多列和 用户定义的 数据类型 * 创建默认的命令如下: ? Create Default default_name AS constant_expression 指定默认的常数值 * 在创建默认后还要执行系统存储过程sp_binddefault将其绑定于列或用户自定义的数据类型上,从而将默认用于任意表的一列或多列以及用户自定义的数据类型, 执行默认绑定的命令如下: EXEC sp_bindefault default_name , ‘table_name.[column_name[,...]| user_datetype]’ * 若删除默认,执行sp_unbindefault 后再执行 Drop default * 5.5.2 规则 规则是实现声明数据完整性的一种方法, 它也是一种数据库对象,因此和默认一样在数据库中只需定义一次 * 规则可以指定插入表上的有效值,以确保数据在指定的取值范围内,并与特定的模式或特定表中的实体匹配 * Create rule rule_name AS condition_expression 规则创建后,要执行sp_bindrule将其绑定于列或用户自定义的数据类型上:? EXEC sp_bindrule rule_name , ‘table_name.[column_name[,...]| user_datetype]’ * 可以是WHERE子句中的表达式 可以包含算术运算符、关系运算符和谓词(如IN/LIKE/BETWEEN)之类的元素 不能引用列或其它数据库对象 规则 可以包含不引用数据库对象的内置函数 * condition_expression 包含一个局部变量。每个局部变量的前面都有一个 @ 符号。该表达式引用通过 UPDATE 或 INSERT 语句输入的值。在创建规则时,可以使用任何名称或符号表示值,但第一个字符必须是 @ 符号 * 若删除规则,执行sp_unbindrule 后再执行 Drop rule * 5.5.3 数据完整性强制方法的选择 约束:定义表中有效的数据,在事务处理前执行,性能较好 默认和规则:提供独立的可以与多个表联系的对象实现数据完整性,在事务处理前执行 * 数据类型,空/非空约束:提供最低级别的数据完整性。在表创建时实现,在事务处理开始前执行 SQL Server--chap6 实现SQL Server的数据完整性 * * * 5.2.3 查看约束的定义信息 使用系统存储过程sp_help sp_helptext sp_helpconstraint 查询系统规划视图check_constraints referential_constraints table_constraints 图形化界面 查看约束的相关信息 * 约束名在数据库中必须唯一! * * * 5.2.4 删除约束 * * * 本次课主要内容 第五章 SQL Server的数据完整性 5.1 数据完整性的基本概念 5.2 定义约束 5.3 约束的类型 5.4 创建约束的其他选项 5.5 默认与规则 * 5.3 约束的类型 5.3.1 DEFAULT约束 创建该约束时,将对表进行完整性验证,表中每一列只能定义一个Default约束,Default 约束只在执行Insert时起作用 当向数据库表中插入数据时,如果没有明确的提供输入值,SQL Server自动为该列输入指定值 * Alter Table My_db1.Dbo.Stud_info Add Dormitory Nvarchar(20) NULL Default(‘紫荆公寓8号楼’) * 5.3.2 CHECK约束 使用该约束可实现当用户在向表中插入或更新数据时,由SQL Server检查新行中的带有该约束的列值使其必须满足约束条件 该约束在执行Insert语句或Update时起作用 通过逻辑表达式判断限制插入到列中的值。通常记录中的每一列均有值,即使它是NULL * * CHECK约束作用域 单列:列级CHECK约束 多列:表级CHECK约束 * 例:在表teachers的列Birthday上添加一个CHECK约束,以保证
文档评论(0)