LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1292|回复: 12

数据库设计问题

[复制链接]
发表于 2003-6-7 21:23:23 | 显示全部楼层 |阅读模式
为公司设计库存管理系统,因为是服装行业,需要分颜色分尺码来管理商品库存。报表格式如下图,请教各位大虾该如何来建立数据库才能达到效果。
说明:对应每一个货号有不同的尺码、有不同的颜色,货号与尺码、货号与颜色之间是一对多的关系,而尺码和颜色之间变成多对多的关系。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2003-6-8 20:07:32 | 显示全部楼层
建立一张表,有四个字段,分别是货号、颜色、尺码、数量。以前三个字段作为主键。可以唯一的确定一个品种的数量。
发表于 2003-6-9 08:08:56 | 显示全部楼层

我的建议

首先我想这里有三个对象:货号,尺码,颜色,它们之间的关系(从这张表来看)并非象老兄你想象的那样简单。首先的你的库存里应该没会按你的货号来存储吧。你的货号应该相当于入库单(或者是出库单之类的东西)。
一个库存管理系统最重要的是三个方面:一个出库,一个入库,一个库存。
那么我想你的库存管理系统中应该有入库单、出库单这两种最基本的对仓库对象操作根据。然后才考虑你的那张表(我想这里应该还有一张表才对吧),这样分你仓库里存储的物品是根据颜色+尺码来分的,也即仓库中同一颜色同一尺码的东东作为同一产品,那么应该有一张表为体现库存的表,然后考虑,你的库存变动应该有一个根据,这有应该有入库单的体现表和出库单的体现表,然而确定一张入库单根据就和kj501耈兄说的应该有点不同,在这里我建议你入库单分为两个表来存储,第一张表存储唯一确定入库单的数据库(这里应该是入库单号,可能就是你说的货号吧),然后再有一张表存储这张入库单的明细,也即货号的明细),这样才能更灵活的体现这种关系。同样出库单也要如此处理。
所以我的建议:应该最少有五张表来体现你的库存管理。
二张入库单和入库单明细表,二张出库单和出库明细表,一张库存体现表。
当然通常情况下这种分法是不够的,比如说你要对颜色进行管理,对尺码进行管理,对产品型号进行管理,具体的库存管理系统中数据库设计是最重要的。
要仔细考虑。
 楼主| 发表于 2003-6-9 08:24:57 | 显示全部楼层
出库单,入库单的表现应该是一样的,只是计算方式不同而已。出库、入库都使用上面的格式来输入。我现在只考虑如何建立表来分色分码存储我的库存数量。

根据版主的提示,我的初稿如下,请指正:
建立四个数据表:
1、货号表(ID,货号)
2、尺码表(ID,货号,尺码,尺码代号)
3、颜色表(ID,货号,颜色,颜色代码)
4、库存数量表(ID,货号,尺码,颜色,数量)

如果上面的数据库结构可行,那么我单独编辑完尺码和颜色后,该如何将尺码横向显示,颜色纵向显示,然后输入数量后如何写入数据表?
发表于 2003-6-9 12:23:46 | 显示全部楼层
将数据按一定的格式显示,应该是报表设计的问题。
如果要把货号、尺码、颜色做成E-R模型中的实体,库存数量表就成为联系,也就是这样:
1、货号表(货号ID,货号)(如果货号无重复,并且是数字,干脆就用货号做为主码,不需要货号ID。)
2、尺码表(尺码ID,尺码,尺码代号)
3、颜色表(颜色ID,颜色,颜色代码)
4、库存数量表(库存表ID,货号ID,尺码ID,颜色ID,数量)
然后设置参照完整性就可以了。
原来的设计中第一个表都有一个货号字段,会造成不必要的冗余。
发表于 2003-6-9 13:56:49 | 显示全部楼层
如果按kj501老兄说的话
“货号与颜色之间是一对多的关系”就没有体现出来了
几张表之间也不能通过某个主键建立关连了。
库存表也不是那么直观。
呵呵~~~
不知我说得对不对,可能还是我太sha了,不明白中间的关键所在
不过这样计论才有点意思,我们这个版面太多的安装方面的问题了,实际应用方面太少。
发表于 2003-6-9 14:23:40 | 显示全部楼层

我想关于数据输入不是什么大问题。

数据录入和数据显示象楼上的老兄说一样,应该是界面设计和报表的事情了。
数据库设计最关键的问题就是要找出各种数据之间的联系和各数据之间的参照完整性。防止出错。对原始数据的分析与建模是最重要的,兄弟要我们在这里说数据库怎么样设计,实在是很难,我们只能给出建议。仓库管理看起来简单,做起来可也不怎么简单。
这里我就我公司原来的成品仓库管理系统的制作简单的说一下:(简要说明)
第一步:当然是原始单据的收集与分析了。我们公司的成品仓库涉及的单据主要有:成品入库单,出货通知单,送货单,成品出库单,品质重检单。在这一步确立各种单据之间的关系。比如说成品出库单是与送货单相关联的。而成品入库单只与品质部的一些单据有关(因为只是涉及到仓库管理,所以也就略去其他部门),相对独立,出货通知单与仓库管理没有太的关系,到最后与仓库有关的单据只有成品入库单,成品出库单,送货单,品质重检单。
第二步:收集用户需要,主要的用户需要有以下几个方面:成品入库,成品出库,成品重检,成品入库,出库查询,成品查询,统计(包括月入库,月出库,日入库,日出库,年入库,入出库,指定时间入出库等各处统计工作),成品分类统计,报表打印等。
第三步:根据上而两步设计数据库:
   其中大致有以下几个表:
    用户表(用于用户管理),产品资料表, 产品尺寸表,产品厚度表,成品入库单表,成品入库单明细表,成品出库单表,成品出库单明细表,仓库库存表,月结表,日结表等。
第四步:用户界面设计
第五步:报表设计
当然由于我们的仓库比较大,产品种类比较多,业务关系也很复杂,所以我只能象上面这样简要的说明一下。具体的实施的时候还有更的麻烦事。
发表于 2003-6-9 22:48:32 | 显示全部楼层
最初由 skywx 发表
如果按kj501老兄说的话
“货号与颜色之间是一对多的关系”就没有体现出来了
几张表之间也不能通过某个主键建立关连了。
库存表也不是那么直观。
呵呵~~~
不知我说得对不对,可能还是我太sha了,不明白中间的关键所在
不过这样计论才有点意思,我们这个版面太多的安装方面的问题了,实际应用方面太少。

货号和颜色之间有函数依赖关系吗?
我觉得它们之间没有什么联系呀。
发表于 2003-6-9 22:54:11 | 显示全部楼层
小型的数据库我也做过。搜集信息时有一个比较简便的方法,就是搜集各种有关的表格,从表格上找出需要的信息,去掉可以被其它信息计算出来的,再找出它们之间的依赖关系,规范化之后数据设计就完成了。这只是个大概的流程,实际过程自然还有很多困难。
 楼主| 发表于 2003-6-11 08:36:25 | 显示全部楼层
在我看来,收集数据还算比较简单。更关键的是建立数据库模型,以及如何将以前纸上作业的东西方便的移植到计算机操作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表