数据库应用 数据完整性实验答案.docx

上传人:b****6 文档编号:4135204 上传时间:2022-11-28 格式:DOCX 页数:8 大小:396.81KB
下载 相关 举报
数据库应用 数据完整性实验答案.docx_第1页
第1页 / 共8页
数据库应用 数据完整性实验答案.docx_第2页
第2页 / 共8页
数据库应用 数据完整性实验答案.docx_第3页
第3页 / 共8页
数据库应用 数据完整性实验答案.docx_第4页
第4页 / 共8页
数据库应用 数据完整性实验答案.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

数据库应用 数据完整性实验答案.docx

《数据库应用 数据完整性实验答案.docx》由会员分享,可在线阅读,更多相关《数据库应用 数据完整性实验答案.docx(8页珍藏版)》请在冰豆网上搜索。

数据库应用 数据完整性实验答案.docx

数据库应用数据完整性实验答案

实验5数据完整性

1.实验目的

(1)掌握Transact-SQL语句(CREATERULE、DROPRULE)创建和删除规则的方法。

(2)掌握系统存储过程sp_bindrule、sp_unbindrule绑定和解除绑定规则的操作方法,以及sp_helptext查询规则信息、sp_rename更名规则的方法。

(3)掌握Transact-SQL语句(CREATEDEFAULT、DROPDEFAULT)创建和删除默认对象的方法。

(4)掌握系统存储过程sp_bindefault、sp_unbindefault绑定和解除绑定默认对象的操作方法,以及sp_helptext查询默认对象信息。

(5)掌握SQLServer管理平台和Transact-SQL语句(CREATETABLE、ALTERTABLE)定义和删除约束的方法,并了解约束的类型。

2.实验内容及步骤

请先附加studentsdb数据库,然后完成以下实验。

(1)主要讲解规则

为studentsdb数据库创建一个规则,限制所输入的数据为7位0~9的数字。

1.复制student_info表命名为stu_phone,在stu_phone表中插入一列,列名为'电话号码'CHAR(7)。

完成以下代码实现该操作。

stu_phone表结构如图1-10所示。

答:

SELECT*INTO stu_phone FROM student_info 

ALTER TABLE stu_phone 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   phone_rule ,'stu_phone.电话号码'

3.输入以下代码,进行一次插入操作,要求符合规则:

--select*fromstu_phone

--INSERTINTOstu_phone(学号,姓名,电话号码)VALUES('0009','王国强','1234yyy')

答:

INSERT INTO stu_phone(学号,姓名,电话号码)VALUES('0009','王国强','1234yyy')

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

(EmployeeIDchar(6)notnull,

InComefloatnotnull,

OutComefloatnotnull,

check(InCome>=OutCome)

 

4.

 

5.创建一个表Salary3,要求所有Salary3表上EmployeeID列的值都要出现在Salary2表中,利用参照完整性约束实现,要求当删除或修改Salary2表上的EmployeeID列时,Salary3表中的EmployeeID值也会随之变化

createtableSalary3

EmployeeIDchar(6)notnullprimarykey,

InComefloatnotnull,

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)请说明唯一约束和主键约束之间的联系和区别。

【手写“回答以下问题”,若空白处不够,请附页完成】

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1