药店药品管理系统数据库总报告Word文件下载.docx
《药店药品管理系统数据库总报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《药店药品管理系统数据库总报告Word文件下载.docx(41页珍藏版)》请在冰豆网上搜索。
查找药品产地,联系药品退订情况
(3)买药人信息:
买药人编号
买药人姓名
心别
年龄
电话
住址利用这些信息便于药品出现问题时
及时与当事人联系,同时便于退药时确认买药信息
(4)药品存储信息:
柜台编号
(5)柜台信息:
柜台名称
(6)药品退订信息:
处理时间
药品数量
(7)药品售退信息:
药品数量
二、系统功能要求分析
药品管理系统应具备以下几个基本功能:
(1)药品购进和退订信息查询
(2)买药人员信息查询与统计
(3)药品存储信息查询与更新
(4)药品销售情况统计与药品售退情况查询
(5)盈利查询与统计
(6)药品剩余数量查询与缺货药品查询及统计
三、总体安全要求
(1)保密性。
机密或敏感数据在存储处理传输过程中应保密,并用户只有在授权后才可以访问。
不
同的用户只能访问系统收授权的视图,这取决于其授权级别
(2)完整性。
保证系统中的信息处于一种完整和未受损害的状态,防止因未授权访问,部件故障或
其他错误而引起的信息篡改,破坏或丢失。
药品管理系统的信息对不同用户应有不同访问权限,
购药人员只能查询库存信息,而库存的更新应只能库存管理员进行等等。
(3)可靠性:
保障系统在复杂的网络环境下提供可持续、可靠的服务
1.2
业务分析
药品管理系统的业务应有以下
3
个:
(1)药品购进(退订)业务:
购药人员根据售药处对药品的需求以及库存信息,制定药品的需求单
并从制药商处购进药品,并将合格药品单送往
库存管理员进行药物存储,将不合格药品单送往
制药商处进行退货。
(2)存药业务:
库存管理员负责药品的出入库。
根据合格购货药品单,对新购进的药品进行分类并
将药品入库;
根据取药单(退药单)将药品出库(入库)并修改库存信息和流水账目,若药品缺
货,将缺货药品信息单传给购药人员。
(3)售药业务:
买药人将取药单(退药单)交给售药处,确认后,将药品售出(退回),并将取药
单(退药单)交给库存管理员
业务流程图如下:
(1)药品购进业务流程图
库存信息
购药人员填写药品
取货单
药品缺
货单
药品取
制药商
检查药名单
不合格
退货单
合格
药品单
库存管理员药品入库单存档
(2)存药业务流程图
取药单据
买药人
退药单
(3)售药业务流程图
取药单
售药处
库存帐目
库存管理员
存档
确认
售药处取药单
取药单库存管理员
购药员
药品入库单
登记流水账
流水账
改账
1.3
数据流程图
系统全局数据流图
数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,他可以用少数几种符号综合地反
映出信息在系统中的流动、处理和存储情况,它有抽象性、概括性、层次性三大特点。
经过对药店中药品的销售业务调查、数据的收集处理和信息流程分析,明确了该系统的主要功
能,分别为
(1)药品购进和药品退订信息查询;
(2)买药人员信息查询与统计;
(3)药品存储信息
查询与更新;
(4)药品销售情况统计和药品被退情况查询;
(5)盈利查询与统计;
(6)药品剩余数
量查询与缺货药品查询及统计。
如图,即为药品销售系统的全局数据流图,即第一层数据流程图。
存
储
清
单
药品发货单
制药商1.1
检验药品
药品订货单
药品合格单
1.2
药品进库
入库单
1
库存台账
商品不合格单
3.2
1.3
退货
2
出
库
退
药
符
合
3.1
确认药品
不
符
2.1
售药
买药人员
取药单
退
药
库存药品清单返回重新清点
库存管理
2.3
退药
决定退药
2.2
据
系统局部数据流图
全局数据流图从整体上描述了系统的数据流向和加工处理过程,为了清楚地描述系统数据的流向
和加工处理的每个细节,在全局
DFD
基础上,对全局
中的某些局部进行单独放大,进一步细化,
过程如下:
药品销售过程主要分为三个业务,第一个业务为药品购进业务,第二个业务为存药业务,第三个
业务为售药业务。
针对三个业务得到第二层数据流程图如下:
数据项编号
数据项名
存储结构
别名
取值约束
DI-1
Dno
char(5)
药品编号
该系统设计的数据项共有
24
个,如下表:
药品进库
1
商
品
格
取药单据
出库单
库存药品清单
库存管理3.1
返回重新清点
符合
存储清单
1.4
数据字典
由于数据流程图表达不够准确、具体,只有当数据流程图中出现的每一个成分都给出定义之后,
才能完整、准确地描述一个系统,因此,有必要建立数据字典来对数据流程图中的各个元素作出详细
的说明。
数据字典通常包括数据项、数据结构、数据存储和处理过程
5
个部分,其中数据项是数据的
最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描
述数据流、数据存储的逻辑内容。
(1)
数据项
DI-2
Dname
char(20)
药品名称
DI-3
Dclass
char(8)
药品分类
DI-4
Dguige
char(10)
药品规格
DI-5
Dbrand
药品品牌
DI-6
Dprice1
float
进药单价
DI-7
Dprice2
卖药单价
大于零
DI-8
Pno
买药人编号
DI-9
Pname
买药人姓名
DI-10
Page
int
年龄
1-255
DI-11
Psex
char
(2)
性别
男女
DI-12
Pphone
char(11)
联系电话
DI-13
Paddress
住址
DI-14
Mno
制药商编号
DI-15
Mname
制药商名称
DI-16
Mplace
公司地点
DI-17
Mphone
DI-18
Memail
char(15)
联系网址
DI-19
Lname
柜台名称
DI-20
Lno
DI-21
Quantity
DI-22
Time_SD
smalldatetime
处理时间
DI-23
Supply
char(4)
订退方式
订购、退订
DI-24
Deal
售退方式
售出、退回
数据结构编号
数据结构名
含义说明
组成
DS-1
Drug
药品信息
Dno
Dclass
DS-2
Patient
买药人信息
Pno
Page
DS-3
Maker
制药商信息
Mno
DS-4
Storage
柜台信息
Lno
DS-5
Order_Back
药品退订信息
DS-6
Buy_Back
药品退售信息
Quantity
DS-7
Stored
药品存储信息
数据结构
2.概念设计部分
2.1
分析过程
根据之前的数据流图和数据字典,我们提取出实体、实体的属性、标识实体的码、确认实体之间的联
系及其类型。
定义如下:
药品:
[药品编号、药品名称、药品分类、药品规格、药品品牌、进药单价‘买药单价]
买药人员:
[买药人编号、买药人性命、性别、年龄、联系电话、住址]
制药商:
[制药商编号、制药商名称、公司地位、联系电话、联系网址]
柜台信息:
[柜台编号、柜台名称]
药品退订:
[药品编号、制药上编号、药品数量、处理时间、退订方式]
药品售退:
[药品编号、买药人编号、药品数量、处理时间、售退方式]
药品储存:
[药品编号、柜台编号、药品数量]
2.2子模块
ER
图
2.2.1
存药子模块
2.2.2
售药子模块
2.2.3
购进药品子模块
属性名
数据类型
别
名
(
注
释)
可否为空
主键
/
外键
取值范围
否
主键
1.
Drug(药品)
2.3全局
3.逻辑设计部分
3.1
数据库关系模式定义描述
外键(主键
之一)
大于
订购
退订
1-150
nan、nv
联系号码
进住址
Mpalce
公司地址
Meail
联系邮箱
Dbrang
floar
买药单价
存储编号
存储位置
不小于
7.
Dbuy(买药)
5,
DOrder(订药)
6.Dback(药品退订)
DBrand
Mpalace
char)11)
Meamil
处理方式
Qauntity
数量
买药时间
售出
Dpricel1
药品进价
2.DM_M(药品退订)
1、DM_P(订药)
买药人名字
电话
地址
Dpricel2
药品售价
4、DS_M(药品存储)
4.物理设计部分
4.1
目标与任务
确认数据库的物理结构,主要指存取方式和存储结构
2.
对物理结构进行评价,评价重点是时间和空间效率数据存取方法
4.2
数据存取方法
4.2.1
基本表索引
由于基本表
Stored
的主码
Dno,Lno
经常在查询条件中出现,且它们更新平率较低,所以考
虑在这组属性上建立作为唯一索引
DOrder
Dno,Mno
经常在查询条件和链接操作中出现,所以考虑在这组属
性上建立作为唯一索引
3.
由表
Dbuy
Dno,Pno
取值唯一,经常在查询条件中出现,且她们更新平率较低,所以
考虑在这组属性上建立作为唯一索引
4.2.2
系统模块分析
1、药品基本信息的查询与更新(插入、删除、修改)操作
2、制药商基本信息的查询与更新(插入、删除、修改)操作
3、买药人基本信息的查询与更新(插入、删除、修改)操作
4、药品存储信息的查询与更新(插入、删除、修改)操作
5、
药品盈利情况统计查询
6、
买药人购买药品信息的查询
7、
管理员对买药人购买药品和退回药品信息的查询
8、
管理员对购药人员订购药品和退订药品信息的查询
4.2.3
四、程序源码与运行结果
表和视图的建立
创建购药记录表
create
table
DBuy
char(5
)notnull,
Dnochar(5)notnull,
Quantityintnotnull
Time_SDsmalldatetime,
Dealchar(4)notnull,
nonclustered
index
timeidx
on
DBuy(Time_SD
DESC),
primary
key(Pno,Dno),
foregin
key(Pno)
reference
Parient(Pno),
forgrin
key(Dno)
Drug(Dno),
check(Quantity>
'
0'
),
check(Deal='
售出'
)
);
创建药品存储表
tableStored
Lnochar(5
key(Lno,Dno),
key(Lno)
referenceStorage(Lno),
);
创建买药视图
view
DM_P
as
select
Dname,Dguige,Drand,Mname,Mplace,Mphone,Memail
from
Drug,Maker,Dorder
where
Drug.Dno=Dorder.Dno
and
Maker.Mno=Dorder.Mno
with
check
option
1.4创建退药视图
DM_M
Dname,Dguige,Dbrand,Dprice1,Dpricel2,Mname,Mplace,Mphone,Memail
Drug,Maker,DBack
Drug.Dno=DBack.Dno
Maker.Mno=DBack.Mno
2
数据插入
向
Dorder
表中插入一个订购记录
insert
into
values('
M0001'
'
D0009'
150'
2014-10-23'
订购'
5.2.2
Drug
表插入一个新的药品记录
Drugvalues('
D0024'
维生素'
125s*36
粒'