大神们看看这样的业务场景如何设计数据库

大神们看看这样的业务场景怎么设计数据库
做一个包含商品出入库的电子交易平台 用户有三类:供货商和采购商和管理员
首先供货商填写入库信息申请入库,一条入库申请可能包含多个商品
管理员查看入库申请 如同意入库则需填写实际入库数量及仓位等信息
采购商查看库存信息下订单购买 一个订单可能有库存中的多个商品
供货商因为采购商下订单或其他原因需要商品出库 填写出库信息申请出库,一次出库申请可以有多种他的在库存中的商品并且每种商品数量小于等于此种商品的库存数量
然后是安排商品配送 如果一个出库申请的中一种商品可能数量很多就需要多辆车运送,如果一个出库申请的多种商品数量不多也可能拼在一辆车内,也可能出现一个出库申请有6件商品需要用两辆车配送一辆车装载3件半商品另一辆车装载2件半的情况
商品出库了就要在库存列表中减去相应的数量 ,如果都出库了就不显示,不能出大于库存数量的货

这就是简单的业务需求 有些复杂和零碎的需求我没有写 实际上项目已经快做完了 我现在在修改bug和添加新功能 之前数据库设计和开发我没参与 我在改bug和写新功能代码时感觉数据库设计的很烂 但是由于项目已经快做完加上自己数据库设计水平有限也不会对数据库进行修改了 只是因为用到了这个数据库和对这个业务比较熟悉很想知道如果让我从头开发这套系统 怎么设计比较好 谢谢大家 
数据库是sqlseerver2008 开发工具为vs2008+.net3.5
应用为web网站 服务器因为未上线所以不清楚
------解决方案--------------------
這個一兩句話說不清楚的,大項目來的。

產品結構,倉庫物流,採購管理,配送管理,客戶關係等


------解决方案--------------------
大概有以下几个表:
 供货商列表,
 采购商列表,
 管理员列表,
 商品信息列表,
 入库单表(表头),
 入库单明细表(表体),
 出库单表(表头),
 出库单明细表(表体),
 商品配送表(表头),
 商品配送明细表(表体),
 ...