SQL Server 2008数据库应用教程 第2版 教学课件 作者 邱李华 李晓黎 任华 冉兆春 第7章.pptVIP

SQL Server 2008数据库应用教程 第2版 教学课件 作者 邱李华 李晓黎 任华 冉兆春 第7章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 规则和索引 课程描述 规则和索引是SQL Server中常用的对象,规则可以指定表中数据需要满足的条件,索引则可以提高查询数据的效率。俗话说没有规矩不成方圆,如果没有规则来约束,表中就有可能保存一些不符合逻辑的垃圾数据,例如工资为-5000,年龄为400,性别为马等。这种数据会给应用程序带来混乱。而索引则类似于图书的目录(实际上索引的情况要比目录复杂得多),创建索引可以帮助数据库引擎快速的查询数据。这两个对象虽然不是必须的,但合理地设计规则和索引对于创建完善、高效的数据库应用程序是很有帮助的。 本章知识点 7.1 规则 7.2 索引 7.1 规则 7.1.1 规则的概念 7.1.2 创建规则 7.1.3 查看规则 7.1.4 绑定规则 7.1.5 解除绑定规则 7.1.6 删除规则 7.1.1 规则的概念 规则(Rules)是用于执行一些与检查约束相同的功能。检查约束比规则更简明,一个列只能应用一个规则,但是却可以应用多个检查约束。 检查约束可以在CREATE TABLE语句中定义,而规则作为独立的对象创建,然后绑定在指定的列上。 规则也是维护数据库中数据完整性的一种手段,使用它可以避免表中出现不符合逻辑的数据,例如工资小于0。 7.1.2 创建规则 【例7-1】 【例7-2】 创建一个规则WageRule,指定变量@wage的取值范围为0~50000,代码如下: CREATE RULE WageRule AS @wage BETWEEN 0 AND 50000 7.1.3 查看规则 打开SQL Server Management Studio,在对象资源管理器中展开要管理的数据库,例如HrSystem。再展开“可编程性”/“规则”,可以查看选择数据库中的所有规则对象。如果还没有创建规则对象,则“规则”节点下没有子节点。右击一个规则对象,在弹出菜单中选择“编写规则脚本为”/“CREATE到”/“新查询编辑器窗口”,会打开一个新的查询编辑器窗口,并在其中显示该规则的定义语句,如图7-1所示。 7.1.4 绑定规则 绑定规则是指将已经存在的规则应用到列或用户自定义的数据类型中。使用存储过程sp_bindrule可以将规则绑定到列或用户自定义的数据类型,语法如下: sp_bindrule [ @rulename = ] 规则名, ????[ @objname = ] 对象名 【例7-3】 规则SexRule绑定到表Employees的列Sex上的语句如下: USE HrSystem GO EXEC sp_bindrule SexRule, Employees.Sex GO 执行的结果如下: 已将规则绑定到表的列。 【例7-3】 下面通过一个INSERT语句验证规则的应用效果。执行下面的INSERT语句,向表Employees中插入一条记录。 USE HrSystem GO INSERT INTO Employees (Emp_name, Sex, Title, Wage, IdCard, Dep_id) VALUES (小李, 无, 职员, 10000, 110123xxxx, 1) GO 注意,INSERT语句设置列Sex的值为“无”。因为列Sex绑定到规则SexRule,而在规则SexRule中规定列值只能是“男”或“女”。因此,执行INSERT语句的结果如下: 消息513,级别16,状态0,第2 行 列的插入或更新与先前的CREATE RULE 语句所指定的规则发生冲突。该语句已终止。冲突发生于数据库HrSystem,表dbo.Employees,列Sex。 语句已终止。 返回结果中提示INSERT语句中指定的列Sex的指定值(无)不满足之前绑定的规则。 7.1.5 解除绑定规则 使用存储过程sp_unbindrule可以解除规则的绑定,它的基本语法如下: sp_unbindrule??[ @objname = ] 对象名 对象名可以是表名和列名,也可以是自定义的数据类型。 【例7-4】 使用存储过程sp_unbindrule取消表Employees的列Sex上绑定的规则,具体语句如下: USE HrSystem GO EXEC sp_unbindrule Employees.Sex GO 执行的结果如下: (所影响的行数为 1 行) 已从表的列上解除了规则的绑定。 7.1.6 删除规则 在SQL Server Management Studio中,右键单击指定的规则,在弹出菜单中选择“删除”项则删除指定的规则对象。 也可以使用DROP RULE语句从当前数据库中删除一个或多个规则,语

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档