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

12 查阅

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

发运单号 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

计算机四级