药店药品管理系统数据库总报告资料Word文档格式.docx
- 文档编号:17386427
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:29
- 大小:1.56MB
药店药品管理系统数据库总报告资料Word文档格式.docx
《药店药品管理系统数据库总报告资料Word文档格式.docx》由会员分享,可在线阅读,更多相关《药店药品管理系统数据库总报告资料Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
药品编号买药人编号药品数量柜台编号
二、系统功能要求分析
药品管理系统应具备以下几个基本功能:
(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)药品剩余数量查询与缺货药品查询及统计。
如图,即为药品销售系统的全局数据流图,即第一层数据流程图。
系统局部数据流图
全局数据流图从整体上描述了系统的数据流向和加工处理过程,为了清楚地描述系统数据的流向和加工处理的每个细节,在全局DFD基础上,对全局DFD中的某些局部进行单独放大,进一步细化,过程如下:
药品销售过程主要分为三个业务,第一个业务为药品购进业务,第二个业务为存药业务,第三个业务为售药业务。
针对三个业务得到第二层数据流程图如下:
(1)药品购进业务流程图
1.4数据字典
由于数据流程图表达不够准确、具体,只有当数据流程图中出现的每一个成分都给出定义之后,才能完整、准确地描述一个系统,因此,有必要建立数据字典来对数据流程图中的各个元素作出详细的说明。
数据字典通常包括数据项、数据结构、数据存储和处理过程5个部分,其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
(1)数据项
该系统设计的数据项共有24个,如下表:
数据项编号
数据项名
存储结构
别名
取值约束
DI-1
Dno
char(5)
药品编号
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
售退方式
售出、退回
数据结构
该系统的数据结构共有7个,具体见下表:
数据结构编号
数据结构名
含义说明
组成
DS-1
Drug
药品信息
DnoDnameDclassDbrandDprice1Dprice2
DS-2
Patient
买药人信息
PnoPnamePagePsexPphonePaddress
DS-3
Maker
制药商信息
MnoMnameMplace
DS-4
Storage
柜台信息
LnoLname
DS-5
Order_Back
药品退订信息
MnoDnoTime_SDQuantitySupply
DS-6
Buy_Back
药品退售信息
PnoDnoTime_SD
QuantityDeal
DS-7
Stored
药品存储信息
DnoLnoQuantity
2.概念设计部分
2.1分析过程
根据之前的数据流图和数据字典,我们提取出实体、实体的属性、标识实体的码、确认实体之间的联系及其类型。
定义如下:
药品:
[药品编号、药品名称、药品分类、药品规格、药品品牌、进药单价‘买药单价]
买药人员:
[买药人编号、买药人性命、性别、年龄、联系电话、住址]
制药商:
[制药商编号、制药商名称、公司地位、联系电话、联系网址]
柜台信息:
[柜台编号、柜台名称]
药品退订:
[药品编号、制药上编号、药品数量、处理时间、退订方式]
药品售退:
[药品编号、买药人编号、药品数量、处理时间、售退方式]
药品储存:
[药品编号、柜台编号、药品数量]
2.2子模块ER图
2.2.1存药子模块ER图
2.2.2售药子模块ER图
2.2.3购进药品子模块ER图
2.3全局ER图
3.逻辑设计部分
3.1数据库关系模式定义描述
1.Drug(药品)
属性名
数据类型
别名(注释)
可否为空
主键/外键
取值范围
否
主键
Dbrang
floar
大于0
买药单价
2.patient(买药人)
1-150
nan、nv
联系号码
进住址
3.Maker(制药商)
Mpalce
公司地址
Meail
联系邮箱
4..Storage(存储位置)
存储编号
存储位置
不小于0
5,DOrder(订药)
外键(主键之一)
订购
6.Dback(药品退订)
退订
7.Dbuy(买药)
买药时间
售出
8、BBack(退药)
9.Stored(库存)
3.2用户子模式——视图设计
1、DM_P(订药)
DBrand
Mpalace
char)11)
Meamil
处理方式
Qauntity
数量
2.DM_M(药品退订)
Dpricel1
药品进价
Dpricel2
药品售价
3.PD_M(买药)
买药人名字
电话
地址
4、DS_M(药品存储)
4.物理设计部分
4.1目标与任务
1.确认数据库的物理结构,主要指存取方式和存储结构
2.对物理结构进行评价,评价重点是时间和空间效率数据存取方法
4.2数据存取方法
4.2.1基本表索引
1.由于基本表Stored的主码Dno,Lno经常在查询条件中出现,且它们更新平率较低,所以考虑在这组属性上建立作为唯一索引
2.由于基本表DOrder的主码Dno,Mno经常在查询条件和链接操作中出现,所以考虑在这组属性上建立作为唯一索引
3.由表Dbuy的主码Dno,Pno取值唯一,经常在查询条件中出现,且她们更新平率较低,所以考虑在这组属性上建立作为唯一索引
4.2.2系统模块分析
1、药品基本信息的查询与更新(插入、删除、修改)操作
2、制药商基本信息的查询与更新(插入、删除、修改)操作
3、买药人基本信息的查询与更新(插入、删除、修改)操作
4、药品存储信息的查询与更新(插入、删除、修改)操作
5、药品盈利情况统计查询
6、买药人购买药品信息的查询
7、管理员对买药人购买药品和退回药品信息的查询
8、管理员对购药人员订购药品和退订药品信息的查询
4.2.3系统模块分析
四、程序源码与运行结果
1表和视图的建立
1.1创建购药记录表
createtableDBuy
(Pnochar(5)notnull,
Dnochar(5)notnull,
Quantityintnotnull,
Time_SDsmalldatetime,
Dealchar(4)notnull,
createnonclusteredindextimeidxonDBuy(Time_SDDESC),
primarykey(Pno,Dno),
foreginkey(Pno)referenceParient(Pno),
forgrinkey(Dno)referenceDrug(Dno),
check(Quantity>
'
0'
),
check(Deal='
售出'
)
);
1.2创建药品存储表
createtableStored
(Lnochar(5)notnull,
primarykey(Lno,Dno),
foreginkey(Lno)referenceStorage(Lno),
);
1.3创建买药视图
createviewDM_P
as
selectDname,Dguige,Drand,Mname,Mplace,Mphone,Memail
fromDrug,Maker,Dorder
whereDrug.Dno=Dorder.DnoandMaker.Mno=Dorder.Mno
withcheckoption
1.4创建退药视图
createviewDM_M
selectDname,Dguige,Dbrand,Dprice1,Dpricel2,Mname,Mplace,Mphone,Memail
fromDrug,Maker,DBack
whereDrug.Dno=DBack.DnoandMaker.Mno=DBack.Mno
2数据插入
2.1向Dorder表中插入一个订购记录
insertintoDordervalues('
M0001'
'
D0009'
150'
2014-10-23'
订购'
5.2.2向Drug表插入一个新的药品记录
insertintoDrugvalues('
D0024'
维生素'
125s*36粒'
太极'
1.50,2.00)
3数据查询
3.1全药品存储位置及库存查询
3.2查询在2004-8-21退订的药品数量大于80的药品的详细信息
3.3查询在2004-8-05前买药的病人的姓名和地址
4数据统计
4.1统计在2014-8-21卖出的各药品数量
4.2统计编号为"
P0001"
的病人购买各药品的总数量
5数据修改
5.1将Drug表中编号为D0001的药品的名称由666感冒灵更改为999感冒灵
5.2修改存储在二层左位置的所有药品的库存数量为100
五、课程设计总结与感悟
在学习数据库这门课程时,感觉学到的知识还是掌握了的,并且以为自己已经理解了,但真正通过一个课程设计去应用这些知识的时候才发现,会遇到很多困难,并且学到的知识自己其实并不能熟练的应用,将知识应用到实际的工作并没有很好的完成。
在课程设计遇到了许多问题,例如:
插入数据时,提示插入的数据长度不符合要求,原因是未考虑到汉字占两个字节,char[]的长度设置过小,解决办法是修改长度即可
无法插入数据到一个表中,总是提示外键约束错误,原因是因为该表中有外键,而外键所在的表未插入数据,所以无法插入数据到该表(插入的外键值不存在)。
解决方法是先将外键所在表的数据插入,在插入该表的数据。
数据库建立在一个账号上,只有一个人可以操作,显得不方便。
可以通过授权GRANT给另一个账号,就可以两个账号进行操作,方便了许多。
问题和困难还遇到过许多,在这不一一列数。
在课程设计的过程中,经历了许多的相关设计工作,也学习到了许多书本上有和没有的知识,更重要的是,通过不断的实践和自学,不断发现问题,思考问题,进而解决问题,有效的提升了我们的动手能力,并加深了对知识的理解和掌握,从一开始的需求分析,到概念设计,到逻辑设计,再到物理设计,一直到上机建立数据库,一步步走来,通过我们自己亲自分析、设计、和动手,也让我们不断进步和成长。
这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,任何困难在勇气和毅力面前都是"
纸老虎"
。
从做这个数据库开始无论遇到什么困难,我们都一直坚持,努力去解决,通过上网,与同学交流,向老师请教等等手段。
通过这次课程设计的完成,使我们对所学的知识有了进一步掌握,同时也通过实践发现了自己的不足。
所以在今后的学习中,我们仍应该好好学习,不断完善自我。
当然,本系统仍然存在了许多的不足之处,如功能不够完善,安全性问题没有很好解决等,恳请老师谅解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 药店 药品 管理 系统 数据库 报告 资料