- 1、本文档共93页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第章索引与数据完整性
【例6.14】 创建一个表student1,只考虑“学号”和“出生日期”两列,出生日期必须大于1980年1月1日,并命名CHECK约束。 CREATE TABLE student1 ( 学号 char(6) NOT NULL, 出生时间 datetime NOT NULL, CONSTRAINT DF_student1_cjsj CHECK(出生时间1980-01-01) ) 【例6.15】 创建表student2,有“学号”、“最好成绩”和“平均成绩”三列,要求最好成绩必须大于平均成绩。 CREATE TABLE student2 ( 学号 char(6) NOT NULL, 最好成绩 INT NOT NULL, 平均成绩 INT NOT NULL, CHECK(最好成绩平均成绩) ) (3)利用SQL语句在修改表时创建CHECK约束。 在使用ALTER TABLE语句修改表时也能定义CHECK约束,ALTER TABLE语句的语法格式参见第3章。 定义CHECK约束的语法格式为 ALTER TABLE table_name [ WITH { CHECK | NOCHECK } ] ADD [column_definition] [CONSTRAINT constraint_name] CHECK (logical_expression) ?【例6.16】 通过修改PXSCJ数据库的CJB表,增加“成绩”字段的CHECK约束。 USE PXSCJ GO ALTER TABLE CJB ADD CONSTRAINT cj_constraint CHECK ?(成绩=0 AND 成绩=100) (4)利用SQL语句删除CHECK约束。 CHECK约束的删除可在SQL Server Management Studio中通过界面进行,有兴趣的读者可以自己试一试,在此介绍如何利用SQL命令删除CHECK约束。 使用ALTER TABLE语句的DROP子句可以删除CHECK约束。 语法格式: ALTER TABLE table_name DROP CONSTRAINT check_name 【例6.17】 删除CJB表“成绩”字段的CHECK约束。 ALTER TABLE CJB DROP CONSTRAINT cj_constraint 2.规则对象的定义、使用与删除 规则是一组使用T-SQL语句组成的条件语句,规则提供了另外一种在数据库中实现域完整性与用户定义完整性的方法。规则对象的使用方法与默认值对象的使用步骤类似。 ① 定义规则对象; ② 将规则对象绑定到列或用户自定义类型。 在SQL Server 2008中,规则对象的定义可以利用CREATE RULE语句来实现。 (1)规则对象的定义。 语法格式: CREATE RULE [ schema_name. ] rule_name AS condition_expression [ ; ] (2)将规则对象绑定到用户定义数据类型或列。 将规则对象绑定到列或用户定义数据类型中可以使用系统存储过程sp_bindrule。 语法格式: sp_bindrule [ @rulename = ] rule , [ @objname = ] object_name [ , [ @futureonly = ] futureonly_flag ] (3)应用举例。 。 【例6.18】 如下程序创建一个规则,并绑定到表KCB的课程号列,用于限制课程号的输入范围。 USE PXSCJ GO CREATE RULE kc_rule AS @range like [1-5][0-9][0-9] GO EXEC sp_bindrule kc_rule, KCB.课程号 /*执行存储过程使用EXEC命令*/ GO 程序如果正确执行将提示:“已将规则绑定到表的列” 【例6.19】 创建一个规则,用以限制输入到该规则所绑定的列中的值只能是该规则中列出的值。 CREATE RULE list_rule AS @list IN (C语言, 离散数学, 微机原理) GO EXEC sp_bindrule list_rule, KCB.课程名 GO 【例6.20】 如下程序定义一个用户数据类型course_num,然后将前面定义的规则“kc_rule”绑定到用户数据类型course_num上,最后创建表KCB1,其课程号的数据类型为course_num。 CREATE TYPE course_num FROM char(3) NO
您可能关注的文档
最近下载
- 车位所有权人许可建设充电桩证明.pdf VIP
- 红辽卷烟公司品牌竞争力分析结论与参考文献.docx VIP
- 2025贵州省旅游产业发展集团有限公司招聘115人笔试备考试题及答案解析.docx VIP
- 【泛微客户期刊】2023年36期:某医药集团费控管理项目案例分享.pptx VIP
- 区域土地利用土地覆盖遥感调查.pdf VIP
- 泛微软件集团管控解决方案文档资料.pptx VIP
- 廉租房、公租房维修项目方案.pdf VIP
- 2025贵州省旅游产业发展集团有限公司招聘115人笔试备考题库及答案解析.docx VIP
- 农业产业化发展规划-特色农业发展规划.doc VIP
- 采购与供应商控制程序(ISO9001 IATF16949).pdf VIP
文档评论(0)