一、实验目的
1.掌握创建和删除规则的方法。
2.掌握创建和删除默认对象的方法。
3.掌握创建和删除约束的方法。
二、实验操作方法和步骤
- 为BookDb数据库的“读者信息”表创建一个规则,限制所输入的电话号码为8位或者 11位0〜9的数字。
(1) 为读者信息表的联系电话创建一个规则phone_rule,限制所输入的数据为8位或者11位 0〜9的数宝]实现该规则的代码为:
CREATE____RULE_________phone_rule
AS
@phone LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' OR @phone LIKE
'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] '
(2) 使用系统存储过程sp_bindrule将phone_rule规则绑定到读者信息表的“联系电话”列上。 实现该操作的代码为:
sp_bindrule’phone_rule’,’读者信息,联系电话’
(3) 输入以下代码,进行一次插入操作(查看有什么错误提示,分析出错原因):
INSERT INTO 读者信息(借阅证号,姓名,性别,单位,联系电话,身份证号码,借阅证件类型,办卡时间) VALUES ('B00021','章维', '男','航空学院','1234yyy', '430106199710015739','2002', '2005-9-1')
答:不可成功插入,因为数据库’Book’,’dbo.读者信息’,列’联系电话’与表定义不匹配。
如果要实现插入操作,应修改INSERT INTO语句中’1234yyy’改为8个0~9的数。
(4) 创建-一个规则gd_rule, 将其绑定到“读者信息”表的“性别”列上,保证输入的性别值只能是“男”或“女”。
2. 在BookDb数据库中,建立日期、bit 数据类型的默认对象。
(1) 在查询编辑器中,完成以下空白处的代码,分别创建默认对象df_date、df_card。
–创建日期型默认对象df_date
CREATE ___DEFAULT________ df_date
AS '2014-9-11'
GO
--创建bit型默认对象df_card
CREATE DEFAULT df_card
AS________ '0'
(2) 使用系统存储过程sp_bindefault 将默认对象df_date、
```sql
df_card分别绑定在读者信息表的“办卡时间”、“卡状态”列上。
__sp_bindefault_______ df_date, '读者信息.办卡时间'
• GO
sp_bindefault ____df_crad_____ , '读者信息.卡状态'
• GO
(3) 输入以下代码,在读者信息表进行插入操作:
INSERT INTO读者信息(借阅证号,姓名,性别,联系电话,身份证号码) VALUES (‘B00007’,‘刘卫华’,‘男’,‘1360731999’,‘430103199110014536’)
分析读者表中插入记录的各列的值是什么? 借阅证号,姓名,性别,联系电话,身份证号码
答:1.若插入借阅证号值为‘B00007’,则插入错误,因为与插入对象中的借阅证好重复,所以不能重复插入一个相同的借阅证号。则将其借阅证好改为”B00008”。2.在第一步的操作中设定为限制所输入的电话号码为8位或者 11位0〜9的数字。若用此处的‘1360731999’十个数字则不能成功插入对象“dbo.读者信息.电话号码”中,则应改为一个八位数或者是一位数的值。(此处将其改为‘13607319’)一个八位数的值。所以
在修改后程序如下: