内容发布更新时间 : 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.数据库备份有什么好处?
答:如操作失误或数据丢失,可回到之前的数据状态。