解决方案 »
- 几个SQL查询问题
- 急,在线等啊。各位大虾帮帮忙了。关于合计的问题
- 十几万条记录,对数据库操作时CPU很高????
- 我有一字段 存放 ip地址 读取时怎样才能使它去掉最后部分,而用*代替
- sql2005中导入EXCEL文件的问题
- 如何在一个存储过程里调用另一个存储过程(不使用exec)
- 报错:[DBNETLIB][ConnectionRead (recv()).]一般性网络错误。请检查网络文档
- 关于数据类型转换的问题,敬请高手指点。
- SQL2000是什么数量级的数据库?
- 慢慢慢慢????
- SQL查询考勤打卡的问题 (SQL2008)
- sql数据库的一个时间类型字段与当前时间比较,要是大于等于的时候就执行某sql语句
基础信息表(物料):1.id物料,2.名称……
基础信息表(成品):1.id成品,2名称……
BOM表:1.idbom,2.id成品,3.id物料(将这2个设置为复合主键),4物料需求量
这样就可以了,很简单的,自己多东下脑子
如果需要10条裤子,首先从成品表中获取id成品,再去bom表中查看用料明细,这样就可以了,自己在拓展一下,生产什么的都很简单的
你说的和我现在的设计是一样一样的。我的问题是:
基础信息表(物料):1.id物料,2.名称……
基础信息表(成品):1.id成品,2名称……
BOM表:1.idbom,2.id成品,3.id物料(将这2个设置为复合主键),4物料需求量意思,我物料表里有个衬衫物料 那我如果把它当做一个商品销售,是不是还要在成品表里建立一个衬衫商品 并建立BOM也就是说
成品 表:A001 , W衬衫S码
物料 表:101 , W衬衫S码
商品与物料BOM 关系表:成品编号A001,物料编号101,物料数量 1W裤子在物料表里,物料表里还有布和服装辅料
现在要做一些W裤子,这个是不是又要新的BOM表? 就是说W裤子的子物料?还有个问题,我的库存表 物料库存,还是成品库存? 因为成品是不是没办法统计库存,因为一个物料很可能被N个成品使用。怎么统计库存?
这句我描述有点问题,我意思是,我按单来发货的,就是说今天来了两个A001 我就按A001的BOM 看需要发什么发几个。所以
成品没办法搞库存是不是?
你说的和我现在的设计是一样一样的。我的问题是:
基础信息表(物料):1.id物料,2.名称……
基础信息表(成品):1.id成品,2名称……
BOM表:1.idbom,2.id成品,3.id物料(将这2个设置为复合主键),4物料需求量意思,我物料表里有个衬衫物料 那我如果把它当做一个商品销售,是不是还要在成品表里建立一个衬衫商品 并建立BOM也就是说
成品 表:A001 , W衬衫S码
物料 表:101 , W衬衫S码
商品与物料BOM 关系表:成品编号A001,物料编号101,物料数量 1W裤子在物料表里,物料表里还有布和服装辅料
现在要做一些W裤子,这个是不是又要新的BOM表? 就是说W裤子的子物料?还有个问题,我的库存表 物料库存,还是成品库存? 因为成品是不是没办法统计库存,因为一个物料很可能被N个成品使用。怎么统计库存?
你这个问题搞的我就很莫名了,按道理来说,你成品有成品的库存,物料有物料的库存,2个不大噶的,为什么搞到一块去,还有你说的那个几个东西作为一个货品来销售,那就表那几个定西组成一个单号,是一组东西,作为销售
例如:销售表头:1.id表头,2.销售单号,3,销售日期
销售明细:1.id商品,2.id表头,3.订购量,4.出库量
成品库存:1.id商品,2现有库存量,3.安全库存量
物料库存:1.id物料,2现有库存量,3.安全库存量
销售→出库→成品库存更新→某个成品需要生成→生产→减去物流库存→检查物流库存
你的思维有点混乱,你需要理清楚整个流程
卖衣服,可以先不考虑设计bom,你可以参考天猫的一些设计,从产品分类,产品特征(属性分类,属性值),最后SKU。
衣服你可以考虑从款式+尺码+颜色 ,这3个属性构成一个SKU。一套衣服可以设计成有几个SKU组成。在设计上如何描述呢,可以参考:|---- 产品大类 (+ 属性 +属性值)
|---------- 产品子类 (+ 属性 +属性值)
|--------Detail (Detail层也可以定价,设库存, 有些产品这层也可能有特殊的属性,可以另+属性+属性值)
|------SKU (可以SKU层可以定价,设库存)
2.针对电子产品:
SKU不采用衣服的组合方式,需要根据某一或几个产品属性分类构成SKU。如手机,可以是款式+颜色+内存大小 ,或还加别的属性组成SKU。二、 BOM结构设计方法:可以考虑最简单实用的方法,就是物料到成品的组成关系,在数据库中可描述为嵌套关系,即父子关系。简单分层:
1. 物料
2.半成品
3 .配件(组件)
4.成品简单的BOM表可以这样:BOM_component:
componentID component_type parent level qty unit ..... component_type 可以是成品 或物料或其他,当component_type=成品 ,componentID指向前面的产品表。如果是物料,那么指向物料表(需要先设计1个物料表,描述物料基础信息和采购来源等)
进一步扩展,一成品可能这次的用料是这样,下次生产用料又是另一样,我们可以考虑在BOM_component:加入1字段来区分。
我有个产品BOM关系
如 A001 产品包括
物料号,数量
101 , 1
307 , 2那么,我想法是A001 本身是没有库存的,物料才有库存
当今天有人购买一个A001 我就根据BOM关系 把101减去1,307减去2
这样想对吗?还是说 A001 要有库存?物料也要有库存,需要有一个A001制造入库,同时101,307 制造出库?那如果这样想是对的。那我该设计几个表?
如 A001 产品包括
产品ID, 物料号,数量
A001, 101 , 1
A001, 307 , 2
那么,我想法是A001 本身是没有库存的,物料才有库存
当今天有人购买一个A001 我就根据BOM关系 把101减去1,307减去2
这样想对吗?还是说 A001 要有库存?物料也要有库存,需要有一个A001制造入库,同时101,307 制造出库?
那如果这样想是对的。那我该设计几个表?
1.BOM表里面的数量不是库存,只是描述生产某一单个产品所需物料的数量。
2.如果你想描述物料库存,需要专门一个物料库存表来描述。同理,产品也是类似。
3.卖了1件产品(如A001),不是减少某一个物料的库存来描述减少1个产品。物料的减少是发生在生产过程,而不是销售过程。物料变成产品,不是一个量的改变,而是质的改变。这里描述一个简单的采购物料-->销售产品的过程:
买物料-->入库-->存储-->工场加工消耗物料-->产出产品-->销售成品(商品)所以卖出1件产品,是成品的数量减少,而不是物料的减少。
componentID component_type parent level qty unit ..... component_type 可以是成品 或物料或其他。在销售中,要明确区分各种可销售的Item :
Item Item_type Item_type 描述的是Item类型(如,产品,配件,或物料)当Item_type =产品,Item指向产品表;
当Item_type =配件,Item指向配件表;
当Item_type =物料,Item指向物料表。
类型 = {
原料:不能直接拿来卖的
单件:产品的最小组成(以可能单独发货的标准衡量,如果会补客户一只手套就按只算,否则就按副算)
套装:多个单件组合成的产品
}
比如手机分为机身、电池、耳机、充电器等,即使实际不拆开,也要按照分开的单件入库。
用来销售的搭配一电一充、两电一充就是不同的套装了。
商品标志 = {True,False}
原料肯定为 False,套装应该为 True(False表示下架了?)。
考虑单件也可以单独卖(比如一副耳机),所以加个标志方便出商品目录。二、物料表 BOM(父ID,子ID,子数量)
没有“C套装=A套装+B套装”的多级关系,将A、B套装的单件合并起来就是C套装的BOM。
这里的“父—子”可以指“单件—原料”,也可以指“套装—单件”。
tips: 对于 商品标志=True 的单件,如果不是自产的,加一条 (A103,A103,1) 的记录,
有惊喜——就是所有商品都有 BOM 表,写查询会简单得多。三、库存表 S(ID,库存数量)
其实也可以合并到 M 表中,但是作为经常更新的字段,还是单列吧。
原料和单件一定要记录库存数量;
套装也可以记一个最大可销售数量,按照单件的数量计算。
1.BOM表里面的数量不是库存,只是描述生产某一单个产品所需物料的数量。
2.如果你想描述物料库存,需要专门一个物料库存表来描述。同理,产品也是类似。
3.卖了1件产品(如A001),不是减少某一个物料的库存来描述减少1个产品。物料的减少是发生在生产过程,而不是销售过程。物料变成产品,不是一个量的改变,而是质的改变。这里描述一个简单的采购物料-->销售产品的过程:
买物料-->入库-->存储-->工场加工消耗物料-->产出产品-->销售成品(商品)所以卖出1件产品,是成品的数量减少,而不是物料的减少。
物料库存归物料库存
成品库存归成品库存
2个没关系的
1.产品表
这个表里记录,不管是外购的,还是自己产的 只要可以卖的都放在这个表里
(这个有相关的 产品出库,产品入库,盘点表,产品库存等等)2.物料表
这个表里记录,只要是需要自己生产装配的辅料及配件都放在这个表里,就是说这里保存的物料配件是为了最终生产产品的
(这里也有相关的 物料出库,物料入库,盘点表,物料库存等)3.产品BOM表 (这个是记录自产产品的构成清单,如果我有些产品是自己装配生产的,那么,这个表就是产品所包含的物料及用量的关系)4.物料BOM表 (这个表是记录物料间的父子关系的)
物料BOM表这个表有必要吗?为什么?问题1 :看看合理不?是不是有点复杂,或者不合理,能帮我提提建议或者按你的思路给我讲解一下可以不?
问题2:针对上面第1,和第2两个表的解释 我有如下问题
如果我外购了一个产品 是一套女内衣(胸罩+内裤) 按我上面的设计是放在产品表里的对吧, 现在例如卖出一套客户收到这套内衣反应这个内裤坏了,那么我给重新发个内裤 这个又怎么操作扣一个产品的库存吗?因为这个是外购的,物料表里没有这个配件(内裤或胸罩)也没就没有单独的内裤库存,胸罩库存。
这个问题,我是这样想的你看对不?不管是外购还是自产,外购来个衬衫也放在物料表里一个衬衫,外购来套内衣,我就拆开,一个内裤物料,一个胸罩物料,再给他们建立产品关系,
产品表 产品编号 ,产品名 , 属性
A001 ,W牌红色内衣全套 , 外购
A002 ,H牌蓝色衬衫 , 外购
A003 ,888型内衣全套 , 自产物料表 物料编号 , 物料名 单位
601 , W牌红色胸罩 , 件
602 , W牌红色内裤 , 件
603 , H牌蓝色衬衫 , 件
604 , 888型号布料 , 米
605 , 888型号胸罩吊带8字扣 , 个
606 , 888型号胸垫 , 个
产品BOM表 产品编号 , 物料编号,物料用量
A001 , 601 , 1.0
A001 , 602 , 1.0
A002 , 603 , 1.0
A003 , 604 , 0.6
A003 , 605 , 2
A003 , 606 , 2按以上表数据来,如果给客户寄的时候,直接寄个物料602 对不,
问题3:那么,我是不是A001,A002 这个都要有个生产动作是不?
BOM 表
内衣,胸罩,1
内衣,内裤,1购入10套,分单件入库为
M 表
胸罩,10
内裤,10
内衣,10 <- 可选,记下来便于查询可销售数卖出1套,减库存数
M 表
胸罩,9
内裤,9
内衣,9补发1条内裤
M 表
胸罩,9
内裤,8
内衣,8 <- 可销售数也下降了
作为面向销售的系统,BOM 关系直接扁平化就可以了。
你只要知道用什么原料可以生产出某产品、用什么单件可以打包成某套件。至于生产过程有什么中间产物、打包是否要分级包装,完全不用关心,只要关心最终结果。表1、2分开也没有关系;
表3不仅限于自产;
表4 完全可以丢弃。
库存还是单独出来好,否则同样的 BOM 运算就因为表不同要分开写 UPDATE 语句了。
还有一个问题。
1.将所有东西放在一个表里,合理不?对以后扩大增强有影响不?且不管数据量大小问题。
2.根据你15楼的理解,我就要有几个逻辑理解。
2.1 成品(商品) BOM关系父子关系的 子 只能是单品。(这里有个包装材料也属于原料,我可以再通过一张表来记录产品或单品的包装料)
2.2 单品 的BOM 也在BOM表里记录一条 父子都是自己。方便查询。
2.3 我还要有张生产BOM表 就是属于自加工的单品 有个对应的物料清单,对吧?
3.单品,原料,包装材料,有几个必须动作就是外购入库或生产出入库,拆解入库(如果是自产的,可以按上面2.3的清单拆分入库,相应原料库存增加且单品库存减少)
4.成品有个组装入库,拆分出库。其中组装入库是按BOM关系对应的单品库存量并以操作人输入的方式设置成品库存量,按成--单品BOM关系并相应减少单品库存。拆分出库是将产品按BOM清单里的单品拆分,并相应的增加单品库存。我以上描述有不合理的地方吗?
如果对了,我就要下手了。结贴给分,并发自肺腑感谢。
2.1 没错,拆分到单品就避免了多级BOM
2.3 不要。你是销售系统,忘了生产和打包,BOM 只是说哪些物品的可以组合[b]成另外一个物品,至于组合怎么操作,系统不管。
区分原料和单品只是为了理解方便,原料的组装需要时间、单品的组装立马可以完成。
对系统规则没影响。
如上,管他怎么来的,有东西就入库,没有区别。
套装在系统记录上按拆分入库,实际动作上没必要拆,只要你能在仓库中找到对应物品。
----------------------------------------------------------------------------------------------------------------------
没有组装入库 也就是说套装的实际库存,因为你只有套装其子单品的库存,
例如 按你18楼说的如下BOM 表
内衣,胸罩,1
内衣,内裤,1
购入10套,分单件入库为
M 表
胸罩,10
内裤,10
内衣,10 <- 可选,记下来便于查询可销售数那我胸罩卖了一个,我是否要去再减掉 套装1,减掉胸罩 1
关键是,我程序有个功能就是,按当前在卖的东西实际库存量修改在线量
我20楼所说的,有个组装过程,就是为了让每个在卖的产品有准确的库存,例如程序提示套装库存不足,管理人员收到提示立即查看其子单品库存量,并适当组装成套装入库或者对单品采购或者生产。
例如,我在线的 有胸罩,有内裤,也有套装,那你说,我程序去修改在线库存量的时候,该如何确定他们三个哪个确切库存,如果我都改成10 ,那一下子今天胸罩今天卖了10个 套装卖了2个。怎么办?程序再去分析哪个卖的更好?或者按都有10个库存,那保守点都上5个。这样不太准确。
你所有的问题只不过在围绕怎么卖,库存怎么算而已,
什么组装,什么拆分都出来了,如果你套装卖的是不一样的钱,那就要一个套装的bom表,如果不是那无所谓拉
最好的如果你要套装的话bom表(套装):id套装,id单品
bom表(单品):id单品,id物流
库存表(子物料):id物料,库存,单位
库存表(成品表):id单品,库存,单位,套装否