欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

为某公司开发一个用于管理产品发运的数据库经调查分析,并经简化处理后,得到的数据项列表如下:发

时间:2018-06-20

为某公司开发一个用于管理产品发运的数据库。经调查分析,并经简化处理后,得到的数据项列表如下:

发运单号 ydh CHAR(6),发运方式fs CHAR(4),发货日期fhrq DATEs

运杂项目xm CHAR(4),运杂费用fy NUMBER,货品名hpm CHAR(10),

单价di NUMBER,重量zl NUMBER,客户号khh CHAR(8);

客户名称khm CHAR(20),客户地址addr CHAR(20)。

确定以发货单(fhD)、客户(kh)、货品明细(hpms)、运杂费(yzf)为信息实体,且它们的对应关系如下:

一个发货单可对应多个货品明细,它们之间通过发运单号(ydh)关联。

一个发货单可对应多个运杂费,它们之间通过发运单号(ydh)关联。

一个客户可对应多个发货单,它们之间通过客户号(khh)关联。

要求:

(1)设计产品发运数据库的逻辑结构,给出相应的表名、表的属性名(数据类型可省)、主键、外键。

(2)给出下列查询的SQL语句:

①查询2001年2月28日本公司曾给哪些客户发运货物,输出这些客户的名称(khm)和地址 (addr)。

②查询2001年2月28日通过铁路(即fhd.fs='铁路')发运货物的运杂费明细,输出发运单号 (ydh)、运杂项目(xm)、运杂费用(fy)。

③查询2001年2月28日发运的货物明细,输出货品名(hpm)、单价(dj)、重量(zl)、货物金额 (dj*zl)。

④查询在2001年2月1日和2001年2月28日之间,发运各种产品的总重量(按货品名(hpm)分类汇总,输出货品名(hpm)、总重量)。

答案说明:本题目答案来自网络整理或转载,最终答案请以官网为准。


答 案:(1)产品发运数据库的逻辑结构fdh (ydhkhhfsfhrq)主键:ydh外键:khhkh (khhkhmaddr)主键:khhhpms (hpmydhdjzl)主键:hpm+ydh外键:ydhyzf(xmydhfy)主键:xm+ydh外键:ydh(2)查询的SQL语句:①SELECT kh. khm kh.addr FROM kh fhdWHERE kh. khh=fhd.khh AND fhd.fhrq='2001年2月28日'或SELECT khm addr FROM kh WHERE kh. khh IN(SELECT fhd. khh FROM fhd WHERE fhd. fhrq='2001年2月28日')②SELECT yzf. ydh yzf. xm yzf. fy FROM yzf fhdWHERE yzf. ydh=fhd. ydh AND fhd. fhrq='2001年2月28日'AND fhd.fs='铁路'或SELECT ydhxmfy FROM yzf WHERE yzf. ydh IN(SELECT fhd. ydh FROM fhd WHERE fhd. fhrq='2001年2月28日'AND fhd. fs='铁路')③SELECT hpms. hpm hpms. dj hpms. zl hpms. dj* hpms. zl FROM hpms fhdWHERE hpms. ydh=fhd.ydh AND fhd. fhrq='2001年2月28日'或SELECT hpm dj zl dj*zl FROM hpms WHERE hpms. ydh IN(SELECT fhd. ydh FROM fhd WHERE fhd. fhrq='2001年2月28日')④SElECT hpm sum(zl)FROM hpms fhd WHERE hpms. ydh=fhd. ydh ANDfhd. fhrq>='2001年2月28日'AND fhd. fhrq='2001年2月28日'GROUP BY hpm或SELECT hpm sum(zl) FROM hpms WHERE hpms. ydh IN(SELECT fhd. ydh FROM fhd WHERE fhd. fhrq>='2001年2月28日' AND fhd. fhrq= '2001年2月28日') GROUPBY hpm
(1)产品发运数据库的逻辑结构fdh (ydh,khh,fs,fhrq)主键:ydh,外键:khhkh (khh,khm,addr)主键:khhhpms (hpm,ydh,dj,zl)主键:hpm+ydh,外键:ydhyzf(xm,ydh,fy)主键:xm+ydh,外键:ydh(2)查询的SQL语句:①SELECT kh. khm, kh.addr FROM kh, fhdWHERE kh. khh=fhd.khh AND fhd.fhrq='2001年2月28日'或SELECT khm, addr FROM kh WHERE kh. khh IN(SELECT fhd. khh FROM fhd WHERE fhd. fhrq='2001年2月28日')②SELECT yzf. ydh, yzf. xm, yzf. fy FROM yzf, fhdWHERE yzf. ydh=fhd. ydh AND fhd. fhrq='2001年2月28日'AND fhd.fs='铁路'或SELECT ydh,xm,fy FROM yzf WHERE yzf. ydh IN(SELECT fhd. ydh FROM fhd WHERE fhd. fhrq='2001年2月28日'AND fhd. fs='铁路')③SELECT hpms. hpm, hpms. dj, hpms. zl, hpms. dj* hpms. zl FROM hpms, fhdWHERE hpms. ydh=fhd.ydh AND fhd. fhrq='2001年2月28日'或SELECT hpm, dj, zl, dj*zl FROM hpms WHERE hpms. ydh IN(SELECT fhd. ydh FROM fhd WHERE fhd. fhrq='2001年2月28日')④SElECT hpm, sum(zl)FROM hpms, fhd WHERE hpms. ydh=fhd. ydh ANDfhd. fhrq>='2001年2月28日'AND fhd. fhrq='2001年2月28日'GROUP BY hpm或SELECT hpm, sum(zl) FROM hpms WHERE hpms. ydh IN(SELECT fhd. ydh FROM fhd WHERE fhd. fhrq>='2001年2月28日' AND fhd. fhrq= '2001年2月28日') GROUPBY hpm

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。