实验D05: 数据完整性约束实验
一、实验名称和性质
二、实验目的
1.掌握数据完整性约束的类型;
2.掌握SQL SERVER中的相关完整性约束;
三、实验的软硬件环境要求
硬件环境要求:
PC 机(单机)
使用的软件名称、版本号以及模块:
Windows XP下的SQL Server 2000(或 SQL Server 2005)
四、知识准备
1.SQL SERVER中的完整性约束
a) Primary key约束:利用表中的一列或多列来唯一标识一行数据. 能确保primary key
对应的数据列不为空, 且数据不重复.
b) default 约束:处理用户不包含全部数据列的数据插入.
c) check 约束通过检查输入数据的值来维护数据的完整性.
d) unique 约束确保主键外的列数据的唯一性
e) Foreign key主要用来维护两个表之间的数据一致性.
规则的创建:
Create rule 规则名
As
布尔表达式
规则的绑定:
Sp_bindrule rulename, ‘table.column ’Sp_unbindrule ‘talbe.column ’2.创建数据表时指明完整性约束
CREATE TABLE
( [ ]
[, [ ] ] … [, ] );
:涉及相应属性列的完整性约束条件
:涉及一个或多个属性列的完整性约束条件
五、实验内容
1.建立新表时增加完整性约束。
2.为已有表添加完整性约束。
3.为两表建立关联,实现参照完整性。
六、验证性实验
每小题语句输入好后执行,观察执行后有什么结果?想想为什么?
1. PRIMARY KEY主键约束的建立
(1)建立表时加主键约束
(2)在已有的表上添加约束
2. DEFAULT 约束
3. CHECK 约束
4. UNIQUE 唯一性约束的建立
5. FOREIGN KEY外键约束的建立
6. 规则的建立
建立规则:
规则的绑定
:
七、设计性实验
1.实验要求
(1) 在S 表中添加完整性约束:SNO 设置为主键,SEX 的缺省值为‘女’,AGE 的有效值为16-25。
(2)创建1张与S 相同的表S1,在创建的同时将SNO 设置为主键,SEX 的却省值为‘女’,AGE 的有效值为16-25 ,并将S 表中的数据插入到S1中,插入不同的记录来严整设置的完整性。
(3)创建1张与SC 相同的表SC1,将(SNO ,CNO )设置为主键,SNO 和CNO 设置为外键,并将SC 表中的数据复制到SC1中,插入不同的记录来验证设置的完整性。
(4)创建1张与C 表相同的表C1,将C 中数据插入到C1后,在C1上添加完整性约束:将(CNO )设置为主键,CPNO 引用 CNO,CREDIT 值为1-6。
2.思考题
SQL Server 中有哪些完整性功能?保证数据完整性还需要注意哪些方面的问题?
实验D05: 数据完整性约束实验
一、实验名称和性质
二、实验目的
1.掌握数据完整性约束的类型;
2.掌握SQL SERVER中的相关完整性约束;
三、实验的软硬件环境要求
硬件环境要求:
PC 机(单机)
使用的软件名称、版本号以及模块:
Windows XP下的SQL Server 2000(或 SQL Server 2005)
四、知识准备
1.SQL SERVER中的完整性约束
a) Primary key约束:利用表中的一列或多列来唯一标识一行数据. 能确保primary key
对应的数据列不为空, 且数据不重复.
b) default 约束:处理用户不包含全部数据列的数据插入.
c) check 约束通过检查输入数据的值来维护数据的完整性.
d) unique 约束确保主键外的列数据的唯一性
e) Foreign key主要用来维护两个表之间的数据一致性.
规则的创建:
Create rule 规则名
As
布尔表达式
规则的绑定:
Sp_bindrule rulename, ‘table.column ’Sp_unbindrule ‘talbe.column ’2.创建数据表时指明完整性约束
CREATE TABLE
( [ ]
[, [ ] ] … [, ] );
:涉及相应属性列的完整性约束条件
:涉及一个或多个属性列的完整性约束条件
五、实验内容
1.建立新表时增加完整性约束。
2.为已有表添加完整性约束。
3.为两表建立关联,实现参照完整性。
六、验证性实验
每小题语句输入好后执行,观察执行后有什么结果?想想为什么?
1. PRIMARY KEY主键约束的建立
(1)建立表时加主键约束
(2)在已有的表上添加约束
2. DEFAULT 约束
3. CHECK 约束
4. UNIQUE 唯一性约束的建立
5. FOREIGN KEY外键约束的建立
6. 规则的建立
建立规则:
规则的绑定
:
七、设计性实验
1.实验要求
(1) 在S 表中添加完整性约束:SNO 设置为主键,SEX 的缺省值为‘女’,AGE 的有效值为16-25。
(2)创建1张与S 相同的表S1,在创建的同时将SNO 设置为主键,SEX 的却省值为‘女’,AGE 的有效值为16-25 ,并将S 表中的数据插入到S1中,插入不同的记录来严整设置的完整性。
(3)创建1张与SC 相同的表SC1,将(SNO ,CNO )设置为主键,SNO 和CNO 设置为外键,并将SC 表中的数据复制到SC1中,插入不同的记录来验证设置的完整性。
(4)创建1张与C 表相同的表C1,将C 中数据插入到C1后,在C1上添加完整性约束:将(CNO )设置为主键,CPNO 引用 CNO,CREDIT 值为1-6。
2.思考题
SQL Server 中有哪些完整性功能?保证数据完整性还需要注意哪些方面的问题?