- 30
- 0
- 约7.19千字
- 约 45页
- 2015-12-24 发布于广东
- 举报
数据库原理与应用 第05章 数据的基本管理——数据分析与完整性设计 学习目标: 任务的提出 需考虑的问题 5.2 数据完整性介绍 数据库规划的一项非常重要的步骤就是决定保证数据完整性的最好方法。数据的完整性就是指存储在数据库中数据的一致性和正确性。在SQL server中,根据数据完整性措施所作用的数据库对象和范围的不同,可以分为三种类型: 实体完整性 域完整性 参照完整性 实体完整性 实体完整性也称为行完整性,要求表中的所有行有一个唯一的标识符,这种标识符一般称为主键值。例如在学生信息表中学生的学号应该是唯一的,这样才能唯一的确定某一个学生。主键值是否能够修改或者表中的全部记录是否能够全部删除,这要依赖于主键表和其他表之间要求的完整性 域完整性 域完整性也称为列完整性,指定一个数据集对某个列是否有效和确定是否允许空值。域完整性通常是经过使用有效性检查来实现的,并且还可以通过限制数据类型、格式或者可能的取值范围来实现。 参照完整性 参照完整性保证在主键(在被参考表中)和外键之间的关系总是得到维护。如果在被参照表中的一行被一个外键参考,那么这一行既不能被删除,也不能修改主键值。 5.3 约束的设置 主键(Primary key)约束 惟一性(Unique)约束 外键(foreign key)约束 检查(Check)约束 默认值 (Default) 是否可以为空值(NULL) 约束的创建 约束在使用CREATE TABLE 或ALTER TABLE命令创建或修改表时定义的,它与表定义存储在一起,因而在删除表时,约束也被删除 默认与默认值约束作用类似,默认值是在创建或修改表时定义的,在删除表时默认值也被删除。而默认是独立于表单独存在的,作为一种数据库对象单独存储,可以被应用于不同的列,在删除表时不会被删除。 1.主关键字的定义 PRIMARY KEY 约束标识列或列集,这些列或列集的值惟一地标识表中的行。 在一个表中,不能有两行包含相同的主键值。不能在主键内的任何列中输入 NULL 值。在数据库中 NULL 是特殊值,代表不同于空白和 0 值的未知值。建议使用一个小的整数列作为主键。每个表都应有一个主键。 一个表中可以有一个以上的列组合,这些组合能惟一标识表中的行,每个组合就是一个主关键字。 例题 【任务5.1】在定义表的同时设置主键,如设置学生信息表中学号列为主键。 Create table student (sID char(6) primark key, sName varchar(20) …………) 【任务5.2】如果主键包含多列,例如设置学习成绩表中学号和课程号联合为主键,可以使用如下代码 Create table grade (sID char(6) , kcID char(6), gradenum smallint constraint pk_num primary key (sID,kcID) ) 【任务5.3】向已存在的表中添加主键,例如将教师信息表中教师编号列设置为主键,使用代码如下: ALTER table teacher ADD CONSTRAINT PK_NUM PRIMARY KEY (tID) 2.唯一性约束 一个表中只能设置一个主键约束。那么对于非主键列,如果我们需要限制其取值的唯一性,可以通过在该列上设置唯一性约束来满足这一要求。唯一性约束的作用是保证在不是主键的列上不会出现重复的数据。 虽然唯一性约束和主键约束都可以保证列取值的唯一性,但它们之间还是有区别的,表现为: 一个表上只能定义一个主键约束,但可以定义多个唯一性约束。 定义了唯一性约束的列上的数据可以为空值(有且只能有一个空值),而定义了主键约束的列上的数据不能为空值。 例题 【任务5.4】在定义表的同时设置唯一性约束键,如设置学生信息表中联系电话列为唯一性约束列,使用代码如下: Create table student (sID char(6) primark key, ………… sTel varchar(20) unique ) 【任务5.5】向已存在的表中添加主键,例如将院系信息表中院系名称列设置为唯一性约束列,使用代码如下: ALTER table college ADD CONSTRAINT U_col_name UNIQUE (colName) 3.默认约束 数据库中每一行记录中的每一列都应该有一个值,当然这个值也可以是空值。但是有时向一个表中添加数据时不知道某列的值或该列的值当时还不能确定,这时可以将该列定义为允许接受空值或给该列定义一个默认值。默认值就是:当向表中插入数据时,如果用户没有明确给出某一列的值,SQL
您可能关注的文档
- 数据库原理及应用-孙浩军 第2章关系数据库基础知识新.ppt
- 设计素描武丹 第五章 设计素描的应用新.ppt
- 数据库原理及应用-孙浩军 第4章数据库的完整性与安全性新.ppt
- 数据库原理及应用-孙浩军 第6章数据库设计新.ppt
- 数据库原理及应用-孙浩军 第7章查询优化新.ppt
- 数据库原理及应用-孙浩军 第9章数据库管理系统新.ppt
- 数据库原理及应用-孙浩军 第11章网络环境下的数据库系统新.ppt
- 数据库原理与技术(Visual FoxPro) 孙学农 第4章 数据库设计新.ppt
- 数据库原理与技术(Visual FoxPro) 孙学农 第6章 VFP语言基础新.ppt
- 数据库原理与技术(Visual FoxPro) 孙学农 第8章 查询和视图新.ppt
原创力文档

文档评论(0)