数据库药品进存销信息管理系统.docx

上传人:b****0 文档编号:25877601 上传时间:2023-06-16 格式:DOCX 页数:31 大小:676.33KB
下载 相关 举报
数据库药品进存销信息管理系统.docx_第1页
第1页 / 共31页
数据库药品进存销信息管理系统.docx_第2页
第2页 / 共31页
数据库药品进存销信息管理系统.docx_第3页
第3页 / 共31页
数据库药品进存销信息管理系统.docx_第4页
第4页 / 共31页
数据库药品进存销信息管理系统.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

数据库药品进存销信息管理系统.docx

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

数据库药品进存销信息管理系统.docx

数据库药品进存销信息管理系统

课程设计(大作业)报告

 

课程名称:

数据库原理与技术

设计题目:

药品进存销信息管理系统

院系:

信息技术学院

班级:

2010级计算机应用技术班

设计者:

杨浩超

学号:

2

指导教师:

邱莎

设计时间:

2012-6-20

 

信息技术学院

昆明学院课程设计(大作业)任务书

姓名:

杨浩超院(系):

信息技术学院

专业:

计算机应用技术学号:

2

任务起止日期:

2012-6-18——2012-6-21

课程设计题目:

药品进存销信息管理系统

课程设计要求:

1.根据初始信息,完成该系统的后台数据库设,设计要求严格按数据库设计步骤完成。

必要时,可以组织调研,扩大或完善设计所需的信息。

2.项目主管根据要求制定出合理的后台数据库设计项目计划。

3.技术主管根据项目主管下达的设计任务和基本信息,制定数据库设计任务实施的技术方案。

4.设计数据库时要求使用数据库对象,对象的设计要实用。

5.为所设计的数据库制定适当的安全管理方案。

6.程序员接受技术主管下达的设计任务,按要求按时完成。

工作计划及安排:

总的分为四个阶段

第一阶段:

对数据库的创建和相关数据的添加

时间是6月18日星期一,具体的情况如下:

数据库的创建主要由王长尧负责,数据的收集由杨帮荣、杨浩超、周建成完成,数据的添加由马年顺完成。

完成情况达到了预期的效果,成功的将数据加到数据库中。

由严文娟设计任务实施的技术方案。

如:

数据流图,概念模型,逻辑模型等。

第二阶段:

对数据库相关视图、触发器、函数和存储过程的创建以及前台的操作窗体的创建

时间是6月19日星期二,具体情况如下:

视图、函数、触发器的创建有严文娟完成,存储过程由周建成、杨浩超、杨帮荣完成,前天的操作窗体由马年顺和王长尧完成。

第三阶段:

对创建的管理系统进行调试、运行

时间是6月20日上午,具体情况如下:

这一部分的主要负责是马年顺,具体的调试过程有马年顺来完成,其他成员负责解决调试中出现的问题。

第四阶段:

对实验报告的填写和上交

时间是6月21日星期三,具体情况如下:

这一阶段由王长尧负责监督完成,各成员负责将自己的实验报告填写完整,并统一上交。

指导教师签字

 

年月日

课程设计(大作业)成绩

学号:

2姓名:

杨浩超指导教师:

邱莎

课程设计题目:

药品进存销信息管理系统

总结:

实训课是在学习与探索中度过的,短暂的一星期实训是结束了,其中让我们学到了许多知识,虽然还有许多疑问,但最终是在老师和同学的帮助下完成。

但我知道我收获的远比想象中的要多,同时,通过此次实训,我了解到了想学好数据库这门课程,实践是必须的,因为数据库是一门操作性能很强的课程。

在实训中,我遇到了很多的难题,但也就是因为这样,我又一遍遍的去寻找解决的方式和途径,使这些难题得以顺利解决,这个累积的过程,也就成了我实训期间宝贵的经验与财富,相信对我以后的生活也会有很大的帮助。

经过这次实训,我相信,在以后的生活中,不管遇到什么难题,只要一直保持这种心态与斗志,我的人生一定会有更大的收获。

指导教师评语:

 

成绩:

 

填表时间:

指导教师签名:

课程设计(大作业)报告

一、题目分析

如何利用现代信息技术使企业拥有快速、高效的市场反映能力和高度的效率,已是医药经营企业,特别是医药连锁经营企业特别关心的问题。

尽快建立一个功能齐备的药品进、出库管理系统,完善现代企业的信息化管理机制,已成为医药企业生存发展的当务之急。

通过开发这个药品管理系统,使药品进销存管理工作系统化,规范化,自动化,从而达到提高管理效率的目的。

这个药品管理系统主要涉及医院药库的药品进、销、存等业务,以及入库、出库和库存管理,药品管理主要管理药库中所有药品的进出和内部统计计算,为药品会计提供基础数据,以及包括有效期的报警和下限报警。

本系统开发设计思想就是实现药品管理的数字化。

二、总体设计

1.设计思想

数据库表以二维表的形式存储在硬盘中,可以方便的用select语句进行组合查询,进而用视图的形式显示所要信息。

本系统分五个模块,需要用数据库建立五个表格,还有分别对药品信息,员工信息,客户信息,出库入库信息,销售信息进行单独管理。

1.1药品信息表设计

该表是存储药品信息的表,主要用来存储药品的药品编号、药品名称、生产厂家、生产日期、保质期、用途、价格、数量、经手人

1编号(药品编号为主键)

1.2员工信息表设计

该表存放了员工的基本信息,包括汽车的员工编号、姓名、性别、年龄、学历、职务

表2

1.3出库入库信息表设计

该表主要存储了出库入库的信息,包括当前库村药品流水号,药品、进货时间、数量、折扣、经手人等信息

表3

1.4客户信息表设计

该表主要存储了客户的信息,包括客户编号、姓名、性别、出生日期、联系电话等信息

表4

1.5销售信息表设计

该表主要存储了销售的信息,包括流水号、客户、购买时间、数量、折扣、经手人等基本信息

表5

2.E-R图

三、实验器材

MicrosoftSQLServer2005软件

MicrosoftVisualBasic6.0中文版软件

四、具体过程

一、时间是6月18日星期一,具体的情况如下:

小组开会讨论,分配给程序员查找数据和资料,编写创建数据库和表的代码,我的任务是进货和销售代码的编写,完成情况达到了预期的效果,成功的将数据加到数据库中。

二、时间是6月19日星期二,具体的情况如下:

用触发器和约束实现数据完整性保护,我主要负责视图的创建。

一下是我采用的代码:

CREATEVIEW[dbo].[进货视图]

AS

SELECTdbo.进货.经手人,dbo.销售.经手人ASExpr1,dbo.进货.药品,dbo.销售.药品ASExpr2,dbo.进货.进货时间,dbo.销售.购买时间,dbo.进货.数量,

dbo.销售.数量ASExpr3,dbo.进货.折扣,dbo.销售.折扣ASExpr4

FROMdbo.进货INNERJOINdbo.销售ONdbo.进货.流水号=dbo.销售.流水号

 

createview客户视图

as

selectdbo.客户.姓名,dbo.客户.性别,dbo.客户.出生日期,dbo.客户.联系电话

fromdbo.客户innerjoindbo.药品ondbo.客户.客户编号=dbo.药品.客户编号

go

 

CREATEVIEW[dbo].[员工视图]

AS

SELECTdbo.员工.姓名,dbo.员工.性别,dbo.员工.年龄,dbo.员工.学历,dbo.员工.职务,

dbo.员工.员工编号

FROMdbo.药品INNERJOINdbo.员工ONdbo.药品.员工编号=dbo.员工.员工编号

弄好后报给马年顺。

三、时间是6月20日上午,具体情况如下:

前台的搭建由王长尧实现,三名程序员把代码写好交给测试主管马年顺来测试,有错误的地方反馈给技术主管严文娟,由严文娟进行代码的修改。

四、时间是6月21日星期三,具体情况如下:

由王长尧负责监督完成,各成员负责将自己的实验报告填写完整,并统一上交。

五、程序代码

5.1、创建yaopin数据库的代码

createdatabaseyaopin

on

(name=yaopin_data,

'd:

\yaopin_data.mdf',

size=10MB,

maxsize=unlimited,

logon

(name=student_log,

'd:

\yaopin_log.ldf',

size=10MB,

maxsize=unlimited,

5.2、创建yaopin表的代码

USEyaopin

GO

CREATETABLE客户

(客户编号char(4)CONSTRAINTpk_khbhPRIMARYKEY,

姓名char(8)NOTNULL,

性别char

(2)NOTNULL,

出生日期datetimeNOTNULL,

联系电话char(20))

GO

CREATETABLE药品

(编号char(4)CONSTRAINTpk_ypbhPRIMARYKEY,

药品名称varchar(20)NOTNULL,

生产厂家varchar(50)NOTNULL,

生产日期datetimeNOTNULL,

保质期varchar(10)NOTNULL,

用途varchar(40)NOTNULL,

规格varchar(40)NOTNULL,

进货价varchar(10)NOTNULL,

销售价varchar(10),

员工编号char(20),

客户编号char(20))

GO

CREATETABLE员工

(员工编号char(12)CONSTRAINTpk_ygbhPRIMARYKEY,

姓名char(8)NOTNULL,

性别char

(2)NOTNULL,

年龄char(10)NOTNULL,

学历varchar(20)NOTNULL,

职务varchar(20))

go

CREATETABLE进货

(流水号char(12)CONSTRAINTpk_jhlshPRIMARYKEY,

药品char(20)NOTNULL,

进货时间datetimeNOTNULL,

数量char(9)NOTNULL,

折扣char(10)NOTNULL,

经手人char(10))

GO

CREATETABLE销售

(流水号char(12)CONSTRAINTpk_xslshPRIMARYKEY,

客户char(20)NOTNULL,

药品char(20)NOTNULL,

购买时间datetimeNOTNULL,

数量char(10)NOTNULL,

折扣char(10)NOTNULL,

经手人char(10))

go

5.3、添加数据代码

表1

5.3.1、添加客户数据代码如下

INSERT客户

(客户编号,姓名,性别,出生日期,联系电话)

VALUES

('01','徐松','男','1966-4-1','')

INSERT客户

(客户编号,姓名,性别,出生日期,联系电话)

VALUES

('02','张远','男','1982-3-2','')

INSERT客户

(客户编号,姓名,性别,出生日期,联系电话)

VALUES

('03','王丽','女','1975-7-12','')

INSERT客户

(客户编号,姓名,性别,出生日期,联系电话)

VALUES

('04','刘儒风','男','1984-2-4','')

INSERT客户

(客户编号,姓名,性别,出生日期,联系电话)

VALUES

('05','李莲','女','1989-12-12','')

表2

5.3.2、添加客户数据代码如下

INSERT药品

(编号,药品名称,生产厂家,生产日期,保质期,用途,规格,进货价,销售价,员工编号,客户编号)

VALUES

('001','优卡丹','江西铜鼓仁和制药有限公司','2012-6-15','3年','用于儿童伤风感冒','每袋装g,每盒袋','5.3元','6.5元',1,01)

INSERT药品

(编号,药品名称,生产厂家,生产日期,保质期,用途,规格,进货价,销售价,员工编号,客户编号)

VALUES

('002','双黄连口服液','哈药集团三精制药股份有限公司','2012-5-13','2年','清热解毒,用于风热感冒','每支装ml,每盒支','9.3元','10.5元',2,02)

INSERT药品

(编号,药品名称,生产厂家,生产日期,保质期,用途,规格,进货价,销售价,员工编号,客户编号)

VALUES

('003','云南白药气雾剂','云南白药集团股份有限公司','2012-3-14','3年','活血散瘀,消肿止痛','每瓶.5cm*10cm','28.5元','30元',3,03)

INSERT药品

(编号,药品名称,生产厂家,生产日期,保质期,用途,规格,进货价,销售价,员工编号,客户编号)

VALUES

('004','小柴胡颗粒','广州白云山光华制药股份有限公司','2012-3-25','3年','解表散热,疏肝和胃','每袋装g,每盒袋','7.6元','9元',4,04)

INSERT药品

(编号,药品名称,生产厂家,生产日期,保质期,用途,规格,进货价,销售价,员工编号,客户编号)

VALUES

('005','感冒清热颗粒','北京同仁堂科技股份有限公司制药厂','2012-6-17','1年','用于风寒感冒,头痛发热','每袋装g,每盒袋','11.7元','13.4元',5,05)

表3

 

5.3.3、添加员工数据代码如下

INSERT员工

(员工编号,姓名,性别,年龄,学历,职务)

VALUES

('1','王长尧','男','21','专科','总管')

INSERT员工

(员工编号,姓名,性别,年龄,学历,职务)

VALUES

('2','马年顺','男','22','专科','副总管')

INSERT员工

(员工编号,姓名,性别,年龄,学历,职务)

VALUES

('3','严文娟','女','20','专科','副总管')

INSERT员工

(员工编号,姓名,性别,年龄,学历,职务)

VALUES

('4','周建成','男','22','专科','职员')

INSERT员工

(员工编号,姓名,性别,年龄,学历,职务)

VALUES

('5','杨浩超','男','20','专科','职员')

INSERT员工

(员工编号,姓名,性别,年龄,学历,职务)

VALUES

('6','杨帮荣','男','21','专科','职员')

表4

5.3.4、添加进货数据代码如下

INSERT进货

(流水号,药品,进货时间,数量,折扣,经手人)

VALUES

('01','优卡丹','2012.03.05','150','20%','王长尧')

INSERT进货

(流水号,药品,进货时间,数量,折扣,经手人)

VALUES

('02','双黄连口服液','2012.03.15','50','20%','马年顺')

INSERT进货

(流水号,药品,进货时间,数量,折扣,经手人)

VALUES

('03','云南白药气雾剂','2012.03.05','120','15%','严文娟')

INSERT进货

(流水号,药品,进货时间,数量,折扣,经手人)

VALUES

('04','小柴胡颗粒','2012.03.05','210','18%','周建成')

INSERT进货

(流水号,药品,进货时间,数量,折扣,经手人)

VALUES

('05','感冒清热颗粒','2012.03.05','360','25%','杨浩超')

表5

5.3.5、添加销售数据代码如下

INSERT销售

(流水号,客户,药品,购买时间,数量,折扣,经手人)

VALUES

('11','徐松','01','2012.03.10','112','20%','王长尧')

INSERT销售

(流水号,客户,药品,购买时间,数量,折扣,经手人)

VALUES

('21','张远','02','2012.03.10','42','20%','马连顺')

INSERT销售

(流水号,客户,药品,购买时间,数量,折扣,经手人)

VALUES

('31','王丽','03','2012.03.10','84','15%','严文娟')

INSERT销售

(流水号,客户,药品,购买时间,数量,折扣,经手人)

VALUES

('41','刘儒风','01','2012.03.10','156','18%','周建成')

INSERT销售

(流水号,客户,药品,购买时间,数量,折扣,经手人)

VALUES

('51','李莲','01','2012.03.10','334','25%','杨浩超')

5.4、触发器实现数据的完整性

CREATETRIGGERtrig_i__进货ON进货

FORINSERT

AS

Declare@rownumint

Declare@pGoodNamevarchar(14)

Declare@bInOutchar

(2)

Declare@pGoodNumint

Declare@pGoodStoreint

Declare@GoodNameint

Declare@InOrOutint

Declare@GoodNumint

Select@rownum=@@rowcount

if@rownum=0

return

if@rownum=1

begin

select@pGoodName=@GoodName,@bInOut=@InOrOut,@pGoodNum=@GoodNum

frominserted/*本次操作是购进药品*/

if@bInOut='i'or@bInOut='I'

updateGoodssetGoodStore=GoodStore+@pGoodNum

whereGoodName=@pGoodName/*本次操作是售出药品*/

elseif@bInOut='o'or@bInOut='O'

begin

select@pGoodStore=GoodStorefromGoodswhereGoodName=@pGoodName

if@pGoodStore<@pGoodNum

begin

raiserror31113'库存量太少,不足以销售这么多的药品!

'

rollbacktran

return

end

updateGoodssetGoodStore=GoodStore-@pGoodNum

whereGoodName=@pGoodName

end

return

end

后台操作:

5.5、视图和函数在数据库中的应用

5.5.1、客户视图

CREATEVIEW[dbo].[客户视图]

AS

SELECTdbo.客户.客户编号,dbo.客户.姓名,dbo.客户.性别,dbo.客户.出生日期,

dbo.客户.联系电话

FROMdbo.客户INNERJOIN

dbo.药品ONdbo.客户.客户编号=dbo.药品.客户编号

GO

如下图

5.5.2、员工视图

CREATEVIEW[dbo].[员工视图]

AS

SELECTdbo.员工.姓名,dbo.员工.性别,dbo.员工.年龄,dbo.员工.学历,

dbo.员工.职务,dbo.员工.员工编号

FROMdbo.药品INNERJOINdbo.员工ONdbo.药品.员工编号=dbo.员工.员工编号

5.5.3、标量函数

创建

useyaopin

go

CREATEFUNCTIONyaopin_yp_info(@riqchar)

RETURNSchar(30)

BEGIN

DECLARE@infochar(20)

if@riq>2set@info='优良'

elseset@info='一般'

return@info

end

go

执行:

useyaopin

go

select编号,药品名称,生产厂家,生产日期,保质期,用途,规格,进货价,销售价,dbo.yaopin_yp_info(保质期)as药品质量

from药品

go

执行后的结果

5.5.4、表值函数

创建

CREATEFUNCTIONjinhuo_time(@time_iddatetime)

RETURNSTABLE

AS

RETURN

(SELECTdistinct进货.流水号,进货.药品,进货.进货时间,进货.数量,进货.折扣,进货.经手人

from进货

where进货.进货时间=@time_id

GO

执行

useyaopin

go

select*fromjinhuo_time('2012-3-50:

00:

00')

go

执行后的结果

5.5.5、聚合函数

useyaopin

go

selectcount(distinct药品)as药品种类

from销售

go

执行后的结果

5.6、存储过程

5.6.1、查询存储过程

创建

CREATEPROCEDUREYP_PRO_BJ

AS

SELECT药品名称

from药品

GO

执行

useyaopin

executeYP_PRO_BJ

go

执行结果如下表

5.6.2、带输入参数的存储过程

创建

CREATEPROCEDUREjinhuo_infor

@流水号char(12)

AS

SELECT药品,经手人

from进货

where流水号=@流水号

GO

执行:

execjinhuo_infor'01'

执行结果如下

5.6.2、带输出参数的存储过程

创建

createprocedurejinhuo@tnamevarchar(10),@iksintoutput

as

select@iks=count(*)

from进货

where经手人=@tname

declare@numint

go

执行

declare@numint

execjinhuo‘严文娟’,@numoutput

select@numas经手药品数

执行结果如下:

6.前台设计及操作

6.1前台管理代码

前台——进货管理代码

前台——客户管理代码

前台---销售管理代码

前台---药品管理代码

前台---员工管理代码

6.2前台操作界面

进货操作界面:

客户操作界面:

 

销售操作界面:

药品操作界面:

员工操作界面:

七、参考文献

1、申时凯、戴祖诚、佘玉梅∙数据库原理与技术∙清华大学

2、王珊、陈红∙数据库系统原理教程∙北京:

清华大学出版社,1998.7

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

当前位置:首页 > 高中教育 > 语文

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

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