数据库试题作业.docVIP

  • 3
  • 0
  • 约2.43千字
  • 约 5页
  • 2021-07-22 发布于浙江
  • 举报
数据库试题 作业: 1. 设关系模式R的属性集合为{A, B, C}, 其上的函数依赖集F={B→C, A→C}, 判断分解ρ1={R1(A, B), R2(A, C)}, ρ2={R1(A, C), R2(B, C)}是否具有无损连接性和函数依赖保持性? 2. 设有如表所示的关系R。 问:  (1) 关系R为第几范式? 为什么? (2) 它是否存在删除异常操作?若存在, 何时发生? (3) 讨论这些数据的语义, 写出它相应的函数依赖集。 (4) 将它分解为高一级范式。 3. 有属性集U={学号、 姓名、 出生日、 年龄、 导师姓名、 系别、 学期号、 课程号、 课程名、 成绩}, U上的函数依赖集F为: { 学号→姓名、出生日、年龄、导师姓名、 系别; 出生日期→年龄; 导师姓名→系别;  课程号→课程名; 年龄、 姓名、 系别→学号;  学号、 课程号、 学期号→成绩 } 设计一个数据库模式, 要求每一个关系模式是3NF。 练习: 一、写出以下各题的SQL查询语句 1查询 供应数量200的 项目号和供应商号 2查询 零件总供应量400 的供应商名称 3查询 “东方” 供应商 实际供应了零件的项目数 4查询 北京的供应商 供应给外地的项目的所有零件名称 (1) 查询 供应数量200的 项目号和供应商号 SELECT JNO, SNO FROM SPJ WHERE (QTY 200); (2) 查询 零件总供应量400 的供应商名称 SELECT S.SNAME, SUM(SPJ.QTY) FROM SPJ,S   WHERE SPJ.SNO =S.SNO GROUP BY S.SNAME HAVING(SUM(SPJ.QTY) 400); 或SELECT SNAME   FROM S WHERE SNO IN   (SELECT SNO FROM SPJ   GROUP BY SNO HAVING (SUM(QTY) 400)); (3) 查询 “东方” 供应商供应的项目数 SELECT COUNT(SPJ.JNO) FROM SPJ,S WHERE (S.SNAME = 东方) AND SPJ.SNO = S.SNO GROUP BY SPJ.JNO; (4) 查询 北京的供应商 供应给外地的项目的所有零件名称 SELECT DISTINCT P.PNAME FROM SPJ,S,J,P WHERE (J.CITY 北京) AND (S.CITY = 北京) AND SPJ.PNO = P.PNO AND SPJ.JNO = J.JNO AND SPJ.SNO = S.SNO; 二、根据查询语句,写出查询结果 (1) SELECT PNO, QTY FROM SPJ WHERE EXISTS ( SELECT * FROM J WHERE SPJ.JNO=J.JNO AND J.CITY =北京 AND EXISTS (SELECT * FROM S WHERE SPJ.SNO =S.SNO AND S.CITY =上海) ) (1)查询结果:P3 200 上海供应商供应北京项目的零件和数量 (2)SELECT SUM(QTY) FROM SPJ A WHERE JNO =J2 AND EXISTS ( SELECT * FROM SPJ B WHERE B.JNO=J1 AND A.SNO =B.SNO) (2)查询结果: 600 供应给J1又供应J2的供应商 对J2供应的总量 三、数据库的实际设计 现要开发高校图书管理系统。经过可行性分析和初步的需求调查

文档评论(0)

1亿VIP精品文档

相关文档