一个经典的数据库结构设计问题?

我本来就叫顾影 2002-04-30 11:44:43
现要求设计一个数据库,要求能够从一张表中看到所有的商品信息,如商品编码,商品名称,庋量单位、所在库位,供应厂商,库存量等,并且今后这样一个数据库可能还要存储关于客户订单,销货、进货记录等信息,你应该怎样设计数据库中的各个表,来实现可扩展性和可维护性?

我是这样的设计的:
------------------------
KW表 (库位表)
库位编码 ---主键
库位名称

SPBM表 (商品编码)
商品编码 ----主键
商品名称
库位编码
计量单位编码
供应商编码

JL表 (计量单位表)
计量编码 ---主键
计量名称

GYCS表 (供应厂商表)
供应商编码 ---主键
供应商名称
地址
联系电话

KCSP表 (库存商品表)
商品编码
库位编码
供应商编码
库存量
-----------------------------
最后用SELECT进行多表查询,按键值之间的对应关系,实现显示命题中所要求的目的。


各位认为这样设计有什么不妥,或请提出你的高见?

回贴者有分!
...全文
30 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunnycai 2002-05-01
同意: IsMe() 的,你己知道了商品编码不就等于知道了供应商吗?因为在商品表中已有的供应商的编码了。查询就可行到,何必在库存中存在呢。
回复
forever_chang 2002-05-01
数据库设计的考虑的因素还有很多,比如数据的多少,经常要进行哪些查询,可扩展性等等。
回复
ISME:

你的第一个我同意!
第二个我不敢认同。
如果库存表不应用有供应商编码,我最终怎样通过多表查询来实现看到库存商品的所有信息呢,比如说看到这个商品从哪里买来的?
回复
IsMe 2002-05-01
商品编码表中不应有库位编码
库存表不应有供应商编码
回复
h_S2000 2002-05-01
建立三张表:table_Main记录主要信息如id,商品编码,商品名称,庋量单位、所在库位,供应厂商,库存量等

table_sub建立id,主表id,detail_id,数值

table_detail 建立id,项目名称(动态扩充信息)如关于客户订单,销货、进货记录等信息

思路关键:找到出扩充信息的共性

回复
明白了,这个是我的错误!

我这个案例是用来教学用的,当时讲的时候,在商品编码表中没有库位编码
在库存表没有供应商编码,但有一个学生说那样设计不符合数据库建模的理论,然后般出一大堆建模术语,其实我建数据模型从来都是靠经验,做多了,自然就有了,你们说我如果在商品编码表中没有库位编码,在库存表没有供应商编码,就真的不符合数据建模的理论吗?
回复
发动态
发帖子

1180

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
社区公告
暂无公告