哈工大2020春数据库系统期末试题解析

需积分: 0 7 下载量 109 浏览量 更新于2024-08-03 2 收藏 273KB PDF 举报
"哈尔滨工业大学2020年春季学期的《数据库系统》期末考试试题包含两套,主要涉及数据库语言和关系数据库理论。试题要求学生使用SQL和关系代数进行查询,同时也涉及到视图的创建、函数依赖以及数据库理论中的函数依赖集、属性集闭包和候选键等概念。" 在数据库领域,SQL(结构化查询语言)是用于管理关系数据库的标准语言,而关系代数则是理论基础,用于描述查询操作。试题中,学生需要: 1. 使用SQL和关系代数查询"Elsa"选修过的课程的课号及名称。这涉及到对Student、Course和Enroll三个关系的连接操作,以及WHERE子句的使用来筛选特定条件。 2. 查询学分低于120的学生活号及其总学分。这可能需要GROUP BY和HAVING子句来计算每个学生的总学分,并进行条件过滤。 3. 查找未选修"Database Systems"但选修了"Data Mining"的学生学号。这需要联合查询或者NOT IN操作来实现。 4. 创建一个视图Unqualified,显示不及格人数。创建视图时,会用到CREATE VIEW语句,同时需要COUNT函数来计算不及格人数。 5. 分析是否可以在Unqualified视图上执行INSERT、DELETE或UPDATE操作。通常,如果视图依赖的数据源不完整,这些操作可能是受限的。 6. 编写SQL查询验证Student关系实例是否满足函数依赖email→sid。这需要理解函数依赖的概念并使用查询来验证。 在关系数据库理论部分,试题涉及函数依赖集F,以及关系模式R的属性。具体包括: 1. 使用Armstrong公理证明F逻辑蕴含A→EG。Armstrong公理系统包括自反性、增广性、传递性等,通过这些公理可以推理出新的函数依赖。 2. 求A关于F的属性集闭包。这是为了找出所有由A通过函数依赖推导出的其他属性。 3. 求关系R的候选键。候选键是能够唯一标识元组的最小属性集合,可以通过函数依赖分析来确定。 4. 判断R的最高范式。这需要识别是否存在部分依赖、传递依赖等,以确定R是否达到了第一范式(1NF)、第二范式(2NF)、第三范式(3NF)或更高的范式。 这套试题全面测试了学生对数据库基本操作的理解,以及对关系数据库理论的掌握程度,包括查询构造、数据操纵、数据库设计原则和规范化理论。