- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
12_数据完整性,数据库完整性,数据完整性校验,数据完整性约束,数据一致性,张宴,触发器,完整性,数据完整性gmp,数据的完整性
回顾 索引 索引的作用是提高查询速度,但索引会降低更新速度。 聚集索引与非聚集索引,唯一索引与非唯一索引,单列索引与复合索引,主键索引。 视图 视图是一个虚表,只存储查询定义,不存储数据。 在视图上可以进行增、删、改、查。增删改等操作有一定限制。 提纲 重点 分析数据完整性要求 使用约束来强制完整性 触发器保证数据一致性 难点: 外键约束与检查约束 触发器的使用 1.数据完整性概述 关键词:实体完整、参照完整、自定义完整. SQL Server实现数据完整性基本上分为两类,自动维护 和 手动维护 自动维护:约束(CONSTRAINT)和DML 触发器 手动维护:客户端代码检查和存储过程(下次课) 数据完整性有3种类型 实体完整性(Entity Integrity)、 参照完整性(Referential Integrity)、 用户定义的完整性(User-defined Integrity)。 在SQL Server中保障数据完整性的办法 约束(Constraint):定义在行级或者表级 默认(Default):某列的默认值 触发器(Trigger):普通约束无法实现的行级约束 规则(Rule):同核查约束,需制定规则表达式 约束(Constraint) 约束定义了一列数据或一行数据表的的限制条件。 使用约束优先于使用触发器、规则和默认值。 约束在表定义中声明。 SQL Server中有6种约束: 主键约束:要求主键列数据唯一,并且不允许为空 外键约束:用于两表间建立关系,需要指定引用主表的那列 惟一性约束:要求该列唯一,允许为空,但只能出现一个空值 检查约束:某列取值范围限制、格式限制等,如年龄的约束 默认约束:某列的默认值,如男性学员较多,性别默认为“男” 非空值约束:NOT NULL 讨论: 以下是“教学”数据库的数据表,分析其数据完整性要求。 2. 通过创建约束来强制完整性 关键词:可以在每列上定义(称为列约束),也可以在所有的列之后定义(称为表约束). 说明: 创建的所有约束都有约束名、约束类型和约束对象。 约束名可以显式指出,如“CONSTRAINT 约束名”,如果没有显式指出,系统会自动生成一个约束名。 如果一个约束只涉及一个列,可以在列的定义中创建该约束。一个约束涉及一个或多个列,则约束都可以在所有列之后创建。 2.1 创建主键约束 例1:在课程表上,指定主键并创建索引 CREATE TABLE 课程表 (课程号 char(6) PRIMARY KEY CLUSTERED, 课程名 nchar(10) NOT NULL, 学分 int ) 例2:在成绩表上,指定(学号,课程号)为主键,并创建非聚集索引。 CREATE TABLE 成绩表 ( 学号 char(10), 课程号 char(8), 成绩 int, PRIMARY KEY NONCLUSTERED (学号, 课程号) ) 2.2 创建外键约束(1) 外键约束反映了表间关系。基于外键约束,SQL Server提供了两种级联(CASCADE)操作: 级联删除和级联修改。 可以通过在管理平台上创建表间关系,来创建外键约束。也可以使用SQL语句。 定义外键约束的语法格式如下: FOREIGN KEY (外键列1,外键列2, …) REFERENCES 主表(引用列1,引用列2, …) [ ON DELETE { CASCADE | NO ACTION } ] [ ON UPDATE { CASCADE | NO ACTION } ] 例:在管理平台上创建表间关系来创建外键约束。 例: 在成绩表中定义外键约束,与学生表和课程表相关联。 CREATE TABLE 成绩表 ( 学号 char(10) NOT NULL, 课程号 char(6) NOT NULL, 成绩 int NOT NULL , CONSTRAINT pk_成绩表 PRIMARY KEY (学号,课程号), FOREIGN KEY (学号) REFERENCES 学生表(学号) ON DELETE CASCADE ON UPDATE CASCADE , FOREIGN KEY (课程号) REFERENCES 课程表(课程号) ON DELETE CASCADE ON UPDATE CASCADE ) 创建惟一性约束(Unique) 惟一性约束指定一个或多个列的组合的值具有惟一性,为表中的一列或者多列提供实体完整性。惟一性约束指定的列可以有NULL属性。主键也强制执行惟一性,但主键不允许空值,故主键约束强度大于惟一约束。 例 创建学生表,使身份证号具有惟一性约束。 CREATE TABLE 学生表 (
您可能关注的文档
最近下载
- 朝天门长江大桥工程总体施工组织设计.doc VIP
- 2025年蚕蛹油项目可行性研究报告.docx VIP
- 第2课 宪法是根本法 第二课时 宪法具有最高法律效力(教学教学设计)-2023-2024学年六年级上册道德与法治优质教学教学设计+教案(部编版).docx VIP
- 银行反洗钱最新培训课件.pptx VIP
- 纯电动汽车构造与检修(高职新能源汽车专业)PPT完整全套教学课件_1-100(1).pptx VIP
- 2015学校安全管理培训课件.ppt VIP
- 高中英语教学:B3U1 Reading and Thinking:Why do we celebrate festivals教学设计.docx
- 电焊作业安全培训PPT课件.pptx VIP
- 神经外科围手术期护理及ERAS流程.pptx VIP
- HG_T 3378-2022 涂料用稀释剂.docx VIP
文档评论(0)