您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 药品进销存管理系统数据库设计
药品进销存管理系统数据库设计一、基本分析1.1数据库环境说明采用的数据库系统:mysql编程工具:MyEclipse8.0数据库建模工具:powerdesigner151.2基本功能分析本设计要实现的是药品进销存管理系统,在设计该系统时,应尽可能贴近实际、便于用户操作.系统在实现上应该具有如下功能:1.系统要提示用户必须输入正确的用户名和密码才能进入系统.2.其功能模块图如下:二、概念设计在需求分析的基础上,我们对药品进销存管理系统有了一定的了解。在分析设计概念模型时,首先找出模型所需的实体,然后找到各实体之间的关系,画出E—R模型图。2.1、实体及其间的关系设计药品进销存管理系统系统登录用户管理基本信息业务管理业务查询系统管理增加用户用户维护药品情况客户情况供应商情况药品采购药品销售库存盘点销售退货客户回款基本信息入库明细销售明细回款信息系统退出数据库备份对于药品进销存系统,我们设计了药品,客户,供货商,仓库,操作员四个实体。结合实际情况及对数据库设计的方便,各个实体之间的关系如下:供货商和药品之间应该是存在采购关联,它们之间为多对多关系。仓库,药品之间存在存储关联,它们之间为多对多关系。药品,客户之间存在销售关联,它们之间为多对多关系。操作员,仓库之间存在药品入库和出库关联,它们之间为多对多关系。2.2E-R模型图的设计根据较为详细的需求分析,我们设计出了以下E-R模型图如下.0,n0,n0,n0,n0,n0,n0,n0,n0,n0,n药品药品编号药品名称单位有效期零售价格piVariablecharacters(20)Variablecharacters(80)Variablecharacters(4)Variablecharacters(10)FloatMMIdentifier_1pi客户客户编号客户名称客户地址piVariablecharacters(20)Variablecharacters(80)Variablecharacters(80)MIdentifier_1pi供应商供应商编号供应商名称拼音编码供应商地址piVariablecharacters(20)Variablecharacters(80)Variablecharacters(10)Variablecharacters(80)MIdentifier_1pi销售销售流水号码销售单据号药品编号销售数量销售单价...Variablecharacters(20)Variablecharacters(20)Variablecharacters(20)IntegerFloat...采购入库流水号码入库单据号药品编号入库数量入库单价...Variablecharacters(20)Variablecharacters(20)Variablecharacters(20)IntegerFloat仓库药品编号入库数量销售数量库存数量盘点数量盘点日期piVariablecharacters(50)IntegerIntegerIntegerIntegerDateMIdentifier_1pi用户用户ID用户姓名用户口令用户权限piVariablecharacters(20)Variablecharacters(50)Variablecharacters(50)Variablecharacters(50)MIdentifier_1pi存储入库出库三、逻辑设计逻辑结构设计的目的是将ER模型向关系模型转换,注意转换时关系的主键、外键的设置以保持原有的ER模型中实体与实体之间的关系,另外还应当进行规范化处理以消除数据冗余。3.1ER图向关系模型的转化(主键标志为pk)存在冗余的关系,根我们把它拆分成两张或更多张表tb_buy_detailerklshrkdjhypbhrkslrkdjrkjerkrqkcslkcstsintvarchar(20)varchar(20)intfloatfloatdatetimeintchar(4)pktb_buy_mainrkdjhpzsrkslrkjerkrqjbrstsgysbhvarchar(20)intintfloatdatetimevarbinary(10)varchar(2)varchar(20)pktb_client_hkqkhklshxslshkhbhhkrqqkjeskhjljyevarchar(20)intvarchar(20)datetimedecimal(2,0)decimal(2,0)decimal(2,0)pktb_client_jbqkbkhbhkhmcpymkhdzssdqyzbmtellxrkhyhkhzhvarchar(20)varchar(80)varchar(10)varchar(80)varchar(40)varchar(10)varchar(20)varchar(10)varchar(40)varchar(20)pktb_gys_jbqkbgysbhgysmcpymgusdzssdqyzbmtellxrkhyhkhzhvarchar(20)varchar(80)varchar(10)varchar(80)varchar(40)varchar(10)varchar(20)varchar(10)varchar(40)varchar(20)pktb_medicine_jbqkbypbhyptmypmctympymdwggjxcdbzslyxqzlbzjyfsphlsjgjhjgpfjgyplbylbhvarchar(20)varchar(20)varchar(80)varchar(20)varchar(10)varchar(4)varchar(20)varchar(10)varchar(20)intvarchar(10)varchar(20)varchar(8)varchar(10)floatfloatfloatvarchar(20)varchar(10)pktb_sell_detailexslshypbhxsdjhxsslxsdjxsjexsrqthstsintvarchar(20)varchar(20)intfloatfloatdatetimechar(10)pktb_sell_detaile_thxslshypbhthslthrqthjejbrvarchar(50)varchar(50)intdatetimefloatvarchar(50)pktb_sell_mainxsdjhkhbhpzsxszsxsjexszkysjessjewsjexsrqskfsjbrqsstshkjehkrqvarchar(20)varchar(20)intintfloatfloatfloatfloatfloatdatetimevarchar(10)varchar(10)varchar(2)floatdatetimepktb_stockypbhrkslxsslkcslpdslpdrqvarchar(50)intintintintdatetimepktb_usernameuseridusernamepasswordpassconfvarchar(20)varchar(50)varchar(50)varchar(50)pk3.2、E-R图转换成关系模型所遵循的原则我们把E-R图转换成关系模型所遵循的原则:1)每一个实体类型转换成一个关系模式。如实体药品,客户,供货商,仓库,操作员,都可以转化成对应的一个关系模式。关系模型的主键是E-R模型的标识符,其他属性一样。2)一个联系可转化为一个关系模式,那么,两端关系的标识符及该联系属性为关系的属性,而关系的标识符为两端实体标识符的组合。3)我们还涉及到了引用完整性约束,也就是外键的约束,外码的约束贯穿着我们设计的始终,它把我们建立的关系紧密的联系在了一起。4)我们对关系模式进行了消除数据冗余的处理。应符合第三范式,不允许出现传递依赖、冗余、异常等等。在逻辑设计中形成了关系表后需要对关系作规范化处理,使每个关系表至少满足第三范式的要求。对违反第三范式的关系我们进行了分析并作了相应的调整。对各关系模式之间的数据依赖进行了极小化处理,消除了冗余。对违反第三范式的关系模式进行了必要的分解和合并。3.3表汇总表名功能说明tb_buy_detaile药品采购明细表tb_buy_main药品采购主表tb_client_hkqk客户回款情况表tb_client_jbqkb客户基本情况表tb_gys_jbqkb供应商基本情况表tb_medicine_jbqkb药品基本情况表tb_sell_detaile药品销售明细表tb_sell_detaile_th药品销售退货表tb_sell_main药品销售主表tb_stock药品库存盘点信息表tb_username操作员信息表各表信息表名tb_buy_detaile列名数据类型(精度范围)空/非空约束条件名称rklshintnotnullprimarykey入库流水号码rkdjhvarchar(20)入库单据号ypbhvarchar(20)药品编号rkslint入库数量rkdjfloat入库单价rkjefloat入库金额rkrqdatetime入库日期kcslint库存数量kcstschar(4)库存状态补充说明表名tb_buy_main列名数据类型(精度范围)空/非空约束条件名称rkdjhvarchar(20)notnullprimarykey入库单据号pzsint品种数量rkslint入库数量rkjefloat入库金额rkrqdatetime入库日期jbrvarbinary(10)经办人stsvarchar(2)库存状态gysbhvarchar(20)供应商编号补充说明表名tb_client_hkqk列名数据类型(精度范围)空/非空约束条件名称hklshvarchar(20)notnullprimarykey回款流水号xslshint销售流水号khbhvarchar(20)客户编号hkrqdatetime回款日期qkjedecimal(2)欠款金额skhjdecimal(2)实收金额ljyedecimal(2)累计余额补充说明表名tb_client_jbqkb列名数据类型(精度范围)空/非空约束条件名称khbhvarchar(20)notnullprimarykey客户编号khmcvarchar(80)客户名称pymvarchar(10)拼音编码khdzvarchar(80)客户地址ssdqvarchar(40)所属地区yzbmvarchar(10)邮政编码telvarchar(20)联系电话lxrvarchar(10)联系人khyhvarchar(40)开户银行khzhvarchar(20)开户账号补充说明表名tb_gys_jbqkb列名数据类型(精度范围)空/非空约束条件名称gysbhvarchar(20)notnullprimarykey供应商编号gysmcvarchar(80)供应商名称pymvarchar(10)拼音编码gysdzvarchar(80)供应商地址ssdqvarchar(40)所属地区yzbmvarchar(10)邮政编码telvarchar(20)联系电话lxrvarchar(10)联系人khyhvarchar(40)开户银行khzhvarchar(20)开户账号补充说明表名tb_medicine_jbqkb列名数据类型(精度范围)空/非空约束条件名称ypbhvarchar(20)notnullprimarykey药品编号yptmvarchar(20)药品条码ypmcvarchar(80)药品名称tymvarchar(20)通用名称pymvarchar(10)拼音码dwvarchar(4)单位ggvarchar(20)规格jxvarchar(10)剂型cdvarchar(20)产地bzslint包装数量yxqva
本文标题:药品进销存管理系统数据库设计
链接地址:https://www.777doc.com/doc-7341682 .html