- 3
- 0
- 约3.37千字
- 约 21页
- 2015-12-13 发布于广东
- 举报
第14章 数据完整性 教学目标 在Microsoft SQL Server系统中,包括了一系列的数据完整性方法,这些方法为用户提供了方便地实现数据完整性的机制。这些方法包括主键约束、惟一性约束、外键约束、缺省约束、检查约束以及缺省对象和规则对象。本章将讲述Microsoft SQL Server系统的数据完整性方法。 教学重点 了解数据完整性的概念 了解数据完整性的类型 掌握各种约束的定义和管理技术 掌握缺省对象管理技术 掌握规则对象管理技术 掌握如何选择数据完整性方法 教学过程 数据完整性的概念 约束管理 缺省管理 规则管理 完整性技术比较研究 14.1 数据完整性的概念 在Microsoft SQL Server系统中,有3种类型的数据完整性,即域完整性、实体完整性和参考完整性。 域完整性,也可以称为列完整性,指定一个数据集对某一个列是否有效和确定是否允许空值。 实体完整性,也可以称为行完整性,要求表中的所有行有一个惟一的标识符,这种标识符一般称为主键值。 参考完整性保证在主键(在被参考表中)和外键之间的关系总是得到维护。 实现数据完整性 在Microsoft SQL Server系统中,可以使用两种方式实现数据完整性,即声明数据完整性和过程数据完整性。 声明数据完整性就是通过在对象定义中定义的数据标准来实现数据完整性,是由系统本身自动强制来实现的。声明数据完整性的方式包括使用各种约束、缺省和规则。例如,在某个表中定义了主键约束,那么这种定义就由系统自动强制实现。 过程数据完整性是通过在脚本语言中定义的数据完整性标准来实现的。在执行这些脚本的过程中,由脚本中定义的强制完整性的实现。过程数据完整性的方式包括使用触发器和存储过程等。 14.2 约束管理 约束的类型 定义约束 缺省约束管理 检查约束管理 主键约束管理 惟一性约束管理 外键约束管理 禁止在已有的数据上应用约束 禁止在加载数据时应用约束 约束的类型 定义约束 使用CREATE TABLE语句表示在创建表的时候定义约束,使用ALTER TABLE语句表示在已有的表中添加约束。 如果表中已经有数据,那么也可以增加约束。 定义约束时,既可以把约束放在一个列上,也可以把约束放在多个列上。如果把约束放在一个列上,那么该约束称为列级约束;如果把约束放在多个列上,那么把该约束称为表级约束。 CREATE TABLE语句 CREATE TABLE table_name ( column_name data_type [CONSTRAINT constraint_name { PRIMARY KEY [ CLUSTERED |NONCLUSTERED ] | UNIQUE [ CLUSTERED |NONCLUSTERED ] | FOREIGN KEY REFERENCES ref_table( ref_colunm ) | DEFAULT constant_expression | CHECK logical_expression }] 缺省约束管理 当使用INSERT语句插入数据时,如果某一个列没有指定数据,那么缺省约束就在该列中输入一个值。 缺省约束的语法形式如下: CONSTRAINT constraint_name DEFAULT constant_expression 检查约束管理 检查约束用来限制用户输入某一个列的数据,即在该列中只能输入指定范围的数据。检查约束非常类似于WHERE子句,其共同之处就是指定可接受数据的条件。 检查约束的语法形式如下: CONSTRAINT constraint_name CHECK (logical_expression) 主键约束管理 主键约束在表中定义一个主键值,这是惟一确定表中每一行数据的标识符。在所有的约束类型中,主键约束是最重要的一种约束类型,也是使用最为广泛的约束类型。该约束强制实体完整性。 主键约束的语法形式如下: CONSTRAINT constraint_name PRIMARY KEY [CLUSTERED | NONCLUSTERED ]( column[, …n]) 惟一性约束管理 惟一性约束指定表中某一个列或多个列不能有相同的两行或两个以上行数据存在。这种约束通过实现惟一性索引来强制实体完整性。当表中已经有了一个主键约束时,如果需要在其他列上实现实体完整性,由于表中不能有两个或两个以上的主键约束,那么可以通过创建惟一性约束来实现。 惟一性约束的语法形式如下: CONSTRAINT constraint_name UNIQUE [CLUSTERED | NONCLUSTERED](column[, …n]) 外键约束管理 外
您可能关注的文档
- Simulink建模与仿真资源 第1-3章 作者 姚俊_ 第3章 动态系统模型及其Simulink表示.ppt
- Simulink建模与仿真资源 第5章 作者 姚俊 动态系统的Simulink 第5章 动态系统的Simulink.ppt
- Simulink建模与仿真资源 第6章 作者 姚俊 Simulink系统仿真原理 第6章 Simulink系统仿真原理.ppt
- Simulink建模与仿真资源 第10-11章 作者 姚俊_ 第10章 控制系统设计分析.ppt
- Simulink建模与仿真资源 第10-11章 作者 姚俊_ 第11章 DSP Blockset.ppt
- SolidWorks 2005中文版基础教程 作者 SolidWorks 2005中文版基础教程.ppt
- SQL Server 2000应用基础与实训教程(李国彬) 第3章 表的创建与修改.ppt
- SQL Server 2000应用基础与实训教程(李国彬) 第5章 索引.ppt
- SQL Server 2000应用基础与实训教程(李国彬) 第6章 管理数据库其他对象.ppt
- SQL Server 2005基础教程 作者 978-7-302-14848-7 ch01.ppt
最近下载
- 《GB_T 18802.331-2024低压电涌保护器元件 第331部分:金属氧化物压敏电阻(MOV)的性能要求和试验方法》专题研究报告.pptx
- 2015-2021年全国体育单招数学真题汇编.pdf VIP
- 2025军队文职公共知识法律部分讲义.pdf VIP
- 大学生职业生涯规划与就业指导教学教案(共10课).docx VIP
- 《民法典之债权法》课件.ppt VIP
- 无线局域网技术与实践课程标准教学教案.docx
- 2002年上海市第十六届初中物理竞赛(大同中学杯)初赛试题.doc VIP
- 2023年四川信息职业技术学院单招职业技能考试题库及答案解析word版.docx VIP
- 大学生职业生涯规划与就业指导课标教案.docx VIP
- 2025年统招专升本云南省医学综合考试试题及答案.docx VIP
原创力文档

文档评论(0)