鏁版嵁搴撳師鐞嗗疄楠屾姤鍛婂垎鏋?- 鐧惧害鏂囧簱 下载本文

内容发布更新时间 : 2025/6/23 5:02:37星期一 下面是文章的全部内容请认真阅读。

(13) 使用UNION查询。

要求:利用SQL语句分别查询具有高、中级职称的职工姓名,合并输出。

select P_name from person where Prof='中级' union

select P_name from person where Prof='高级'

三、实验总结

1.在查询的语句中,如果涉及到的属性列多个表都有,那应该怎么处理? 答:用‘表名.属性列名’来指定用哪个列的数据来完成操作。

2.如果查询的数据列没有列名,为了明白查询的数据是什么含义,可以怎样处理?

答:可以用‘数据列数据 数据列名’的方式给数据列附上列名。

3.写出SQL语言完整的查询语句,并标出DBMS执行的先后顺序。

答:先执行from语句,再执行where语句的执行条件,有group by的执行分组操作和having语句里的表达式,最后输出select里有的数据列里的数据。

实验五 数据完整性与管理

一、实验目的

理解数据完整性的意义; 掌握数据备份方法; 掌握数据库恢复方法。

二、实验内容

(1)学生实践创建规则的语言使用;

CREATE RULE sex_rule AS @sex IN('男','女')--游离规则。

Sp_bindrule 'sex_rule','person.sex'--绑定规则--已将规则绑定到表的列。

Sp_unbindrule 'person.sex'--解除绑定。 DROP RULE sex_rule--删除规则。

(2)对数据库中的数据进行更新、删除操作,测试是否会成功;如果不成功,分析数据库操作失败的原因;

A. 测试对主表进行插入、更新及删除操作时的影响。 要求:

① 表dept中插入一行数据(‘0004’,‘研发部’),测试是否影响从表。

insert

into dept (Deptno,Dname) values ('0004','研发部')

//不影响,插入成功,因为是新插入的一行数据,所以对从表不受影响 ② 表dept中的部门号0003改为0006,测试是否影响从表。

update dept set Deptno='0006' where Deptno='0003'

//影响,不成功,person表中有部门号这个属性,所以会受到牵制,需先改变dept表中的数据。

显示:UPDATE 语句与REFERENCE 约束\冲突。该冲突发生于数据库\,表

\。 语句已终止。

③删除表dept中部门号为0001的员工数据,测试是否影响从表。

delete from dept

where Deptno='0001'

//影响,不成功,person表中有部门号这个属性,所以会受到牵制,需先改变dept表中的数据。

显示:DELETE 语句与REFERENCE 约束\冲突。该冲突发生于数据库\,表

\。 语句已终止。

B. 测试对从表进行插入、更新及删除操作时的影响。 要求:

① 表person中插入一行数据(‘000012’,‘宋全礼’,‘男’,‘1980-7-17’,‘初级’,‘0005’),测试是否违背参照完整性。

insert

into person (P_no,P_name,Sex,BirthDate,Prof,Deptno) values ('000012','宋全礼','男',1980-7-17,'初级','0005')

//影响,不成功,dept表中有部门号这个属性,为外码,所以会受到牵制,需先处理dept表

显示:INSERT 语句与FOREIGN KEY 约束\冲突。该冲突发生于数据库\,表

\。 语句已终止。

②将表person中工号为000002的员工所在部门更新为0005,测试是否违背参照完整性。

update person set Deptno='0005' where P_no='000002'

//影响,不成功,dept表中有部门号这个属性,为外码,所以会受到牵制,需先处理dept表

显示:UPDATE 语句与FOREIGN KEY 约束\冲突。该冲突发生于数据库\,表

\。 语句已终止。

③删除表person中工号为000005的员工数据,测试是否违背参照完整性。

delete from person

where P_no='000005'

//影响,不成功,dept表中有部门号这个属性,为外码,所以会受到牵制,需先处理dept表

显示:DELETE 语句与REFERENCE 约束\冲突。该冲突发生于数据库\,表

\。 语句已终止。

(3)数据备份和恢复操作。

三、实验总结

1.数据库的完整性包含哪些完整性约束?在SQL语言里面分别是用哪些关键词实现的?

答:域完整性:实现域完整性可以通过:核查约束?check约束?、外键约束

?foreign key约束?、默认值约束?default约束?、非空约束?not null约束?等来实施。

实体完整性:列的Identity属性、主键约束?primany key约束?、惟一性约束?unique约束?等来实现。

参照完整性:可以通过?外键约束?、?触发器?、?存储过程?等来实施。 2.数据库备份有什么好处?

答:如操作失误或数据丢失,可回到之前的数据状态。