云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 20161223 - 数据库系统 - 2016(样卷)参考答案

20161223 - 数据库系统 - 2016(样卷)参考答案

  • 62 次阅读
  • 3 次下载
  • 2025/6/17 12:45:38

考试科目名称 数据库系统(2016样卷参考答案)

一、填空题 (略)

二、单项选择题

(略)

三、多项选择题(每小题都有两个选项是符合题目要求的,请将其全部选出并填入题后的圆括号中。) (略)

四、(关系代数)

设有一个公司产品销售数据库,其关系模式如下:

顾 客C ( 编号cid, 姓名cname, 城市city, 折扣discnt ) 供应商A ( 编号aid, 名称aname, 城市city )

商 品P ( 编号pid, 名称pname, 库存数量quantity, 单价price )撒啊啊啊啊啊啊请·

订 单O ( 编号ordno, 订单日期orddate, 顾客编号cid, 供应商编号aid,

商品编号pid, 订购数量qty, 销售金额dols )

其中:订单日期是一个‘日期’类型的属性,其值可以进行大小比较。日期值越大,离现在的时间越近。请用关系代数和关系演算表示下述的操作请求。

1) 查询‘南京市’的顾客所购买过的商品的编号和名称。

((C join O join P) where city?'南京') [pid, pname]

?cid,cname,city,dis,quan,pri,no,ordd,aid,qty,dols( C(cid,cname,南京,dis)?P(pid,pname,quan,pri)? O(no,ordd,cid,aid,pid,qty,dols))

2) 查询没有购买过商品的顾客的编号和姓名。

C[cid,cname] - (C join O)[cid, cname] 或者 ((C[c -i Od[]ci dj]o)iCn) [c icdn,am e]

?city,dis(C(cid,cn,city,dis))??(?no,d,aid,pid,qty,dols(O(no,d,cid,aid,pid,qty,dols)))

3) 查询仅仅通过’a001’号供应商购买过商品的顾客的编号。 O[cid] - (O where aid??'a001')[cid]

?no1,d1,p1,qty1,dols1(O(no1,d1,cid,'a001',p1,qty1,dols1))??(?no2,d2,aid,p2,qty2,dols2(O(no2,d2,cid,aid,p2,qty2,dols2)?aid??'a001'))

错误的表示方法如下:

?no(?d,aid,pid,qty,dols(O(no,d,cid,aid,pid,qty,dols))?aid?'a001'))

4) 查询每一个客户的最后一份订单的订单编号。

令 O1 := O, O2 := O

O[cid,ordno]-((O1?O2) where O1.cid?O2.cid ?O1.orddate?O2.orddate)[O1.cid,O1.ordno]?ordd,aid,pid,qty,dol(O(ordno,ordd,cid,aid,pid,qty,dol)?

?(?no1,ordd1,aid1,pid1,qty1,dol1(O(no1,ordd1,cid,aid1,pid1,qty1,dol1)?ordd?ordd1五、(SQL语言)

设有一个公司产品销售数据库,其关系模式如下:

顾 客C ( 编号cid, 姓名cname, 城市city, 折扣discnt ) 供应商A ( 编号aid, 名称aname)

商 品P ( 编号pid, 名称pname, 库存数量quantity, 单价price )

订 单O ( 编号ordno, 订单日期orddate, 顾客编号cid, 供应商编号aid,

商品编号pid, 销售数量qty, 销售金额dols ) (注:可以用SQL函数YEAR(orddate)返回订单的年份,用SQL函数MONTH(orddate)

返回订单的月份) 1、请用SQL语言创建一个用于统计每个顾客在2015年度的累计购买金额的视图,视图名为CustSum,视图中的属性包括:顾客的编号aid,顾客的姓名cname, 购买总金额total_dols。

Create view CustSum(aid, cname, total_dols) As select cid, cname, sum(dols) From O, C

Where O.cid=C.cid and year(orddate)=2015 Group by cid, cname;

2、请用SQL语言表示下述的查询操作。

1) 查询销售金额超过10000元的订单,结果返回该订单客户的编号和名称。 (略)

2) 查询只向‘南京’市的顾客销售过商品的供应商的编号。

Select aid From O, C

Where O.cid=C.cid and C.city=’南京’ and O.aid not in (

Select O2.aid From O O2, C C2

Where O2.cid=C2.cid and C2.city<>’南京’ );

3) 统计查询每一个供应商的累计销售金额,结果返回供应商编号及其累计销售金额,并按

照累计销售金额从高到低降序输出查询结果。

Select aid, sum(dols) from O group by aid order by sum(dols) DESC;

4) 查询在2014年1月份到6月份累计购买金额超过100000元的顾客的编号和名称。

Select cid, cname From C, O

Where C.cid=O.cid and year(orddate)=2014 and

month(orddate) between 1 and 6

Group by cid, cname

Having sum(dols)>100000;

5) 查询每一个顾客的最后一份订单,结果返回顾客的编号、订单编号、订单日期。

Select X.cid, X.ordno, X.orddate From O X

Where X.orddate >= ALL (select Y.orddate from O Y where Y.cid=X.cid )

6) 查询向所有顾客都销售过商品的供应商的编号。

Select aid from A

Where not exists ( select *

From C

Where not exists ( select *

From O

Where O.aid=A.aid and O.cid=C.cid));

六、(规范化设计)

设关系模式 R(A,B,C,D,E,F) 上的函数依赖集是:F = { AB?C,B?DE,BD?F,E?F,AC?B }

1. 请计算F的最小覆盖(与F相等价的最小函数依赖集),写出每一步的计算结果,不需要

给出详细的计算过程。

AB?C,B?DE,E?F,AC?B (详细分步结果略)

2. 请找出关系R的所有关键字。

两个关键字: AB 和 AC

3. 请将关系R分解到3NF,且满足无损联接性和依赖保持性。

R1(A, B, C) R2(B, D, E) R3(E, F)

4. 上述的设计结果是否满足BCNF?如果不满足,请给出到BCNF的分解结果。

都能满足BCNF。

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

考试科目名称 数据库系统(2016样卷参考答案) 一、填空题 (略) 二、单项选择题 (略) 三、多项选择题(每小题都有两个选项是符合题目要求的,请将其全部选出并填入题后的圆括号中。) (略) 四、(关系代数) 设有一个公司产品销售数据库,其关系模式如下: 顾 客C ( 编号cid, 姓名cname, 城市city, 折扣discnt ) 供应商A ( 编号aid, 名称aname, 城市city ) 商 品P ( 编号pid, 名称pname, 库存数量quantity, 单价price )撒啊啊啊啊啊啊请· 订 单O ( 编号ordno, 订单日期orddate, 顾客编号cid, 供应商编号aid, 商品编号p

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com