SQLServer实用教程第6章索引与数据完整性幻灯片.pptVIP

SQLServer实用教程第6章索引与数据完整性幻灯片.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文档。上传文档
查看更多
6.2.2 实体完整性的实现 【例6.10】 创建一个course_name表来记录每门课程的学生学号、姓名、课程号、学分和毕业日期。其中,学号、课程号和毕业日期构成复合主键,学分为唯一键。 CREATE TABLE course_name ( 学号 varchar(6) NOT NULL, 姓名 varchar(8) NOT NULL, 毕业日期date NOT NULL, 课程号 varchar(3) , 学分 tinyint, PRIMARY KEY (学号, 课程号, 毕业日期), CONSTRAINT XF_UK UNIQUE (学分) ) 6.2.2 实体完整性的实现 (2)通过修改表创建PRIMARY KEY约束或UNIQUE约束。 使用ALTER TABLE语句中的ADD子句可以为表中已存在的列或新列定义约束,语法格式参见第3章中ALTER TABLE语句的ADD子句。 【例6.11】 修改例6.14中的XSB1表,向其中添加一个“身份证号码”字段,对该字段定义UNIQUE约束。对“出生时间”字段定义UNIQUE约束。 ALTER TABLE XSB1 ADD????身份证号码 char(20) CONSTRAINT SF_UK ??UNIQUE NONCLUSTERED (身份证号码) GO ALTER TABLE XSB1 ADD????CONSTRAINT CJSJ_UK UNIQUE NONCLUSTERED (出生时间) 6.2.2 实体完整性的实现 (3)删除PRIMARY KEY约束或UNIQUE约束。 删除PRIMARY KEY约束或UNIQUE约束需要使用ALTER TABLE的DROP子句。 语法格式: ALTER TABLE table_name DROP CONSTRAINT constraint_name [ ,...n ] 【例6.12】 删除例6.14中创建的PRIMARY KEY约束和UNIQUE约束。 ALTER TABLE XSB1 DROP????CONSTRAINT XH_PK, XM_UK GO 6.2.3 域完整性的实现 1.CHECK约束的定义与删除 CHECK约束实际上是字段输入内容的验证规则,表示一个字段的输入内容必须满足CHECK约束的条件,若不满足,则数据无法正常输入。 (1)通过图形向导方式创建与删除CHECK约束。 在PXSCJ数据库的CJB表中,学生每门功课的成绩一般在0~100的范围内。如果对用户的输入数据要施加这一限制,可按如下步骤进行。 第1步:启动“SQL Server Management Studio”,在对象资源管理器中展开“数据库→PXSCJ→表”,选择“dbo.CJB”,右击鼠标,在出现的快捷菜单中选择“设计”菜单项。 第2步:在打开的“表设计器”窗口中选择“成绩”属性列,右击鼠标,在弹出的快捷菜单中选择“CHECK约束”菜单项。 6.2.3 域完整性的实现 第3步:在打开的 “CHECK约束”窗口(如图6.4所示)中,单击“添加”按钮,添加一个CHECK约束。在“常规”属性区域中的“表达式”栏后面单击“ ”按钮(或直接在文本框中输入内容),打开“CHECK约束表达式”窗口,并编辑相应的CHECK约束表达式为“成绩=0 AND 成绩=100”。 图6.4 “CHECK约束”窗口 6.2.3 域完整性的实现 第4步:单击“确定”按钮,完成CHECK约束表达式的编辑,返回到“CHECK约束”窗口中。在“CHECK约束”窗口中选择“关闭”按钮,并保存修改,完成“CHECK约束”的创建。此时若输入数据,如果成绩不是在0~100的范围内,系统将报告错误。 如果要删除上述约束,只需进入如图6.4所示的“CHECK约束”窗口,选中要删除的约束,单击“删除”按钮删除约束,然后单击“关闭”按钮即可。 6.2.3 域完整性的实现 (2)利用SQL语句在创建表时创建CHECK约束。 在创建表时可以使用CHECK约束表达式来定义CHECK约束,具体语法格式参见6.2.2小节。CHECK约束表达式语法格式如下: CHECK [ NOT FOR REPLICATION ] ( logical_expression ) 关键字CHECK表示定义CHECK约束,如果指定NOT FOR REPLICATION选项,则当复制代理执行插入、更新或删除操作时,将不会强制执行此约束。其后的logical_expression逻辑表达式称为CHECK约束表达式,返回值为TRUE或FALSE,该表达式只能为标量表达式。 【例6.13】 创建一个表st

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档