药品进销存管理系统数据库设计说明_第1页
药品进销存管理系统数据库设计说明_第2页
药品进销存管理系统数据库设计说明_第3页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、药品进销存管理系统数据库设计一、基本分析1.1数据库环境说明采用的数据库系统:mysql编程工具:MyEclipse8.0数据库建模工具:powerdesig ner151.2基本功能分析本设计要实现的是药品进销存管理系统,在设计该系统时,应尽可能贴近实际、便于用户操作系统在实现上应该具有如下功能:1. 系统要提示用户必须输入正确的用户名和密码才能进入系统2. 其功能模块图如下:二、概念设计在需求分析的基础上,我们对药品进销存管理系统有了一定的了解。 在分析 设计概念模型时,首先找出模型所需的实体,然后找到各实体之间的关系,画出 E R模型图。2.1、实体及其间的关系设计对于药品进销存系统,我

2、们设计了药品,客户,供货商,仓库,操作员四个 实体。结合实际情况及对数据库设计的方便,各个实体之间的关系如下: 供货商和药品之间应该是存在采购关联,它们之间为多对多关系。仓库,药品之间存在存储关联,它们之间为多对多关系。药品,客户之间存在销售关联,它们之间为多对多关系。操作员,仓库之间存在药品入库和出库关联,它们之间为多对多关系。2.2 E-R模型图的设计根据较为详细的需求分析,我们设计出了以下E-R模型图如下.药品药品编号<pi> Variable characters (20)<M>药品名称 单位 有效期零售价格Variable characters (80) &l

3、t;M>Variable characters (4)Variable characters (10) FloatIde ntifier_1<pi>0,n0,n0,n销售销售流水号码/ariable characters (20) 销售单据号 Variable characters (20)0 n药品编号 销售数量 销售单价Variable characters (20)IntegerFloat采购客户客户编号<pi> Variable characters (20)<M> 客户名称 Variable characters (80) 客户地址 Vari

4、able characters (80)Iden tifier_1 <pi>).存储0,n入库流水号码/ariable characters (20) 入库单据号 Variable characters (20) 药品编号 Variable characters (20) 入库数量 Integer入库单价Float仓库药品编号<pi> Variable characters (50)<M>入库数量Integer销售数量Integer库存数量Integer盘点数量Integer盘点日期DateIde ntifier_1<pi>0,n0,n出库0,n

5、供应商入库0,n0,n用户供应商编号<卩4 Variablecharacters (20)<M>供应商名称Variablecharacters (80)拼音编码Variablecharacters (10)供应商地址Variablecharacters (80)Iden tifier_1 <pi>用户 ID <pi> Variable characters(20)<M>用户姓名Variable characters(50)用户口令Variable characters(50)用户权限Variable characters(50)Identi

6、fier_1 <pi>三、逻辑设计逻辑结构设计的目的是将ER模型向关系模型转换,注意转换时关系的主键、 外键的设置以保持原有的ER模型中实体与实体之间的关系,另外还应当进行规 化处理以消除数据冗余。3.1 ER图向关系模型的转化(主键标志为<pk>)存在冗余的关系,根我们把它拆分成两或更多表tb_client_jbqkbrklshint<pk>rkdjhvarchar(20)ypbhvarchar(20)rkslintrkdjfloatrkjefloatrkrqdatetimekcslintkcstschar(4)tb_buy_detailetb_buy_m

7、ainrkdjh varchar(20) <pk> pzsintrkslintrkjefloatrkrqdatetimejbrvarbinary(10)stsvarchar(2)gysbhvarchar(20)hklshvarchar(20)<pk>xslshintkhbhvarchar(20)hkrqdatetimeqkjedecimal(2,0)skhjdecimal©。)ljyedecimal(2,0)tb_client_hkqkkhbh varchar(20) <pk>khmc varchar(80)pym varchar(10)khdz

8、varchar(80)ssdq varchar(40)yzbm varchar(10)telvarchar(20)lxrvarchar(10)khyh varchar(40)khzh varchar(20)gysbhvarchar(20) <pk>gysmcvarchar(80)pymvarchar(10)gusdzvarchar(80)ssdqvarchar(40)yzbmvarchar(10)telvarchar(20)lxrvarchar(10)khyhvarchar(40)khzhvarchar(20)tb_gys_jbqkbtb_medicine_jbqkbypbhvar

9、char(20) <pk>yptmvarchar(20)ypmcvarchar(80)tymvarchar(20)pymvarchar(10)dwvarchar(4)ggvarchar(20)jxvarchar(10)cdvarchar(20)bzslintyxqvarchar(10)zlbzvarchar(20)jyfsvarchar(8)phvarchar(10)lsjgfloatjhjgfloatpfjgfloatyplbvarchar(20)ylbhvarchar(10)xslshint<pk>ypbhvarchar(20)xsdjhvarchar(20)xss

10、lintxsdjfloatxsjefloatxsrqdatetimethstschar(10)tb_sell_detailetb_sell_detaile_thxslshvarchar(50) <pk>ypbhvarchar(50)thslintthrqdatetimethjefloatjbrvarchar(50)tb_sell_mainxsdjhvarchar(20) <pk>khbhvarchar(20)pzsintxszsintxsjefloatxszkfloatysjefloatssjefloatwsjefloatxsrqdatetimeskfsvarchar(

11、10)jbrvarchar(10)qsstsvarchar(2)hkjefloathkrqdatetimetb_stockypbhvarchar(50)rkslintxsslintkcslintpdslintpdrqdatetime<pk>tb_usernameuserid varchar(20) <pk> username varchar(50) password varchar(50) passconf varchar(50)3.2、E R图转换成关系模型所遵循的原则我们把E R图转换成关系模型所遵循的原则:1)每一个实体类型转换成一个关系模式。如实体药品,客户,供

12、货商,仓库,操作员,都可以转化成对应的一个关系模式。关系模型的主键是E R模型的标识符,其他属性一样。2)一个联系可转化为一个关系模式,那么,两端关系的标识符及该联系 属性为关系的属性,而关系的标识符为两端实体标识符的组合。3)我们还涉及到了引用完整性约束,也就是外键的约束,外码的约束贯穿 着我们设计的始终,它把我们建立的关系紧密的联系在了一起。4)我们对关系模式进行了消除数据冗余的处理。应符合第三式,不允许 出现传递依赖、冗余、异常等等。在逻辑设计中形成了关系表后需要对关系作规化处理,使每个关系表至少满足第三式的要求。对违反第三式的关系我们进 行了分析并作了相应的调整。对各关系模式之间的数据

13、依赖进行了极小化处 理,消除了冗余。对违反第三式的关系模式进行了必要的分解和合并。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列名数

14、据类型(精度围)空/非空约束条件名称rklshintnot n ullprimary key入库流水rkdjhvarchar(20)入库单据号ypbhvarchar(20)药品编号rkslint入库数量rkdjfloat入库单价rkjefloat入库金额rkrqdatetime入库日期kcslint库存数量kcstschar(4)库存状态补充说明表名tb_buy_mai n列名数据类型(精度围)空/非空约束条件名称rkdjhvarchar(20)not n ullprimary key入库单据号pzsint品种数量rkslint入库数量rkjefloat入库金额rkrqdatetime入库日期

15、jbrvarb inary(10)经办人stsvarchar(2)库存状态gysbhvarchar(20)供应商编号补充说明表名tb_clie nt_hkqk列名数据类型(精度围)空/非空约束条件名称hklshvarchar(20)not n ullprimary key回款流水号xslshint销售流水号khbhvarchar(20)客户编号hkrqdatetime回款日期qkjedecimal(2)欠款金额skhjdecimal(2)实收金额ijyedecimal(2)累计余额补充说明表名tb_clie nt_jbqkb列名数据类型(精度围)空/非空约束条件名称khbhvarchar(20

16、)not n ullprimary key客户编号khmcvarchar(80)客户名称pymvarchar(10)拼音编码khdzvarchar(80)客户地址ssdqvarchar(40)所属地区yzbmvarchar(10)邮政编码telvarchar(20)联系lxrvarchar(10)联系人khyhvarchar(40)开户银行khzhvarchar(20)开户账号补充说明表名tb gys jbqkb列名数据类型(精度围)空/非空约束条件名称gysbhvarchar(20)not n ullprimary key供应商编号gysmcvarchar(80)供应商名称pymvarcha

17、r(10)拼音编码gysdzvarchar(80)供应商地址ssdqvarchar(40)所属地区yzbmvarchar(10)邮政编码telvarchar(20)联系lxrvarchar(10)联系人khyhvarchar(40)开户银行khzhvarchar(20)开户账号补充说明表名tb medic in e jbqkb列名数据类型(精度围)空/非空约束条件名称ypbhvarchar(20)not n ullprimary key药品编号yptmvarchar(20)药品条码ypmcvarchar(80)药品名称tymvarchar(20)通用名称pymvarchar(10)拼音码dwv

18、archar(4)单位ggvarchar(20)规格jxvarchar(10)剂型cdvarchar(20)产地bzslint包装数量yxqvarchar(10)有效期zlbzvarchar(20)质量标准jyfsvarchar(8)经营方式phvarchar(10)批号lsjgfloat零售价格jhjgfloat进货价格pfjgfloat批发价格ypibvarchar(20)药品类名ylbhvarchar(10)医疗保险编号补充说明表名tb sell detaile列名数据类型(精度围)空/非空约束条件名称xslshintnot n ullprimary key销售流水ypbhvarchar

19、(20)药品编号xsdjhvarchar(20)销售单据号xsslint销售数量xsdjfloat销售单价xsjefloat销售金额xsrqdatetime销售日期thstschar(10)退货状态补充说明表名tb sell detaile th列名数据类型(精度围)空/非空约束条件名称xslshvarchar(50)not n ullprimary key销售流水号ypbhvarchar(50)药品编号thslint退库数量thrqdatetime退货日期thjefloat退货金额jbrvarchar(50)经办人补充说明表名tb_sell_main列名数据类型(精度围)空/非空约束条件名称

20、xsdjhvarchar(20)not n ullprimary key销售单据号khbhvarchar(20)客户编号pzsint品种数量xszsint销售总数xsjefloat销售金额xszkfloat销售折扣ysjefloat应收金额ssjefloat实收金额wsjefloat未收金额xsrqdatetime销售日期skfsvarchar(10)收款方式jbrvarchar(10)经办人qsstsvarchar(2)清算状态hkjefloat回款金额hkrqdatetime回款日期补充说明表名tb_stock列名数据类型(精度围)空/非空约束条件名称ypbhvarchar(50)not

21、n ullprimary key药品编号rkslint入库数量xsslint销售数量kcslint库存数量pdslint盘点数量pdrqdatetime盘点日期补充说明表名tb user name列名数据类型(精度围)空/非空约束条件名称useridvarchar(20)not n ullprimary key用户IDuser namevarchar(50)用户名passwordvarchar(50)密码passconfvarchar(50)确认密码补充说明四、物理设计4.1索引设计关系属性A上的索引是一种数据结构,它可以提高查找在属性A上具有某 个特定值的元组的效率。索引通常有助于包含有属性

22、A和常量的查询,但当关 系变化很大时,通过扫描关系中所有的元组来找出那些匹配给定条件的元组的 操作方式代价太高。故我们设计索引需要对下两方面折中选择。首先,对某个属性使用索引能极大的提高对该属性值的检索效率,使用该 属性时,还可以加快连接。其次,对关系上某个属性的索引会使得对关系的插入、删除、修改变得复 杂和费时。因此经过分析本系统的功能和需求可知,本系统的药品表中的记录可能相 当的庞大,而且基于药品名称或编码的查询和修改相当的频繁,加之在数据库更新和维护过程中对供货商的更新和查询也比较的频繁,而且供货商的数量也可能比较大,综合考量后应为本系统建立如下3个索引,以达到操作的便捷和系统功能的优化

23、。各表中建立索引的表项:create unique in dex khbh_i ndex on tb_clie nt_jbqkb(khbh);create unique in dex gysbh_i ndex on tb_gys_jbqkb(gysbh);create unique in dex ypbh_i ndex on tb_medici ne_jbqkb(ypbh);create unique in dex userid_i ndex on tb_user name(userid);五、安全性设计角色与权限设立两种级别用户 Admi nistrator,Superuser.对每种类型的

24、用户设置不同的权限Admi nistrator: 提供对系统的实际操作功能(适于仓库管理人员)Superuser:拥有系统的一切权限(适于总经理,系统维护管理人员)六、用SQL实现设计经数据库建模后,由模型导出数据库的SQL语言,将SQL语言导入到MySQL数据库中建立所有的数据表。/*=*/* Table: tb_buy_detaile*/*=*/ create table tb_buy_detaile(rklshint not n ull auto_ in creme nt,rkdjhvarchar(20),ypbhvarchar(20),rkslint,rkdjfloat,rkjeflo

25、at,rkrqdatetime,kcslint,kcstschar(4),primary key (rklsh) ); /*=*/* Table: tb_buy_mai n*/*=*/ create table tb_buy_ma in(rkdjhvarchar(20) n ot null,pzsint,rkslint,rkjefloat,rkrqdatetime,jbrvarb in ary(10),stsvarchar(2),gysbhvarchar(20),primary key (rkdjh);*/* Table: tb_clie nt_hkqk*/ /*=*/ create tabl

26、e tb_clie nt_hkqk(hklshvarchar(20) not null,xslshint ,khbhvarchar(20),hkrqdatetime,qkjedecimal(2,0),skhjdecimal(2,0),ljyedecimal(2,0),primary key (hklsh);/*=*/ /* Table: tb_clie nt_jbqkb*/*=*/ create table tb_clie nt_jbqkb(khbhvarchar(20) not null,khmcvarchar(80),pymvarchar(10),khdzvarchar(80),ssdqv

27、archar(40),yzbmvarchar(10),telvarchar(20),Ixrvarchar(10),khyhvarchar(40),khzhvarchar(20),primary key (khbh); /*=*/* Table: tb_gys_jbqkb*/*=*/ create table tb_gys_jbqkb(gysbhvarchar(20) not null,gysmcvarchar(80),pymvarchar(10),gysdzvarchar(80),ssdqvarchar(40),yzbmvarchar(10),telvarchar(20),lxrvarchar

28、(10),khyhvarchar(40),khzhvarchar(20),primary key (gysbh));/*=*/ /* Table: tb_medic in e_jbqkb*/*=*/ create table tb_medici ne_jbqkb(ypbhvarchar(20)notnull,yptmvarchar(20),ypmcvarchar(80),tymvarchar(20),pymvarchar(10),dwvarchar(4),ggvarchar(20),jxvarchar(10),cdvarchar(20),bzslint,yxqvarchar(10),zlbzv

29、archar(20),jyfsvarchar(8),Phvarchar(10),lsjgfloat,jhjgfloat,Pfjgfloat,yplbvarchar(20),ylbhvarchar(10),primary key (ypbh);/*=*/* Table: tb_sell_detaile*/*=*/ create table tb_sell_detaile(xslshint not n ull auto_ in creme nt,ypbhvarchar(20),xsdjhvarchar(20),xsslint,xsdjfloat,xsjefloat,xsrqdatetime,ths

30、tschar(10),primary key (xslsh);/*/* Table: tb_sell_detaile_th*/*create table tb_(xslshsell_detaile_thvarchar(50) not n ull,ypbhvarchar(50),thslint,thrqdatetime,thjefloat,jbrvarchar(50),primary key (xslsh); /*=*/* Table: tb_sell_mai n*/*=*/create table tb_sell_main(xsdjhvarchar(20) not null,khbhvarchar(20),pzsint,xszsint,xsjefloat,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论