文档库

最新最全的文档下载
当前位置:文档库 > 数据库原理试题-B试卷答案

数据库原理试题-B试卷答案

数据库原理试题---B卷答案

一. 名词解释(12分)

1.弱实体集:如果一个实体集的所有属性都不足以形成主码,则称这样的实体集为弱

实体集。

评分细则:描述正确给全分

2.事务:是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,

是一个不可分割的工作单位。

评分细则:描述正确给全分

3.正则覆盖:满足下列条件的函数依赖集F称为正则覆盖,记作Fc:1)Fc 与 F 等

价2)Fc 中任何函数依赖都不含无关属性3)Fc 中函数依赖的左半部都是唯一的评分细则:每条1分

4.DBMS:系统软件,对数据库进行统一管理和控制

评分细则:描述正确给全分

二. 简答(20分)

1.举例说明参照完整性对数据有什么要求。

如果关系R2的外部码Fk与关系R1的主码Pk相对应,则R2中的每一个元组的Fk 值或者等于R1 中某个元组的Pk 值,或者为空值。

评分细则:主外码相对应1分,可取空值1分,等于主码1分。

2.你是如何理解空值(NULL)的?

空值就是表示“无意义”,当实体在某个属性上没有值时设为null;或者表示“值未

知”,即值存在,但目前没有获得该信息;当空值参与运算,结果为空值。

评分细则:无意义,值未知各2分,参与运算为空1分。

3.简述数据库系统三级模式结构及其同数据独立性之间的关系。

为了提高数据的物理独立性和逻辑独立性,使数据库的用户观点,即用户看到的数

据库,与数据库的物理方面,即实际存储的数据库区分开来,数据库系统的模式是

分级的,美国数据系统语言协商会)提出模式、外模式、存储模式三级模式的概念。

三级模式之间有两级映象;存储结构改变时,修改模式/内模式映象,使模式保持

不变,从而应用程序可以保持不变,称为数据的物理独立性;当模式改变时,修改

外模式/模式映象,使外模式保持不变,从而应用程序可以保持不变,称为数据的

逻辑独立性

评分细则:数据库系统三级模式结构3分,与两种数据独立性之间的关系各1分4.简述函数依赖与多值依赖的联系与区别。

函数依赖规定某些元组不能出现在关系中,也称为相等产生依赖;多值依赖要求某种形式的其它元组必须在关系中,称为元组产生依赖。

X→Y的有效性仅决定于X、Y属性集上的值;X→→Y的有效性与属性集范围有关评分细则:联系3分,区别2分

三. 设R和S是下图表示的关系, 计算下列关系代数表达式和元组表达式的值。(8分)

A B C A D E

1 2 3 1 2 3

4 5 6 1 4 6

7 8 9 4 6 9

R S

1.

数据库原理试题-B试卷答案

A B C D E

1 2 3 2 3

1 2 3 4 6

4 5 6 6 9

2.σB>D (R×S)

A B C S_A D E

4 5 6 1 2 3

4 5 6 1 4 6

7 8 9 1 2 3

7 8 9 1 4 6

7 8 9 4 6 9

3.{ t | ?v∈S(?u∈R(u[C]>v[D] ∧ t[A]=u[B] ∧t[B]=v[E] ∧t[C]=u[A]))}

A B C

2 3 1

5 3 4

5 6 4

8 3 7

8 6 7

8 9 7

4.{ t | t∈R ∧?u∈S(t[C] > u[A])}

A B C

4 5 6

7 8 9

评分细则:结果正确得全分,结果有错误得0分。

四. 一个工厂有若干仓库;每一仓库有若干职工作为仓库管理员,职工之间有领导与被领导

的关系;仓库中保存工厂生产的多种零件。用E-R图表示上述内容,关注仓库面积、仓库中保存零件的种类、每种零件的入库时间及入库数量,职工的姓名、职称、职务及工资待遇,零件的颜色、成本及出厂价。并将E-R图转换成相应的关系模型(10分)

数据库原理试题-B试卷答案

职工(职工号、姓名、职称、职务、工资、领导、仓库号)

仓库(仓库号、面积)

零件(零件号、颜色、成本、出厂价)

保存(仓库号、零件号、入库时间、入库数量)

评分细则:画E-R图5分,需要表明联系的映射基数;关系模式5分,基于实体和基于联系的关系模式都需要。

五. 试解决下列问题(10分)

1.假设有关系R(B,O,S,Q,I,D), 其函数依赖集为{S→D, I→B, I S→Q, B→O} (6分)

1)找出的关系模式R的所有候选码。I S

2)将关系模式R规范化为BCNF。 {SQI}{BO}{IB}{SD}

评分细则:候选码2分BCNF4分。

2.证明如果一个关系模式是BCNF则一定是第三范式。(4分)

定义证明或反证法

评分细则:逻辑正确即可得全分。

六. 下图所示的调度是冲突可串行化的吗?如果是冲突可串行化的,请给出等价的串行调度

序列;如果不是,请说明原因。 (5分)

T1 T2 T3

Read(Q) Write(Q) Write(Q)

Read(Q)

Write(Q)

数据库原理试题-B试卷答案

评分细则:图不对写明是不可串行化的,得3分,图对写明是不可串行化的,得5分

七. 有关系S(SNO,SNAME,DEPT), C(CNO,CNAME), SC(SNO,CNO,SCORE)。关系S、C和

SC分别表示学生信息、课程信息和学生选课情况。请按要求表达下列查询。(35分) 其属性分别表示如下:

SNO—学生编号,SNAME—学生姓名,DEPT—学生所在系,CNO—课程编号,

CNAME—课程名称,SCORE—成绩。

1.分别使用SQL语句、关系代数和元组关系演算,求选修了课程号为C4的学生的学

号及成绩。

SELECT CNO, SCORE FROM SC WHERE CNO=C4

π

CNO,SCORE( σCNO=C4 (SC))

{t | ?s∈SC ( t[SNO] = s[SNO]∧t[SCORE] = s[SCORE]∧ s[CNO]=C4 )}

2.分别使用SQL语句和关系代数,求计算机系所有学生的成绩,包括SNO,SNAME,

CNO,CNAME, SCORE。

SELECT SNO,SNAME, CNO,CNAME, SCORE

FROM SC,S,C

WHERE DEPT=’计算机系’ AND S.SNO=SC.SNO AND http://www.wendangku.net/doc/64d69ed476a20029bd642d58.htmlO=http://www.wendangku.net/doc/64d69ed476a20029bd642d58.htmlO π

SNO,SNAME, CNO,CNAME, SCORE(σDEPT=’计算机系’ ∧ S.SNO=SC.SNO∧ http://www.wendangku.net/doc/64d69ed476a20029bd642d58.htmlO=http://www.wendangku.net/doc/64d69ed476a20029bd642d58.htmlO

(SC×S ×C))

3.使用一SQL语句,求数据库课程的平均成绩。

SELECT A VG(SCORE)

FROM SC

WHERE CNO IN (SELECT CNO FROM C WHERE CNAME=’数据库’)

4.分别使用关系代数和SQL语句,求没有学习C1课程的学生姓名。

SELECT SNAME

FROM S

WHERE SNO NOT IN

(SELECT SNO

FROM SC

WHERE CNO =C1)

πSNAME(S)- πSNAME(σCN0 =C1 ∧ S.SNO=SC.SNO(SC×S))

5.使用一SQL语句,求出有2门以上成绩为优(>=90)的学生学号。

Select sno

From sc

Where score>=90

Group by sno

Having count(*)>=2

6.分别使用SQL语句、关系代数和元组关系演算,求选修了学生s3所选全部课程的

学生学号。

select SNAME

from S

where not exists (select CNO

from C

where exists (select *

from SC

where http://www.wendangku.net/doc/64d69ed476a20029bd642d58.htmlO = http://www.wendangku.net/doc/64d69ed476a20029bd642d58.htmlO

and SC.SNO =’s3’)

and not exists (select *

from SC

where http://www.wendangku.net/doc/64d69ed476a20029bd642d58.htmlO = http://www.wendangku.net/doc/64d69ed476a20029bd642d58.htmlO

and SC.SNO = S.SNO)∏SNO,CNO(SC)÷∏CNO(σSNO=’S3’(SC) )

{t |?u∈C (?s∈SC∧?w∈S ( s[CNO] = u[CNO] ∧w[SNO] = s[SNO] ∧ w[SNO] =’s3’ )??s1∈SC∧?w1∈S ( s1[CNO] = u[CNO] ∧ w1[SNO] = s1[SNO] ∧w1[SNAME] = t[SNAME] ))}

7.使用一SQL语句,将所有课程的分数加5分。

UPDATE SC

SET SCORE =SCORE + 5

8.使用一SQL语句,对计算机系学生的成绩,如低于本门课程平均成绩的一半,则提

高5%。

UPDATE SC

SET SCORE =SCORE *1.05

WHERE SNO IN (SELECT SNO FRON S WHERE DEPT=’计算机系’)

AND SCORE < (SELECT A VG(SCORE)/2

FROM SC SC1

WHERE http://www.wendangku.net/doc/64d69ed476a20029bd642d58.htmlO =http://www.wendangku.net/doc/64d69ed476a20029bd642d58.htmlO)

评分细则:结果正确得全分,结果有错误得0分。