为某公司开发一个用于管理产品发运的数据库。经调查分析,并经简化处理后,得到的数据项列表如下:发
为某公司开发一个用于管理产品发运的数据库。经调查分析,并经简化处理后,得到的数据项列表如下:
发运单号 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)、总重量)。
参考答案: