SQL SERVER 2012数据库应用与开发教程 第六章 规则、默认和完整性约束_by liu.pptVIP

SQL SERVER 2012数据库应用与开发教程 第六章 规则、默认和完整性约束_by liu.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文档。上传文档
查看更多
使用Transact-SQL语句设置外部键约束 ,其语法形式如下: CONSTRAINT constraint_name FOREIGN KEY(column_name[,…n])REFERENCES ref_table [(ref_column[,…n])] create table xs (sno char(10) primary key) create table xs_kc (sno char(10), cno char(4), grade tinyint, foreign key (sno) references xs(sno) ) create table kc (cno char(4) primary key, cname nvarchar(20), cpno char(4), credit tinyint) alter table xs_kc add constraint kc_foreign foreign key (cno) references kc(cno) alter table xs_kc drop constraint kc_foreign 6.5.6 foreign key 约束 2.使用T-SQL命令 第六章 规则、默认和 完整性约束 主要内容如下: PRIMARY KEY 约束 FOREIGN KEY(外键)约束 UNIQUE 约束 CHECK约束 DEFAULT约束 NOT NULL约束 本章的学习目标: 理解数据完整性的概念和控制机制 掌握使用规则、默认值及约束来实现数据的完整性 任务6.1 工作场景导入 如何限制输入的年龄值在1~150之间?如何保证“性别”只能输入“男”或“女”?已知学生中女生较多,如何为“性别”列设置默认值“女”从而减少输入数据量? 强制数据完整性可保证数据库中数据的质量。例如,如果输入了雇员ID值为123的雇员,则数据库不允许其他雇员拥有同值的ID。如果您的employee_rating列的值范围是从1至5,则数据库将不接受此范围以外的值。如果表有一个存储雇员部门编号的dept_id列,则数据库应只允许接受有效的公司部门编号的值。 引导问题: (1)如何使用“规则”限制输入的年龄值在1~150之间? (2)如何为“性别”列设置默认值“女”,以减少输入数据量? (3)如何实现强制数据完整性? 任务6.2 如何实现数据完整性 数据完整性的含义包括以下内容: (1)数值的完整性,指数据类型与取值的正确性。 (2)表内数据不相互矛盾。 (3)表间数据不相互矛盾,指数据的关联性不被破坏。 实体完整性:要求表中每一条记录(每一行数据)是唯一的,即它必须至少拥有一个惟一标识以区分不同的数据行。实现方法有:主键约束PRIMARY KEY、惟一性约束UNIQUE、惟一索引UNIQUE INDEX、标识IDENTITY等 。 按照数据完整性的功能分为4类: 任务6.2 如何实现数据完整性 域完整性:限定表中输入数据的数据类型与取值范围。实现方法:默认值约束DEFAULT或默认对象、核查约束CHECK、外键约束FOREIGN KEY、规则RULE 、数据类型、非空性约束NOT NULL等。 任务6.2 如何实现数据完整性 引用完整性:指对数据库进行添加、删除、修改数据时,要维护表间数据的一致性。实现方法:外键约束FOREIGN KEY、核查约束CHECK、触发器TRIGGER、存储过程PROCEDURE。 任务6.2 如何实现数据完整性 用户定义的完整性:用于实现用户特殊要求的数据规则或格式。实现方法:默认值DEFAULT、核查约束CHECK、规则RULE 等。 任务6.2 如何实现数据完整性 任务6.3 规则对象的基本操作 6.3.1 创建规则对象 创建规则对象的基本语法格式如下: CREATE RULE [ schema_name . ] rule_name AS condition_expression [ ; ] 【例6-3】 创建一个名为age_rule规则对象,该规则要求数据在1~100之间。 CREATE RULE age_rule As @age=1 and @age=100 【例6-4】创建一个名为sex_rule规则对象,该规则要求性别只取“男”或“女”。 CREATE RULE sex_rule As @sex in (’男’,’女’) 6.3.2 绑定规则对象 将创建好的规则对象绑定到某个数据表的列上,规则对象才会起约束作用。 绑定规则对象的语法为: Exec Sp_bindrule ’规则对象名’,’表名.列名’ 【例6-5】建立数据表“学生表”,包括“姓名”、“性别”、

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档