金状元试卷网-江西财经大学考研真题数据结构与数据库原理2004

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

江西财经大学

2004年攻读硕士学位研究生入学考试试题

(A卷)

专业:计算机应用技术

考试科目:数据结构与数据库原理

重要提示:考生必须将所有答案写在答题纸上,本试题上的任何标记均不作判题依据

第一部分:数据库系统原理

一、概念题(每小题3分,共15分)

1、数据模型

2、外码

3、日志文件及其作用

4、数据库设计

5、数据库系统用①描述现实世界的实体及实体间的联系。关系模型是用②表示实

体,用③表示实体间的联系。层将和网状模型是用④表示实体,用⑤表示实体间的联系,而用⑥实现实体间的联系。

其中,第5题供选择的答案有:

数据模型概念模型外模型内模型结点表

数据结构指针连线模式外模式内模式

数据描述语言数据操纵语言高级程序设计语言

二、简答题(每小题5分,共15分)

1、简述数据库系统的三级模式结构。

2、对数据库系统中的故障进行分类,并简述系统故障的恢复过程。

3、简述关系数据库实施完整性约束的内容有哪些?

三、(共14分)有一个成绩管理的数据库,它包含如下三张表:

(1) 学生表:STUDENT

学号姓名性别专业

(2) 课程表:COURSE

课程号课程名学时学分

(3) 成绩表:SCORE

学号课程号成绩学期

根据上面三张表,完成以下各题:

1、试用关系代数表示查询2002-2003学年第一学期(“02-03/1”)选修了“数据结构”课程

的学生姓名。(4分)

2、用SQL语句表示查询重修过“计算机原理”课程(即该课程在成绩表中有2条或2条

以上记录)的学生姓名及重修次数。(4分)

3、写出下列SQL语句的查询语义(即功能):

SELECT 姓名,课程名,成绩

FROM STUDENT S, COURSE C, SCORE SC

WHERE (S.学号=SC.学号) AND (C.课程号=SC.课程号) AND

SC.成绩=( SELECT MAX(SCORE.成绩)

FROM SCORE

WHERE SCORE.课程号=SC.课程号)

请给出三个实例关系表(其中学生表至少3个学生、课程表至少2门课程),并根据给出的实例关系表写出该SQL查询的执行结果。(6分)

四、(共13分)设有如下商品库存关系R:

请仅在R中已给出数据的范围内分析其函数依赖关系并解答如下问题:

1、R最高为第几范式?为什么?(3分)

2、将它分解为满足3NF范式的关系模式。(5分)

3、分解后比分解前有什么好处?为什么?(5分)

五、叙述在一个DBMS中,事务管理部件(恢复子系统、并发控制子系统)的主要职能及其分

别常用的基本技术和手段。(8分)

六、(共10分)假设数据库中数据项A、B和C的初值均为100。现有两个事务T1和T2,分别

包含如下操作:

事务T1:y=Read(C); x=Read(A); x=x+y; Write(A, x);

(即,读数据库中数据项C的值并赋给变量y;

读数据库中数据项A的值并赋给变量x;

变量x的值与变量y的值相加的结果赋给变量x;

将变量x的值写到数据库中数据项A中;)

事务T2:v=Read(C); u=Read(B); u=u+v; Write(A, u);

下面是利用锁机制来实现事务T1、T2的一个并发调度S:

T1T2

Slock C

Slock C

v=Read(C)

Unlock C

Slock B

y=Read(C)

Unlock C

Slock A

u=Read(B)

Unlock B

u=u+v

Xlock A

x=Read(A) 等待

Unlock A等待

Write(A, u) (获得排它锁,并实现写)

x=x+y

Xlock A

等待Unlock A

(获得排它锁,并实现写)Write(A, x)

Unlock A

完成以下解答:

1、调度S是否是可串行化调度?为什么?(4分)

2、利用锁机制给出关于事务T1、T2的一个可串行化并发调度S′(不能是串行调度),使它

与串行调度T1→T2的执行结果等价。并说明等价的理由。(6分)

第二部分:数据结构

一、概念题(每小题3分,共9分)

1、栈

2、二叉排序树

3、存储结构

二、简答题(每小题10分,共20分)

1、用类C 描述语言定义稀疏矩阵的三元组存储结构,并写出下列矩阵的存储表示。

⎥⎥⎥⎥⎥⎥⎥⎥⎦

⎢⎢⎢⎢⎢

⎢⎢⎢⎣⎡--=01

0000800900000001800000020000500M

2、若有一个待排序的无序序列为:{49,38,65,97,76,13,27,49},现用堆排序方法对其排序,

请图示初始堆的建立过程。

三、算法填空题(每空3分,共30分)

1、在以下算法中填上适当的类C 程序设计语言语句,使之实现求矩阵M 的转置矩阵T 的功能。其中:矩阵用三元组表示,mu 为矩阵行数、nu 为矩阵列数,tu 为矩阵非零个数,三元组(i, j, e)表示矩阵第i 行第j 列的值为e 。

Status TransposeSMatrix(TSMatrix M, TSMatrix &T) { ______________(1)_____________; if (T.tu){

for (col=1; col<=M.nu; ++col) num[col]=0;

for (t=1; t

for (col=2; col

T.data[q].i=M.data[p].j; T.data[q].j=M.data[p].i;

T.data[q].e=M.data[p].e; _________(5)___________; }//for }//if

return OK;

}// TransposeSMatrix

相关文档
最新文档