【数据库原理及应用】期末复习汇总&高校期末真题试卷10

试卷

一、选择题(共30分,每小题2分)

1    是指长期储存在计算机内的、有组织的、可共享的数据集合。

A. 数据       B. 数据库      C. 数据库管理系统        D. 数据库系统

2. 在数据库中,用户可以使用DBMS提供的     来实现对数据库的基本操作。

A. DDL        B. DCL       C. DML      D. 数据字典

3.      是数据库与文件系统的根本区别。

A. 数据结构化           B. 数据共享性高     

C. 数据独立性高         D. 数据由DMBS统一管理和控制

4. 在数据库设计中,通常使用       来描述概念模型。

A. 数据字典    B. 程序流程图    C.数据结构图    D. ER

5. 数据库(DB)、数据库管理系统(DBMS)和数据库系统(DBS)三者之间的关系是     

A. DB包括DBMSDBS    B.不能相互包括

C. DBMS包括DBDBS    D. DBS包括DBDBMS

6. 视图是一个虚表,我们可以基于     来构造视图。

A. 基本表或视图        B. 视图       C. 基本表      D. 数据字典

7. 若属性A是基本关系R的主属性,则属性A不能取空值,这是      规则。

A. 参照完整性          B. 用户定义的完整性      

C. 实体完整性          D. 主码不能取空值

8. 如果一个关系模式R3NF,但不满足BCNF,则以下叙述不正确的是         

A. 每一个决定因素都含有码              B. 不存在非主属性对码的传递函数依赖

C. 不存在非主属性对码的部分函数依赖   D. 每个非主属性完全函数依赖于码

9. 在关系模式SC(SNO, CNO, G)中,SNO不是码,但SNO是关系模式S(SNO, SDEPT, SAGE)的码,则SNO是关系模式SC         

A. 主码          B. 外码        C. 候选码         D. 非码

10. 事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。事务T在读取数据R之前必修先对其加S锁,读完后即可释放S锁。这是        

A. 一级封锁协议        B. 二级封锁协议        C. 三级封锁协议        D. 可串行化协议

11.软件工程专业开设了多门选修课,每个学生可以根据自己兴趣选修多门课程,则学生和选修课之间的联系是           

A. 多对多           B. 一对一            C. 多对一            D.一对多

12. SQL语言集数据查询、数据操作、数据定义和数据控制功能于一体,语句INSERTDELETEUPDATE实现的是          功能。

A. 数据控制           B. 数据查询           C. 数据定义           D.数据操纵

13.下列有关E-R模型向关系模型的转换的叙述中,不正确的是          

A.一个实体型转换为一个关系模式

B.一个11联系只能转化为一个独立的关系模式

C.一个1n的联系可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并

D.一个mn联系转化为一个关系模式

14. 下列关于视图(View)的叙述中,不正确的是          

A.视图是外模式                        B.视图是虚表

C. 使用视图可以加快查询语句的执行速度 D. 使用视图可以简化查询语句的编写

15. 在数据库的三级模式结构中,内模式有      个。

A. 1       B.2      C. 3      D. 任意多个

二、填空题(共20分,每空1分)

1. 数据模型通常由数据结构、                              三部分组成。

2. 目前数据库领域中最常用的数据模型有四种,它们是层次模型、网状模型、         

         

3. 按照规范化的方法,数据库的设计可以分为需求分析、                    、物理结构设计、数据库的实施、数据库的运行和维护。

4. 事务的ACID特性是指事务的原子性、一致性、          和持续性。

5. 封锁是实现并发控制的一个重要技术。封锁类型有两种:                    

6. 数据库管理系统在外模式、模式和内模式这三级模式之间提供了两层映象,分别是    

映象和          映象。

7. 设关系RS的元组个数分别为50200,设TRS的笛卡尔积,则T的元组个数是          

8. 在数据库的运行和维护阶段,数据库的          并不修改原设计的逻辑和物理结构,而数据库的          是指部分修改数据库的模式和内模式。

9. 数据转储是数据库恢复中采用的基本技术。          是指在转储期间允许对数据库进行存取和修改操作。

10. 一个给定的并发调度,当且仅当它是          ,才认为它是正确的调度。

11. 数据库系统中可能发生的故障大致分为          、系统故障、介质故障和计算机病毒。

12. SQL语言中,修改基本表的语句是          

13. 事务并发操作带来的数据不一致性包括三类,分别是丢失修改、               

三、解答题(每题10分,共20分)

1. 设有关系模式SCT(S, C, Tn),其中S表示学生学号,C表示课程号,Tn表示教师姓名。每个教师只能上一门课,学生与课程的关系确定后,教师即可唯一确定。问:

(1)该关系模式的候选码是什么?(2)

(2)请写出该关系模式中的所有函数依赖。(3)

(3)该关系模式是否满足BC范式?若不满足,请确定它满足第几范式,并说明理由。(5)

2. 设有如下两个事务:

T1:读XYX3;写回Y

T2:读YXY3;写回X

(1)并发事务执行是否正确的标准是什么?(3)

(2)请根据二级封锁协议,给出一个可串行化的调度,并给出执行结果(XY的初值为4)(7)

四、应用题(共30分)

现有一学生选课数据库,其中包括三张基本表如下:

Student(学号,姓名,性别,年龄,专业)

Course(课程号,课程名,学分)

Sc(学号,课程号,分数)

A.请用关系代数完成如下查询:

1. 求学过“软件工程”的学生的姓名和学号。

2. 求学过“数据库”和“数据结构”的学生姓名和学号。

3. 求选修了3号课程的学生的学号和成绩。

4. 求选修了全部课程的学生的姓名和专业。

5. 检索年龄大于23岁的男学生的学号与姓名。

B.请用SQL语句完成下列操作:

6. 查询软件工程专业学生的姓名、年龄。

7. 查询成绩在85~95分之间的学生的学号、课程号和成绩。

8. 查询“数据库原理”课程考试的最高分数。

9. 删除选课成绩小于60分的学生的选课记录。

10. 查询哪些课程没有人选修,要求列出课程号和课程名。

11将软件工程专业所有选修了“数据库原理”课程的学生的成绩加10分。

12. 将修改Sc表的权限授权给用户user1,并允许他再将该权利授权给别的用户。

13. 创建软件工程专业学生的视图view1,包括学号、姓名、课程名称、分数。

14. 查询选修了“007”号课程的学生的姓名和专业(用子查询实现)。

答案

一、选择题(共30分,每小题2分)

1. ( B  )是指长期储存在计算机内的、有组织的、可共享的数据集合。

A. 数据       B. 数据库      C. 数据库管理系统        D. 数据库系统

2. 在数据库中,用户可以使用DBMS提供的( C )来实现对数据库的基本操作。

A. DDL        B. DCL       C. DML      D. 数据字典

3.(  A  )是数据库与文件系统的根本区别。

A. 数据结构化           B. 数据共享性高     

C. 数据独立性高         D. 数据由DMBS统一管理和控制

4. 在数据库设计中,通常使用( D )来描述概念模型。

A. 数据字典    B. 程序流程图    C.数据结构图    D. ER

5. 数据库(DB)、数据库管理系统(DBMS)和数据库系统(DBS)三者之间的关系是( D )。

A. DB包括DBMS和DBS    B.不能相互包括

C. DBMS包括DB和DBS    D. DBS包括DBDBMS

6. 视图是一个“虚表”,我们可以基于(  A  )来构造视图。

A. 基本表或视图        B. 视图       C. 基本表      D. 数据字典

7. 若属性A是基本关系R的主属性,则属性A不能取空值,这是( C  )规则。

A. 参照完整性          B. 用户定义的完整性       

C. 实体完整性          D. 主码不能取空值

8. 如果一个关系模式R∈3NF,但不满足BCNF,则以下叙述不正确的是(  A   )。

A. 每一个决定因素都含有码               B. 不存在非主属性对码的传递函数依赖

C. 不存在非主属性对码的部分函数依赖   D. 每个非主属性完全函数依赖于码

9. 在关系模式SC(SNO, CNO, G)中,SNO不是码,但SNO是关系模式S(SNO, SDEPT, SAGE)的码,则SNO是关系模式SC的( B )。

A. 主码           B. 外码            C. 候选码            D. 非码

10. 事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。事务T在读取数据R之前必修先对其加S锁,读完后即可释放S锁。这是(  B  )。

A. 一级封锁协议        B. 二级封锁协议        C. 三级封锁协议        D. 可串行化协议

11.软件工程专业开设了多门选修课,每个学生可以根据自己兴趣选修多门课程,则学生和选修课之间的联系是(   )。

A. 多对多           B. 一对一            C. 多对一            D.一对多

12. SQL语言集数据查询、数据操作、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATE实现的是( D  )功能。

A. 数据控制           B. 数据查询           C. 数据定义           D.数据操纵

13.下列有关E-R模型向关系模型的转换的叙述中,不正确的是( B )。

A.一个实体型转换为一个关系模式

B.一个11联系只能转化为一个独立的关系模式

C. 一个1:n的联系可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并

D. 一个m:n联系转化为一个关系模式

14. 下列关于视图(View)的叙述中,不正确的是( C )。

A.视图是外模式

B.视图是虚表

C. 使用视图可以加快查询语句的执行速度

D. 使用视图可以简化查询语句的编写

15. 在数据库的三级模式结构中,内模式有(  A )个。

A. 1       B.2个      C. 3个      D. 任意多个

二、填空题(共20分,每空1分)

1.数据模型通常由数据结构、( 1 数据操作)和( 2完整性约束)三部分组成。

2.目前数据库领域中最常用的数据模型有四种,它们是层次模型、网状模型、( 3关系模型)和(4 面向对象模型)。

3. 按照规范化的方法,数据库的设计可以分为需求分析、( 5 概念结构设计 )、( 6 逻辑结构设计  )、物理结构设计、数据库的实施、数据库的运行和维护。

4. 事务的ACID特性是指事务的原子性、一致性、(7 隔离性)和持续性。

5. 封锁是实现并发控制的一个重要技术。封锁类型有两种:( 8 排它锁/写锁/X )和( 9 共享锁/读锁/S)。

6. 数据库管理系统在外模式、模式和内模式这三级模式之间提供了两层映象,分别是(10外模式/模式)映象和(11模式/内模式)映象。

7. 设关系R和S的元组个数分别为50和200,设T是R与S的笛卡尔积,则T的元组个数是(  12  10000)。

8. 在数据库的运行和维护阶段,数据库的( 13 重组织)并不修改原设计的逻辑和物理结构,而数据库的( 14重构造)是指部分修改数据库的模式和内模式。

9. 数据转储是数据库恢复中采用的基本技术。( 15 动态转储)是指在转储期间允许对数据库进行存取和修改操作。

10. 一个给定的并发调度,当且仅当它是( 16 可串行化的),才认为它是正确的调度。

11. 数据库系统中可能发生的故障大致分为( 17事务内部故障)、系统故障、介质故障和计算机病毒。

12. 在SQL语言中,修改基本表的语句是(  18 Alter Table )。

13. 事务并发操作带来的数据不一致性包括三类,分别是丢失修改、(19 不可重复读)和(20 读脏数据)。

三、解答题(每题10分,共20分)

1. 设有关系模式SCTS, C, Tn,其中S表示学生学号,C表示课程号,Tn表示教师姓名。每个教师只能上一门课,学生与课程的关系确定后,教师即可唯一确定。问:(1)该关系模式的候选码是什么?(2分)(2)请写出该关系模式中的所有函数依赖。(3分)(3)该关系模式是否满足BC范式?若不满足,请确定它满足第几范式,并说明理由。(5分)

答:(1)该关系模式的候选码是(S, C),(S, Tn)。

2)该关系模式中的函数依赖如下:(S, C)→Tn S, Tn)→CTn C

3)在Tn C中,决定因素Tn不含有候选码,所以SCT不满足BCNF

该关系模式满足3NF,因为不存在任何非主属性对码的传递函数依赖或部分函数依赖,故满足3NF

2. 设有如下两个事务:

T1:读XYX3;写回Y

T2:读YXY3;写回X

1)并发事务执行是否正确的标准是什么?(3分)

2)请根据二级封锁协议,给出一个可串行化的调度,并给出执行结果(设XY的初值为4)。(7分)

答:

1)多个事务并发执行是正确的标准是:当且仅当并发执行结果与按某一次序串行的执行它们时的结果是相同的,即当调度策略是可串行化的,则并发事务执行是正确的。

2)给出一个可串行化的调度如下:

其结果为:X= 10Y= 7

T1

T2

Slock X,读 X=4

Unlock X

Xlock  Y

Y=X+3, 写回Y= 7

Unlock A

Slock  Y

等待

等待

Y=7

Unlock Y

Xlock  X X=Y+3

写回X= 10

Unlock X

四、应用题(共30分)

现有一学生选课数据库,其中包括三张基本表如下:

Student(学号,姓名,性别,年龄,专业);

Course(课程号,课程名,学分);

Sc(学号,课程号,分数);

请用关系代数完成如下查询:

1. 求学过“软件工程”的学生的姓名和学号。


π_姓名, 学号(σ_课程名='软件工程'(Student ⨝ Sc ⨝ Course))
 

2. 求学过“数据库”和“数据结构”的学生姓名和学号。


π_姓名, 学号((σ_课程名='数据库'(Student ⨝ Sc ⨝ Course)) ⨝ (σ_课程名='数据结构'(Student ⨝ Sc ⨝ Course)))
 

3. 求选修了3号课程的学生的学号和成绩。


π_学号, 分数(σ_课程号=3(Sc))
 

4. 求选修了全部课程的学生的姓名和专业。


π_姓名, 专业(σ_学号=学号(Student) ∧ ∃c(课程(课程号=c.课程号) ∧ (¬∃s(Sc(学号=学号(Student) ∧ 课程号=c.课程号))))))
 

5. 检索年龄大于23岁的男学生的学号与姓名。


π_学号, 姓名(σ_性别='男' ∧ 年龄>23(Student))

请用SQL语句完成下列操作:

6. 查询软件工程专业学生的姓名、年龄。


SELECT 姓名, 年龄
FROM Student
WHERE 专业 = '软件工程';

7. 查询成绩在85~95分之间的学生的学号、课程号和成绩。


SELECT 学号, 课程号, 分数
FROM Sc
WHERE 分数 BETWEEN 85 AND 95;
 

8. 查询“数据库原理”课程考试的最高分数。


SELECT MAX(分数) AS 最高分数
FROM Sc
WHERE 课程号 = (SELECT 课程号 FROM Course WHERE 课程名 = '数据库原理');
 

9. 删除选课成绩小于60分的学生的选课记录。


DELETE FROM Sc
WHERE 分数 < 60;
 

10. 查询哪些课程没有人选修,要求列出课程号和课程名。


SELECT 课程号, 课程名
FROM Course
WHERE 课程号 NOT IN (SELECT DISTINCT 课程号 FROM Sc);
 

11. 将软件工程专业所有选修了“数据库原理”课程的学生的成绩加10分。


UPDATE Sc
SET 分数 = 分数 + 10
WHERE 学号 IN (SELECT 学号 FROM Student WHERE 专业 = '软件工程')
AND 课程号 = (SELECT 课程号 FROM Course WHERE 课程名 = '数据库原理');
 

12. 将修改Sc表的权限授权给用户user1,并允许他再将该权利授权给别的用户。


GRANT UPDATE ON Sc TO user1 WITH GRANT OPTION;
 

13. 创建软件工程专业学生的视图view1,包括学号、姓名、课程名称、分数。


CREATE VIEW view1 AS
SELECT s.学号, s.姓名, c.课程名, sc.分数
FROM Student s
JOIN Sc sc ON s.学号 = sc.学号
JOIN Course c ON sc.课程号 = c.课程号
WHERE s.专业 = '软件工程';
 

14. 查询选修了“007”号课程的学生的姓名和专业(用子查询实现)。


SELECT 姓名, 专业
FROM Student
WHERE 学号 IN (SELECT 学号 FROM Sc WHERE 课程号 = '007');

  • 26
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论
数据库原理是指数据库的设计、组织和管理的基本原理。它涉及到数据的存储、检索、更新和保护等方面。数据库原理包括数据模型、数据结构、数据操作和事务管理等内容。 数据库应用是指将数据库原理应用到实际的业务场景中。数据库应用可以用于各种领域,例如企业管理、电子商务、金融服务等。通过数据库应用,我们可以高效地管理和处理大量的数据,提供准确和可靠的数据支持。 在期末考试中,数据库原理应用的考通常涉及以下内容: 1. 数据库基本概念:了解数据库、数据模型、数据模式、数据库系统等基本概念。 2. 数据库设计:了解关系数据库的设计过程,包括实体-关系模型、关系模式设计和规范化等。 3. 数据库查询语言:了解SQL语言的基本语法,能够编写简单的查询语句。 4. 数据库索引和优化:了解索引的作用和使用,以及如何进行性能优化。 5. 事务管理:了解事务的特性和ACID原则,以及并发控制和恢复机制。 6. 数据库安全性和完整性:了解数据库的安全性和完整性保护措施,如用户权限管理和数据备份等。 在备考期末考试时,建议你理解数据库原理的基本概念和关键内容,并通过练习和实践来加深对数据库应用的理解和掌握。同时,可以参考教材、课堂讲义和相关的学习资源,进行系统的复习

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

温柔说给风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值