- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 数据库完整性 关键词: 完整性 约束 默认值 规则 绑定规则 学习要求: 本章主要阐述了SQL?Server?2000提供的数据完整性机制。并且全面地、系统地介绍了SQL?Server?2000提供的各种约束;设置默认值的方法;创建、解除和删除规则的方法。重点分析了SQL?Server?2000提供的数据完整性机制。学习和掌握本章,是对SQL?Server?2000数据库的灵活运用。
数据库的完整性:是指数据的正确性、有效性和相容性。
说明:完整性是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出。
数据库完整性约束条件:加在数据库数据之上的语义约束条件。
完整性检查:在DBMS中检查数据是否满足完整性条件的机制。
DBMS的完整性控制机制应具有三个方面的功能:
(1)定义功能:提供定义完整性约束条件的机制。
(2)检查功能:检查用户发出的操作请求是否违背了完整性约束条件。
(3)防范功能:如果发现用户的操作请求使数据违背了完整性约束条件,采取一定的动作来保证数据的完整性。
9.1 约束引言 约束分类: ● 列级约束:只能应用在一列上。 ● 表级约束:可以应用在一个表中的多列上。
注意:数据完整性约束条件是在创建表结构的时候指定。 例:CREATE?TABLE?book?(??????? bid?int?NOT?NULL,?????????列级约束??????? bname?char(8)?NOT?NULL,??列级约束??????? authorid?char(10) )
9.1.1 PRIMARY KEY约束 PRIMARY?KEY约束也称为主键约束。主键能够惟一地确定表中的每一条记录,主键不能取空值。主键约束可以保证实体的完整性。 PRIMARY?KEY约束可以在下面情况下使用: ● 作为表定义的一部分在创建表时创建。 ● 添加到尚没有PRIMARY?KEY约束的表中(一个表只能有一个PRIMARY?KEY约束)。 ● 如果己有PRIMARY?KEY约束,则可对其进行修改或删除。 ● 主键约束格式:PRIMARY?KEY?(列名表)
例:CREATE?TABLE?department????????/*部门表*/ (??dno?int ?PRIMARY?KEY,???????????/*部门号,为主键*/ dname?char(20),???????????/*部门名*/ ) 注意:当约束用于表级时,应按下列形式设置: CONSTRAINT?constraint_name 各种约束形式 constraint_name:约束名。 例:CREATE?TABLE?sc?( sno?char(8), cno?char(4), grade?int, CONSTRAINT?pk_sc?primary?key(sno,cno) )
9.1.2 FOREIGN KEY 约束 FOREIGN?KEY约束也称为外键约束。主要用来维护两个表之间数据的一致性,实现表之间的参照完整性。 1、外键--如果一个关系中的属性或属性组并非该关系的关键字,但它们是另外一个关系的关键字,则称其为该关系的外关键字。
course表的tno是一个外键。 2、参照完整性规则:外键属性上的值或者取空值;或者等于它所参照的表中某个元组的主键值。 上例中:course表的tno取值: ?空值(未给该课程指定教师) ?非空值(必须是teacher表中某个元组的tno值)。 3、FOREIGN?KEY约束可以在下面情况下使用: ● 作为表定义的一部分在创建表时创建。 ● 如果FOREIGN?KEY约束与另一个表(或同一表)已有的PRIMARY?KEY约束或UNIQUE约束相关联,则可向现有表添加FOREIGN?KEY约束。一个表可以有多个FOREIGN?KEY约束。(例如:在score(sno,cno,degree)表中有两个FOREIGN?KEY约束,一个是sno,参照student表的主键sno;另一个是cno,参照course表的主键cno)。 ● 对己有的FOREIGN?KEY约束进行修改或删除。
4、外键约束格式: FOREIGN?KEY?[(列名表)] REFERENCE?目标表[(列名表)] [ON?DELETE?NO?ACTION?|?CASCADE] [ON?UPDATE?NO?ACTION?|?CASCADE] 5、删除主键所在表要考虑
您可能关注的文档
- 大学物理上波动振动习题课技术方案.ppt
- 大学物理实验教案-霍尔效应技术方案.doc
- 大学物理试题技术方案.doc
- 大学物理下册小结技术方案.ppt
- 大学物理下-相对论力学技术方案.ppt
- 大学物理预习作业技术方案.ppt
- 2泄漏电流测量及直流耐压试验介绍.ppt
- 大学物理总复习习题4技术方案.ppt
- 大学英语四级单词2技术方案.doc
- 代数学大技术方案.doc
- 2023年度安全员考试题库检测试题打印附答案详解(达标题).docx
- 2023年度安全员考试题库检测试题打印(实用)附答案详解.docx
- 2023年度安全员考试题库检测试题打印附完整答案详解【名师系列】.docx
- 2023年度安全员考试题库检测试题打印及答案详解【考点梳理】.docx
- 2023年度安全员考试题库检测试题打印附完整答案详解【各地真题】.docx
- 2023年度安全员考试题库检测试题打印附参考答案详解【完整版】.docx
- 2023年度安全员考试高分题库含答案详解(精练).docx
- 2023年度安全员考试高分题库及参考答案详解【能力提升】.docx
- 2023年度安全员考试高分题库附答案详解【典型题】.docx
- 2023年度安全员考试高分题库及参考答案详解(培优B卷).docx
最近下载
- 风险管理高频考点第一章 风险管理基础 .pdf VIP
- 康居小区外网施工组织设计精品.doc VIP
- 2025年电工中级职业技能考试真题卷(电工安全操作与事故处理篇).docx VIP
- 2025年电工中级职业技能考试真题卷:电工中级职业技能考试在线备考班.docx VIP
- 第十四章 整式的乘法与因式分解单元培优卷(原卷版).docx VIP
- 2025年电工中级职业技能考试真题卷:电工中级职业技能考试在线试题.docx VIP
- 第十四章 整式的乘法与因式分解单元培优卷(原卷版).pdf VIP
- 2025年电工中级职业技能理论考试笔试试题(600题)含答案.docx VIP
- 2025年全国电工中级职业技能理论考试试题(700题)含答案.docx VIP
- 介入式心脏瓣膜技术考核试卷.docx
文档评论(0)