文档库 最新最全的文档下载
当前位置:文档库 › 学校门诊药品管理系统

学校门诊药品管理系统

2012班课程设计

《学校门诊药品管理系统》

课程设计论文

学生姓名衣可然木

学号5032108108

所属学院信息工程学院

专业计算机应用技术

班级计算机12-1

指导教师吴刚

教师职称讲师

目录

目录 (2)

1前言 (1)

2 需求分析市场调查 (1)

3业务流程图 (2)

4数据流程图 (3)

4.1流程图 (3)

4.2数据字典 (4)

5概念结构设计 (5)

6物理结构设计 (7)

7 数据库的生成 (7)

7.1建数据库 (7)

7.2数据的查询 (9)

8测试内容 (11)

9小结 (12)

参考文献 (12)

附录1: (13)

1前言

随着我国市场经济的蓬勃发展和人们对医药产品需求的迅速增加,医药行业正处于一个高速发展的时期。行业的快速发展必然导致竞争的加剧,要想在激烈的市场竞争中谋求发展,客观上要求企业必须加强内部管理,提高运营效率。另外,由于医药产品种类繁多、销售模式特殊、业务量打,单凭手工记账已很难适应工作的需要。医药作为一个关系到人们健康的特殊行业,国家对医药汗液又有一些不同于其他行业的管理政策,这些都加大了管理的难度如何尽快建立和完善现代企业的信息化管理机制问题,已成为医药企业发展的关键所在。

我们使用SQL Server 2000开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成可行系统。经过多年的发展桌面数据库领域开发与应用的标准,广泛应用于公司办公自动化,信息管理系统,中小型数据库开发等方面。SQL Server 2000可以帮助用户对整个公司业务数据进行系统的综合管理.进而有效的提高企业内部的信息沟通效率,节省大量的人,时间和金钱。并且能够以轻松快捷的方式建立起属于自己的数据管理系统。随着计算机技术的不断发展,计算机应用于各大领域,并给人们的生活带来了极大的便利,利用计算机进行药品管理,堵塞了药品的流失。规范了价格管理,避免了人为的物价损失,从而明显地提高医院的经济效益。将销售行为纳入规范化、公开化的轨道,从制度上纠正医药商品购销活动中的不正之风。

校医院药品管理系统是一种基于集中统一规划的数据库数据管理新模式。在药品管理中,药品基本信息、药品销售数据、药品库存数据等信息多而繁,不易管理。本系统的建成无疑会为管理者对药品管理系统提供极大的帮助。

2 需求分析市场调查

需求分析的目标是:按照系统规划原则在业务系统项目的范围内,具体明确系统开发的目标和用户的信息要求。通过对现行系统的管理水平、原始数据的精确程度、规章制度是否齐全和切实可行、管理人员对开发新系统的需求等内容的详细调查,从而获得软件开发的基础,确定总体设计的限制条件,确认软件测试的具体要求,定义详细的功能模块,以求达到协助系统开发的根本目的。

在需求分析中,主要采用业务流程图、数据流程图、数据字典等工具进行描述和分析。通过对现在流行的各种进销存软件的分析,我们发现市场上的软件过于繁琐,操作比较复杂,而其中软件的许多功能不被小型的校医院所采用,造成软件冗余量大。药品进销存管理系统设计的总体目标是通过对销售、订单、库存的管理,及时准确了解销售、库存等综合情况,以便为管理者做出准确的判断提供依据。并通过药品进销存数据的分析,为管理及决策人员提供药品到期情况、药品库存情况。

药品进销存管理系统的使用者要求系统具有良好的可靠性和可操作性,它的各种基本的操作容易为管理者所掌握,有较好的完全性,并要求系统具有高效率,易维护,可移植性较

好等特点,我们据此展开分析。

3业务流程图

通过对校医院的处理内容、处理顺序、处理细节和处理要求等各环节的调查和分析,弄清各个环节所需要的信息内容、信息来源、流经取向、处理方法、计算方法、提供信息的时间和信息表示形态(报表、表单、表格、输入输出内容、屏幕显示)等,并且把相关的调查

结果用“业务流程图”表示出来

图3.1 业务流程图

仓库

供应

药品

药方

药品信息单

售出药品

统库存

动态

库存缺货帐药品订审

未批

订购

进药单出库药品

预警单超线预

药方

4数据流程图

4.1流程图

综合的反映出信息在系统中的流动、处理和存储情况。根据上面业务流程图的描述,从系统的科学性、管理的合理性、实际运行的可行性角度出发,自顶向下对系统进行分解,导出了药品管理系统的系统关联图、系统顶层图和系统分解图。

图4.1 数据流程图

学校门诊药品

管理系统

患者

医生

仓库

药品供应商

药品清单

药品清单

买入药单

信息单

库存清单

入库清单

要购买清单

药品售出清单

要购买药品清单

买入药品清单

4.2数据字典

表1购药单

列含义列标志类型长度是否主健完整性约束

药品编号Char 2 是数字字符

购药单编号Char 10 否字符型数据

成员密码购药日期)Char 10

字符型数据

购药数量Char 10 否字符型数据

表2 药品

列含义列标志类型长度是否主健完整性约束药品编号Char 10 是数字字符

供应商编号Char 10 否数字字符药品名称Char 10 是字符型数据药品单价Char 10 否字符型数据所存仓库号Char 10 是数字字符

药品备注Char 10 否字符型数据

表3供应商

列含义列标志类型长度是否主健完整性约束供应商编号Char 8 是数字字符

姓名Char 10 否字符型数据地址Char 8 是数字字符联系电话Char 11 是数字字符传真Char 8 是数字字符邮政编码Char 10 是数字字符

表4仓库

列含义列标志类型长度是否主健完整性约束仓库编号Char 6 是数字字符

表5库管员

列含义 列标志 类型 长度 是否主健

完整性约束 库管员编号 Char 2 是 数字字符 名称 Char 10 否 字符型数据 密码

Char 10

数字字符

5概念结构设计

概念模型有很多模型,其中最常用的方法之一是“实体—联系模型”(entity relationship model ),即使用E-R 图来描述某一组织的概念模型。

这个阶段的目标即抽象出本系统的概念模型,为下一步做准备。该阶段的任务为采用自下而上的方法抽象出各子模块的E-R 图,再通过合并的方法做到各子系统实体、属性、联系统一,最终形成系统的全局E-R 图。

图5.1 E-R 图

供应

购买 售理 库管员

供应商 药品

供应量

管理

购药单 存放 仓库

n n m n

m

m n

1 m

1

各实体属性如下,其中主码用下划线标出:

购药单(药品编号,购药单编号,购药数量,购药日期)

药品(药品编号,供应商编号,药品名称,,药品单价,所存仓库号,药品备注) 供应商(供应商编号,姓名,地址,联系电话,传真,邮政编码) 仓库(仓库编号)

库管员(库管员编号,名称,密码)

存放(仓库编号,药品编号,入库日期,出库日期,库存数量) 供应(供应商编号,供应量)

购药(购药单编号,购药日期,购药数量)

在软件中输入如图5.1的E-R 图和下面的各个属性。

0,n

0,n 0,n

0,n

0,n

0,n

购买

药品编号顾客买药品编号顾客买药品数量VA20A10A20

购药单

药品编号购药单编号购药数量购药日期)A10VA20VA10A10Identifier_1

药品

药品编号供应商编号药品名称药品单价所存仓库号药品备注A10VA20VA10A3VA10VA20

Identifier_1

供应商

供应商编号姓名地址联系电话传真邮政编码A10A10VA10VA11VA7A8

Identifier_1

仓库

仓库编号A10Identifier_1

库管员

库管员编号名称密码A10VA20VA6

供应

供应商编号供应量A10VA20

图5.2在软件环境中画出的E-R 图

6物理结构设计

FK_购买_购买_YOUP FK_购买_购买2_YOU

FK_GY_GY_GUS

FK_GY_GY2_YOU

FK_KYUAN_KYUAN_YOU

FK_KYUAN_KYUAN2_CKU 购买

药品编号2药品编号3药品编号

顾客买药品编号顾客买药品数量

char(10)char(10)varchar(20)char(10)char(20)

购药单

药品编号

购药单编号购药数量购药日期)

char(10)varchar(20)varchar(10)char(10)

药品

药品编号供应商编号药品名称药品单价所存仓库号药品备注

char(10)varchar(20)varchar(10)

char(3)

varchar(10)varchar(20)

供应商

供应商编号姓名地址联系电话传真邮政编码

char(10)char(10)varchar(10)varchar(11)varchar(7)char(8)

仓库

仓库编号char(10)

库管员

药品编号仓库编号

库管员编号名称密码

char(10)char(10)char(10)varchar(20)varchar(6)

供应

供应商编号2药品编号供应商编号供应量

char(10)char(10)char(10)varchar(20)

图6.1 物理数据模型图

7 数据库的生成

7.1建数据库

首先打开SQL 系统的企业管理器在数据库中新建一个名为tiezi 数据库。然后打开SQL

系统的查询分析器。在查询分析其中选中刚才新建的数据库tiezi 。然后将刚才生成的代码粘贴到查询分析器当中。

在SQL系统的企业管理器当中查看新建的数据库tiezi当中的内容。

图7.2 企业管理器新建的数据库

7.2数据的查询

7.2.1仓库表查询结果

图7.2.2 供应表查询结果

图7.2.3 供应商查询结果

图7.2.4 存放表查询结果

图7.2.5 库管员表查询结果

图7.2.6 管理表查询结果

图7.2.7 药品表查询结果

图7.28购买表查询结果

图7.2.9购药单查询结果

8测试内容

本系统完成的是在一定理想状态下的各种功能,故测试内容也只能做简单处理,可以通过以下几种内容进行测试

(1)在SQL软件查询分析器当中查询并返回药品编号为1的药品的名称以及其药品库

存量。

图8. 1 测试一结果

(2)在SQL软件查询分析器当中查询并返回药品编号为1的药品的过期预警。这里引入触发器来完成这个查询工作。触发器是用户定义在关系表上的一类由时间驱动的特殊过程。一旦定义,任何用户对表的增加,删除,修改操作均由服务器自动激活相应的触发器,在DBMS 就恶心曾进行的完整性控制。

9小结

队于这次的课程设计我们也有很多的收获:首先,它提高了我们的自学能力,让我们通过查阅资料,参考别人的优秀作品,学到了许多书本上根本就没有的知识;然后,进一步提高了我

们的思想,为以后的学习和工作打下坚实的基础。所以说,通过整个学期的学习以及通过课程设计这样一个巩固和学习的过程,我们每个人都有很大的进步。不管是学习方面,还是在其他的方面。虽然这个过程可能会有点辛苦,但是辛苦之后的成就感是难以言喻的。才会让我们感受到成功的自信和骄傲!

参考文献

[1]余建英.PwerBuilder数据库系统开发实力导航(第二版).北京:人民邮电出版社.2004.4.

[2]王晟,王松,刘强.数据库开发经典案例解析.北京:清华大学出版社.2005.7.

[3]王珊,萨师煊.数据库系统概论(第四版).北京:高等教育出版社.2006.3.

[4]周金根.数据库通用模块及典型系统开发实力导航(第一版).北京:人民邮电出版社.2006.2.

[5]钟军.数据库高级实例导航.科学出版社2004年7月.

[6]何旭洪。傅立宏.信息管理系统开发人民邮电出版社2005年4月.

[7]牛勇。SQL Server编程篇电子工业出版社2005年1月.

[8]郑阿奇SQL Server实训。北京:清华大学出版社2005年.

附录1:

/*==============================================================*/ /* DBMS name: Microsoft SQL Server 2000 */

/* Created on: 2010-12-20 18:56:09 */

/*==============================================================*/ alter table gy

drop constraint FK_GY_GY_GUS

go

alter table gy

drop constraint FK_GY_GY2_YOU

go

alter table kyuan

drop constraint FK_KYUAN_KYUAN_YOU

go

alter table kyuan

drop constraint FK_KYUAN_KYUAN2_CKU

go

alter table 购买

drop constraint FK_购买_购买_YOUP

go

alter table 购买

drop constraint FK_购买_购买2_YOU

go

if exists (select 1

from sysindexes

where id = object_id('gy')

and name = 'gy2_FK'

and indid > 0

and indid < 255)

drop index gy.gy2_FK

go

if exists (select 1

from sysindexes

where id = object_id('gy')

and name = 'gy_FK'

and indid > 0

and indid < 255)

drop index gy.gy_FK

go

if exists (select 1

from sysindexes

where id = object_id('kyuan')

and name = 'kyuan2_FK'

and indid > 0

and indid < 255)

drop index kyuan.kyuan2_FK

go

if exists (select 1

from sysindexes

where id = object_id('kyuan')

and name = 'kyuan_FK'

and indid > 0

and indid < 255)

drop index kyuan.kyuan_FK

go

if exists (select 1

from sysindexes

where id = object_id('购买')

and name = '购买2_FK'

and indid > 0

and indid < 255)

drop index 购买.购买2_FK

go

if exists (select 1

from sysindexes

where id = object_id('购买')

and name = '购买_FK'

and indid > 0

and indid < 255)

drop index 购买.购买_FK

go

if exists (select 1

from sysobjects

where id = object_id('cku')

and type = 'U')

drop table cku

go

if exists (select 1

from sysobjects

where id = object_id('gus')

and type = 'U')

drop table gus

go

if exists (select 1

from sysobjects

where id = object_id('gy')

and type = 'U')

drop table gy

go

if exists (select 1

from sysobjects

where id = object_id('kyuan')

and type = 'U')

drop table kyuan

go

if exists (select 1

from sysobjects

where id = object_id('you')

and type = 'U')

drop table you

go

if exists (select 1

from sysobjects

where id = object_id('youp')

and type = 'U')

drop table youp

go

if exists (select 1

from sysobjects

where id = object_id('购买')

and type = 'U')

drop table 购买

go

/*==============================================================*/ /* Table: cku */

/*==============================================================*/ create table cku (

cyuh char(10) not null,

constraint PK_CKU primary key (cyuh)

)

go

/*==============================================================*/ /* Table: gus */

/*==============================================================*/ create table gus (

ghm char(10) not null,

mz char(10) null,

dj varchar(10) null,

lx varchar(11) null,

jz varchar(7) null,

yj char(8) null,

constraint PK_GUS primary key (ghm)

)

go

/*==============================================================*/ /* Table: gy */

/*==============================================================*/ create table gy (

ghm char(10) not null,

youh char(10) not null,

gh char(10) not null,

gl varchar(20) null,

constraint PK_GY primary key (ghm, youh)

)

go

/*==============================================================*/ /* Index: gy_FK */

/*==============================================================*/ create index gy_FK on gy (

ghm ASC

)

go

/*==============================================================*/ /* Index: gy2_FK */

/*==============================================================*/ create index gy2_FK on gy (

youh ASC

)

go

/*==============================================================*/ /* Table: kyuan */

/*==============================================================*/ create table kyuan (

youh char(10) not null,

cyuh char(10) not null,

kuyuh char(10) not null,

micheng varchar(20) null,

mim varchar(6) null,

constraint PK_KYUAN primary key (youh, cyuh)

)

go

/*==============================================================*/ /* Index: kyuan_FK */

/*==============================================================*/ create index kyuan_FK on kyuan (

youh ASC

)

go

/*==============================================================*/ /* Index: kyuan2_FK */

/*==============================================================*/ create index kyuan2_FK on kyuan (

cyuh ASC

)

go

/*==============================================================*/ /* Table: you */

/*==============================================================*/ create table you (

youh char(10) not null,

guh varchar(20) null,

dite varchar(10) null,

youj char(3) null,

suos varchar(10) null,

youpi varchar(20) null,

constraint PK_YOU primary key (youh)

)

go

/*==============================================================*/ /* Table: youp */

/*==============================================================*/ create table youp (

longfioat char(10) not null,

fioat varchar(20) null,

fioata varchar(10) null,

longfioatx char(10) null,

constraint PK_YOUP primary key (longfioat)

)

go

/*==============================================================*/ /* Table: 购买*/

/*==============================================================*/ create table 购买(

longfioat char(10) not null,

youh char(10) not null,

float varchar(20) not null,

lentegel char(10) null,

lenyegel char(20) null,

constraint PK_购买primary key (longfioat, youh)

)

go

/*==============================================================*/ /* Index: 购买_FK */

/*==============================================================*/ create index 购买_FK on 购买(

longfioat ASC

)

go

/*==============================================================*/ /* Index: 购买2_FK */

/*==============================================================*/ create index 购买2_FK on 购买(

youh ASC

)

go

alter table gy

add constraint FK_GY_GY_GUS foreign key (ghm)

references gus (ghm)

go

alter table gy

add constraint FK_GY_GY2_YOU foreign key (youh)

references you (youh)

go

alter table kyuan

add constraint FK_KYUAN_KYUAN_YOU foreign key (youh)

references you (youh)

go

alter table kyuan

add constraint FK_KYUAN_KYUAN2_CKU foreign key (cyuh)

references cku (cyuh)

go

alter table 购买

add constraint FK_购买_购买_YOUP foreign key (longfioat)

references youp (longfioat)

go

alter table 购买

add constraint FK_购买_购买2_YOU foreign key (youh)

references you (youh)

go

相关文档