南昌大学计算机数据库实验五 数据完整性
实验五 数据完整性(2学时)
学号:6100410235 姓名:郑俊 班级:计科103班 实验日期:2012-11-22
1.实验目的
掌握SQL Server管理平台和Transact-SQL语句(CREATE RULE、DROP RULE)创建和删除规则的方法。
掌握系统存储过程sp_bindrule、sp_unbindrule绑定和解除绑定规则的操作方法,以及sp_helptext查询规则信息、sp_rename更名规则的方法。
掌握SQL Server管理平台和Transact-SQL语句(CREATE DEFAULT、DROP DEFAULT)创建和删除默认对象的方法。
掌握系统存储过程sp_bindefault、sp_unbindefault绑定和解除绑定默认对象的操作方法,以及sp_helptext查询默认对象信息。
掌握SQL Server管理平台和Transact-SQL语句(CREATE TABLE、ALTER TABLE)定义和删除约束的方法,并了解约束的类型。
2.实验内容
为学生情况数据库中学生表的创建一个规则stu_s_rule,限制“学号”列所输入的数据为4位0~9的数字。
use [学生情况]
go
create rule stu_s_rule
as
@学号 between 0000 and 9999
创建一个规则stusex_rule,将其绑定到学生表的“性别”列上,保证输入的性别值只能是“男”或“女”。
use [学生情况]
go
create rule stusex_rule
as
@性别 in('男','女')
使用系统存储过程sp_help查询stusex_rule规则列表,使用sp_helptext查询stusex_rule规则的文本,使用sp_rename将stusex_rule规则更名为stu_s_rule。
sp_help stusex_rule
sp_helptext stusex_rule
use [学生情况]
go
sp_rename 'stusex_rule','stu_s_rule'
use [学生情况]
go
drop rule stu_s_rule
在学生情况数据库中,建立日期、货币和字符等数据类型的默认值对象。
① 创建默认对象df_date、df_char、df_money。
use 学生情况
go
create default df_date as '2012-12-5 00:00:00'
create default df_char as 'AA'
create default df_money as '$'
② 输入以下代码,在学生情况数据库中创建stu_fee数据表。
CREATE TABLE stu_fee
(学号 char(10) NOT NULL,
姓名 char(8) NOT NULL,
学费 money,
交费日期 datetime,
电话号码 char(7))
③ 使用系统存储过程sp_bindefault将默认对象df_money、df_date、df_char分别绑定在stu_fee表的“学费”、“交费日期”、“电话号码”列上。
use 学生情况
go
exec sp_bindefault 'df_money','stu_fee.学费'
exec sp_bindefault 'df_date','stu_fee.交费日期'
exec sp_bindefault 'df_char','stu_fee.电话号码'
④ 输入以下代码,在stu_fee表进行插入操作:
INSERT INTO stu_fee(学号,姓名) VALUES('0001','刘卫平')
INSERT INTO stu_fee(学号,姓名,学费) VALUES('0001','张卫民',$120)
INSERT INTO stu_fee(学号,姓名,学费,交费日期)
VALUES('0001','马东',$110,'2006-5-12')
分析stu_fee表中插入记录的各列的值是什么?
⑤ 完成以下代码,解除默认对象df_char的绑定,并删除默认对象。按同样的方式,删除默认对象df_date、df_money。
use 学生情况
go
EXEC sp_unbindefault 'stu_fee.电话号码'
DROP DEFAULT df_char
EXEC sp_unbindefault 'stu_fee.交费日期'
go
DROP DEFAULT df_date
EXEC sp_unbindefault 'stu_fee.学费'
go
DROP DEFA