1、数据库课程设计完稿 山东交通学院数据库课程设计药品存销信息管理系统 院(系)别 信息工程系 班 级 计算092 学 号 090810222 姓 名 1111 指导教师 王成 时 间 2011/4/72011/4/15 课 程 设 计 任 务 书题 目 药品存储信息管理系统 系 (部) 信息工程系 专 业 计算机 班 级 计算092 学生姓名 1111 学 号 090810222 4 月 7 日至 4 月 15 日 共 2 周指导教师(签字) 系 主 任(签字) 年 月 日一、 设计内容及要求系统功能基本要求:药品存销信息管理系统药品信息,包括药品编号、药品名称、生产厂家、生产日期、保质期、用途
2、、价格、数量等;员工信息,包括员工编号、姓名、性别、年龄、学历、职务等;客户信息,包括客户编号、姓名、联系方式、购买时间、购买药品编号、名称、数量等。入库和出库信息,包括当前库存信息、药品存放位置、入库数量和出库数量的统计。二、设计原始资料药品存销管理系统能够存储各种药品、员工和客户的信息,并且能够记录各种药品的出入库的详细信息。三、设计完成后提交的文件和图表1计算说明书部分用户可以通过该系统存储各种药品、员工和客户的信息,并且能够记录各种药品的出入库的详细信息。2图纸部分:程序流程图五、主要参考资料1:SQL Server 2005数据库开发详解 作者 胡百敬 2:SQL SERVER200
3、5 基础教程 作者:(美Robin Dewson)3:数据库系统简明教程作者:王珊 成 绩 评 定 表作品成绩报告成绩口试(答辩)成绩总评成绩四、进程安排14月07日,熟悉sql server2005和eclipse的开发环境。 24月09日,复习数据库知识。 34月11日,画出流程图并开始写代码。 44月13日,修改源代码。 54月15日,完善源代码,调试并完成程序。摘 要私達実践能力高、学知識運用行更創造、学校特2週間手配、私達SQL server2005 課程設計実習行.詳説明Eclipse環境下、過程設計、各種個数統計。機能、1段文字入力、文字中各類数記録、英文数、数字数、空欄数数含、
4、明示.以下、課程通説明設計、説明統計、説明調整、総括方面開発、詳製作過程説明、作用、各種実行操作.关键字:統計,Eclipse, 目录1 课程设计概述 31.1 药品存销信息管理系统功能概述 32 需求分析 42.1 数据库基本信息 42.2 系统的功能 43 数据分析与建模 43.1 数据分析 43.2 数据建模 54 数据库表的建立 65 数据库开发 85.1 数据库中存储过程源码 85.1.1 数据的显示输出源码 85.1.2 信息的删除 95.1.3 数据的添加 105.1.4 数据的删除 125.2 数据库中触发器源码 155.2.1 库存信息中添加触发器 156 前台程序设计 16
5、6.1 主界面 166.2 库存信息界面 176.3 出入库信息界面 176.3.1 药品的入库和出库 187 设计体会及今后的改进意见 191 课程设计概述药品存销信息管理系统功能概述药品管理系统是为了加强药品管理,以便更好地对药品进行监督和管理,对售药机构人员的工作,起到了高效性、准确性管理而开发。本系统主要包含系统药品管理模块、员工管理模块、客户管理模块、库存管理模块、进货管理模块、药品出库管理模块。药品管理系统是以合理、全面、准确的药品编码体系为基础,提供了对药品数量、金额、有效期的全面管理,统一的药价管理机制规范了药品的价格。系统能随时提供药库的库存、药品流向和消耗,还能根据现有库存
6、,药品有效期提供采购计划或应暂停采购的药品清单,以提高资金的利用率,避免不必要的损失,方便快捷的途径对药基本信息进行定期的更新和删除等管理开发环境概述总体设计流程图。2 需求分析数据库基本信息(1)药品基本信息表(2)雇员基本信息表(3)客户基本信息表(4)库存信息表(5)出库信息表(6)入库信息表系统的功能 药品管理系统是为了加强药品管理,以便更好地对药品进行监督和管理,对售药机构人员的工作,起到了高效性、准确性管理而开发。本系统主要包含系统用户管理模块、客户信息管理模块、药品管理模块、库存管理模块、药品出库管理模块、药品入库管理模块。药品管理系统是以合理、全面、准确的药品编码体系为基础,提
7、供了对药品数量、金额、有效期的全面管理,统一的药价管理机制规范了药品的价格。系统能随时提供药库的库存、药品流向和消耗,以提高资金的利用率,避免不必要的损失,方便快捷的途径对药基本信息进行定期的更新和删除等管理。3 数据分析与建模数据分析药品管理系统主要是针对医院的药品的出入库信息的简单系统,数据库中主要包含6张表,药品信息表,包括药品编号、药品名称、生产厂家、生产日期、保质期、用途、价格、等;员工信息表主要包括员工编号、姓名、性别、学历和职务等;客户信息主要包括客户编号、姓名、性别、联系方式等;库存信息包括药品编号、数量以及存放地点;药品入库信息包括药品编号、入库时间和数量、经手人等;出库信息
8、包括药品编号、客户编号、雇员编号、出库时间和出库数量数据建模4 数据库表的建立(药品信息表) ( 客户信息表)(员工信息表)(库存信息表)(出库信息表)(入库信息表)关系表:5 数据库开发数据库中存储过程源码数据的显示输出源码/客户信息显示create procedure kehu_xianshiasselect * from kehugo/员工信息显示create procedure employee_xianshiasselect * from employeego/药品信息显示create procedure medicine_xianshiasselect * from medicin
9、eInfogo/药品出库显示create procedure chuku_xianshiasselect chukuInfo.kehuID,kehu.kehuName,chukuInfo.chukuTime,chukuInfo.medicineID,medicineInfo.medicineName,chukuInfo.chukuNum,chukuInfo.employeeID,employee.employeeNamefrom chukuInfo,employee,kehu,medicineInfowhere chukuInfo.kehuID=kehu.kehuID and chukuInf
10、o.medicineID=medicineInfo.medicineID and chukuInfo.employeeID=employee.employeeIDgo/药品库存显示create procedure kucun_xianshiasselect kucunInfo.medicineID,medicineInfo.medicineName,kucunInfo.medicineSite,kucunInfo.currentNumfrom kucunInfo,medicineInfowhere kucunInfo.medicineID=medicineInfo.medicineIDgo信息
11、的删除/药品信息的删除create procedure medicine_dela varchar(20)asdeletefrom medicineInfowhere medicineID=ago/员工信息的删除create procedure employee_dela varchar(20)asdeletefrom employeewhere employeeID=ago/客户信息的删除create procedure kehu_dela varchar(20)asdeletefrom kehuwhere kehuID=ago数据的添加/药品信息添加create procedure med
12、icine_adda1 varchar(20),a2 varchar(20),a3 varchar(20),a4 varchar(20),a5 varchar(20),a6 varchar(20),a7 varchar(20)asinsert into medicineInfovalues (a1,a2,a3,a4,a5,a6,a7)go/员工信息添加create procedure employee_adda1 varchar(20),a2 varchar(20),a3 varchar(20),a4 varchar(20),a5 varchar(20),a6 varchar(20)asins
13、ert into employeevalues (a1,a2,a3,a4,a5,a6)go/客户信息添加create procedure kehu_adda1 varchar(20),a2 varchar(20),a3 varchar(20)asinsert into kehuvalues (a1,a2,a3)go/药品入库信息添加create procedure ruku_adda varchar(20),b varchar(20),c int,d varchar(20),e varchar(20)asinsert into rukuInfovalues (a,b,c,d)if(b in(s
14、elect kucunInfo.medicineID from kucunInfo where medicineID=b and medicineSite=e) begin update kucunInfo set currentNum=currentNum+c where medicineID=b and medicineSite=e endelse begin insert into kucunInfo values (b,e,c) endgo数据的删除 /药品信息查询create procedure medicine_chaxui1 int,a varchar(20),i2 int,b
15、varchar(20),i3 int,c varchar(20)asdeclare sql varchar(500)declare i int set i=0set sql=select * from medicineInfo where if(i1=1) begin set sql=sql+medicineId=+a+ set i=1 endif(i2=1) begin if(i=1) set sql=sql+ and else set i=1 set sql=sql+ medicineName=+b+ endif(i3=1) begin if(i=1) set sql=sql+ and s
16、et sql=sql+ produce=+c+ endexec(sql)go/员工信息查询create procedure employee_chaxui1 int,a varchar(20),i2 int,b varchar(20),i3 int,c varchar(20),i4 int,d varchar(20),i5 int,e varchar(20),i6 int,f varchar(20)asdeclare sql varchar(500)set sql=select * from employee where if(i1=1) set sql=sql+ employeeId=+a+
17、 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/库存查询create procedure kucun_chaxui1 int,
18、a varchar(20),i2 int,b varchar(20)asdeclare sql varchar(500)declare i int set i=0set sql=select kucunInfo.* ,medicineInfo.medicineName from kucunInfo,medicineInfowhere kucunInfo.medicineID=medicineInfo.medicineID and if(i1=1) begin set sql=sql+kucunInfo.medicineID=+a+ set i=1 endif(i2=1) begin if(i=
19、1) set sql=sql+ and set sql=sql+ medicineSite=+b+ endexec(sql)go/出库查询create procedure chuku_chaxui1 int,a varchar(20),i2 int,b varchar(20),i3 int,c varchar(20),i4 int,d varchar(20),i5 int,e varchar(20)asdeclare sql varchar(500)declare i int set i=0set sql=select chukuInfo.kehuID,kehu.kehuName,chukuI
20、nfo.chukuTime,chukuInfo.medicineID,medicineInfo.medicineName,chukuInfo.chukuNum,chukuInfo.employeeID,employee.employeeNamefrom chukuInfo,employee,kehu,medicineInfo where chukuInfo.kehuID=kehu.kehuID and chukuInfo.medicineID=medicineInfo.medicineID and chukuInfo.employeeID=employee.employeeID and chu
21、kuTime=+a+ and + chukuTime=+b+if(i3=1) set sql=sql+ and chukuInfo.medicineID=+c+if(i4=1) set sql=sql+ and chukuInfo.employeeID=+d+if(i5=1) set sql=sql+ and chukuInfo.kehuID=+e+exec(sql)go数据库中触发器源码库存信息中添加触发器create trigger kucun_on kucunInfofor insert ,updateasdelete from kucunInfowhere currentNum=0go
22、6 前台程序设计主界面库存信息界面出入库信息界面药品的入库和出库7 设计体会及今后的改进意见为了提高我们的实践能力,让我们学以致用,能灵活运用所学的知识进行再创造,学校特安排我们进行为期两周的数据库课程设计实习,并安排了指导老师帮助辅导,让我们在规范化、严谨化、实用化上面有了很大进展。在此次药品管理系统的数据库开发过程中,有很多东西值得我们思考并总结。由于此次的设计主要是数据库设计,所以开发主要是针对的数据库方面,其大体可分为以下几个步骤:(1)思考总体设计方案:总体结构和模块外部设计,功能分配。思考数据库的设计和所用到的知识。(2)画出E-R图:用E-R图的形式展现你的基本思想。(3)流程图
23、具体化:即将流程图中的几大模块的具体实现思考清楚,可以用流程图的形式展现并想好实现的关键代码。(4)编辑数据库存储过程代码以及程序代码:这是一个至关重要复杂而且需要反复修改的环节,在此环节中你将发现总体设计和模块思想会存在很多问题,需不断改进如何实现各函数功能,达到预期效果也将是一项繁复的工作。(5)代码的调试:在Eclipse环境下输入代码并进行调试和正确运行。调用数据库的存储过程,在调试过程中会遇到很多需要精化的地方,需要十足的耐心与细心,不断改进完善程序。知识不是知道,了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。而且知识又不是单一的,它是互相联系的,学科与学科之间都有着内在的联系。计算机是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。在设计阶段,通过对课题的深入分析与研究,迫使我对技术有了一定的了解。通过这次课程设计,使我们更加熟悉的掌握了数据库的知识。提高了我们的动手能力,学到了许多解决实际问题的宝贵经验同时也挖掘出了我们潜在的能力,使我们对自己更有自信,对编程也更有兴趣。我相信,只要努力、勤奋、坚持不懈,就没有什么做不到的事,不能还没开始就退缩,要勇于拼搏,敢于创新。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1