网站大量收购独家精品文档,联系QQ:2885784924

第7章索引与数据完整性重点.ppt

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.参数 UNIQUE:是通过惟一索引为给定的一列或多列提供实体完整性的约束。一个表可以有多个 UNIQUE 约束。 create table 课程1 (课程号 char(6), 课程名 char(20), 学分 smallint, 周学时 smallint, constraint un_one unique(课程名,学分) ); 7.2.5 CHECK约束 CHECK约束通过限制输入到列中的值来强制域的完整性。这与FOREIGN KEY约束控制列中数值相似。区别在于它们如何判断哪些值有效,FOREIGN KEY约束从另一个表中获得有效数值列表,CHECK约束从逻辑表达式判断而非基于其他列的数据。 1.语法 CONSTRAINT constrain_name CHECK (search_conditions) 2.参数 ① CHECK:是通过限制可输入到一列或多列中的可能值强制域完整性的约束。 ② logical_expression:是返回 TRUE 或 FALSE 的逻辑表达式。 create table 学生 (学号 char(6) primary key, 姓名 char(10), 性别 char(2), 年龄 smallint, constraint ch_nl check (年龄=20 and 年龄=65), 班级号 char(5) ); 7.2.6 默认值约束 默认约束使用户能够定义一个值,每当用户没有在某一列中输入值时,则将所定义的值提供给这一列。 通过在标准视图下的表内指定默认值,为列定义这种类型的约束。一定要指定带有正确分隔符的约束。 1.语法 CREATE DEFAULT default_name AS constant_expression 2.参数 ① default:默认值的名称。默认值名称必须符合标识符的规则。可以选择是否指定默认值所有者名称。 ② constant_expression:只包含常量值的表达式(不能包含任何列或其他数据库对象的名称)。 create default phone_num as 6666666 规则对象的定义、使用与删除 规则对象的使用方法与缺省值对象的使用步骤类似: (1) 定义规则对象; (2) 将规则对象绑定到列或用户自定义类型; 规则对象的定义可利用企业管理器,通过界面定义,也可以利用查询分析器,通过执行SQL语句定义。 1)利用企业管理器定义规则对象并绑定到自定义类型或列 第1步 进入企业管理器,展开控制台目录树中的XSCJ数据库图标,选中“规则”图标右击,出现如图6.11所示的快捷菜单; 第2步 选择“新建规则”,进入规则创建窗口,如图6.12所示,在窗口中输入规则名及规则表达式,本例的规则名为kc_rule,规则表达式为:@num like [1-5][0-9][0-9],其中@num为任意输入的局部变量,但必须以@开头。 第3步 选择“确定”按钮,则新建规则创建成功,出现如图6.13的图标。 第4步 在规则图标下选中刚定义的规则对象kc_rule对象双击,出现如图6.13所示的规则属性界面; 第5步 在规则属性窗口中有两个按钮:一个是“绑定UDT”,即绑定到用户自定义类型;另一个按钮是“绑定列”,对于本例选中“绑定列”,进入如图6.14所示将规则对象绑定到列的界面; 第6步 选择表[dbo].[kc],在未绑定规则字段中选择“课程号”字段并添加到“绑定列”,如图所示,然后选择确定。 (2)将规则对象绑定到自定义类型或列 语法格式: sp_bindrule [ @rulename = ] rule , [ @objname = ] object_name [ , [ @futureonly = ] futureonly_flag ] 2)利用SQL命令定义规则对象并绑定到自定义类型或列 (1)规则对象的定义 语法格式: CREATE RULE rule AS condition_expression 【例】如下程序创建一个规则,并绑定到表KC的课程号列,用于限制课程号的输入范围。 USE XSCJ CREATE RULE kc_rule AS @range like [1-5][0-9][0-9] GO USE XSCJ EXEC sp_bindrule kc_rule, KC.课程号 GO (3)应用举例 (4)规则对象的删除 sp_unbindrule [@objname =] object_name [, [@futureonly =] futureonly_flag] 【例】解除课程号列与kc_rule之间的绑定关系,并删除规则

您可能关注的文档

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档