Office中国论坛/Access中国论坛
标题: 关系分析 [打印本页]
作者: adge 时间: 2004-2-22 06:44
标题: 关系分析
初学数据库,在表的设计遇到如何符合数据库设计范式问题,
公司在不同的地方有多个销售点、多个仓库及多家工厂,准备建立计算以下路线的里程表
里程ID 销售 - 仓库 -工厂 - 仓库 - 销售点 里程
1 广州 佛山 南宁 梧州 桂林 2500
2 广州 梧州 南宁 佛山 广州 4000
这个里程表应该怎么建立才符合数据库设计范式???请各位高手提点建议!!!!
作者: zhuyiwen 时间: 2004-2-22 07:16
设一个地点表/起此表/存储类型表/里程表,如何?
作者: adge 时间: 2004-2-22 07:21
高见,能否细细道来啊!!!!!!!
现在已经有一个地点表,专门记录全部销售、仓库、工厂的地点,想建立一个表专门存起止两地的里程数,但是怎么才能得出上面提出的路线的里程表呢???
作者: zhuyiwen 时间: 2004-2-22 07:37
由于地点是重复信息,故设一表
起止表,用于记录两地之间的里程
存储类型表用来确定一个里程表中记录中地点的类型
我还得想一想,画一个图
作者: adge 时间: 2004-2-22 07:40
喜悦涌上头发尖,请zhuyiwen务必将此图贴上,急切等待中。。。。!!!!
作者: zhuyiwen 时间: 2004-2-22 07:49
好大的难题,不是一会儿的事,先别激动
作者: adge 时间: 2004-2-22 08:02
今晚我等定你了。。。。不要走啊。。。。。
作者: adge 时间: 2004-2-22 08:11
自己做了个分析如下:
1.销售点至仓库是里程1,仓库至工厂是里程2,然后两个表组合成一个里程总表
2.销售点至仓库和仓库至销售点是同样的里程,只是存在当销售点或仓库为起点时,怎样不用重输入这两个地点间的里程.
3.仓库至工厂和工厂至仓库也是同样存在谁是起点时怎么处理?
4.解决好谁是起点后,紧接着就是怎么组合这些里程得到总里程?
这个思路是否正确?
[此贴子已经被作者于2004-2-22 0:31:20编辑过]
作者: zhuyiwen 时间: 2004-2-23 02:56
起止表(起止ID,起点,止点,距离)
1 广州 佛山 60
2 佛山 广州 60
3 佛山 珠海 100
4 珠海 佛山 100
.
.
路线方案表(方案ID,方案名称,方案说明)
1 从广州生产到珠海销售 家厂-仓库-销售点
.
.
里程表(里程ID,方案ID,起止ID,说明)
1 1 1 从广州厂家到佛山仓库
2 1 3 从佛山仓库到珠海销售点
里程方案视图
SELECT 路线方案.方案ID, 路线方案.方案名称, 路线方案.方案说明, Sum(起止表.距离) AS 里程
FROM (路线方案 INNER JOIN 里程表 ON 路线方案.方案ID = 里程表.方案ID) INNER JOIN 起止表 ON 里程表.起止ID = 起止表.起止ID
GROUP BY 路线方案.方案ID, 路线方案.方案名称, 路线方案.方案说明;
[此贴子已经被作者于2004-2-22 19:07:00编辑过]
作者: adge 时间: 2004-2-23 05:28
非常感谢zhuyiwen兄!!
有些问题还想和大家讨论,
1、zhuyiwen兄的起止表中,两地之间的里程要重复输入,能不能建立只要输入两地之间的里程后,不管哪里为起点都能得出两地之间的里程;
2、销售点同时也是采购点,原料从采购点采购,必须先送到仓库(A仓或B仓),再送到工厂生产,再送到仓库(A仓或B仓),再送到销售点销售点销售。如何得出原料至销售的全程运输里程?
现上传一个例库,如何建立关系,并通过查询得出从销售点至仓库至工厂至仓库至销售点的全程里程???请大家多提些建议!!!谢谢!
[attach]3597[/attach]
[此贴子已经被作者于2004-2-22 21:28:33编辑过]
作者: zhuyiwen 时间: 2004-2-23 19:33
对于第1点,你可以编制程序来管理,如果不这样做,后的程序处理起来会相当复杂.
第2点,采购点-工厂-仓库-销售点,加入到一个路线方案,分别在里程表中确定采购点-工厂/工厂-仓库/仓库-销售点的里程,然后通过里程方案视图得出该方案的总里程.
在你的库中,可以用以查看销售点/仓库/工厂的分布,可以用做上面的约束条件.
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |