.数据完整性

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

事物都不存在重复、可以区分。例如,学生表中的学号必须惟一,并且不能为空,这样就可以保证学生记录的惟一性。实现实体完整性的方法主要有主键约束、惟一索引、惟一约束和指定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)

7.默认约束(default)

用户在输入数据时,如果没有给某列赋值,该列的默认约束将自动为该列指定默认值。默认值可以是常量、内置函数或表达式。使用默认约束可以提高输入记录的速度。

1)使用SQL Server Management Studio创建默认约束案例:在student数据库中,为“教学计划”表的“课程类型”字段创建默认值,其默认值为“公共必修”。其操作步骤如下:

(1)启动SQL Server Management Studio,在“对象资源管理器”窗口中,依次展开数据库、student、表节点。

(2)右键单击“教学计划”表,在弹出的快捷菜单中选择“修改”命令,打开“表设计器”对话框,如课本图7.2所示。

(3)单击需要设置默认的列(如:课程类型),在下面列属性设置栏的“默认值或绑定”选项对应的输入框中,输入默认值即可(如:公共必修)。

(4)设置完成后,关闭表设计器。

create table person

(

id int not null,

sex char(2)default

'男'

)

或者:

alter table person3

add constraint persons_sex default

相关文档
最新文档