药店药品管理系统数据库总报告资料Word文档格式.docx

上传人:b****4 文档编号:17386427 上传时间:2022-12-01 格式:DOCX 页数:29 大小:1.56MB
下载 相关 举报
药店药品管理系统数据库总报告资料Word文档格式.docx_第1页
第1页 / 共29页
药店药品管理系统数据库总报告资料Word文档格式.docx_第2页
第2页 / 共29页
药店药品管理系统数据库总报告资料Word文档格式.docx_第3页
第3页 / 共29页
药店药品管理系统数据库总报告资料Word文档格式.docx_第4页
第4页 / 共29页
药店药品管理系统数据库总报告资料Word文档格式.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

药店药品管理系统数据库总报告资料Word文档格式.docx

《药店药品管理系统数据库总报告资料Word文档格式.docx》由会员分享,可在线阅读,更多相关《药店药品管理系统数据库总报告资料Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。

药店药品管理系统数据库总报告资料Word文档格式.docx

药品编号买药人编号药品数量柜台编号

二、系统功能要求分析

药品管理系统应具备以下几个基本功能:

(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给另一个账号,就可以两个账号进行操作,方便了许多。

问题和困难还遇到过许多,在这不一一列数。

在课程设计的过程中,经历了许多的相关设计工作,也学习到了许多书本上有和没有的知识,更重要的是,通过不断的实践和自学,不断发现问题,思考问题,进而解决问题,有效的提升了我们的动手能力,并加深了对知识的理解和掌握,从一开始的需求分析,到概念设计,到逻辑设计,再到物理设计,一直到上机建立数据库,一步步走来,通过我们自己亲自分析、设计、和动手,也让我们不断进步和成长。

这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,任何困难在勇气和毅力面前都是"

纸老虎"

从做这个数据库开始无论遇到什么困难,我们都一直坚持,努力去解决,通过上网,与同学交流,向老师请教等等手段。

通过这次课程设计的完成,使我们对所学的知识有了进一步掌握,同时也通过实践发现了自己的不足。

所以在今后的学习中,我们仍应该好好学习,不断完善自我。

当然,本系统仍然存在了许多的不足之处,如功能不够完善,安全性问题没有很好解决等,恳请老师谅解。

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

当前位置:首页 > 解决方案 > 学习计划

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

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