药品进销存管理系统数据库设计说明.docx

上传人:b****6 文档编号:8594716 上传时间:2023-02-01 格式:DOCX 页数:28 大小:22.84KB
下载 相关 举报
药品进销存管理系统数据库设计说明.docx_第1页
第1页 / 共28页
药品进销存管理系统数据库设计说明.docx_第2页
第2页 / 共28页
药品进销存管理系统数据库设计说明.docx_第3页
第3页 / 共28页
药品进销存管理系统数据库设计说明.docx_第4页
第4页 / 共28页
药品进销存管理系统数据库设计说明.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

药品进销存管理系统数据库设计说明.docx

《药品进销存管理系统数据库设计说明.docx》由会员分享,可在线阅读,更多相关《药品进销存管理系统数据库设计说明.docx(28页珍藏版)》请在冰豆网上搜索。

药品进销存管理系统数据库设计说明.docx

药品进销存管理系统数据库设计说明

.

 

药品进销存管理系统数据库设计

 

一、基本剖析

 

1.1数据库环境说明

采纳的数据库系统:

mysql

编程工具:

数据库建模工具:

powerdesigner15

基本功能剖析

本设计要实现的是药品进销存管理系统,在设计该系统时,应尽可能切近实

际、便于用户操作.系统在实现上应当拥有以下功能:

1.系统要提示用户一定输入正确的用户名和密码才能进入系统.

2.其功能模块图以下:

 

药品进销存管理系统

 

系统登录用户管理基本信息业务管理业务查问系统管理

 

增添用户药品状况药品采买基本信息系统退出

 

用户保护客户状况药品销售入库明细数据库备份

 

供给商状况库存清点销售明细

 

销售退货回款信息

 

客户回款

 

二、观点设计

在需求剖析的基础上,我们对药品进销存管理系统有了必定的认识。

在剖析

设计观点模型时,第一找出模型所需的实体,而后找到各实体之间的关系,画出

E—R模型图。

2.1、实体及此间的关系设计

 

...

.

 

关于药品进销存系统,我们设计了药品,客户,供货商,库房,操作员四个

实体。

联合实质状况及对数据库设计的方便,各个实体之间的关系以下:

供货商和药品之间应当是存在采买关系,它们之间为多对多关系。

库房,药品之间存在储存关系,它们之间为多对多关系。

药品,客户之间存在销售关系,它们之间为多对多关系。

操作员,库房之间存在药品入库和出库关系,它们之间为多对多关系。

2.2E-R模型图的设计

依据较为详尽的需求剖析,我们设计出了以下E-R模型图以下.

药品

药品编号Variablecharacters(20)

药品名称Variablecharacters(80)0,n

单位Variablecharacters(4)

有效期Variablecharacters(10)

零售价钱Float

Identifier_1

0,n

0,n

 

储存

 

采买

入库流水号码Variablecharacters(20)入库票据号Variablecharacters(20)药品编号Variablecharacters(20)入库数目Integer

入库单价Float

...

 

0,n

 

供给商

供给商编号Variablecharacters(20)

供给商名称Variablecharacters(80)

拼音编码Variablecharacters(10)

供给商地点Variablecharacters(80)

Identifier_1

 

销售

客户

销售流水号码Variablecharacters(20)

客户编号Variablecharacters(20)

销售票据号Variablecharacters(20)

0,n客户名称

Variablecharacters(80)

药品编号

Variablecharacters(20)

客户地点

Variablecharacters(80)

销售数目

Integer

Identifier_1

销售单价

Float

...

...

 

0,n

库房

药品编号Variablecharacters(50)

入库数目

Integer

销售数目

Integer

0,n

库存数目

Integer

清点数目

Integer

清点日期

Date

Identifier_1

出库

0,n

 

入库

0,n

 

0,n用户

用户IDVariablecharacters(20)

用户姓名Variablecharacters(50)

用户口令Variablecharacters(50)

用户权限Variablecharacters(50)

Identifier_1

三、逻辑设计

逻辑构造设计的目的是将ER模型向关系模型变换,注意变换时关系的主键、

外键的设置以保持原有的ER模型中实体与实体之间的关系,此外还应当进行规

化办理以除去数据冗余。

3.1ER图向关系模型的转变(主键标记为

 

...

.

 

存在冗余的关系,根我们把它拆分红两或更多表

tb_buy_detaile

rklsh

int

rkdjh

varchar(20)

ypbh

varchar(20)

rksl

int

rkdj

float

rkje

float

rkrq

datetime

kcsl

int

kcsts

char(4)

 

tb_gys_jbqkb

gysbh

varchar(20)

gysmc

varchar(80)

pym

varchar(10)

gusdz

varchar(80)

ssdq

varchar(40)

yzbm

varchar(10)

tel

varchar(20)

lxr

varchar(10)

khyh

varchar(40)

khzh

varchar(20)

tb_sell_main

xsdjh

varchar(20)

khbh

varchar(20)

pzs

int

xszs

int

xsje

float

xszk

float

ysje

float

ssje

float

wsje

float

xsrq

datetime

skfs

varchar(10)

jbr

varchar(10)

qssts

varchar

(2)

hkje

float

hkrq

datetime

 

tb_client_jbqkb

tb_buy_main

khbh

varchar(20)

tb_client_hkqk

khmc

varchar(80)

rkdjh

varchar(20)

pym

varchar(10)

pzs

int

hklsh

varchar(20)

khdz

varchar(80)

rksl

int

xslsh

int

ssdq

varchar(40)

rkje

float

khbh

varchar(20)

yzbm

varchar(10)

rkrq

datetime

hkrq

datetime

tel

varchar(20)

jbr

varbinary(10)

qkje

decimal(2,0)

lxr

varchar(10)

sts

varchar

(2)

skhj

decimal(2,0)

khyh

varchar(40)

gysbh

varchar(20)

ljye

decimal(2,0)

khzh

varchar(20)

tb_medicine_jbqkb

ypbh

varchar(20)

yptm

varchar(20)

ypmc

varchar(80)

tym

varchar(20)

pym

varchar(10)

dw

varchar(4)

gg

varchar(20)

jx

varchar(10)

cd

varchar(20)

bzsl

int

tb_sell_detaile

yxq

varchar(10)

zlbz

varchar(20)

xslsh

int

tb_sell_detaile_th

jyfs

varchar(8)

ypbh

varchar(20)

ph

varchar(10)

xsdjh

varchar(20)

xslsh

varchar(50)

lsjg

float

xssl

int

ypbh

varchar(50)

jhjg

float

xsdj

float

thsl

int

pfjg

float

xsje

float

thrq

datetime

yplb

varchar(20)

xsrq

datetime

thje

float

ylbh

varchar(10)

thsts

char(10)

jbr

varchar(50)

 

tb_stock

ypbh

varchar(50)

tb_username

rksl

int

xssl

int

userid

varchar(20)

kcsl

int

username

varchar(50)

pdsl

int

password

varchar(50)

pdrq

datetime

passconf

varchar(50)

3.2、E-R图变换成关系模型所按照的原则

我们把E-R图变换成关系模型所按照的原则:

1)每一个实体种类变换成一个关系模式。

照实体药品,客户,供货商,

库房,操作员,都能够转变成对应的一个关系模式。

关系模型的主键是E-R

模型的表记符,其余属性同样。

2)一个联系可转变为一个关系模式,那么,两头关系的表记符及该联系

属性为关系的属性,而关系的表记符为两头实体表记符的组合。

3)我们还波及到了引用完好性拘束,也就是外键的拘束,外码的拘束贯衣着我们设计的一直,它把我们成立的关系密切的联系在了一同。

4)我们对关系模式进行了除去数据冗余的办理。

应切合第三式,不一样意

出现传达依靠、冗余、异样等等。

在逻辑设计中形成了关系表后需要对关系作

 

...

.

 

规化办理,使每个关系表起码知足第三式的要求。

对违犯第三式的关系我们进

行了剖析并作了相应的调整。

对各关系模式之间的数据依靠进行了极小化处

理,除去了冗余。

对违犯第三式的关系模式进行了必需的分解和归并。

表汇总

 

表名

功能说明

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

列名

数据种类(精度围)

空/非空

拘束条件

rklsh

int

notnull

primarykey

rkdjh

varchar(20)

ypbh

varchar(20)

rksl

int

rkdj

float

rkje

float

rkrq

datetime

kcsl

int

kcsts

char(4)

增补说明

表名

tb_buy_main

列名

数据种类(精度围)

空/非空

拘束条件

rkdjh

varchar(20)

notnull

primarykey

pzs

int

rksl

int

rkjefloat

rkrqdatetime

jbrvarbinary(10)

stsvarchar

(2)

gysbhvarchar(20)

 

名称

入库流水

入库票据号

药品编号

入库数目

入库单价

入库金额

入库日期

库存数目

库存状态

 

名称

入库票据号

品种数目

入库数目

入库金额

入库日期

经办人

库存状态

供给商编号

...

.

 

增补说明

 

表名

tb_client_hkqk

列名

数据种类(精度围)

空/非空

拘束条件

名称

hklsh

varchar(20)

notnull

primarykey

回款流水号

xslsh

int

销售流水号

khbh

varchar(20)

客户编号

hkrq

datetime

回款日期

qkje

decimal

(2)

欠款金额

skhj

decimal

(2)

实收金额

ljye

decimal

(2)

累计余额

增补说明

 

表名

tb_client_jbqkb

列名

数据种类(精度围)

空/非空

拘束条件

名称

khbh

varchar(20)

notnull

primarykey

客户编号

khmc

varchar(80)

客户名称

pym

varchar(10)

拼音编码

khdz

varchar(80)

客户地点

ssdq

varchar(40)

所属地域

yzbm

varchar(10)

邮政编码

tel

varchar(20)

联系

lxr

varchar(10)

联系人

khyh

varchar(40)

开户银行

khzh

varchar(20)

开户账号

增补说明

 

表名

tb_gys_jbqkb

列名

数据种类(精度围)

空/非空

拘束条件

名称

gysbh

varchar(20)

notnull

primarykey

供给商编号

gysmc

varchar(80)

供给商名称

pym

varchar(10)

拼音编码

gysdz

varchar(80)

供给商地点

ssdq

varchar(40)

所属地域

yzbm

varchar(10)

邮政编码

tel

varchar(20)

联系

lxr

varchar(10)

联系人

khyh

varchar(40)

开户银行

khzh

varchar(20)

开户账号

增补说明

 

表名tb_medicine_jbqkb

列名数据种类(精度围)空/非空拘束条件名称

 

...

.

 

ypbh

varchar(20)

notnull

primarykey

药品编号

yptm

varchar(20)

药品条码

ypmc

varchar(80)

药品名称

tym

varchar(20)

通用名称

pym

varchar(10)

拼音码

dw

varchar(4)

单位

gg

varchar(20)

规格

jx

varchar(10)

剂型

cd

varchar(20)

产地

bzsl

int

包装数目

yxq

varchar(10)

有效期

zlbz

varchar(20)

质量标准

jyfs

varchar(8)

经营方式

ph

varchar(10)

批号

lsjg

float

零售价钱

jhjg

float

进货价钱

pfjg

float

批发价钱

yplb

varchar(20)

药品类名

ylbh

varchar(10)

医疗保险编号

增补说明

 

表名

tb_sell_detaile

列名

数据种类(精度围)

空/非空

拘束条件

名称

xslsh

int

notnull

primarykey

销售流水

ypbh

varchar(20)

药品编号

xsdjh

varchar(20)

销售票据号

xssl

int

销售数目

xsdj

float

销售单价

xsje

float

销售金额

xsrq

datetime

销售日期

thsts

char(10)

退货状态

增补说明

 

表名

tb_sell_detaile_th

列名

数据种类(精度围)

空/非空

拘束条件

名称

xslsh

varchar(50)

notnull

primarykey

销售流水号

ypbh

varchar(50)

药品编号

thsl

int

退库数目

thrq

datetime

退货日期

thje

float

退货金额

jbr

varchar(50)

经办人

增补说明

 

...

.

 

表名

tb_sell_main

列名

数据种类(精度围)

空/非空

拘束条件

xsdjh

varchar(20)

notnull

primarykey

khbh

varchar(20)

pzs

int

xszs

int

xsje

float

xszk

float

ysje

float

ssje

float

wsje

float

xsrq

datetime

skfs

varchar(10)

jbr

varchar(10)

qssts

varchar

(2)

hkje

float

hkrq

datetime

增补说明

 

表名tb_stock

列名数据种类(精度围)空/非空拘束条件

ypbhvarchar(50)notnullprimarykey

rkslint

xsslint

kcslint

pdslint

pdrqdatetime

增补说明

 

表名tb_username

列名数据种类(精度围)空/非空拘束条件

useridvarchar(20)notnullprimarykey

usernamevarchar(50)

passwordvarchar(50)

passconfvarchar(50)

增补说明

 

四、物理设计

索引设计

 

名称

销售票据号

客户编号

品种数目

销售总数

销售金额

销售折扣

应收金额

实收金额

未收金额

销售日期

收款方式

经办人

清理状态

回款金额

回款日期

 

名称

药品编号

入库数目

销售数目

库存数目

清点数目

清点日期

 

名称

用户ID

用户名

密码

确认密码

 

...

.

 

关系属性A上的索引是一种数据构造,它能够提升查找在属性A上拥有某个特定值的元组的效率。

索引往常有助于包括有属性A和常量的查问,但当关系变化很大时,经过扫描关系中全部的元组来找出那些般配给定条件的元组的操作方式代价太高。

故我们设计索引需要对下双方面折中选择。

第一,对某个属性使用索引能极大的提升对该属性值的检索效率,使用该属性时,还能够加速连结。

其次,对关系上某个属性的索引会使得对关系的插入、删除、改正变得复杂和费时。

所以经过剖析本系统的功能和需求可知,本系统的药品表中的记录可能相

当的宏大,并且鉴于药品名称或编码的查问和改正相当的屡次,加之在数据库更新和保护过程中对供货商的更新和查问也比较的屡次,并且供货商的数目也可能比较大,综合考量后应为本系统成立以下3个索引,以达到操作的便利和系统功能的优化。

各表中成立索引的表项:

createuniqueindexkhbh_indexontb_client_jbqkb(khbh);createuniqueindexgysbh_indexontb_gys_jbqkb(gysbh);createuniqueindexypbh_indexontb_medicine_jbqkb(ypbh);createuniqueindexuserid_indexontb_username(userid);

五、安全性设计

角色与权限

建立两种级别用户Administrator,Superuser.对每种种类的用户设置不一样的权限.

Administrator:

供给对系统的实质操作功能(适于库房管理人员)

Superuser:

拥有系统的全部权限(适于总经理,系统保护管理人员)

六、用SQL实现设计

经数据库建模后,由模型导出数据库的SQL语言,将SQL语言导入到MySQL数据库中

成立全部的数据表。

/*===========================

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1