1 / 14
文档名称:

[精选PPT] 数据完整性.ppt

格式:ppt   页数:14页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

[精选PPT] 数据完整性.ppt

上传人:yzhfg888 2015/11/4 文件大小:0 KB

下载得到文件列表

[精选PPT] 数据完整性.ppt

文档介绍

文档介绍:第14章数据完整性
本章的学****目标:
*了解数据完整性的概念
*了解数据完整性的类型
*掌握各种约束的定义和管理技术
*掌握缺省对象管理技术
*掌握规则对象管理技术
*掌握如何选择数据完整性方法
数据完整性的概念
数据完整性就是存储在数据库中的数据的一致性和准确性.
在Microsoft SQL Server系统中,有3种类型的数据完整性:(1)域完整性;(2)实体完整性;(3)参考完整性

也称列完整性,:在性别列中,其取值范围为“男”或“女”.
2. 实体完整性
也可以称为行完整性,:身份证号码.
3. 参考完整性
参考完整性保证在主键(在被参考表中):人事表中记录了员工的基本信息,,如果某个员工有借款,那么该员工的信息就不能从人事表中被直接删除.
可以使用两种方式实现数据完整性: (1)声明数据完整性;(2)过程数据完整性.
声明数据完整性就是通过在对象定义中定义数据标准来实现数据完整性,是由系统本身自动强制来实现的.
过程数据完整性是通过在脚本语言中定义的数据完整性标准来实现的.
约束管理
约束是通过限制列中数据、行中数据和表之间数据来保证数据完整性的非常有效的方法。
约束的类型
表14-1 约束和完整性之间的关系(P219)
完整性类型
约束类型
描述
域完整性
DEFAULT(缺省)
在使用INSERT语句插入数据时,如果某个列的值没有明确提供,则将定义的缺省值插入到该列中
CHECK(检查)
指定某一个列中的可保存值的范围
实体完整性
PRIMARY KEY(主键)
每一行的惟一标识符,确保用户不能输入冗余值和确保创建索引,提高性能,不允许空值
UNIQUE(惟一性)
防止出现冗余值,并且确保创建索引,提高性能。允许空值
参考完整性
FOREIGN KEY(外键)
定义一列或者几列,其值与本表或者另外一个表的主键值匹配
定义约束
使用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}]
例:创建一个表student,并且在该表上定义了一个主键约束,该主键约束放在学生代号(student_id)列上.
程序清单14-1: 定义一个主键约束
CREATE TABLE student
(student_id int NOT NULL CONSTRAINT PK_student_id PRIMARY KEY,
student_name char(30) NOT NULL,
student_gender char(1) NOT NULL,
student_birthdate datetime NOT NULL)
当定义约束或修改约束的定义时,应该考虑下列因素:
*不必删除表,就可以直接创建、修改和删除约束的定义。
*应该在应用程序中增加错误检查机制,测试数据是否与约束相冲突。
*当在表上增加索引时,SQL Server系统检查表中的数据是否与约束冲突.
约束名称的格式:约束类型简称_表名_列名_代号。
查看约束的信息,方法有:
*执行系统存储过程,如sp_help或者sp_helpconstraint.
*查询信息模式视图:如check_constraints, referential_constraints, table_constraints.
*查看一些系统表,ments, sysreferences, sysconstraints.
例如:
sp_helpconstraint authors
SELECT id, text, texttype, language
FROM ments
SELECT *
FROM sysreferences
缺省约束管理
例如:定义一个缺省