数据库课程设计完稿.docx
《数据库课程设计完稿.docx》由会员分享,可在线阅读,更多相关《数据库课程设计完稿.docx(24页珍藏版)》请在冰豆网上搜索。
数据库课程设计完稿
山东交通学院
数据库课程设计
药品存销信息管理系统
院(系)别信息工程系
班级计算092
学号090810222
姓名1111
指导教师王成
时间2011/4/7—2011/4/15
课程设计任务书
题目药品存储信息管理系统
系(部)信息工程系
专业计算机
班级计算092
学生姓名1111
学号090810222
4月7日至4月15日共2周
指导教师(签字)
系主任(签字)
年月日
一、设计内容及要求系统功能基本要求:
药品存销信息管理系统
药品信息,包括药品编号、药品名称、生产厂家、生产日期、保质期、用途、价格、数量等;员工信息,包括员工编号、姓名、性别、年龄、学历、职务等;客户信息,包括客户编号、姓名、联系方式、购买时间、购买药品编号、名称、数量等。
入库和出库信息,包括当前库存信息、药品存放位置、入库数量和出库数量的统计。
二、设计原始资料
药品存销管理系统能够存储各种药品、员工和客户的信息,并且能够记录各种药品的出入库的详细信息。
三、设计完成后提交的文件和图表
1.计算说明书部分
用户可以通过该系统存储各种药品、员工和客户的信息,并且能够记录各种药品的出入库的详细信息。
2.图纸部分:
程序流程图
五、主要参考资料
1:
《SQLServer2005数据库开发详解》作者胡百敬
2:
《SQLSERVER2005基础教程》作者:
(美RobinDewson)
3:
《数据库系统简明教程》作者:
王珊
成绩评定表
作品成绩
报告成绩
口试(答辩)成绩
总评成绩
四、进程安排
1·4月07日,熟悉sqlserver2005和eclipse的开发环境。
2·4月09日,复习数据库知识。
3·4月11日,画出流程图并开始写代码。
4·4月13日,修改源代码。
5·4月15日,完善源代码,调试并完成程序。
摘要
私達の実践の能力を高めるため、学んだ知識を運用することができて行って更に創造して、学校は特に2週間手配して、私達にSQLserver2005の課程の設計の実習を行わせます.
このファイルの詳しい説明はEclipse環境の下で、1つのソフトウェアの過程を設計して、このソフトウェアは各種のデータの個数を統計したのです。
このソフトウェアの機能は、ユーザーは1段の文字を入力して、ソフトウェアは文字の中の各類のデータの数を記録して、英文のデータの数、数字のデータの数、空欄のデータの数とそれのタイプのデータの数を含んで、そしてそれらを明らかに示します.
以下、課程を通して説明を設計して、データはソフトウェアの説明を統計して、プログラムは説明を調整して、総括などの方面を開発して、詳しくこのプログラムの製作の過程を説明して、作用、各種の実行することができる操作.
关键字:
データの統計,Eclipse,ヘッドファイル
目录
1课程设计概述3
1.1药品存销信息管理系统功能概述3
2需求分析4
2.1数据库基本信息4
2.2系统的功能4
3数据分析与建模4
3.1数据分析4
3.2数据建模5
4数据库表的建立6
5数据库开发8
5.1数据库中存储过程源码8
5.1.1数据的显示输出源码8
5.1.2信息的删除9
5.1.3数据的添加10
5.1.4数据的删除12
5.2数据库中触发器源码15
5.2.1库存信息中添加触发器15
6JAVA前台程序设计16
6.1主界面16
6.2库存信息界面17
6.3出入库信息界面17
6.3.1药品的入库和出库18
7设计体会及今后的改进意见19
1课程设计概述
药品存销信息管理系统功能概述
药品管理系统是为了加强药品管理,以便更好地对药品进行监督和管理,对售药机构人员的工作,起到了高效性、准确性管理而开发。
本系统主要包含系统药品管理模块、员工管理模块、客户管理模块、库存管理模块、进货管理模块、药品出库管理模块。
药品管理系统是以合理、全面、准确的药品编码体系为基础,提供了对药品数量、金额、有效期的全面管理,统一的药价管理机制规范了药品的价格。
系统能随时提供药库的库存、药品流向和消耗,还能根据现有库存,药品有效期提供采购计划或应暂停采购的药品清单,以提高资金的利用率,避免不必要的损失,方便快捷的途径对药基本信息进行定期的更新和删除等管理开发环境概述总体设计流程图。
2需求分析
数据库基本信息
(1)药品基本信息表
(2)雇员基本信息表
(3)客户基本信息表
(4)库存信息表
(5)出库信息表
(6)入库信息表
系统的功能
药品管理系统是为了加强药品管理,以便更好地对药品进行监督和管理,对售药机构人员的工作,起到了高效性、准确性管理而开发。
本系统主要包含系统用户管理模块、客户信息管理模块、药品管理模块、库存管理模块、药品出库管理模块、药品入库管理模块。
药品管理系统是以合理、全面、准确的药品编码体系为基础,提供了对药品数量、金额、有效期的全面管理,统一的药价管理机制规范了药品的价格。
系统能随时提供药库的库存、药品流向和消耗,以提高资金的利用率,避免不必要的损失,方便快捷的途径对药基本信息进行定期的更新和删除等管理。
3数据分析与建模
数据分析
药品管理系统主要是针对医院的药品的出入库信息的简单系统,
数据库中主要包含6张表,药品信息表,包括药品编号、药品名称、生产厂家、生产日期、保质期、用途、价格、等;员工信息表主要包括员工编号、姓名、性别、学历和职务等;客户信息主要包括客户编号、姓名、性别、联系方式等;库存信息包括药品编号、数量以及存放地点;药品入库信息包括药品编号、入库时间和数量、经手人等;出库信息包括药品编号、客户编号、雇员编号、出库时间和出库数量
数据建模
4数据库表的建立
(药品信息表)
(客户信息表)
(员工信息表)
(库存信息表)
(出库信息表)
(入库信息表)
关系表:
5数据库开发
数据库中存储过程源码
数据的显示输出源码
//客户信息显示
createprocedurekehu_xianshi
as
select*fromkehu
go
//员工信息显示
createprocedureemployee_xianshi
as
select*fromemployee
go
//药品信息显示
createproceduremedicine_xianshi
as
select*frommedicineInfo
go
//药品出库显示
createprocedurechuku_xianshi
as
selectchukuInfo.kehuID,kehu.kehuName,chukuInfo.chukuTime,chukuInfo.medicineID,medicineInfo.medicineName,chukuInfo.chukuNum,chukuInfo.employeeID,employee.employeeName
fromchukuInfo,employee,kehu,medicineInfo
wherechukuInfo.kehuID=kehu.kehuIDandchukuInfo.medicineID=medicineInfo.medicineIDandchukuInfo.employeeID=employee.employeeID
go
//药品库存显示
createprocedurekucun_xianshi
as
selectkucunInfo.medicineID,medicineInfo.medicineName,kucunInfo.medicineSite,kucunInfo.currentNum
fromkucunInfo,medicineInfo
wherekucunInfo.medicineID=medicineInfo.medicineID
go
信息的删除
//药品信息的删除
createproceduremedicine_del
@avarchar(20)
as
delete
frommedicineInfo
wheremedicineID=@a
go
//员工信息的删除
createprocedureemployee_del
@avarchar(20)
as
delete
fromemployee
whereemployeeID=@a
go
//客户信息的删除
createprocedurekehu_del
@avarchar(20)
as
delete
fromkehu
wherekehuID=@a
go
数据的添加
//药品信息添加
createproceduremedicine_add
@a1varchar(20),
@a2varchar(20),
@a3varchar(20),
@a4varchar(20),
@a5varchar(20),
@a6varchar(20),
@a7varchar(20)
as
insertintomedicineInfo
values(@a1,@a2,@a3,@a4,@a5,@a6,@a7)
go
//员工信息添加
createprocedureemployee_add
@a1varchar(20),
@a2varchar(20),
@a3varchar(20),
@a4varchar(20),
@a5varchar(20),
@a6varchar(20)
as
insertintoemployee
values(@a1,@a2,@a3,@a4,@a5,@a6)
go
//客户信息添加
createprocedurekehu_add
@a1varchar(20),
@a2varchar(20),
@a3varchar(20)
as
insertintokehu
values(@a1,@a2,@a3)
go
//药品入库信息添加
createprocedureruku_add
@avarchar(20),
@bvarchar(20),
@cint,
@dvarchar(20),
@evarchar(20)
as
insertintorukuInfo
values(@a,@b,@c,@d)
if(@bin(selectkucunInfo.medicineIDfromkucunInfowheremedicineID=@bandmedicineSite=@e))
begin
updatekucunInfo
setcurrentNum=currentNum+@c
wheremedicineID=@bandmedicineSite=@e
end
else
begin
insertintokucunInfo
values(@b,@e,@c)
end
go
数据的删除
//药品信息查询
createproceduremedicine_chaxu
@i1int,
@avarchar(20),
@i2int,
@bvarchar(20),
@i3int,
@cvarchar(20)
as
declare@sqlvarchar(500)
declare@iint
set@i=0
set@sql='select*frommedicineInfowhere'
if(@i1=1)
begin
set@sql=@sql+'medicineId='''+@a+''''
set@i=1
end
if(@i2=1)
begin
if(@i=1)set@sql=@sql+'and'
elseset@i=1
set@sql=@sql+'medicineName='''+@b+''''
end
if(@i3=1)
begin
if(@i=1)set@sql=@sql+'and'
set@sql=@sql+'produce='''+@c+''''
end
exec(@sql)
go
//员工信息查询
createprocedureemployee_chaxu
@i1int,
@avarchar(20),
@i2int,
@bvarchar(20),
@i3int,
@cvarchar(20),
@i4int,
@dvarchar(20),
@i5int,
@evarchar(20),
@i6int,
@fvarchar(20)
as
declare@sqlvarchar(500)
set@sql='select*fromemployeewhere'
if(@i1=1)
set@sql=@sql+'employeeId='''+@a+''''+'and'
if(@i2=1)
set@sql=@sql+'employeeName='''+@b+''''+'and'
if(@i3=1)
set@sql=@sql+'employeeSex='''+@c+''''
else
set@sql=@sql+'employeeSex='''+@c+''''
if(@i4=1)
set@sql=@sql+'and'+'employeeAge='''+@d+''''
if(@i5=1)
set@sql=@sql+'and'+'employeeDeg='''+@e+''''
if(@i6=1)
set@sql=@sql+'and'+'employeeZhiwu='''+@f+''''
exec(@sql)
go
//库存查询
createprocedurekucun_chaxu
@i1int,
@avarchar(20),
@i2int,
@bvarchar(20)
as
declare@sqlvarchar(500)
declare@iint
set@i=0
set@sql='selectkucunInfo.*,medicineInfo.medicineNamefromkucunInfo,medicineInfo wherekucunInfo.medicineID=medicineInfo.medicineIDand'
if(@i1=1)
begin
set@sql=@sql+'kucunInfo.medicineID='''+@a+''''
set@i=1
end
if(@i2=1)
begin
if(@i=1)set@sql=@sql+'and'
set@sql=@sql+'medicineSite='''+@b+''''
end
exec(@sql)
go
//出库查询
createprocedurechuku_chaxu
@i1int,
@avarchar(20),
@i2int,
@bvarchar(20),
@i3int,
@cvarchar(20),
@i4int,
@dvarchar(20),
@i5int,
@evarchar(20)
as
declare@sqlvarchar(500)
declare@iint
set@i=0
set@sql='selectchukuInfo.kehuID,kehu.kehuName,chukuInfo.chukuTime,chukuInfo.medicineID,medicineInfo.medicineName,chukuInfo.chukuNum,chukuInfo.employeeID,employee.employeeName
fromchukuInfo,employee,kehu,medicineInfowherechukuInfo.kehuID=kehu.kehuIDandchukuInfo.medicineID=medicineInfo.medicineIDandchukuInfo.employeeID=employee.employeeIDandchukuTime>='''+@a+''''+'and'+'chukuTime<='''+@b+''''
if(@i3=1)
set@sql=@sql+'andchukuInfo.medicineID='''+@c+''''
if(@i4=1)
set@sql=@sql+'andchukuInfo.employeeID='''+@d+''''
if(@i5=1)
set@sql=@sql+'andchukuInfo.kehuID='''+@e+''''
exec(@sql)
go
数据库中触发器源码
库存信息中添加触发器
createtriggerkucun_
onkucunInfo
forinsert,update
as
deletefromkucunInfo
wherecurrentNum=0
go
6JAVA前台程序设计
主界面
库存信息界面
出入库信息界面
药品的入库和出库
7设计体会及今后的改进意见
为了提高我们的实践能力,让我们学以致用,能灵活运用所学的知识进行再创造,学校特安排我们进行为期两周的数据库课程设计实习,并安排了指导老师帮助辅导,让我们在规范化、严谨化、实用化上面有了很大进展。
在此次药品管理系统的数据库开发过程中,有很多东西值得我们思考并总结。
由于此次的设计主要是数据库设计,所以开发主要是针对的数据库方面,其大体可分为以下几个步骤:
(1)思考总体设计方案:
总体结构和模块外部设计,功能分配。
思考数据库的设计和所用到的知识。
(2)画出E-R图:
用E-R图的形式展现你的基本思想。
(3)流程图具体化:
即将流程图中的几大模块的具体实现思考清楚,可以用流程图的形式展现.并想好实现的关键代码。
(4)编辑数据库存储过程代码以及程序代码:
这是一个至关重要复杂而且需要反复修改的环节,在此环节中你将发现总体设计和模块思想会存在很多问题,需不断改进.如何实现各函数功能,达到预期效果也将是一项繁复的工作。
(5)代码的调试:
在Eclipse环境下输入代码并进行调试和正确运行。
调用数据库的存储过程,在调试过程中会遇到很多需要精化的地方,需要十足的耐心与细心,不断改进完善程序。
知识不是知道,了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。
而且知识又不是单一的,它是互相联系的,学科与学科之间都有着内在的联系。
计算机是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。
在设计阶段,通过对课题的深入分析与研究,迫使我对技术有了一定的了解。
通过这次课程设计,使我们更加熟悉的掌握了数据库的知识。
提高了我们的动手能力,学到了许多解决实际问题的宝贵经验.同时也挖掘出了我们潜在的能力,使我们对自己更有自信,对编程也更有兴趣。
我相信,只要努力、勤奋、坚持不懈,就没有什么做不到的事,不能还没开始就退缩,要勇于拼搏,敢于创新。