Oracle课程设计报告.docx
- 文档编号:10150561
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:34
- 大小:2.42MB
Oracle课程设计报告.docx
《Oracle课程设计报告.docx》由会员分享,可在线阅读,更多相关《Oracle课程设计报告.docx(34页珍藏版)》请在冰豆网上搜索。
Oracle课程设计报告
Oracle课程设计报告
——药房管理系统
开发人:
黄媛媛08110113
张宇辰08110114
张露08110116
1中文摘要
本实例将介绍如何结合VisualStudio2005与ORACLE9i数据库技术,创建一个基于本地数据库的药房管理系统。
该系统主要面向医院药房的单机工作人员开发,功能完善、性能优越,适合较大规模的医院使用。
所开发的“药房管理系统”的登陆界面如下图所示:
2系统概述
主界面采用了多文档窗口,这样可以在窗口内打开多个子窗口,同时进行以多种操作。
主界面中通过菜单实现不同模块的功能,以药品管理、处方管理、系统管理为主。
用户可以根据自己的权限,对相应的模块进行操作。
用户权限包括:
医生、药房工作人员、系统管理员。
3系统设计
本实例的目是将复杂的药品、处方转换为数字信息化的管理系统,并对医院信息实现自动化的管理。
在进行具体的设计工作之前需要进行系统功能模块的分析和系统代码架构的分析。
通过这两方面分析,能为实际的开发提供一个指导思想。
3.1系统功能模块设计
药品管理系统的管理员权限分为3级:
系统管理员、药房管理员、医生。
他们具有不同模块的管理权限。
管理系统的主要实体是药品,处方,个人信息。
通过不同的功能模块可以有效地对这三个实体进行管理。
3.2系统代码架构分析
由于本实例的药房管理系统应用于大中型医院,属于较大型的项目,因此,系统相对简单。
为了提高系统的开发速度,这里采用了两层代码架构,如图所示.
4数据库设计
本实例的管理系统是基于Oracle9i数据库进行开发的一个项目。
4.1数据库的需求分析
首先是药房管理员或医生或系统管理员登录医院管理系统,如果当前用户是系统管理员,则可以进行项目中所涉及的所有功能操作;如果是医生登陆系统,则只能进行处方的查找、添加、删除以及修改等的操作;如果是药房管理员登录系统,则只能进行药品的查找、添加、删除以及修改等的操作。
针对上述数据库的需求分析,我们设计了如下几个数据表和相应的数据字段。
(1)用户信息表(userinfo):
userID,userName,userkey,userlimit
(2)药品信息表(Pharmacy):
MedID,MedName,MedForm,MedCate,Medprice,Inventory
(3)处方信息表(Prescription):
RPID,PatName,DoctorID,Condition,MedID1,MedNUM1,MedID2,MedNUM2,MedID3,MedNUM3,Fee,Time
4.2数据库逻辑结构分析
现在需要将上面的数据库概念结构转化为Oracle9i数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
根据数据库的需求分析和概念结构设计,设计了名称为“userinfo”的数据库,数据库由下面多个表组成,详细情况如下图所示。
4-1用户信息表(userinfo)
字段名
意义
字段类型
字段大小
约束
userID
用户ID
varchar2
20
主键约束
userName
用户姓名
varchar2
20
非空约束
userkey
用户密码
varchar2
20
非空约束
userlimit
用户权限
varchar2
20
非空约束
createtableuserinfo
(userIDvarchar2(20)primarykey,
userNamevarchar2(20)notnull,
userkeyvarchar2(100)notnull,
userlimitvarchar2(20)notnull);
insertintouserinfo
values('U08110113','黄媛媛','08110113','系统管理员');
insertintouserinfo
values('U08110114','张宇辰','08110114','系统管理员');
insertintouserinfo
values('U08110116','张露','08110116','系统管理员');
insertintouserinfo
values('u08110110','唐慧颖','08110110','药房管理员');
insertintouserinfo
values('u08110112','冯佳超','08110112','药房管理员');
insertintouserinfo
values('u08110118','童彤','08110118','药房管理员');
insertintouserinfo
values('u08110111','赵欣','08110111','药房管理员');
insertintouserinfo
values('u08110122','高思思','08110122','药房管理员');
insertintouserinfo
values('u08110123','徐晶','081101123','药房管理员');
insertintouserinfo
values('u08110117','郭颖','08110117','药房管理员');
insertintouserinfo
values('u08110108','李萌','08110108','药房管理员');
insertintouserinfo
values('u08110121','杨柳','08110121','药房管理员');
insertintouserinfo
values('u08110103','金非','08110103','药房管理员');
insertintouserinfo
values('u08110104','改远泽','08110104','药房管理员');
insertintouserinfo
values('u08110105','博昊渊','08110105','药房管理员');
insertintouserinfo
values('u08110120','张子剑','08110120','药房管理员');
insertintouserinfo
values('u08110115','李航','08110115','药房管理员');
insertintouserinfo
values('D010123','王辉颖','010123','医生');
insertintouserinfo
values('D020120','赵正华','020120','医生');
insertintouserinfo
values('D020121','刘建民','020121','医生');
insertintouserinfo
values('D020210','蔡龙凯','020210','医生');
insertintouserinfo
values('D030421','曹宪刚','030421','医生');
insertintouserinfo
values('D032110','李革','032110','医生');
insertintouserinfo
values('D040111','宋兴岩','040111','医生');
insertintouserinfo
values('D041107','白良','041107','医生');
insertintouserinfo
values('D041108','付亚丽','041108','医生');
insertintouserinfo
values('D052110','潘凤祥','052110','医生');
insertintouserinfo
values('D071201','张同义','071201','医生');
insertintouserinfo
values('D071226','邓长福','071226','医生');
insertintouserinfo
values('D081206','朱佳姝','081206','医生');
insertintouserinfo
values('D091309','陈加荣','091309','医生');
4-2药品信息表(pharmacy)
字段名
意义
字段类型
字段大小
约束
MedID
药品ID
Varchar2
10
主键约束
MedName
药品名称
Varchar2
20
非空约束
Medform
药品类型
Varchar2
20
非空约束
Medcate
药品剂型
Varchar2
20
非空约束
Medprice
药品价格
number
6,2
非空约束
inventory
库存量
number
10
非空约束
createtablePharmacy
(MedIDvarchar2(10)primarykey,
MedNamevarchar2(20),
MedFormvarchar2(20)notnull,
MedCatevarchar2(20)notnull,
Medpricenumber(6,2)notnull,
Inventorynumber(10)notnull);
insertintoPharmacyvalues('M0001','氨酚咖黄烷胺片','片剂','呼吸系统用药','25',100);
insertintoPharmacyvalues('M0002','那可丁糖浆','口服液体剂','呼吸系统用药','21',34);
insertintoPharmacyvalues('M0003','复方喷雾剂','气雾剂','神经系统用药','13',9);
insertintoPharmacyvalues('M0004','阿咖酚散','散剂','神经系统用药','18',56);
insertintoPharmacyvalues('M0005','牛磺酸胶囊','胶囊','神经系统用药','5',143);
insertintoPharmacyvalues('M0006','淀粉酶口服溶液','口服液体剂','消化系统用药','24',345);
insertintoPharmacyvalues('M0007','复方胃蛋白酶颗粒','颗粒剂','消化系统用药','30',5);
insertintoPharmacyvalues('M0008','盐酸萘甲唑啉滴眼液','滴眼剂','五官科用药','9',23);
insertintoPharmacyvalues('M0009','复方樟脑软膏','软膏剂','中成药:
外科','14',23);
insertintoPharmacyvalues('M0010','八味和胃口服液','口服液体剂','中成药:
内科','17',123);
insertintoPharmacyvalues('M0011','复方和血丸','丸剂','中成药:
内科','20',0);
insertintoPharmacyvalues('M0012','肿痛外擦酊','外用液体剂','中成药:
骨伤科','16',43);
insertintoPharmacyvalues('M0013','三味肤宝软膏','软膏剂','中成药:
皮肤科','40',12);
insertintoPharmacyvalues('M0014','复方槐花胶囊','胶囊剂','中成药:
皮肤科','25',22);
insertintoPharmacyvalues('M0015','核糖核酸','注射剂','循环系统用药','35',456);
insertintoPharmacyvalues('M0016','双黄连','注射剂','中成药:
内科','11',342);
insertintoPharmacyvalues('M0017','开地米丁','注射剂','循环系统用药','34.50',33);
insertintoPharmacyvalues('M0018','头孢拉定胶囊','胶囊剂','抗微生物用药','18.80',56);
insertintoPharmacyvalues('M0019','生长抑素','注射剂','循环系统用药','47',31);
insertintoPharmacyvalues('M0020','盐酸肾上腺素','注射剂','麻醉用药','38.70',78);
insertintoPharmacyvalues('M0021','草乌甲素','片剂','镇痛药','50.60',12);
insertintoPharmacyvalues('M0022','丙氧氨酚','片剂','镇痛药','22.30',6);
insertintoPharmacyvalues('M0023','西瓜霜润喉片','片剂','中成药:
五官科','8',6);
insertintoPharmacyvalues('M0024','眼敷膏','软膏剂','中成药:
眼科','14',8);
insertintoPharmacyvalues('M0025','云南白药创可贴','贴剂','中成药:
骨伤科','17.40',0);
insertintoPharmacyvalues('M0026','加味逍遥丸','丸剂','中成药:
妇科','40',56);
insertintoPharmacyvalues('M0027','阿斯匹林','片剂','神经系统用药','6',100);
insertintoPharmacyvalues('M0028','速效救心丸','丸剂','中成药','28.9',200);
insertintoPharmacyvalues('M0029','牛黄解毒片','片剂','中成药','12',200);
insertintoPharmacyvalues('M0030','黄连素','片剂','消化系统药','16',300);
insertintoPharmacyvalues('NULL','NULL','NULL','NULL','0',0);
4-3处方信息表(Prescription)
字段名
意义
字段类型
字段大小
约束
RPID
处方编号
varchar2
10
主键约束
PatName
病人姓名
varchar2
10
非空约束
DoctorID
医生编号
varchar2
10
非空约束
Condition
病情
varchar2
300
非空约束
MedID1
药品1编号
varchar2
10
非空约束
MedNUM1
药品1数量
varchar2
10
非空约束
MedID2
药品2编号
varchar2
10
非空约束
MedNUM2
药品2数量
varchar2
10
非空约束
MedID3
药品3编号
varchar2
10
非空约束
MedNUM3
药品3数量
varchar2
10
非空约束
Fee
付费情况
varchar2
10
非空约束
Time
时间
varchar2
10
非空约束
createtablePrescription
(RPIDvarchar2(10)primarykey,
PatNamevarchar2(10)notnull,
DoctorIDvarchar2(10)notnull,
Conditionvarchar2(300)notnull,
MedID1varchar2(10)notnull,
MedNUM1varchar2(10)notnull,
MedID2varchar2(10)notnull,
MedNUM2varchar2(10)notnull,
MedID3varchar2(10)notnull,
MedNUM3varchar2(10)notnull,
Feevarchar2(10)notnull,
Timevarchar2(20)notnull);
insertintoPrescriptionvalues('R0001','张路','D010123','咽喉肿痛','M0016','1','M0023','1','','','是','15-4月-10');
insertintoPrescriptionvalues('R0002','李宇辰','D020120','过敏','M0013','1','M0014','1','','','是','1-4月-10');
insertintoPrescriptionvalues('R0003','黄原','D020121','感冒','M0029','1','','','','','是','30-3月-10');
5登陆界面模块
在我们设计系统中共有系统管理员、药房管理员和医生三种身份。
在启动系统的登录界面中,根据权限不同,系统管理员,药房管理员和医生分别登陆到不同的主界面中。
图表1为系统管理员身份登录窗体。
图表1
正确输入用户ID、密码即可登陆主页面:
图表2
主页面可以链接到药房管理系统的各个模块。
因为系统管理员在我们所设计的药房系统中权限最大,即他可以查看每一个模块,只是无权修改药品信息和处方信息,所以在这两项中,我们有分别设置了身份验证,保证只有药房管理员才有权限修改药品信息,医生有权限修改处方信息。
图表3药房管理员身份登录窗体。
图表3
使用药房管理员和医生身份成功登陆到以下界面:
图表4
登陆此主页面可以链接到药房管理系统的四个模块,药房管理员和医生没有权限访问并浏览系统维护。
所以系统维护的链接为不可选。
6系统管理模块
系统管理模块主要包括两部分。
第一部分是系统维护,主要功能有用户信息的添加、删除、查询、修改。
该界面是只有系统管理员才能查看的。
第二部分是个人信息修改。
主要功能是修改用户密码。
6.1系统维护
6.1.1添加用户
在“添加用户”一栏,输入用户ID、姓名、密码、权限,点击“添加”,数据库将更新信息,同时,DATAGRIDVIEW也将信息刷新,如:
添加ID:
U08110114,姓名:
彭博伦,密码:
08110101,权限:
医生
首先,系统会根据所输入的用户ID判断,该ID是否存在,如果存在则提示“用户ID已存在”,不存在则输出以下提示“如图”。
然后,即可添加想要添加的用户信息。
填写完信息后自动更新到用户列表中:
6.1.2删除用户
在“删除用户”一栏里,选择要删除的用户ID,点击“显示信息”。
则会显示该用户的姓名、权限信息,且姓名和权限不能修改。
点击“删除”后,系统提示“用户删除成功”,同时,DATAGRIDVIEW中的信息将会刷新。
如:
将要删除ID为“U08110101”用户。
6.1.3用户信息查询
在“查找用户”的栏里输入ID、姓名、用户权限中至少一个信息,点击“查找”按钮,即可查询想要查找的用户,如:
在“姓名”中输入:
“黄”,点击查找,则出现此界面:
通过完整的用户ID查询,则会出现下面的结果:
在用户权限中选择“系统管理员”则可以查找到:
6.1.4修改用户
在“修改用户”一栏,输入用户ID,点击“查找”,即可查找到想要修改的用户的信息,点击“修改”,用户姓名和权限都显示为空。
输入修改后信息,如:
姓名:
张晨宇权限:
医生。
点击“提交”按钮,则会出现一下界面。
6.2个人信息修改
这部分程序实现的功能是:
修改用户密码。
此模块的适用范围为:
系统管理员,药房管理员和医生。
7药品信息管理模块
此模块主要有四大部分:
1、药品信息的查询2、药品信息的添加3、药品信息的删除4、药品信息的修改5、药品退库6、药品接收
当登陆用户为系统管理员或药房管理员时,才可进行信息的修改。
点击登陆界面“药品管理系统”登陆主界面:
7.1药品查询
此部分设置了四个供查询的信息,可分别按照:
药品ID、药品名称、药品分类、库存上限、库存下限进行查询,用户可根据相应条件查找相应药品,其中,按照库存数量查询可直接查询到数量上限大于300、下限小于50的药品,并相应索引至“药品退库”及“药品接受”功能,提高药房工作人选效率:
7.2药品信息添加
此界面中,用户可以进行药品添加信息(药品ID、药品名称、药品形式、药品种类、药品单价、药品库存数量),添加药品前可检测药品ID是否存在,添加信息后可在界面中显示添加内容。
主界面:
7.3药品信息删除
此界面,可以通过选择药品ID,自动显示药品详细信息,确认后,点击“删除”即可删除该药品,数据库将更新信息,同时,药品编号中将不存在该编号:
7.4药品信息修改
此界面,药房管理员应首先选择药品ID,然后点击“查看”,则可显示药品详细信息,然后,药房管理员可以修改其中的信息,然后点击“提交”即可修改药品信息
7.5药品退库
此界面,药房管理员需查询数量大于上限的药品,然后选择退库数量,将药房药品退至药库。
7.6药品接收
此界面,药房管理员需查询数量小于下限的药品,然后选择接收数量,接收从药库而来的药品。
8处方信息管理模块
此模块主要有四大部分:
1、处方信息的查询2、处方信息的添加3、处方信息的删除4、处方信息的修改5、退药
点击处方管理与查询,直接进入处方管理界面:
8.1处方信息查询
分为按处方ID查询和按患者姓名查询
选择患者姓名查询:
按处方ID查询:
8.2处方信息添加
将处方详情和药品清单全部填满,如果处方号已经存在,点击确定后,如果处方号已经存在会弹出对话框显示处方号已经存在;点击重置后,全部清空。
信息填满后,点击确定按钮,出现对话框,认证用户权限,此功能仅限医生可进行。
8.3处方信息修改
检验处方ID是否存在,若存在即显示;修改内容填满后点击修改则出现权限认定窗口,此功能仅限医生可以修改;重置按钮可以清空填满信息。
修改信息必须填满,否则会出现对话框提示信息。
8.4处方信息删除
检验处方ID是否存在,若存在则可继续进行删除操作;点击确定弹出权限认定窗口,此操作仅限医生进行。
8.5退药
点击退药,出现权限认定,此功能仅限医生使用,进入退药系统。
选择处方ID,若处方药品已付费,责弹出对话框,显示药品已经交费,恕不退换。
否则,若选择药品名称不在处方内,点击确定显示此药品不是处方中药品;若药品存在但退药数量超过处方中数量,点击确定则显示此药品不是处方中药品;若条件符合,需要选择退药名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 课程设计 报告