集美大学 计算机工程学院 数据库 软件04 B卷 答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库原理与应用A卷标准答案
一选项题
DCDDB CACBA ACAC(其中第13题作废)
二名词解释
1.数据库系统:由计算机硬件、数据库、OS、数据库管理系统、数据库应用软件及用户组成。

2.关系从数据角度解释为笛卡尔积的子积,从组成解释为元组的集合,从形式而言为一符合一定条件的二维表
3.事务:是并发控制的一个基本单位,它由一系列对数据库的基本操作组成,这些操作要么都做,要么都不做。

它具有ACID四种性质
4.并发控制:在多用户的环境下,因存在不同用户可能在同一时间访问数据库的相同数据,若不加以控制可能造成数据的不正确与不一致,并发控制有安全性、完整性控制,并以事务为其基本操作单位,必须用相应的措施保证事务的ACID
三、简答题
1.数据库的设计阶段包括
规划阶段:可行性分析报告
需求分析:数据流图与数据字典
概要设计:各个局部概念模型,全局概念模型
逻加设计:数据库表结构及安全性、完整报告
物理设计:存取记录与存取方法设计并形成相应的报告
数据库实现:
数据库运行与维护
2.简述带检查点的数据库系统如何完成数据的恢复操作
在故障发生时,系统中事务如上图五种类型
T1类型的事务在检查点之前,已提交,无须处理
T2,T3类型检查点这后,故障点之前完成,归入重做队列
T4,T5类型事务在故障点时尚未完成,归入撤消队列。

正向扫描日志文件,用新值换旧值,完成重做
逆向扫描日志文件,用旧值换新值,完成撤消/
3设有两个关系
R S
试计算R∞S的值
4.简述数据库的逻辑独立性与物理独立性,用数据库的三级模式结构加以说明
数据库的逻辑独立性是指当数据库的模式发生变化时,通过外模式/模式映像的变化,保持外模式不变,从而应用程序也不必修改,则为逻辑独立性
四.综合题
1、SQL与关系代数应用
1)检索工资超过800元的女职工工号、姓名和年龄(关系代数表达式与SQL语句)select eno,ename, age from emp where age>800 and sex=”女”
∏eno,ename,age(∑age>=800 ∩sex=”女”(EMP))
2)检索在部门名为“人力资源部”部门工作的职工工号、姓名、工资。

(SQL语句)select eno,ename,salary from dept,emp where dept.dno=emo.dno and dname=”人力资源”
3)检索各部门的职工人数(SQL语句)
select dno,count(*) from emp group by dno
4)检索平均工资超过1000元的部门号(SQL语句)
select dno from dept where dno in(select dno from emp group by dno having avg(salary>1000) )
5)删除“生产计划部”及其相关信息(SQL语句)
delete from emp where dno =(select don from dname where dname=”生产计划”)
delete from dept where where dname=”生产计划”
6)将“人力资源部”的所有人员工工资增加100元(SQL语句)
update emp set salsry=salary+100 where dno in (select dno from dept where dname=”人力资源部”)
7)为“人力资源部”创建一男职工的视图,视图名为V8,属性为(ENO,ENAME,AGE)(SQL语句)
create view rl_man(ENO,ENAME,AGE)as select eno,ename,age from emp where dno= (select dno from dept where dname=”人力资源部”)
(8)将对EMP表的查询与修改权授予用户U1,并允许U1转授
grant select,update on table emp to u1 with grant option
9)为题(3)的应用设计存储过程(SQL SERVER)
create procedure p1 as
select dno,count(*) from emp group by dno
(10)为职工一次加工资事务编写触发器,职工的新工资必须高于原有工资。

Create trigger t1 on table emp for update as
Declare @old_salary numeric
Declare @new_salary numeric
Select @old_salary=salary from deleted
Select @new_salary=salary from inserted
If @new_salary<@old_salary
Begin
Raiseerror(“新工资应较旧工资高”,16,1)
Rollback transaction
end
(12)针对SQL SERVER写出两个表的定义,定义中要指明以下约束(ENO为四位数字构成的字符,AGE必须在0-100间)、主键、外键及为维护参照完整性所定义的操作。

Create table dept(DNO CHAR(2)primary key
DNAME V ARCHAR(20),
MGR_ENO CHAR(4) )
Create table EMP(ENO CHAR(4)primary key
ENAME CHAR(8),AGE TINYINT,SEX BIT,SALARY NUMERIC,DNO CHAR(2))Constraint fk_emp foreign key(dno) reference dept(dno) ON DELETE CASCADE)
2.数据库设计题
设某商业集团数据库中有三个实体集,一是“商店”实体集,属性有商店编号,商店名,地址等,二是商品实体集,属性有商品号,商品名,规格,单价等;三是职工实体集,属性有职工编号,姓名,性别,业绩等,每个商店有20-30名职工,其中经理负责整个商店的管理工作;商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量,商店与职工间存在着“聘用”联系,每个职工只能在一个商店工作,商店聘用职工有聘用期与月薪。

1)试画出ER图,并在图上注明属性,联系类型。

2)将ER
转换为表并优化
商店(商店编号,商店名,地址,经理职工号)
商品(商品号,商品名,规格,单价)
职工(职工编号,姓名,性别,业绩,聘用期,月薪,商店编号)销售(商店编号,商品号,月销售量)
三、模式分解
1)该关系模式的码为HS
2)该关系模式最高为2NF,因为HS→R 则HS→HR
HR→C
所以存在非主属性对码的传递函数依赖。

存在插入异常、删除异常、冗余大维护困难的问题
3)分解为BCNF范式的结果为{CT,CSG,HRC,HSR}
该分解丢失了函数依赖HT→R,所以不保函
该分解无损,可用算法7与定理5印证。

相关文档
最新文档