广工数据库系统~期末习题.docx

preview
需积分: 0 17 下载量 97 浏览量 更新于2023-12-31 1 收藏 12KB DOCX 举报
数据库系统~期末习题案例解析 设计题: 1.图书出版管理数据库中有两个基本表: 图书 (书号,书名,作者编号,出版社,出版日期); 作者 (作者编号,作者名,年龄,地址); 试用SQL语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名、书名和出版社。 2.学校有多名学生,财务处每年要收一次学费。为财务处收学费工作设计一个数据库,包括两个关系: 学生 (学号,姓名,专业,入学日期) 收费 (学年,学号,学费,书费,总金额) 假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数据。列的宽度自定义。 试用SQL语句定义上述表的结构,(定义中应包括主键子句和外键子句)。 3. 现有关系数据库如下: 学生(学号,姓名,性别,专业,奖学金) 课程(课程号,名称,学分) 学习(学号,课程号,分数) 用关系代数表达式实现下列1—4小题: (1).检索“英语”专业学生所学课程的信息,包括学号、姓名、课程名和分数。 (2).检索“数据库原理”课程成绩高于90分的所有学生的学号、姓名、专业和分数; (3).检索不学课程号为 【数据库系统期末习题解析】 1. SQL查询:在图书出版管理数据库中,查询年龄低于所有作者平均年龄的作者信息,包括作者名、书名和出版社。为了完成这个查询,首先需要计算所有作者的平均年龄,然后筛选出年龄低于这个平均值的作者。SQL语句如下: ```sql SELECT a.作者名, t.书名, p.出版社 FROM 作者 a JOIN 图书 t ON a.作者编号 = t.作者编号 JOIN 出版社 p ON t.出版社 = p.出版社 WHERE a.年龄 < (SELECT AVG(年龄) FROM 作者) ``` 2. 学生学费数据库设计:创建学生和收费两个表。学生表中,学号为主键,同时作为收费表的外键。SQL语句定义如下: ```sql CREATE TABLE 学生 ( 学号 CHAR PRIMARY KEY, 姓名 CHAR, 专业 CHAR, 入学日期 DATE ); CREATE TABLE 收费 ( 学年 INT, 学号 CHAR, 学费 NUMERIC, 书费 NUMERIC, 总金额 NUMERIC, FOREIGN KEY (学号) REFERENCES 学生(学号) ); ``` 3. 关系代数表达式: (1) 检索英语专业学生所学课程信息: ```relational-algebra π 学号, 姓名, 课程名, 分数 (σ 专业='英语' (学生) ⨝ 学号=学号 (学习) ⨝ 课程号=课程号 (课程)) ``` (2) 检索数据库原理课程成绩高于90分的学生信息: ```relational-algebra π 学号, 姓名, 专业, 分数 (σ 分数>90 (σ 课程名='数据库原理' (学习) ⨝ 学号=学号 (学生))) ``` (3) 检索不学课程号为"C135"的学生信息: ```relational-algebra π 学号, 姓名, 专业 (σ ¬(学号, 课程号)∈学习 (学生)) ``` (4) 检索所有课程成绩均及格的学生信息: ```relational-algebra π 学号, 姓名, 专业 (σ ∃c (σ 分数>=60 (学习)) (学生)) ``` 4. 商业集团数据库关系模式R分析: (1) 基本函数依赖:商店编号 → 商品编号;商品编号 → 部门编号;部门编号 → 负责人;商品编号 → 数量。 (2) 候选键:商店编号, 商品编号(满足唯一性且不可分) (3) R达到2NF,因为每个属性都依赖于整个键,但未达到3NF,因为存在部分依赖(如:部门编号 → 负责人)。 (4) 分解成3NF模式集: - 商店(商店编号, 部门编号) - 商品(商品编号, 部门编号, 数量) - 部门(部门编号, 负责人) 5. 对于信息系学生选修的所有课程名称的查询,优化后的关系代数表达式可能如下: ```relational-algebra π 课程名 (σ 学院='信息系' (学生 ⨝ 学号=学号 (学习) ⨝ 学号=学号 (学生))) ``` 6. 科研项目管理数据库E-R图设计: - 科研项目组实体:项目组编号,项目组名 - 科研人员实体:职工号,姓名,职称 - 科研项目实体:项目编号,项目名 - 关系:项目组成员(项目组编号,职工号),项目负责人(项目组编号,项目编号) 7. 学生选修课,教师授课,课程分配E-R图设计: - 学生实体:学号,姓名,地址,年龄,性别 - 教师实体:职工号,教师姓名,职称 - 课程实体:课程号,课程名 - 关系:选修(学号,课程号),授课(教师职工号,课程号),任教(教师职工号,课程号) 以上是针对给定习题的详细解答,涵盖了SQL查询、数据库设计、关系代数表达式以及E-R图设计等核心知识点。
想要AC的dly
  • 粉丝: 7105
  • 资源: 35
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜