探讨进销存系统数据库设计逻辑

商城类电商软件及服务提供商--HiShop海商,欢迎您!

最新消息报道,进销存系统数据库设计,对于一个系统来说是不可缺少的一部分,那么如何做好数据库的设计呢下面我们就来具体来说下。

理清一下整个进销存系统逻辑:

2、断货表的内容是怎么来的余额为零时就生成记录吗通过查询总表来得出断货的记录就可以了,何必设一个表

3、在实际的系统中,我觉得最好不要使用不规范的计量单位,比如:包(不是小包,是那种大的包装)、瓶、件、车等。因为不能用来确定实际数量,比如一包中可能有10瓶,可能有20瓶,很可能会有调整。我以前公司用过的系统就有过这样的问题,一包由6个单位改成5个单位,使用人理所当然地在基础资料里将6改成5,结果所有报表都不对。既然你在数据库里保存的就是瓶,就让用户录入以瓶为单位的(虽然我觉得若是生产型的企业,以瓶也不严格,因为可能有大瓶,小瓶。我们现在公司用的单位大家猜猜,是用升的,MYGOD,真是晕死了。但我觉得只有用L才是准确的,因为用瓶,根本不能确定诸如实际产量之类的数据,实际产量非要用L才准确。)。不过实际情况中也不能要求太高,但是一定要注意避免这样的问题。所以我觉得你这里肯定也最好就用瓶来做单位,不允许用其他单位。因为可能换算关系会变,但操作员的思路不会变的,他上次一包是4瓶,他会录入1包,现在是1包5瓶,他肯定也是录入1包的。结果当然会乱了。

4、加上月结的处理,按你的思路,需要存分月的出入库总表,在月结时,当月没有业务发生的数据也要在总表中有记录,而不是等到以后月份有出入库了再去补充。这样才能保证总表中的记录的完整的。试想一下,若不是这样,你按总表出本月余额表是不是会很难(因为本月无记录的,需要找最近月份的记录查出当时的余额,怎么样SQL语句都会难写些,效率也低很多)。我怕你到时候又要来问该怎么写这样的SQL了。

6、建议找点写得好的进销存系统的数据库来研究研究。不要被这样糟糕的设计耽误了。

7、不会数据库、不会SQL不是最要紧的,设计数据库只是个技术活,对业务的理解,系统的分析与设计才是最根本的。

下面举个进销存系统数据库设计例子:

CREATETABLEuser(

User_Idvarchar(6),

User_Pwdvarchar(8)NULL,

Again_Pwdvarchar(8)NULL,

Bel_Groupvarchar(3)NULL,

Div_Typevarchar(1)NULL,

User_Authvarchar(1)NULL,

Auth_Typevarchar(1)NULL,

User_Statusvarchar(1)NULL,

Create_Uservarchar(6)NULL,

Create_Datevarchar(7)NULL,

Create_Timevarchar(6)NULL,

Appr_Uservarchar(6)NULL,

Appr_Datevarchar(7)NULL,

Appr_Timevarchar(6)NULL,

Pwd_Datevarchar(7)NULL,

Err_CountfloatNULL,

Use_eJCICvarchar(1)NULL

)

CREATETABLESupplier/*供应商表*/

(

Supplier_IDintIDENTITY(1,1)NOTNULL,/*供应商编号,主键*/

Namevarchar(250)NOTNULL,/*供应商名称*/

Addressvarchar(250)NOTNULL,/*地址*/

Faxvarchar(25)NULL,/*传真*/

PostalCodevarchar(10)NULL,/*邮编*/

ConstactPersonvarchar(20)NULL/*联系人*/

CREATETABLECustomer/*客户表*/

Customer_IDintIDENTITY(1,1)NOTNULL,/*客户编号,主键*/

Namevarchar(250)NOTNULL,/*客户名称*/

CREATETABLEDept/*部门表*/

Dept_IDintIDENTITY(1,1)NOTNULL,/*部门编号,主键*/

Namevarchar(30)NOTNULL,/*名称*/

Remarkvarchar(250)NOTNULL/*描述,备注*/

CREATETABLEDept_Supplier/*部门--供应商表*/

Dept_IDintNOTNULL,/*部门编号,主键,外键(参照DEPT表)*/

Supplier_IDintNOTNULL/*供应商编号,主键,外键(参照SUPPLIER表)*/

CREATETABLEDept_Customer/*部门--客户表*/

Customer_IDintNOTNULL/*客户编号,主键,外键(参照SUPPLIER表)*/

CREATETABLEStoreHouse/*仓库表*/

StoreHouse_IDintIDENTITY(1,1)NOTNULL,/*仓库编号,主键*/

Employee_IDINTNOTNULL,/*仓库保管,外键(参照EMPLOYEE表)*/

CREATETABLEProductClass/*商品总分类表*/

ProductClass_IDintIDENTITY(1,1)NOTNULL,/*商品总分类编号,主键*/

Namevarchar(30)NOTNULL,/*商品分类名称*/

Employee_IDINTNOTNULL,/*建分类人,外键(参照EMPLOYEE表)*/

Remarkvarchar(250)NULL,/*描述,备注*/

CREATETABLEProductList/*商品细分类表*/

ProductClass_IDINTNOTNULL,/*商品总分类编号,外键(参照PRODUCTCLASS表)*/

ProductList_IDintIDENTITY(1,1)NOTNULL,/*商品细分类编号,主键*/

Namevarchar(30)NOTNULL,/*商品名称*/

CREATETABLEProductSpec/*商品规格表*/

ProductSpec_IDINTIDENTITY(1,1)NOTNULL,/*商品规格编号,主键*/

Namevarchar(30)NOTNULL,/*商品规格名称*/

Employee_IDINTNOTNULL,/*操作员,外键(参照EMPLOYEE表)*/

Remarkvarchar(250)NULL/*描述,备注*/

CREATETABLEProductUnit/*商品计量单位表*/

ProductUnit_IDINTIDENTITY(1,1)NOTNULL,/*计量单位编号,主键*/

Namevarchar(30)NOTNULL,/*计量单位名称*/

CREATETABLEProduct/*商品目录表*/

ProductList_IDintNOTNULL,/*商品细分类编号,外键(参照PRODUCTLIST表)*/

Product_IDINTIDENTITY(1,1)NOTNULL,/*商品名称编号,主键*/

ProductSpec_IDINTNOTNULL,/*商品规格,外键(参照PRODUCTSPEC表)*/

ProductUnit_IDINTNOTNULL,/*计量单位,外键(参照PRODUCTUNIT表)*/

PriceMONEYNULL,/*参考价格*/

CREATETABLEProduct_Supplier/*商品--供应商表*/

Product_IDINTNOTNULL,/*商品名称编号,主键,外键(参照PRODUCT表)*/

Supplier_IDINTNOTNULL/*供应商编号,主键,外键(参照SUPPLIER表)*/

CREATETABLEEmployee/*员工表*/

Employee_IDINTIDENTITY(1,1)NOTNULL,/*员工编号*/

Dept_IDINTNOTNULL,/*所属部门编号*/

Namevarchar(30)NOTNULL,/*姓名*/

Dutyvarchar(20)NOTNULL,/*职务*/

Gendervarchar(6)NOTNULL,/*性别*/

BirthDatedatetimeNOTNULL,/*出生日期*/

HireDatedatetimeNULL,/*合同签订日期*/

MatureDatedatetimeNULL,/*合同到期日*/

IdentityCardvarchar(20)NULL,/*身份证号*/

Addressvarchar(250)NULL,/*住址*/

Emailvarchar(30)NULL/*E_MAIL*/

/*-///////////////////////////////////////////////////////////////////////////////////////-*/

CREATETABLEBuyOrder/*进货合同*/

BuyOrder_IDINTIDENTITY(1,1)NOTNULL,/*进货合同编号,主键*/

WriteDatedatetimeNOTNULL,/*合同签订日期*/

InsureDatedatetimeNOTNULL,/*合同生效日期*/

EndDatedatetimeNOTNULL,/*合同到期日期*/

Dept_IDINTNOTNULL,/*签订部门,外键(参照DEPT表)*/

Supplier_IDINTNOTNULL,/*供应商,外键(参照SUPPLIER表)*/

Employee_IDINTNOTNULL/*合同主要负责人,外键(参照EMPLOYEE表)*/

CREATETABLEBuyOrder_Detail/*进货合同明细表*/

BuyOrder_IDINTNOTNULL,/*进货合同编号,主键,外键(参照BUYORDER表)*/

Product_IDINTNOTNULL,/*所进商品编号,主键,外键(参照PRODUCT表)*/

QuantityINTNOTNULL,/*商品数量*/

PricemoneyNOTNULL/*商品进价*/

CREATETABLEEnterStock/*入库单表*/

EnterStock_IDINTIDENTITY(1,1)NOTNULL,/*入库单编号,主键*/

Dept_IDINTNOTNULL,/*入库部门,外键(参照DEPT表)*/

StoreHouse_IDINTNOTNULL,/*所入仓库,外键(参照STOREHOUSE表)*/

Employee_IDINTNOTNULL/*入库人,外键(参照EMPLOYEE表)*/

/*需添加仓库保管员如何来验证入库单*/

CREATETABLEEnterStock_Detail/*入库单明细*/

EnterStock_IDINTNOTNULL,/*入库单编号,主键,外键(参照ENTERSTOCK表)*/

Product_IDINTNOTNULL,/*此种商品编号,主键,外键(参照PRODUCT表)*/

QuantityintNOTNULL,/*此种商品数量*/

PricemoneyNULL,/*此种商品参考价格*/

HaveInvoicebitnotnull,/*此种商品有没有开发票(缺省为0,有没有开票)*/

InvoiceNumvarchar(30)NULL/*发票号*/

CREATETABLEBackStock/*退库单表*/

BackStock_IDINTIDENTITY(1,1)NOTNULL,/*退库单编号,主键*/

Dept_IDINTNOTNULL,/*退库部门,外键(参照DEPT表)*/

StoreHouse_IDINTNOTNULL,/*所退入仓库,外键(参照STOREHOUSE表)*/

Employee_IDINTNOTNULL,/*退库人,外键(参照EMPLOYEE表)*/

Remarkvarchar(250)NULL/*退库原因*/

CREATETABLEBackStock_Detail/*退库单明细表*/

BackStock_IDINTNOTNULL,/*退库单编号,主键,外键(参照BACKSTOCK表)*/

Product_IDINTNOTNULL,/*所退商品编号,主键,外键(参照PRODUCT表)*/

QuantityintNOTNULL,/*退入数量*/

PricemoneyNULL/*参考价格*/

CREATETABLELeaveStock/*出库单表*/

LeaveStock_IDINTIDENTITY(1,1)NOTNULL,/*出库单编号,主键,外键(参照LEAVESTOCK表)*/

Dept_IDINTNOTNULL,/*出库部门,外键(参照DEPT表)*/

StoreHouse_IDINTNOTNULL,/*所出仓库,外键(参照STOREHOUSE表)*/

ToStoreHouse_IDINTNOTNULL,/*所入仓库,外键(参照STOREHOUSE表)*/

Employee_IDINTNOTNULL/*出库人,外键(参照EMPLOYEE表)*/

/*仓库保管员如何来验证出库单*/

CREATETABLELeaveStock_Detail/*出库单明细表*/

LeaveStock_IDINTNOTNULL,/*出库单编号,主键,外键(参照BACKSTOCK表)*/

Product_IDINTNOTNULL,/*所出商品编号,主键,外键(参照PRODUCT表)*/

QuantityintNOTNULL,/*出库数量*/

PricemoneyNULL/*出库价格*/

CREATETABLEBackSale/*退货单表*/

BackSale_IDINTIDENTITY(1,1)NOTNULL,/*退货单编号,主键*/

BackDatedatetimeNOTNULL,/*退货日期*/

Dept_IDINTNOTNULL,/*退货部门,外键(参照DEPT表)*/

StoreHouse_IDINTNOTNULL,/*退入仓库,外键(参照STOREHOUSE表)*/

Employee_IDINTNOTNULL,/*退货人,外键(参照EMPLOYEE表)*/

Remarkvarchar(250)NULL/*退货原因*/

CREATETABLEBackSale_Detail/*退货单明细表*/

BackSale_IDINTNOTNULL,/*退货单编号,主键,外键(参照BACKSTOCK表)*/

QuantityintNOTNULL,/*退货数量*/

PricemoneyNULL/*价格*/

CREATETABLESaleOrder/*销售合同*/

SaleOrder_IDINTIDENTITY(1,1)NOTNULL,/*合同编号,主键*/

Customer_IDINTNOTNULL,/*客户编号,外键(参照CUSTOMER表)*/

CREATETABLESaleOrder_Detail/*销售合同明细表*/

SaleOrder_IDINTNOTNULL,/*销售合同编号,主键,外键(参照BUYORDER表)*/

Product_IDINTNOTNULL,/*销售商品编号,主键,外键(参照PRODUCT表)*/

Quantityintnotnull,/*商品数量*/

Pricemoneynull/*商品进价*/

CREATETABLEBuy/*进货表(验货表)*/

Buy_IDINTIDENTITY(1,1)NOTNULL,/*进货编号,主键*/

ComeDatedatetimeNOTNULL,/*进货日期*/

Dept_IDINTNOTNULL,/*进货部门,外键(参照DEPT表)*/

Employee_IDINTNOTNULL/*验货人,外键(参照EMPLOYEE表)*/

CREATETABLEBuy_Detail/*进货表明细(验货表)*/

Buy_IDINTNOTNULL,/*进货编号,主键,外键(参照BUY表)*/

Product_IDINTNOTNULL,/*商品编号,主键,外键(参照PRODUCT表)*/

BuyOrder_IDINTNULL,/*采购合同,外键(参照BUYORDER表)*/

Quantityintnotnull,/*数量*/

Pricemoneynull/*价格*/

/*BUYORDER_ID为NULL时,为现金进货*/

CREATETABLESale/*销售表*/

Sale_IDINTIDENTITY(1,1)NOTNULL,/*销售编号*/

SaleDatedatetimenotnull,/*销售日期*/

Dept_IDINTNOTNULL,/*销售部门,外键(参照DEPT表)*/

Employee_IDINTNOTNULL/*售货人,外键(参照EMPLOYEE表)*/

CREATETABLESale_Detail/*销售明细(验货表)*/

Sale_IDINTNOTNULL,/*销售编号,主键,外键(参照SALE表)*/

SaleOrder_IDINTNULL,/*销售合同,外键(参照SALEORDER表)*/

Pricemoneynotnull,/*价格*/

Discountintnull/*折扣*/

/*SALEORDER_ID为NULL时,为现金销售*/

CREATETABLEStockPile/*库存表*/

StockPile_IDINTIDENTITY(1,1)NOTNULL,/*库存编号,主键*/

Dept_IDINTNOTNULL,/*商品所属部门,外键(参照DEPT表)*/

StoreHouse_IDINTNOTNULL,/*所在仓库,外键(参照SOTREHOUSE表)*/

THE END
1.基于python的图书进销存管理系统k6oce本图书进销存管理系统管理员功能有个人中心,用户管理,图书类型管理,进货订单管理,商品退货管理,批销订单管理,图书信息管理,客户信息管理,供应商管理,库存分析管理,收入金额管理,应收金额管理,我的收藏管理。 用户功能有个人中心,图书类型管理,进货订单管理,商品退货管理,批销订单管理,图书信息管理,客户信息管理,供应商管理https://blog.csdn.net/qq_3166678367/article/details/144318147
2.进销存系统一(设计思路)RAGELY经典的进销存系统功能有很多,我这里想根据角色来介绍,感觉这样思路比较清晰。 首先是角色分类,一般的分为采购人员、普通员工、系统管理员、审核人员。 先介绍所有角色通用的功能 登录 修改个人信息 消息管理 采购人员 添加物品目录(审核需要) 编辑物品目录(审核自定义) https://www.cnblogs.com/rageangle/p/8835940.html
3.ERP系统在制造企业生产管理流程中的研究摘要:本文从分析机械制造企业的生产加工过程入手,系统地介绍了ERP项目实施过程中生产系统的总体设计思路和设计要点。ERP作为企业资源管理系统,最初在以进销存为主的流通企业和专门的财务公司应用较多,企业各种物资的进出通过系统整合起来,降低了管理成本,提高了企业的综合经济效应。随着ERP系统的优越性逐步被认识,ERP的使用https://www.hqew.com/tech/news/231837.html
4.进销存系统如何设计?分享一个简单的进销存管理系统的设计方案分享一个简单进销存管理软件的设计方案,该方案主要实现以下管理规范: 建立从销售订单输入、到采购、到仓储、到财务的闭环过程管理,实现公司所有业务系统集成化; 规范客户档案管理、销售下单流程、销售发货与退货流程,客户对账、应收账款业务管理; 规范供应商档案管理、采购下单流程,供应商对账、应付帐款业务管理; https://www.niaogebiji.com/article-104450-1.html
5.天心软件佛山公司)颁布的MRPⅡ标准,同时吸收现代营销管理、物流管理、生产管理、准时制生产(JIT)、物料管理、全面质量管理、财务管理、人力资源管理等先进管理方式的优点,结合制造行业自身特点,以企业运作过程中的信息流、资金流和物流为核心进行系统结构设计和软件开发,可对企业的生产制造资源、财务资源和人力资源等进行全面监控和管理。http://www.fssunlike.com/productlist.aspx?id=293
6.进销存管理系统设计与方案.docx进销存管理系统设计与方案.docx,. z- - -进销存管理系统 - 文档版本记录 撰 撰写者 蒲文杰(15609242830) 版本日期 2022-01-03 版本说明 初稿 版本编号 Ver1.0 目录 文档版本记录 1 1.工程背景 2 1.1.设计目的 2 1.2 技术要求 3 1.3.系统优点 5 1.提升企业效率 5 2.节约企业https://m.book118.com/html/2023/0531/8067034135005073.shtm
7.进销存管理分析系统的设计与实现编程字典销售分析系统是在基于进销存原理的基础之上,结合公司字典产品的实际销售情况而进行专项开发的一套企业管理系统,编程字典销售分析系统在研发过程中十分注重实用性,由于本系统是基于进销存的基本原理开发的,所以也可以对其进行升级或扩展开发,从而设计出具有自身企业特点的销售管理系统或通用的商品销售分析系统。 本系统https://wap.cnki.net/touch/web/Dissertation/Article/-1014271109.nh.html
8.进销存管理信息设计系统(2)进销存管理系统 摘 要在经济快速开展的今天,企业的进销存管理是企业经营管理中的重要环节,也是一个企业能够取得效益的关键,如果能够做到合理进货,及时销售,库存量最小的同时又不至于缺货,那么企业就能获得最好的效益。本文从兴弘昌物资进销存管理现状https://www.renrendoc.com/paper/190100892.html
9.计算机毕业设计之asp.net小型超市进销存管理系统小型超市进销存管理系统主要实现了超市信息管理、商品信息管理、仓库信息管理、销货信息管理、部门信息管理等功能模块,系统使用Visual studio.net2010作为系统开发环境,并采用ASP.NET技术,使用C#语言,以SQL Server为后台数据库。 1.系统登录:系统登录是用户访问系统的路口,设计了系统登录界面,包括用户名、密码和验证码,然https://blog.51cto.com/u_12333905/3958514