数据完整性

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.数据完整性

————————————————————————————————作者:————————————————————————————————日期:

备课记录(2011)

讲授章节(题目)互动

教学目标(2分)1、完整性的概念

2、使用约束

3、使用规则

4、使用默认使用identity列

5、例子

6、作业

重点标注

提问2至4

问题:

1、互动

2、鼓励学

生操作

演示

3、设计题

目,学

生分组

4、检验学

习掌握

效果

回顾旧知识(2分)复习,提问,测试,演示什么是数据的完整性

新课教学(围绕目标展开设计)

(4分) 必须讲的理论知识

1.完整性的概念

数据完整性是指存储在数据库中的数据正确无误,并且相关数据具有一致性。数据库中的数据是否完整,关系到数据库系统能否真实的反映现实世界。例如,在“学生”表中学生的学号要具有惟一性,学生性别只能是男或女,其所在系部、专业、班级必须是存在的,否则,就会出现数据库中的数据与现实不符的现象。如果数据库中总存在不完整的数据,那么它就没有存在的必要了,因此实现数据的完整性在数据库管理系统中十分重要。

2.分类

根据数据完整性机制所作用的数据库对象和范围不同,数据完整性可分:

●实体完整性

●域完整性

●引用完整性

●用户定义完整性

1)实体完整性

实体是指表中的记录(行),一个实体就是表中的一条记录。实体完整性要求在表中不能存在完全相同的记录,而且每条记录都要具有一个非空且不重复的主键值。这样就可以保证数据所代表的任何事物都不存在重复、可以区分。例如,学生表中的学号必须惟一,并且不能为空,这样就可以保证学生记录的惟一性。实现实体完整性的方法主要有主键约束、惟一索引、惟一约束和指定IDENTITY属性。

(2)域完整性

也称为列完整性,指定一个数据集对某一个列是否有效和确定是否允许为空值。域完整性要求向表中指定列输入的数据必须具有正确的数据类型、格式以及有效的数据范围。例如,假设现实中学生的成绩为百分制,则在“课程注册”表中,对成绩列输入数据时,不能出现字符,也不能输入小于0或大于100的

数值。实现域完整性的方法主要有CHECK约束、外键约束、默认约束、非空约束、规则以及在建表时设置的数据类型。

(3)引用完整性

引用完整性又称为参照完整性。引用完整性是指作用于有关联的两个或两个以上的表,通过使用主键和外键或主键和唯一键之间的关系,使表中的键值在所有表中保持一致。s

实现引用完整性的方法主要有外键约束。

(4)用户定义的完整性

用户定义的完整性是应用领域需要遵守的约束条件,其允许用户定义不属于其他任何完整性分类的特定业务规则。所有的完整性类型都支持用户定义完整性。

使用约束

1.约束

约束是SQL Server提供的自动强制数据完整性的一种方法,它是通过定义列的取值规则来维护数据的完整性。

2. 约束的类型:

(1)PRIMARY KEY(主键)约束

主键约束用来强制数据的实体完整性,它是在表中定义一个主键来唯一标识表中的每行记录。主键约束有如下特点:每个表中只能有一个主键,主键可以是一列,也可以是多列的组合;主键值必须唯一并且不能为空,对于多列组合的主键,某列值可以重复,但列的组合值必须唯一。

(2)UNIQUE(唯一)约束

唯一约束用来强制数据的实体完整性,它主要用来限制表的非主键列中不允许输入重复值。唯一约束有如下特点:一个表中可以定义多个唯一约束;每个唯一约束可以定义到一列上,也可以定义到多列上;空值可以出现在某列中一次。

3)NOT NULL(非空)约束

非空约束用来强制数据的域完整性,它用于设定某列值不能为空。如果指定某列不能为空,则在进行插入记录时,此列必须要插入数据。

(4)CHECK(检查)约束

检查约束用来强制数据的域完整性,它使用逻辑表达式来限制表中的列可以接受哪些数据值。

(5)DEFAULT(默认)约束

默认约束用来强制数据的域完整性,它为表中某列建立一个默认值,当用户插入记录时,如果没有为该列提供输入值,则系统会自动将默认值赋给该列。默认值可以是常量、内置函数或表达式。使用默认约束可以提高输入记录的速度。

(6)FOREIGN KEY(外健)约束

外键是指一个表中的一列或列组合,它虽不是该表的主键,但却是另一个表的主键。通过外键约束可以为相关联的两个表建立联系,实现数据的引用完整性,维护两表之间数据的一致性关系。

3.列约束与表约束

当约束被定义于某个表的一列时称为列约束,定义于某个表的多列时称为表约束。当一个约束中必须包含一个以上的列时,必须使用表约束。

4. 创建主键约束

1)使用SQL Server Management Studio 创建

(1)启动SQL Server Management Studio,在“对象资源管理器”窗口中,依次展开数据库、student、表节点,选择“教学计划”表,单击右

键,在弹出的快捷菜单中选择“修改”命令,打开“表设计器”对话

框。。

(2)在“表设计器”对话框中,选择需要设为主键的字段,如果需要选择多个字段时,可以按住Ctrl键,同时用鼠标单击每个要选择的

字段。在此,依次选择课程号、专业代码和专业学级字段。

(3)选好字段后,右键单击选择的某个字段,在弹出的快捷菜单中选择“设置主键”命,

(4)执行命令后,在作为主键的字段前有一个钥匙样图标。也可以

在选择好字段后,单击工具栏中的“钥匙”工具按钮,设置主键(5)设置主键完成。

创建表时创建主键:

create table man4

(

id int constraint py primary key )

包含两个列的主键

create table student

(

sid int,

kid int,

constraint pyq primary

key(sid,kid)

)

在已有的表中创建主键

alter table man5

相关文档
最新文档