Oracle课程设计报告.docx

上传人:b****8 文档编号:10150561 上传时间:2023-02-08 格式:DOCX 页数:34 大小:2.42MB
下载 相关 举报
Oracle课程设计报告.docx_第1页
第1页 / 共34页
Oracle课程设计报告.docx_第2页
第2页 / 共34页
Oracle课程设计报告.docx_第3页
第3页 / 共34页
Oracle课程设计报告.docx_第4页
第4页 / 共34页
Oracle课程设计报告.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

Oracle课程设计报告.docx

《Oracle课程设计报告.docx》由会员分享,可在线阅读,更多相关《Oracle课程设计报告.docx(34页珍藏版)》请在冰豆网上搜索。

Oracle课程设计报告.docx

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,若处方药品已付费,责弹出对话框,显示药品已经交费,恕不退换。

否则,若选择药品名称不在处方内,点击确定显示此药品不是处方中药品;若药品存在但退药数量超过处方中数量,点击确定则显示此药品不是处方中药品;若条件符合,需要选择退药名

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

当前位置:首页 > 考试认证 > 从业资格考试

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

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