一、填空题(每空1分,共10分)
- 关系模式可以形式化的描述为 R(U,D,DOM,F) 。
- 数据库视图可以提高数据的 逻辑 独立性。
- DML分为数据查询和数据 更新 两类。
- 授权语句中 with grant option 子句指定后,允许被授权用户传播该权限。
- 在分组查询中,要去掉不满足条件的分组,应当使用 having 子句。
- 平凡 的函数依赖不反映语义信息。
- 在函数依赖的范围内, BCNF 范式是规范化程度最高的范式。
- 常见的数据库故障分为: 事务故障 、系统故障、介质故障。
- 执行UNDO操作时DBMS应该 反向 扫描日志文件。
- 数据库系统诊断死锁的方法包括超时法和 等待图法 。
预防死锁:一次封锁法,顺序封锁法。
二、单项选择题(每小题2分,共40分)
1.下列关于概念数据模型的说法,错误的是 ( C )
A.概念数据模型并不依赖于具体的计算机系统和数据库管理系统。
B.概念数据模型便于用户理解,是数据库设计人员与用户交流的工具。
C.概念数据模型不仅描述了数据的属性特征,而且描述了数据应满足的完整性约束条件。
D.概念数据模型是现实世界到信息世界的第一层抽象,强调语义表达功能。
解析: 概念数据模型主要用来描述世界的概念化结构,它使数据库设计人员在设计的初始阶段摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联
系等,与具体的数据库管理系统无关,所以没有描述数据的完整性约束条件。
2.数据库系统不仅包括数据库本身,还要包括相应的硬件、软件和 ( D )
A.DBMS B.数据库应用系统
C.相关的计算机系统 D.DBA
解析:数据库管理员(Database Administrator,简称DBA)
3.下列关系代数操作中,要求两个运算对象其属性结构完全相同的是 ( D )
A.笛卡尔积、连接 B.投影、选择
C.自然连接、除法 D.并、交、差
4.如果规定:一个学校只有一个校长,一个校长只在一个学校任职,则实体集学校和校长之间的联系是 ( A )
A.1对1 B.1对多
C.多对多 D.多对1
5.以下哪个数据库对象创建后可以进行修改 ( B )
A.模式 B.表
C.视图 D.索引
6.数据库完整性约束的建立需要通过DBMS提供的 ( A )
A.数据定义语言 B.数据操纵语言
C.数据查询语言 D.数据控制语言
7.如果想找出关系R的属性A上为空的那些元组,则选择子句应该为 ( C )
A.WHERE A=NULL B.WHERE A==NULL
C.WHERE A IS NULL D.WHERE A NOT IS NULL
8.使用SQL语句进行查询操作时,若希望查询出全部存在的元组,一般使用的保留字是
A.Unique B.Except ( D )
C.Distinct D.All
9.在SQL中,与“IN”等价的操作符是 ( C )
A.<>ALL B.<>ANY
C.=ANY D.=ALL
10.某数据库中有商品销售表:p(商品编号,名称,单价,销售数量)
命令:select*from p where销售数量=(select max(销售数量)from p)的功能是 ( B )
A.查询销量最差的商品 B.查询销量最好的商品
C.计算销售数量的最大值 D.语法有错误没有结果
11.建立一个约束,保证用户表(user)中年龄(age)必须在16岁以上,下面语句正确的是( A )
A.ALTER TABLE USER ADD CONSTRAINT C1 AGE CHECK(age>16)
B.ALTER TABLE USER ADD CONSTRAINT DF AGE DEFAULT(16) for age
C.ALTER TABLE USER ADD CONSTRAINT UQ AGE UNIQUE(age>16)
D.ALTER TABLE USER ADD CONSTRAINT DF AGE DEFAULT
12.与"SELECT * FROM 歌手 WHERE NOT(最后得分>9.00 OR 最后得分<8.00)"等价的语句是 ( B )
A.SELECT * FROM 歌手 WHERE 最后得分 BETWEEN 9.00 AND 8.00
B.SELECT * FROM 歌手 WHERE 最后得分 >=8.00 AND 最后得分<=9.00
C.SELECT * FROM 歌手 WHERE 最后得分 >9.00 OR 最后得分<8.00
D.SELECT * FROM 歌手 WHERE 最后得分 <=8.00 AND 最后得分>=9.00
13.以下有关子查询的叙述中不正确的是 ( D )
A.子查询可以向其外部查询提供检索条件的条件值
B.子查询可以嵌套多层
C.子查询的结果是一个集合
D.子查询总是先于其外部查询
14.在函数依赖中,平凡的函数依赖可根据Armstrong推理规则中的哪个定律推出( A )
A.自反律 B.扩展律
C.传递律 D.合并规则
15.已知关系R有如下函数依赖{AB→C,BC→D,AD→E},则{A,B}的闭包是( D )
A.{A,B} B.{A,B,C}
C.{A,B,C,D} D.{A,B,C,D,E}
解析:AB->C,[A,B,C] BC->D,[ABCD] AD->E,[A,B,C,D,E]
16.逻辑结构设计的主要工具是 ( C )
A.数据流程图和数据字典 B.E-R图
C.规范化理论 D.SQL语言
17.介质故障恢复需采用以下操作,其操作步骤是 ( C )
I.装载数据备份 II.执行Redo操作 III.执行Undo操作
A.I->II B.II->I->III
C.I->III->II D.II->III-> I
18.如果一个事务在故障发生之前完成,但是它并没有到达检查点,则系统恢复时应对该事务执行 ( A )
A.REDO操作 B.UNDO操作
C.RESTART操作 D.NULL操作
19.要求事务在读取数据前先加共享锁,且事务结束后才能释放S锁,这种封锁协议是
A.一级封锁协议 B.二级封锁协议 ( C )
C.三级封锁协议 D.四级封锁协议
20.已知事务T1的封锁序列为:
LOCK (A)…LOCK (B)…LOCK (C)…UNLOCK(B) …UNLOCK (A) …UNLOCK (C)
事务T2的封锁序列为:
LOCK (A) …UNLOCK (A) …LOCK (B)…LOCK (C) …UNLOCK (C) …UNLOCK (B)
则遵守两段封锁协议的事务是 ( A )
A.T1 B.T2
C.T1和T2 D.没有
三、简答题(每小题5分,共10分)
1.简述等值连接和自然连接的区别与联系。
连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组,自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉
2.并发控制可能带来哪些问题?如何解决?
可能带来的问题包括丢失修改、不可重复读、读脏数据。解决方法:使用封锁
四、应用题(每小题3分,共21分)
某学校实验设备管理系统中有如下四个关系模式:
- E(Eno, Ename, Price, Lno, Status) 设备(设备编号,设备名称,单价,实验室编号,状态{1:在用,0:废弃})
- L(Lno, Lname, Manager) 实验室(实验室编号,实验室名称,管理员)
- S(Sno, Sname, Sage) 学生(学号,学生姓名,年龄)
- SE(Sno, Eno, Use_date) 设备使用(学号,设备编号,使用日期)
基于以上关系模式
1.使用关系代数查询管理员’李勇’管理的所有设备编号和设备名称。
2.使用SQL语句向设备表添加“购置日期”列Purchase,数据类型为日期型。
3.使用SQL语句创建一个精密仪器视图PE,要求包含设备表中的所有属性,精密仪器指单价大于10万元的设备。
4.使用SQL语句查询学生’刘晨’在日期’2014-01-01’使用的设备编号和设备名称。
5.使用SQL语句查询没有使用过精密仪器的学生学号和姓名。
6.使用SQL语句查询设备使用人数小于10的设备编号。
7.使用SQL语句查询每个实验室的在用设备数量和废弃设备数量。
1.∏eno,ename(σmanager=’李勇’(E∞L));
2.alter table e add purchase date;
3.create view PE as select * from E where price>100000;
4.select E.Eno,E.Ename from E,SE,S where E.Eno=SE.eno and s.sno=se.sno and sname=’刘晨’ and use_date=’2014-01-01’;
5.select sno,sname from s where not exists(select * from pe,se where pe.eno=se.eno and s.sno=se.sno);
从s表中查询sno,smane,并不存在于(查询pe(视图),se中的学号和设备编号相对应的项【学生使用过设备】)
- select eno from se group by eno having count(distinct sno)<10;
借助count函数进行计数,查询结果为设备编号Eno,因为要联系到使用人数,故要使用sno进行计数。
- select lno,sum(case when status=1 then 1 else 0 end) cnt1,sum(case when status=0 then 1 else 0 end) cnt0 from e group by lno;
Select count(Eno) from E,L where L.Lno=E.Lno and Status=’1’;
Select count(Eno) from E,L where L.Lno=E.Lno and Status=’0’;
五、综合题(每小题3分,共9分)
设有一个反映教师参加科研项目的关系模式:
R(教师号,技术职称,项目名称,工作职责,项目类别,负责人)
如果规定:
每个项目可有多个教师参加;每名教师可以参加多个项目。
【项目教师的关系为多对多】
- 每名教师所参加的每个项目都有具体的工作职责。
【项目具有工作职责属性】
- 每个项目只属于一种类别,只有一名负责人。
【项目和负责人是一对一的关系】
- 每名教师只有一个技术职称。
【教师和技术职称为1对1关系】
1.根据上述规定,写出模式R的基本FD和关键码。
2.R最高属于第几范式。为什么?
3.将R规范到3NF。
1. {教师号->技术职称,(教师号、项目名称)->工作职责,项目名称->项目类别,项目名称->负责人}
关键字:(教师号、项目名称)
2. 1NF,存在非主属性部分函数依赖于码
3. R1(教师号,技术职称);R2(教师号,项目名称, 工作职责);R3(项目名称,项目类别,负责人)【消除部分函数依赖和传递函数依赖】
六、数据库设计题(每小题5分,共10分)
下面是某个商场的订货单
订单编号 |
|
订单状态 |
|
订货职工编号 |
|
电话 |
|
地址 |
|
||
|
|||
商品清单 |
|||
商品编号 |
商品名称 |
单价 |
数量 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
订货日期 |
|
总金额 |
|
一张订货单中记录一位订货职工所订购的多种商品,一位订货职工可以生成多张订货单。
请根据上面的应用环境完成以下各题:
1.用ER图描述该系统的概念模型。
2.将ER图转换为关系模型,并指出每个关系模式的候选码和外码。
解:1.
2.关系模式:
职工(职工编号,电话,地址)
订单(订单编号,订单状态,订货日期,总金额,职工编号)
商品(商品编号,商品名称,单价)
订购(订单编号,商品编号,数量)