- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 数据库完整性约束综述
第 5 章数据库完整性;场景:
学校的学籍管理办公室数据库管理员抱怨,每次都有学生输入了错误的数据,如:错误的专业名称、和学籍档案不一致的姓名、错误的导师名称等等,有时也会因网络超时,相同的信息重复的输入多次,这样会增加了更多的管理工作。
若你是学校的数据库管理人员认为可由什么方法解决这个问题,提高效率呢?
通过数据库完整性来解决这个问题。
;什么是数据库完整性
数据库的完整性是指数据的正确性和相容性
数据库完整性是防止不合语义或不正确的数据进入数据库
完整性体现了是否真实地反映现实世界
例:
学生的年龄必须是整数,取值范围为14-29;
学生的性别只能是男或女;
学生的学号一定是唯一的;
学生所在的系必须是学校开设的系;; DBMS维护数据库完整性的机制:
1.提供定义完整性约束条件的机制
DBMS应提供定义数据库完整性约束条件,并把它们存入数据库中。
2.提供完整性检查的方法
检查数据是否满足完整性约束条件的机制称为完整性检查。一般在INSERT、UPDATE、DELETE语句执行后开始检查。
3.违约处理
DBMS若发现用户的操作违背了完整性约束条件,就采取一定的动作以保证数据的完整性,如拒绝执行该操作,或级联执行其他操作。; 约束是SQL Server提供的自动保持数据库完整性的一种方法,它通过限制字段中数据、记录中数据和表之间的数据来保证数据的完整性。
在SQL SERVER中,对于基本表的约束分为列约束和表约束。
列约束是对某一个特定列的约束,包含在列定义中,直接跟在该列的其他定义之后,用空格分隔,不必指定列名;表约束与列定义相互独立,不包括在列定义中,通常用于对多个列一起进行约束,与列定义用“,”分隔,定义表约束时必须指出要约束的那些列的名称。
;;
完整性约束的基本语法格式为:
[CONSTRAINT constraint_name(约束名)] 约束类型
约束不指定名称时,系统会给定一个名称。
; PRIMARY KEY 与 UNIQUE 约束类似,通过建立唯一索引来保证基本表在主键列取值的唯一性,但它们之间存在着很大的区别:; 主键的创建操作方法有两种:SQL Server管理平台操作法和Transact-SQL 语句操作法。
(1) SQL Server管理平台操作法(如图示);(2)举例:
建立一个SCORE表,包括:SNO、CNO和GRADE,定义SNO,CNO共同组成SCORE的主键。;(2)举例:
建立一个SCORE表,包括:SNO、CNO和GRADE,定义SNO,CNO共同组成SCORE的主键。
CREATE TABLE SCORE
(SNO CHAR(10) NOT NULL,
CNO CHAR(10) NOT NULL,
GRADE NUMERIC(9),
CONSTRAINT SC_PRIM PRIMARY KEY (SNO,CNO)
); ;5.2 UNIQUE约束;5.2 UNIQUE约束;使用Transact-SQL语句完成惟一性约束的操作,其语法形式如下:
UNIQUE
CONSTRAINT constraint_name UNIQUE ( column_name );当使用外部键约束时,应该考虑和注意以下几点:
FOREIGN KEY 约束确保同一个表或者不同表之间的引用完整性
必须引用一个 PRIMARY KEY 或者 UNIQUE 约束
用户必须在应用表上具有 REFERENCES 权限
一个表中最多可以有 31 个外部键约束;
在临时表中,不能使用外部键约束;
主键和外部键的数据类型必须严格匹配 。;在SQL Server管理平台中添加外部键约束:;使用Transact-SQL语句设置外部键约束 ,其语法形式如下:
CONSTRAINT constraint_name FOREIGN KEY(column_name[,…n])
REFERENCES ref_table [(ref_column[,…n])] ;5.4 CHECK 约束; 创建检查约束常用的操作方法有如下两种 :使用SQL Server管理平台创建检查约束;用Transact-SQL语句创建检查约束。
(1)使用SQL Server管理平台创建检查约束;CREATE TABLE SCore
( SNO CHAR (5),
CNO CHAR (5),
GRADE NUMERIC(9,1),
CONSTRAINT SCORE_CHK CHECK (GRADE =0
您可能关注的文档
最近下载
- 新标《医院可复用手术器械管理规范》解读.pptx VIP
- 降低骨科患者的便秘发生率品管圈qcc.ppt VIP
- 2025年养老护理员技能等级证书考试笔试试题(200题)含答案.docx VIP
- 《人力资源项目流程》课件.pptx VIP
- Triumph凯旋摩托 Roadsters 和 Supersports Speed Triple 1200 RR 2022车主手册说明书(中文).pdf VIP
- 升压站电气安装整套施工记录.docx VIP
- 藏式石木结构民居的抗震性能及设防对策-建筑与土木工程专业论文.docx
- 《全国计算机一级》等级考试备考题库(典型500题).doc VIP
- 2025新能源风电项目110KV 升压站隐蔽工程质量验收表.docx VIP
- 爱心妈妈培训课件.pptx VIP
文档评论(0)