- 10
- 0
- 约4.22千字
- 约 32页
- 2017-07-07 发布于广东
- 举报
本章的学习目标: 操纵数据时的问题和解决机制 约束的基本概念和类型 管理DEFAULT约束 管理CHECK约束 管理主键约束 管理UNIQUE约束 管理外键约束 禁止约束的场景 9.1 数据完整性概述 数据完整性的含义包括以下内容: (1)数值的完整性,指数据类型与取值的正确性。 (2)表内数据不相互矛盾。 (3)表间数据不相互矛盾,指数据的关联性不被破坏。 实体完整性,要求表中每一条记录(每一行数据)是惟一的,即它必须至少拥有一个惟一标识以区分不同的数据行。实现方法有:主键约束PRIMARY KEY、惟一性约束UNIQUE、惟一索引UNIQUE INDEX、标识IDENTITY等 。 值域完整性,限定表中输入数据的数据类型与取值范围。实现方法:默认值约束DEFAULT或默认对象、核查约束CHECK、外键约束FOREIGN KEY、规则RULE 、数据类型、非空性约束NOT NULL等。 引用完整性,指对数据库进行添加、删除、修改数据时,要维护表间数据的一致性。实现方法:外键约束FOREIGN KEY、核查约束CHECK、触发器TRIGGER、存储过程PROCEDURE。 用户定义的完整性,用于实现用户特殊要求的数据规则或格式。实现方法:默认值DEFAULT、核查约束CHECK、规则RULE 等。 9.2 使用约束实施数据的完整性 约束用于实现表内数据的完整性,属于对象级。SQL Server 支持的约束有如下几种:非空约束NOT NULL,主键约束PRIMARY KEY、惟一约束UNIQUE 、核查约束CHECK、外键约束 FOREIGN KEY、默认值约束DEFAULT。 9.3 约束的概念和类型 在SQL Server中,对于基本表的约束分为列约束和表约束。列约束是对某一个特定列的约束,包含在列定义中,直接跟在该列的其他定义之后,用空格分隔,不必指定列名;表约束与列定义相互独立,不包括在列定义中,通常用于对多个列一起进行约束,与列定义用“,”分隔,定义表约束时必须指出要约束的列的名称。 完整性约束的基本语法格式如下: [CONSTRAINT constraint_name(约束名)] 约束类型 9.4 管理约束 9.4 管理约束 本节详细研究各种DEFAULE、CHECK、主键、UNIQUE、外键等约束的特点、创建方式、修改等内容。 9.5 禁止约束 约束是作用于表的数据库对象,离开了表,约束将不再存在。除了约束外,SQL Server还提供了两个独立于表的数据库对象用以维护数据库的完整性,即默认和规则。规则的作用类似于核查约束,若将一个规则绑定到指定列上,则可以检查该列的数据是否符合规则的要求。 9.5.1 创建规则 创建规则的语法如下。 命令格式: CREATE RULE rule_name AS rule_expression 命令说明: (1)rule_name为要建立的规则的名称。 (2)rule_expression为规则表达式,它与WHERE子句中的条件表达式类似,可以使用比较表达式、逻辑表达式、LIKE子句等,所不同的是需要将WHERE子句中的列名改为一个以@开头并符合SQL Server命名规则的参数。 9.5.2 绑定规则 规则创建后,它仅仅是一个数据库对象,与其他数据库对象并没有联系。要将规则应用于一个表(或用户定义的数据类型)中,必须将其与表中的指定列(或用户定义的数据类型)相结合,称之为将规则绑定(bind)到列(或用户定义的数据类型),或称绑定规则。绑定规则需要使用系统存储过程sp_bindrule ,语法如下。 命令格式: sp_bindrule rule_name, table_name.column_name 或 sp_bindrule rule_name, user_defined_datatype [,futureonly_ flag] 命令说明: 9.5.3 解除绑定 当表中不再需要规则时,可以将规则与列分离,称为解除绑定。解除绑定需要使用系统存储过程sp_unbindrule ,语法如下。 命令格式: sp_unbindrule table_name.column_name 或 sp_unbindrule user_defined_datatype [ , futureonly_ flag ] 9.5.4 删除规则 删除规则的前提是解除数据库中所有表的绑定。删除规则语法如下。 命令格式: DROP RULE rule_name 9.6 默 认 9.6.1 创建默认 创建默认的语法如下。 命令格式: CREATE DEFAULT default_name AS default_expression
您可能关注的文档
- Red Hat Linux 9系统管理(第二版) 作者 978-7-302-14776-3 CH14.PPT
- Red Hat Linux 9系统管理(第二版) 作者 978-7-302-14776-3 CH16.PPT
- Red Hat Linux 9系统管理(第二版) 作者 978-7-302-14776-3 CH17.PPT
- Red Hat Linux 9系统管理(第二版) 作者 978-7-302-14776-3 CH21.PPT
- Red Hat Linux 9系统管理(第二版) 作者 978-7-302-14776-3 CH22.PPT
- Red Hat Linux 9系统管理(第二版) 作者 978-7-302-14776-3 CH23.PPT
- Red Hat Linux 9系统管理(第二版) 作者 978-7-302-14776-3 CH24.PPT
- Red Hat Linux 9系统管理(第二版) 作者 978-7-302-14776-3 CH25.PPT
- Red Hat Linux基础教程(第二版) 作者 978-7-302-28872-5 chapter01.ppt
- Red Hat Linux基础教程(第二版) 作者 978-7-302-28872-5 chapter02.ppt
- 爱国主义教育演讲三分钟.pdf
- 2022烟台中考实施方案(精选6篇).pdf
- 综合英语第一册unit1-12课后答案.pdf
- 2026年春季学期教学副校长关于智慧课堂应用推进实施方案.docx
- 2025-2026学年第二学期班主任关于学生假期生活指导方案.docx
- 2026年春季学期教学副校长关于教师教学述评制度实施细则.docx
- XX初级中学心理教师在心理委员培训会上的职责明确与朋辈辅导技能讲解培训.docx
- XX市第一九一中学2025年秋季学期学校党建工作汇报材料.docx
- XX中学校学生代表在2025秋季学期期末总结表彰大会上的学习经验交流与时间管理方法分享.docx
- 2026年春季学期教导处关于开展劳动教育课程实施的阶段性汇报.docx
原创力文档

文档评论(0)