数据库应用数据完整性实验答案Word文件下载.docx
《数据库应用数据完整性实验答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据库应用数据完整性实验答案Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。
1.复制student_info表命名为stu_phone,在stu_phone表中插入一列,列名为'
电话号码'
CHAR(7)。
完成以下代码实现该操作。
stu_phone表结构如图1-10所示。
答:
SELECT*INTO
stu_phone
FROM
student_info
ALTER
TABLE
ADD
电话号码CHAR(7)NULL
创建一个规则phone_rule,限制所输入的数据为7位0~9的数字。
实现该规则的代码为
create
rule
phone_rule
as
@电话号码
like
'
[0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
2.使用系统存储过程sp_bindrule将phone_rule规则绑定到stu_phone表的“电话号码”列上。
实现该操作的代码为
sp_bindrule
'
stu_phone.电话号码'
3.输入以下代码,进行一次插入操作,要求符合规则:
--select*fromstu_phone
--INSERTINTOstu_phone(学号,姓名,电话号码)VALUES('
0009'
王国强'
1234yyy'
)
INSERT
INTO
stu_phone(学号,姓名,电话号码)VALUES('
4.使用系统存储过程sp_unbindrule解除stu_phone表的'
列phone_rule规则绑定
5.DROPRULE删除规则phone_rule
exesp_unbindrule’stu_phone.性别’
Droprulestu_S_rule
(2)如下图,在管理台建各表的主、外键,同时对成绩表中的学号,课程号建级联更新和级联删除。
请截图
1.为成绩表的创建外键,如下图
2.成绩表的学号、课程号级联更新和级联删除的创建图
图1
图2
图3
以下各题,请参照上图2与图3
课程号外键截图
学号外键截图
学号级联更新、级联删除图
课程号级联更新、级联删除图
(3)、数据其它约束
1.创建一个表Employees5,只含EmployeeID,Name,Sex和Education列。
将Name设为主键,作为列Name的约束。
对EmployeeID列进行unique约束,并作为表的约束
createtableEmployees5
(EmployeeIDchar(6)notnull,
Namechar(10)notnullprimarykey,
Sextinyint,
Educationchar(4),
constraintUK_idunique(EmployeeID)
2.删除上题中的创建unique约束
altertableEmployees5
dropconstraintUK_id
3.创建新表student,只考虑“号码”和“性别”两列,性别只能包含男或女
createtablestudent
(号码char(6)notnull,
性别char
(2)notnull
check(性别in('
男'
女'
))
创建新表Salary2,结构与Salary相同,但Salary2表不允许OutCome列大于InCome列createtableSalary2
InComefloatnotnull,
OutComefloatnotnull,
check(InCome>
=OutCome)
4.
5.创建一个表Salary3,要求所有Salary3表上EmployeeID列的值都要出现在Salary2表中,利用参照完整性约束实现,要求当删除或修改Salary2表上的EmployeeID列时,Salary3表中的EmployeeID值也会随之变化
createtableSalary3
(
EmployeeIDchar(6)notnullprimarykey,
OutComefloat(8)notnull,
foreignkey(EmployeeID)
referencesSalary(EmployeeID)
onupdatecascade
ondeletecascade
实验名称
数据完整性
实验日期
实验目的
掌握Transact-SQL语句(CREATERULE、DROPRULE)创建和删除规则的方法。
掌握系统存储过程sp_bindrule、sp_unbindrule绑定和解除绑定规则的操作方法,以及sp_helptext查询规则信息、sp_rename更名规则的方法。
掌握Transact-SQL语句(CREATEDEFAULT、DROPDEFAULT)创建和删除默认对象的方法。
掌握系统存储过程sp_bindefault、sp_unbindefault绑定和解除绑定默认对象的操作方法,以及sp_helptext查询默认对象信息。
掌握SQLServer管理平台和Transact-SQL语句(CREATETABLE、ALTERTABLE)定义和删除约束的方法,并了解约束的类型。
实验环境
Windows7,SQLServer2008
实验内容
按实验步骤完成数据完整性设置。
实验中要求在查询设计器中用语句完成的实验,请在这里填写他们的语句,并标上题号。
试验思考
回答以下问题:
(1)在SQLServer2008中,可采用哪些方法实现数据完整性?
(2)比较默认对象和默认约束的异同。
(3)可以使用SQLServer管理平台创建规则和默认值对象吗?
(4)在数据库中建立的规则不绑定到数据表的列上会起作用吗?
为什么?
(5)请说明唯一约束和主键约束之间的联系和区别。
【手写“回答以下问题”,若空白处不够,请附页完成】