- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3)单击“表达式”后面的按钮,进入如图7.16所示的CHECK约束表达式的界面,在“表达式”文本框中输入约束表达式“是否实习=‘是’or 是否实习=’否’”,然后,单击“确定”按钮。 4)在“设计表”窗口单击“保存”按钮,即完成了创建并保存CHECK约束的操作。以后在用户输入数据时,若输入是否实习不是“是”或“否”,系统将报告输入无效。 7.3.7启用与禁止约束 如果在现有的表数据基础上追加各种约束,那么需要考虑约束是否对表中已有数据起作用,分下列几种情况: (1)当建立主键约束或惟一约束时,SQL Server会在后台自动建 立惟一索引,并对表中的数据进行检查,以确保数据符合约束要求,这种自查过程是无法关闭。 (2)当创建检查约束和外键约束时,在缺省状态下,系统也会自动对数据进行检查,与主键约束和惟一约束不同的是,它可以取消。当 确认表中的数据已经符合约束条件时,就不必再浪费时间重复检查。 如果已确认表中的数据不符合约束条件,又不想马上清理当前的数据,也不必对数据进行检查,此时可以使用WITH NOCHECK选项关闭检查当前数据。 (3)当为某列加入一个新的缺省约束,SQL Server 并不对该列已有数据进行检查,表中已有记录保留原有的取值或NULL。当新建一列同时指定其缺省值时,SQL Server才为已有记录填充数值。如果使用了WITH VALUES选项, SQL Server会把缺省值赋给新列,否则新列为NULL。如果新列不允许为NULL ,则无论是否指定了WITH VALUES选项,都使用缺省值。 (4)当向数据库添加大量的数据时,可以临时禁止检查约束和外键约束。如要关闭外键约束, ALTER TABLE语句为 ALTER TABLE xc_temp NOCHECK CONSTRAINTfkey_xc_temp1 如想恢复约束,ALTER TABLE语 句为: ALTER TABLE xc_temp CHECK CONSTRAINT fkey_ xc_temp1 如果要永久取消约束, ALTER TABLE语句为: ALTER TABLE xc_temp DROP CONSTRAINT fkey_ xc_temp1 主键约束和惟一约束不能被临时 禁止,因为当表进行INSERT操作时,SQL Server需要随时修正与其相关联的索引。 7.4约束与缺省、规则比较 缺省和规则不仅是能够重复使 用的对象,并且在开发程序时符合与数据库分离的对象,它们并不和与之关联的列或表一起调入内存,而是在第一次使用它们时被才装载 进内存。当表中首次插入一行或修改一行时就会出延时,如经常使用规则或缺省,这种影响可以忽略,因为规则或缺省调入后一直驻留内存。如果不经常使用规则或缺省,在执行的过程中其影响会较明显,因为每次使用时都需要调入内存。 而约束是表定义的一部分,随表一起调入内存,提高了表的整体访问性能。缺省和规则一旦定义可绑定到许多列,也可以绑定到用户自定义数据类型。约束需要每一列分别定义,不能绑定到用户自定义数据类型。 缺省和规则代码容易维护,只 需在一处修改。约束需在每一个列 对象处修改。 缺省和规则不属于ANSI标准,不方便代码移植,以后Microsoft不一定支持。虽然对于数据检查来说,约束可能不是最好的方法,但microsoft以后会支持使用约束。 本 章 小 结 本章讲解了数据完整性概念,数据完整性确保数据库数据在修改和更新时数据之间的一致性和相容性。SQL Server通过数据库对象和数据约束来实现数据完整性。本章介绍了如何创建缺省与规则对象,如何定义 列约束、表约束、主键约束、惟一约束、外键约束和检查约束等。讲解了如何将缺省与规则对象绑定或取消绑定于列,以及如何通过设置启用和禁止,决定约束是否起作用。 CREATE TABLE xc_temp ( 驾照号 char(6) NOT NULL REFERENCES jsy (驾照号) ON UPDATE CASCADE ONDELETE CASCADE, 车牌号 char(8) NOT NULL REFERENCES cl(车牌号) ON UPDATE CASCADE, 调度号 char(4) NULL, 行程 smallint NULL, CONSTRAINT pkey_xc_temp PRIMARY KEY (驾照号, 车牌号)) 例中激活了层叠更新和层叠删 除(层叠更新和层叠删除参见第8章)。如果改变主键的值或删除主键的值,那么与其相关联的外键将自动层叠式地改变,这样能够保持主键值和外键值的同步调整。如无此关键字,则不激活层叠改变。 方法2是在创建表之后用ALTER TABLE语句设定。
您可能关注的文档
- SQL Server数据库管理系统项目教程 教学课件 作者 程有娥钱冬云洪年松 编著 项目01.ppt
- SQL Server数据库管理系统项目教程 教学课件 作者 程有娥钱冬云洪年松 编著 项目02.ppt
- SQL Server数据库管理系统项目教程 教学课件 作者 程有娥钱冬云洪年松 编著 项目03.ppt
- SQL Server数据库管理系统项目教程 教学课件 作者 程有娥钱冬云洪年松 编著 项目04.ppt
- SQL Server数据库管理系统项目教程 教学课件 作者 程有娥钱冬云洪年松 编著 项目05.ppt
- SQL Server数据库管理系统项目教程 教学课件 作者 程有娥钱冬云洪年松 编著 项目06.ppt
- SQL Server数据库管理系统项目教程 教学课件 作者 程有娥钱冬云洪年松 编著 项目07.ppt
- SQL Server数据库管理系统项目教程 教学课件 作者 程有娥钱冬云洪年松 编著 项目09.ppt
- SQL Server数据库管理系统项目教程 教学课件 作者 程有娥钱冬云洪年松 编著 项目10.ppt
- SQL Server数据库管理系统项目教程 教学课件 作者 程有娥钱冬云洪年松 编著 项目11.ppt
- SQL_server基础教程(第二版) 教学课件 作者 董翔英 第8章.ppt
- SQL_server基础教程(第二版) 教学课件 作者 董翔英 第9章.ppt
- SQL_server基础教程(第二版) 教学课件 作者 董翔英 第10章.ppt
- SQL_server基础教程(第二版) 教学课件 作者 董翔英 第11章.ppt
- SQL_server基础教程(第二版) 教学课件 作者 董翔英 第12章.ppt
- SQL_server基础教程(第二版) 教学课件 作者 董翔英 第13章.ppt
- SQL_server基础教程(第二版) 教学课件 作者 董翔英 第14章.ppt
- SQL_server基础教程(第二版) 教学课件 作者 董翔英 目录.ppt
- SQL_server基础教程(第二版) 教学课件 作者 董翔英 习题解答代码与附录 附录 2008.doc
- SQL实用简明教程(课件) 教学课件 作者 7 302 08932 9k CHAP01.ppt
文档评论(0)