数据库历年期末考试题
- 格式:doc
- 大小:59.00 KB
- 文档页数:4
数据库期末考试题及答案绪论一、选择题1. DBS是采用了数据库技术的计算机系统,它是一个集合体,包含数据库、计算机硬件、软件和()。
A. 系统分析员B. 程序员C. 数据库管理员D. 操作员2. 数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是()。
A. DBS包括DB和DBMSB. DBMS包括DB和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS3. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是()。
I.人工管理阶段II.文件系统阶段III.数据库阶段A. I 和IIB. 只有IIC. II 和IIID. 只有I4. 下列四项中,不属于数据库系统特点的是()。
A. 数据共享B. 数据完整性C. 数据冗余度高D. 数据独立性高5. 数据库系统的数据独立性体现在()。
A.不会因为数据的变化而影响到应用程序B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他的存储结构6. 描述数据库全体数据的全局逻辑结构和特性的是()。
A. 模式B. 内模式C. 外模式D. 用户模式7. 要保证数据库的数据独立性,需要修改的是()。
A. 模式与外模式B. 模式与内模式C. 三层之间的两种映射D. 三层模式8. 要保证数据库的逻辑数据独立性,需要修改的是()。
A. 模式与外模式的映射B. 模式与内模式之间的映射C. 模式D. 三层模式9. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(),它是模式的逻辑子集。
A.模式B. 物理模式C. 子模式D. 内模式10.下述()不是DBA数据库管理员的职责。
A.完整性约束说明B. 定义数据库模式C.数据库安全D. 数据库管理系统设计选择题参考答案:(1) C (2) A (3) D (4) C (5) B (6) A (7) C (8) A(9) C (10) D二、简答题1.试述数据、数据库、数据库系统、数据库管理系统的概念。
一、选择题(每题1分,共20分)1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
在这几个阶段中,数据独立性最高的是( A )阶段。
A. 数据库系统B. 文件系统C. 人工管理D.数据项管理2.数据库三级视图,反映了三种不同角度看待数据库的观点,用户眼中的数据库称为(D)。
A. 存储视图B. 概念视图C. 内部视图D. 外部视图3.数据库的概念模型独立于(A)。
A.具体的机器和DBMSB. E-R图C. 信息世界D. 现实世界4.数据库中,数据的物理独立性是指(C)。
A. 数据库与数据库管理系统的相互独立B. 用户程序与DBMS的相互独立C. 用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的D. 应用程序与数据库中数据的逻辑结构相互独立5.关系模式的任何属性(A)。
A. 不可再分B. 可再分C. 命名在该关系模式中可以不惟一D.以上都不是6.下面的两个关系中,职工号和设备号分别为职工关系和设备关系的关键字:职工(职工号,职工名,部门号,职务,工资)设备(设备号,职工号,设备名,数量)两个关系的属性中,存在一个外关键字为( C )。
A. 职工关系的“职工号”B. 职工关系的“设备号”C. 设备关系的“职工号”D. 设备关系的“设备号”7.以下四个叙述中,哪一个不是对关系模式进行规X化的主要目的( C )。
A. 减少数据冗余B. 解决更新异常问题C. 加快查询速度D. 提高存储空间效率8.关系模式中各级X式之间的关系为( A )。
A. B.C. D.9.保护数据库,防止未经授权或不合法的使用造成的数据泄漏、非法更改或破坏。
这是指数据的( A )。
A. 安全性B.完整性C.并发控制D.恢复10.事务的原子性是指( B )。
A. 事务一旦提交,对数据库的改变是永久的B. 事务中包括的所有操作要么都做,要么都不做C. 一个事务内部的操作及使用的数据对并发的其他事务是隔离的D. 事务必须使数据库从一个一致性状态变到另一个一致性状态11.下列哪些运算是关系代数的基本运算( D )。
数据库期末考试试题及答案一、选择题(每题2分,共20分)1. 在关系数据库中,用来表示实体之间关系的是:A. 属性B. 关系C. 键D. 表答案:B2. SQL语言中的“SELECT”语句用于:A. 插入数据B. 更新数据C. 查询数据D. 删除数据答案:C3. 数据库管理系统(DBMS)的主要功能不包括:A. 数据存储B. 数据查询C. 数据备份D. 数据加密答案:D4. 以下哪个不是数据库设计中的范式:A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. 第四范式(4NF)答案:D5. 在数据库中,主键的作用是:A. 唯一标识表中的记录B. 存储数据C. 建立表与表之间的关系D. 排序数据答案:A6. 事务的四大特性不包括:A. 原子性B. 一致性C. 隔离性D. 持久性答案:D7. 以下哪个是数据库的并发控制技术:A. 索引B. 视图C. 锁D. 触发器答案:C8. 数据库的完整性约束包括:A. 实体完整性B. 参照完整性C. 用户定义完整性D. 所有以上答案:D9. 数据库的恢复技术不包括:A. 事务日志B. 检查点C. 数据备份D. 索引答案:D10. 在数据库中,视图的作用是:A. 提高查询速度B. 简化用户操作C. 保护数据D. 存储数据答案:B二、简答题(每题10分,共30分)1. 解释什么是数据库的规范化,并说明其目的是什么?答:数据库的规范化是指按照一定的规则将数据库中的数据组织起来,以减少数据冗余和提高数据的一致性。
其目的是确保数据库的设计是合理的,避免数据的异常,如插入异常、删除异常和更新异常。
2. 描述数据库事务的ACID属性,并解释每个属性的含义。
答:事务的ACID属性包括:- 原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不完成,不会结束在中间某个点。
- 一致性(Consistency):事务必须保证数据库从一个一致的状态转移到另一个一致的状态。
数据库期末考试题及答案dml一、单项选择题(每题2分,共20分)1. 在SQL中,用于添加新记录的语句是:A. SELECTB. INSERTC. UPDATED. DELETE答案:B2. 如果要删除表中的所有记录,但不删除表结构,应该使用以下哪个语句?A. TRUNCATE TABLEB. DROP TABLEC. DELETE FROMD. ALTER TABLE答案:A3. 在SQL中,使用哪个关键字可以更新表中的记录?A. SELECTB. INSERTC. UPDATED. DELETE答案:C4. 下列哪个选项是正确的SQL语法,用于查询“学生表”中所有学生的姓名和年龄?A. SELECT name, age FROM students;B. SELECT * FROM students WHERE name AND age;C. SELECT name, age FROM students WHERE name AND age;D. SELECT name, age FROM students WHERE name OR age;答案:A5. 如果要将表“学生表”中的“张三”的成绩从80分更新为90分,应该使用以下哪个语句?A. UPDATE 学生表 SET 成绩 = 80 WHERE 姓名 = '张三';B. UPDATE 学生表 SET 成绩 = 90 WHERE 姓名 = '张三';C. UPDATE 学生表 SET 姓名 = '张三' WHERE 成绩 = 80;D. UPDATE 学生表 SET 姓名 = '张三' WHERE 成绩 = 90;答案:B6. 在SQL中,以下哪个关键字用于删除表中的记录?A. SELECTB. INSERTC. DELETED. DROP答案:C7. 以下哪个选项不是SQL中的DML语句?A. SELECTB. INSERTC. UPDATED. CREATE答案:D8. 在SQL中,使用哪个关键字可以实现条件查询?A. WHEREB. IFC. CASE答案:A9. 如果要查询表“学生表”中所有学生的姓名和成绩,并且成绩大于等于90分,应该使用以下哪个语句?A. SELECT name, score FROM students WHERE score >= 90;B. SELECT name, score FROM students WHERE score < 90;C. SELECT name, score FROM students WHERE score = 90;D. SELECT name, score FROM students WHERE score <= 90;答案:A10. 在SQL中,以下哪个关键字用于向表中插入新的记录?A. INSERTB. SELECTC. UPDATED. DELETE答案:A二、多项选择题(每题3分,共15分)1. 下列哪些语句是SQL中的DML语句?A. SELECTB. INSERTC. UPDATED. DELETEE. CREATE答案:ABCD2. 如果要查询“学生表”中所有学生的姓名和成绩,并且要求成绩按照从高到低排序,应该使用以下哪些关键字?A. SELECTC. WHERED. ORDER BYE. DESC答案:ABDE3. 在SQL中,以下哪些关键字用于更新表中的记录?A. SELECTB. INSERTC. UPDATED. DELETEE. DROP答案:C4. 下列哪些选项是正确的SQL语法,用于删除表中的记录?A. DELETE FROM 表名 WHERE 条件;B. DROP TABLE 表名;C. TRUNCATE TABLE 表名;D. ALTER TABLE 表名 DROP COLUMN 列名;答案:AC5. 在SQL中,以下哪些关键字用于查询表中的记录?A. SELECTB. FROMC. WHERED. INSERTE. UPDATE答案:ABC三、填空题(每题2分,共10分)1. 在SQL中,使用____关键字可以向表中插入新的记录。
数据库期末试题及答案题目:数据库期末试题及答案一、选择题(共20小题,每题2分,共40分)1. 数据库系统的基本特点是什么?A. 数据共享B. 数据独立性C. 数据多样性D. 数据冗余答案:B. 数据独立性2. 下面哪种数据库模型是层次结构模型的扩展?A. 关系模型B. 网络模型C. 对象模型D. NoSQL模型答案:B. 网络模型3. 数据库事务的ACID特性中,C代表什么?A. 一致性B. 原子性C. 持久性D. 隔离性答案:A. 一致性4. 在关系数据库中,SQL是用于进行什么操作的语言?A. 数据定义B. 数据操作C. 数据查询D. 数据删除答案:B. 数据操作5. 下面哪种SQL语句用于向表中插入数据?A. UPDATEB. DELETEC. INSERT INTOD. SELECT答案:C. INSERT INTO6. 在关系数据库中,外键用于实现什么样的数据关系?A. 一对一关系B. 一对多关系C. 多对多关系D. 层次关系答案:B. 一对多关系7. 关系数据库中,一个属性的值在给定的关系模式中是唯一的,这个属性被称为什么?A. 主键B. 外键C. 候选键D. 任意键答案:A. 主键8. 下面哪种关系操作用于将两个表连接?A. JOINB. UNIONC. INSERTD. DELETE答案:A. JOIN9. 下面哪种关系操作用于从表中删除数据?A. DELETEB. UPDATEC. SELECTD. INSERT INTO答案:A. DELETE10. 下面哪种数据库索引类型可以加快对表中数据的查找操作?A. B-tree索引B. Hash索引C. R-tree索引D. Full-text索引答案:A. B-tree索引11. 下面哪种关系型数据库是开源的?A. OracleB. Microsoft SQL ServerC. MySQLD. IBM DB2答案:C. MySQL12. 以下哪个选项是关系数据库中的一种范式?A. SqliteB. ACIDC. NoSQLD. 3NF答案:D. 3NF13. 一个事务的隔离级别可以通过什么来设置?A. SQL语句B. 数据库引擎C. 编程语言D. 操作系统答案:B. 数据库引擎14. 在关系数据库中,使用什么关系操作可以用于将表中的数据按特定的顺序排列?A. ORDER BYB. GROUP BYC. HAVINGD. WHERE答案:A. ORDER BY15. 下面哪个数据库对象用于存储存储过程的代码?A. 视图B. 索引C. 函数D. 存储过程答案:D. 存储过程16. "Group By"关键字在SQL中的作用是什么?A. 过滤数据B. 分组数据C. 排序数据D. 连接数据答案:B. 分组数据17. 在关系数据库中,什么是范式?A. 数据完整性的要求B. 数据冗余的要求C. 数据分组的要求D. 数据结构的要求答案:A. 数据完整性的要求18. 数据库系统的并发控制机制是为了解决什么问题?A. 数据安全性B. 数据恢复性C. 数据完整性D. 数据一致性答案:D. 数据一致性19. 下面哪个操作符在SQL中用于模糊查询?A. LIKEB. INC. EXISTSD. BETWEEN答案:A. LIKE20. 下面哪种数据库模型用于描述数据的层次结构?A. 关系模型B. 网络模型C. 对象模型D. 层次模型答案:D. 层次模型二、简答题(共5题,每题10分,共50分)1. 请简要介绍关系数据库的三个基本模型。
数据库期末考试试题及答案一、选择题(每题2分,共20分)1. 在关系数据库中,用于查询数据的SQL语句是:A. SELECTB. UPDATEC. INSERT INTOD. DELETE2. 下列哪个不是数据库的三大范式之一?A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. 第四范式(4NF)3. 以下哪个选项不是数据库设计阶段的任务?A. 需求分析B. 概念设计C. 逻辑设计D. 物理设计4. 在数据库中,用于更新表中数据的SQL语句是:A. SELECTB. UPDATEC. DELETED. INSERT INTO5. 以下哪个是数据库事务的四大特性之一?A. 原子性(Atomicity)B. 一致性(Consistency)C. 隔离性(Isolation)D. 持久性(Durability)二、简答题(每题10分,共30分)1. 简述数据库管理系统(DBMS)的主要功能。
2. 解释什么是外键,并说明其在数据库中的作用。
3. 描述数据库备份和恢复的重要性及基本步骤。
三、应用题(每题25分,共50分)1. 假设你是一个数据库管理员,需要为一个在线书店设计数据库。
请列出至少五个实体,并为每个实体设计至少三个属性。
2. 给定以下SQL查询语句:```SELECT AuthorName, COUNT(*) AS BookCountFROM BooksJOIN Authors ON Books.AuthorID = Authors.AuthorIDGROUP BY AuthorNameORDER BY BookCount DESC;```请解释该查询语句的功能,并描述其可能的输出结果。
四、案例分析题(共30分)假设你负责维护一个大学的学生信息系统。
请根据以下场景回答问题:1. 描述如何使用SQL语句添加一个新学生记录。
2. 如果需要查询所有计算机科学系学生的姓名和学号,应使用什么SQL查询语句?3. 假设系统需要支持学生选课功能,描述如何设计相应的数据库表和关系。
数据库期末考试题及答案南邮一、选择题(每题2分,共20分)1. 在关系数据库中,关系至少具有以下哪种特性?()A. 可重复性B. 原子性C. 唯一性D. 一致性答案:C2. SQL语言中,用于查询数据的关键字是?()A. SELECTB. INSERTC. UPDATED. DELETE答案:A3. 以下哪个选项是数据库管理系统(DBMS)的主要功能?()A. 编译程序代码B. 管理文件系统C. 提供数据存储和访问D. 执行操作系统命令答案:C4. 在数据库中,用于表示实体之间关系的是?()A. 属性B. 实体C. 关系D. 视图答案:C5. 数据库规范化的目的是为了?()A. 提高查询速度B. 减少数据冗余C. 增加数据安全性D. 简化数据库结构答案:B6. 以下哪个不是数据库设计阶段的任务?()A. 需求分析B. 概念性设计C. 物理设计D. 数据库编程答案:D7. 在数据库中,主键的作用是什么?()A. 唯一标识表中的每条记录B. 存储数据C. 排序数据D. 索引数据答案:A8. 数据库中的事务具有哪些特性?()A. 原子性、一致性、隔离性、持久性B. 原子性、一致性、隔离性、可重复性C. 原子性、一致性、隔离性、并发性D. 原子性、一致性、隔离性、安全性答案:A9. 数据库中的视图是什么?()A. 存储在数据库中的一张表B. 存储在数据库中的一张图片C. 一张虚拟表,由查询结果组成D. 存储在数据库中的一段视频答案:C10. 在SQL中,用于创建数据库的命令是?()A. CREATE TABLEB. CREATE DATABASEC. CREATE INDEXD. CREATE VIEW答案:B二、填空题(每题2分,共20分)1. 数据库系统由数据库、数据库管理系统和________组成。
答案:数据库管理员2. 数据库管理系统的主要功能包括数据定义、数据操纵和________。
答案:数据控制3. 在关系数据库中,一个表中的列称为________。
数据库期末考试试题及答案第一部分:选择题(共20题,每题2分,共40分)1. 数据库是用来存储和管理什么类型的数据?a) 文件数据b) 网络数据c) 结构化数据d) 非结构化数据答案:c) 结构化数据2. 数据库系统的基本组成部分包括以下哪几个方面?a) 数据库管理系统(DBMS)b) 数据库应用程序c) 数据库模型d) 数据库管理员答案:a) 数据库管理系统(DBMS),b) 数据库应用程序,c) 数据库模型3. 下面哪个是关系数据库模型的特点?a) 数据以文件形式存储b) 数据以表格形式存储c) 数据以树形结构存储d) 数据以图形结构存储答案:b) 数据以表格形式存储4. 数据库的完整性约束包括以下几种类型?a) 实体完整性b) 参照完整性c) 域完整性d) 属性完整性答案:a) 实体完整性,b) 参照完整性,c) 域完整性,d) 属性完整性5. 数据库事务的ACID特性包括以下哪几个方面?a) 原子性b) 一致性c) 隔离性d) 持久性答案:a) 原子性,b) 一致性,c) 隔离性,d) 持久性6. 关系数据库中,外键用来表示什么类型的关系?a) 一对一关系b) 一对多关系c) 多对多关系d) 多层次关系答案:b) 一对多关系7. 下面哪个是数据库查询语言?a) Javab) C++c) SQLd) HTML答案:c) SQL8. 在数据库中,一个事务的隔离级别有哪几种选择?a) READ COMMITTEDb) REPEATABLE READc) SERIALIZABLEd) READ UNCOMMITTED答案:a) READ COMMITTED,b) REPEATABLE READ,c) SERIALIZABLE,d) READ UNCOMMITTED9. 数据库索引的作用是什么?a) 提高数据访问的速度b) 减少数据存储的空间c) 保证数据的一致性d) 控制数据的权限答案:a) 提高数据访问的速度10. 数据库范式用来做什么?a) 优化数据库查询b) 规范数据库模型c) 压缩数据库存储d) 加密数据库数据答案:b) 规范数据库模型11. 数据库触发器用来做什么?a) 检查数据的有效性b) 定期备份数据库c) 自动执行特定操作d) 创建数据库索引答案:c) 自动执行特定操作12. 数据库备份的作用是什么?a) 保护数据免受损失b) 提高数据库查询速度c) 减少数据存储空间d) 控制数据的权限答案:a) 保护数据免受损失13. 数据库连接是指什么?a) 数据库之间的关系b) 数据库中的数据关系c) 应用程序访问数据库的接口d) 数据库中的表之间的关系答案:c) 应用程序访问数据库的接口14. 数据库主键的作用是什么?a) 提高数据查询速度b) 控制数据的权限c) 唯一标识一条记录d) 加密数据库数据答案:c) 唯一标识一条记录15. 数据库视图是什么?a) 物理存储的数据b) 存储过程c) 虚拟表d) 数据库备份文件答案:c) 虚拟表16. 数据库设计的范式分为几个级别?a) 1NF, 2NF, 3NF, BCNFb) 1NF, 2NF, 3NF, 4NFc) 1NF, 2NF, 3NFd) 1NF, 2NF, 3NF, 5NF答案:b) 1NF, 2NF, 3NF, 4NF17. 数据库连接的类型包括以下哪几种?a) 内连接b) 外连接c) 自连接d) 所有答案都正确答案:d) 所有答案都正确18. 数据库中的事务是?a) 一条SQL语句b) 一组SQL语句c) 一个数据库操作d) 一个用户操作答案:b) 一组SQL语句19. 数据库管理系统(DBMS)的作用是什么?a) 存储和管理数据b) 控制和管理数据库访问c) 进行数据库备份和恢复d) 所有答案都正确答案:d) 所有答案都正确20. 数据库中的事务日志是用来做什么?a) 记录数据库的结构b) 记录数据库的访问权限c) 记录数据库操作的序列d) 记录数据库查询结果答案:c) 记录数据库操作的序列第二部分:填空题(共10题,每题2分,共20分)1. 触发器是通过在数据库中定义______,在特定的数据更新、插入、删除等操作发生时被自动执行。
数据库期末考试试题及答案一、选择题1. 在数据库中,用于描述数据和数据之间关系的是:A. 表B. 视图C. 索引D. 触发器2. 关系型数据库中,用于唯一标识每条记录的是:A. 主键B. 外键C. 候选键D. 参照键3. SQL语言中,用于查询数据的关键字是:A. SELECTB. INSERTC. UPDATED. DELETE4. 在关系型数据库设计中,避免数据冗余和更新异常的范式是:A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. BCNF5. 数据库事务的四个基本特性是:A. 原子性、一致性、隔离性、持久性B. 并发性、一致性、持久性、可靠性C. 原子性、并发性、隔离性、持久性D. 一致性、并发性、隔离性、可靠性二、填空题1. 在SQL中,创建数据库的命令是___________,删除数据库的命令是_____________。
2. 一个关系表中可以有多个___________,但只能有一个___________。
3. 在SQL查询中,可以使用___________关键字来限制返回的数据条数。
4. 当需要对数据库中的数据进行更新操作时,应使用___________语句。
5. 数据库设计中,为了提高查询效率,常常对某些字段建立___________。
三、简答题1. 请简述数据库的三级模式架构及其作用。
2. 什么是数据库的完整性约束?请举例说明。
3. 解释数据库中的连接操作,并举例说明内连接和左外连接的区别。
4. 请描述事务的隔离级别以及它们如何影响数据库操作。
5. 什么是数据库的规范化?简述其目的和意义。
四、综合题1. 假设有一个学生信息管理系统的数据库,包含学生表(学生ID,姓名,年龄,班级)和成绩表(学生ID,课程ID,分数)。
请编写SQL语句实现以下操作:(1) 创建学生表和成绩表。
(2) 向学生表中插入一条学生记录。
(3) 查询所有学生的姓名和班级。
(4) 查询每个学生的总成绩。
数据库试题期末考试及答案数据库期末考试试题一、选择题(每题2分,共20分)1. 数据库管理系统(DBMS)的主要功能是()。
A. 数据存储B. 数据管理C. 数据分析D. 数据加密2. 关系型数据库的存储结构是()。
A. 树形结构B. 网状结构C. 线性结构D. 表格结构3. SQL语言中的“SELECT”语句用于()。
A. 插入数据B. 更新数据C. 查询数据D. 删除数据4. 在关系数据库中,数据的完整性约束包括()。
A. 实体完整性和参照完整性B. 数据完整性和参照完整性C. 实体完整性和用户定义完整性D. 参照完整性和用户定义完整性5. 数据库设计中,范式理论的目的是()。
A. 提高查询效率B. 减少数据冗余C. 增强数据安全性D. 优化存储空间...(此处省略其他选择题,共10题)二、简答题(每题5分,共20分)1. 简述数据库的三级模式结构。
2. 解释什么是事务的ACID属性。
3. 什么是数据库的并发控制?4. 描述什么是数据库的规范化过程。
三、应用题(每题15分,共30分)1. 假设你正在设计一个图书馆管理系统的数据库,请列出至少5个实体,并说明它们之间的关系。
2. 编写一个SQL查询,用于找出所有借阅了超过5本书的读者的姓名和借阅数量。
四、综合题(每题15分,共30分)1. 描述在数据库中实现数据备份和恢复的一般步骤。
2. 给出一个场景,说明如何使用数据库视图来提高数据安全性。
五、论述题(共10分)1. 论述数据库索引在提高查询性能中的作用及其潜在的缺点。
数据库期末考试答案一、选择题答案1. B2. D3. C4. A5. B...(此处省略其他选择题答案)二、简答题答案1. 数据库的三级模式结构包括:外模式(用户视图)、概念模式(逻辑结构)和内模式(存储结构)。
2. 事务的ACID属性包括:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
2005-2006(2)数据库系统原理试题(A)参考答案及评分标准
一、填空题(每空1分,共14分)
1、数据结构
2、元组
3、实体完整性参照完整性
4、1NF
5、数据字典
6、B R+B R B S B S+B R B S
7、可串行的
8、RAID
9、动态Hash方法可扩展Hash方法
10、并发控制技术数据库恢复技术
二、选择题(每题1分,共10分)
1、D
2、A
3、A
4、B
5、C
6、C
7、C
8、C
9、C 10、A
三、简答题(每题4分,共16分)
1.可以表示任何关系代数操作的5种基本代数操作是什么?
答: ⋃ , - , ⨯ , σ , π
注:1个1分,写对4个即可得4分
2.关系数据库中常用的连接操作的实现算法有哪些?
答:循环嵌套连接算法(1分)、排序合并连接算法(1分)、hash连接算法(1分)、索引连接算法(1分)。
3.简述B树和B+树的区别。
答:(1)B+树的叶子节点链在一起(2分)。
(2)B+树的内节点不存放数据指针(2
分)。
4.什么是数据库事务?什么是数据库事务的原子性?
答:一个存取或更改数据库的程序的运行称为数据库事务(2分)。
事务中的所有操作要么全部被成功的完成且这些操作的结果被永久地存储到数据库中,要么这
个事务对数据库和其它事务没有任何影响。
这种性质称为事务的原子性(2分)。
四、综合题(每题12分,共60分)
(一)已知关系S,P,J,SPJ的关系模式为:
S(SNO,SN,CITY)
P(PNO,PN,COLOR)
J(JNO,JN,CITY)
SPJ(SNO,JNO,PNO,QTY)
其中:SNO为供应商号,SN为供应商姓名,CITY为所在城市;PNO为零件号,PN为零件名称,COLOR为颜色;JNO为工程项目号,JN为工程项目名称;QTY为数量。
1、试用关系代数语言完成下列查询:求出使用全部零件的工程项目名称。
∏JN((∏JNO,PNO(SPJ)÷∏PNO(P)∏JNO,JN(J))(4分)
2、试用SQL语言完成下列查询:把零件号为P2的零件重量增加5,颜色改为黄色。
UPDATE P
SET WEIGHT=WEIGHT+5,COLOR=’黄色’
WHERE PNO=’P2’;(4分)
3、试用SQL语言完成下列查询:取出1个以上供应商提供的零件号。
SELECT PNO
FROM SPJ
GROUP BY PNO
HA VING COUNT(SNO)≥1 (4分)(二) 设某商业集团数据库有三个实体集。
一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品编号、商品名、规格、单价等;三是“供应商”实体集,属性有供应商编号、供应商名、地址等。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每个商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;供应商与商品间存在着“供应”联系,每个供应商供应多种商品,每种商品可以向多个供应商订购。
供应商供应商品给每个商店有月供应量。
(1)试画出E-R图,并在图上注明属性。
(2)将E--R图转换成关系模型,并指明主键和外键。
(1)E-R图如图所示。
(6分,其中实体2分、联系2分、属性2分)
(2)此E--R图转换成的关系模型如下
商店(商店编号,商店名,地址)主码为商店编号
供应商(供应商编号,供应商名,地址)主码为供应商编号
商品(商品编号,商品名,规格,单价)
销售(商店编号,商品号,月销售量)
主码为(商店编号,商品号),外码为商店编号和商品号
供应(供应商编号,商店编号,月供应量)
主码为(供应商编号,商店编号),外码为供应商编号,商店编号
共6分,由于学生的写法多样,教师根据具体情况给分。
(三)1.设关系模式R<U,F> 其中:U={A, B, C, D, E, P}
F={A→B,C→P,E→A,CE→D}
求出R的所有候选关键字。
解:由计算可知:(CE)的闭包= {ABCDEP}
而C的闭包={CP}
E的闭包={ABE} (2分)
所以:R的候选键为:CE。
(2分)
2.判断下面的关系模式最高属于第几范式),并说明理由。
R({A,B,C},{AC→B,AB→C,B→C})
答:是1NF ,(2分)因为该关系的候选键之一为AB, 又因为有B→C,存在部分函数依赖(2分),所以,该关系为1NF.
3.设关系R具有属性集合{O, I, S, A, B},函数依赖集合{I->B, IS->A, A->O}。
把R分解成3NF,并使其具有无损连接性和函数依赖保持性。
答:{IB,ISA,AO}(4分)
(四) 设文件F具有10000个记录,每个记录50字节,其中10字节用来表示文件的键值。
每个磁盘块大小1000字节,指向磁盘块的指针占5字节,不允许记录跨两个块。
(1)如果为文件F建立简单hash索引,使用100个hash桶,则桶目录需要多少磁盘块?平均每个桶需要多少磁盘块?
答:(1)1 (2)10000个记录/100个桶=100个记录每桶,(2分)100个记
录×50字节每记录/1000字节每块=5块(2分)
(2)如果为文件F建立B+树索引,各磁盘块尽量装满,需要多少磁盘块存储索引?
答:求秩D:5D+10(D+1)<=1000 => D=67 (2分)
即每个叶节点能保存D-1=66个键值。
所以叶节点数为⎡10000/66⎤
=152个。
(2分)
上一层的内节点同样有67个指针,是一个67叉的节点,
⎡10000/67⎤=3,⎡3/67⎤=1(2分)
因此B+树的节点总数为152+3+1=156个。
即需要156个磁盘块
存储B+树索引。
(2分)
(五) 对于教学数据库S(S#,SNAME,AGE,SEX),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER)。
现有一个查询:检索至少学习W ANG老师所授一门课程的男学生学号和姓名。
1.给出该查询的关系代数表达式,并画出该表达式构成的语法树。
2. 使用启发式优化算法对语法树进行优化,得到优化的语法树。
解:(1) 关系代数表达式:
∏ S#,SNAME (σS.S#=SC.S#∧SC.C#=C.C#∧S.SEX=’男’ ∧teacher=’wang’(S×SC×C)) (3分)
∏ S#,SNAME
σS.S#=SC.S#∧SC.C#=C.C#∧S.SEX=’男’ ∧teacher=’wang’
×
× c
S SC (3分)
∏ S#,SNAME
σSC.C#=C.C#
×
σS.S#=SC.S#
×σteacher=’wang’
∏∏ S#,C#
c
σS.SEX=’男’
sc
s (3分)结果树(3分)。