莞工数据库练习试卷(B卷)答案
B答案
1-5 DCCCC 6-10 BBDAC 11-15 BBCCC 16-20 CCDDD
部分解析如下:
1.在数据库中,产生数据不一致的根本原因是( )。 A. 数据存储量太大 B. 没有严格保护数据 C. 未对数据进行完整性控制 D. 数据冗余
答案:D
解析:数据冗余是数据库中产生数据不一致的根本原因,因为当同一数据存储在多个位置时,如果其中一个位置的数据被修改,其他位置的数据就不一致了。因此,在数据库设计中要尽量避免数据冗余。
2.层次模型不能直接表示( )。 A. 1 :1关系 B. 1 :m关系 C. m :n关系 D. 1 :1和1 :m关系
答案:C
解析:层次模型是一种树形结构,每个节点可以有多个子节点,但每个子节点只能有一个父节点,因此无法直接表示m:n关系。
3.关系运算中花费时间可能最长的运算是( )。 A. 投影 B. 选择 C. 笛卡尔积 D. 除
答案:C
解析:关系运算中花费时间可能最长的运算是笛卡尔积。因为笛卡尔积的结果是两个关系中所有元组的组合,如果两个关系的大小分别为m和n,则笛卡尔积的结果大小为m*n。
4.数据库中,数据的物理独立性是指( )。 A. 数据库与数据库管理系统的相互独立 B. 用户程序与DBMS的相互独立 C. 用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D. 应用程序与数据库中数据的逻辑结构相互独立
答案:C
解析:数据的物理独立性是指应用程序与存储在磁盘上数据库中的数据是相互独立的。即应用程序不需要知道数据在磁盘上的存储方式,只需要通过DBMS提供的接口访问数据即可。
5.关系模型中,一个关键字是( )。 A. 可由多个任意属性组成 B. 至多由一个属性组成 C. 可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成 D. 以上都不是
答案:C
解析:关键字是指一个或多个属性的组合,其值能惟一标识该关系模式中任何元组。因此选项C是正确的。
二、简答题(每小题5分,共20分)
21.答:(1)R的候选码为AB,而AB->D是部分函数依赖。
(2)把R分解为R1(ABC)和R2(AD),则R1和R2满足2NF。
22.答:
数据库的安全性:保护数据库以防止不合法使用所造成的数据泄密、更改或破坏。
数据库的完整性:防止数据库中存在不符合语义的数据,其防范对象是不合语义的、不正确的数据。
数据库安全保护目标是确保只有授权用户才能访问数据库,未被授权的人员则无法接近数据。
23.答:
(1)事务故障的恢复。(2)系统故障的恢复。(3)介质故障的恢复。
24. 简述事务的四个特性及其含义?
答:事务具有原子性、一致性、隔离性和持久性四个特点,简称事务的ACID特性。
原子性:事务是数据库的逻辑工作单位,事务中包括的所有操作,要么全做,要么全不做。
一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性:一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
三、应用题(共40分 )
25.解:若按上述顺序执行,则最后的余票为30,显然不对,因为正确的结果应为20。这种错误属于“丢失修改”,即把甲写回的数据丢失了。应采用封锁机制实现并发控制,具体修改如下:(5分)

.答:
(1)SELECT studentNo, courseNo, score FROM Score WHERE score BETWEEN 80 AND 90 (2分)
(2)SELECT studentNo, studentName, birthday FROM Student WHERE year(getdate()) - year(birthday)>=19 and sex=’女’ (2分)
(3)SELECT studentNo, studentName FROM Student WHERE studentName LIKE '李__' (2分)
(4)SELECT a.studentName, a.classNo, a.birthday FROM Student a, Student b WHERE b.studentName='王五' AND a.classNo=b.classNo
或
SELECT a.studentName, a.classNo, a.birthday FROM Student a, ( SELECT * FROM Student WHERE studentName='王五' ) b
WHERE a.classNo=b.classNo (2分)
(5)SELECT StudentNo, count(*) 门数, avg(score) 平均分, max(score) 最高分 FROM Score
GROUP BY StudentNo HAVING avg(score)>=70 (2分)
(6)SELECT studentName FROM Student WHERE Student.studentNo IN (SELECT Score.studentNo FROM Score) (2分)
(7)SELECT studentNo, courseNo, score FROM Score WHERE score>ALL ( SELECT score
FROM Score WHERE courseNo='005' ) (2分)
(8)SELECT studentName, classNo FROM Student x WHERE EXISTS ( SELECT * FROM Score a, Course b WHERE a.courseNo=b.courseNo AND a.studentNo=x.studentNo AND courseName='数据库系统原理' ) (2分)
(9)CREATE INDEX ClassBirthIdx ON Student(classNo, birthday DESC) (2分)
(10)DELETE FROM Score WHERE courseNo IN (SELECT courseNo FROM Course WHERE courseName='离散数学' )
27.ER图5分

2)根据转换规则,ER图可以转换成如下关系模式:(每个关系模式1分,正确指出外键1分)
仓库(仓库号,仓库名,地址);
商品(商品号,商品名,单价);
商店(商店号,商店名,地址);
库存(仓库号,商品号,存储日期,存储量);外键:仓库号,商品号
销售(商店号,商品号,月份,月销售量);外键:商店号,商品号