1、数据库系统原理课程设计报告琼州学院电子信息工程学院数据库系统原理课程设计报告项目名称: 医院门诊收费系统设计 专 业: 网 络 工 程 年 级: 级 姓 名: 学 号: 指导老师: 2011 年 9 月数据库系统原理课程设计报告摘 要随着科学的不断进步,计算机应用已经遍布整个社会的每个角落。目前社会正处于健保发展方兴未艾的时代,各医疗院所莫不兢兢业业地改善本身的体制或管理方式,所以应越来越严格的规范;在此背景下,本文论述了医院管理系统(重点论述门诊收费子系统)的设计实现。通过对各种数据库管理系统的模型分析,结合医院门诊的实际需求,采用 C/S(客户端/服务器)模式,说明了医院管理系统的开发过程
2、及各种技术细节。本系统是适应时代发展的需要,提高管理的效率而开发设计的。医院管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。因此本人结合医院门诊收费系统的要求,对 MS SQL Server2000 数据库管理系统、SQL 语言原理将对数据库应用系统开发医院门诊收费系统进行了简明的介绍,并分析了开发医院管理系统所应进行的工作;对数据库的设计和 SQL 语言的使用进行了系统分析,为深入理解数据库应用打下了基础;学习了具体的开发工具
3、Delphi 7.0,对其数据库组件,SQL 语言在 Delphi 中的应用等数据库编程关键技术进行了系统的介绍;除此还分析了医院管理系统的应用需求,按照数据库设计理论一步一步地给出了系统需求说明书、局部 ER 图、全局 ER 图、系统关系模式,子模式,利用 MS SQ Server2000 建立了数据库;进行了具体的程序设计,具体划分了三类用户的操作权限,设计了了三个操作界面。实现了数据库表的浏览,记录的添加、删除和修改,报表的生成,实现了多数据库表的连接操作,实现了多条件查询和模糊查询,并灵活实现了对不可更新查询结果集的更新操作,实现了主从表操作,实现了密码维护功能,医院信息系统(HIS)
4、是一套通用性很强的商业软件。本人负责的门诊划价子系统是针对一般医院的业务处理而开发的,主要用于门诊部的划价和信息生成。关键字:HIS,软件工程,模块化数据库,SQL 语言,数据库组件数据库系统原理课程设计报告I目 录1引言 12. 需求分析阶段 22.1 引言 22.2 需求分析阶段的目标与任务 22.2.1 处理对象 .22.2.2 处理功能及要求 .32.2.3.安全性和完整性要求 32.3 需求分析阶段成果 33 概念设计阶段 93.1 引言 93.2 任务与目标 103.3 阶段结果 104逻辑设计阶段 124.1 逻辑设计的任务和目标 .124.2 数据组织 .124.2.1 将 E
5、-R 图转换为关系模型 .124.2.2 模型优化 .134.2.3 数据库模式定义 .134.2.4 用户子模式定义 154.3 数据处理 .165物理设计阶段 175.1 物理设计阶段的目标与任务 .175.2 数据存储方面 .175.3 系统功能模块 .175.3.1 读者基本信息的查询和更新模块 175.3.2 图书基本信息的查询和更新模块 186数据库实施阶段 196.1 建立数据库、数据表、视图、索引 .196.1.1 建立数据库 196.1.2 建立数据表 196.1.3 建立视图 216.1.4 建立索引 216.1.5 建立触发器 226.2 数据入库 .226.3 创建各个
6、功能的存储过程 .227系统调试和测试 23数据库系统原理课程设计报告II8设计心得 239存在的问题及建议 23致谢 25参考文献 25附录 1 数据查看和存储过程功能的验证 .29附录 2 所有的 SQL 运行语句 .34附录 3 系统的运行界面 .37数据库系统原理课程设计报告-1-1引言随着科学技术的高速发展,计算机软件的需求量大幅度提升,各种专业的特殊管理、应用软件已被提上了议案,当然,与此同时,计算机软件开发越来越专业化,对设计人员的综合素质和专业知识的要求越来越高,任务也是越来越重。信息产业作为当今社会做前端的技术性行业,其科技含量是最高的;作为一个计算机专业的大学生,特别是面对
7、我们国家现在紧缺高水平、高素质的软件人员,我们也清醒的认识到掌握好专业知识的重要性,更清楚了自己肩上的责任。本次设计的主题是:基于C/S结构的医院门诊收费系统。本系统提供给医院门诊收费用户一个综合、全面的办公环境和工具,同时实现了大量数据信息和文档以及多媒体信息快速、有效、准确地获取、管理和传递。因此本系统是提高工作效率、规范医院门诊办公制度、方便领导决策的重要工具。本软件主要完成门诊划价收费功能,按照软件工程的思想来完成这一设计过程,历经三个多月,在指导教师认真耐心的指导下,系统已经初步完成。由于是初次完成比较正规的且有规模的软件设计,所以难免出现一些错误和漏洞,恳请各位老师和同学批评指正。
8、在本次设计期间,指导教师、师长们给了我们很大的鼓励和支持,在我们有困难的时候给予了我们无私的关心和帮助,在这里表示深深的感谢!同时,也向评阅论文和参加论文答辩的老师们表示衷心的感谢!数据库系统原理课程设计报告-2-2. 需求分析阶段2.1 引言一所医院的主要构成分为两个部分,一是门诊部门,二是住院部门,医院的所有日常工作都是围绕着这两大部门进行的。门诊部门和住院部门各下设若干科室,如门诊部门下设口腔科、内科、外科、皮肤科等,住院部门下设内科、外科、骨科等,二者下设的部分科室是交叉的,各科室都有相应的医生、护士,完成所承担的医疗工作,医生又有主治医师、副主任医师、普通医师或教授、副教授、其他之分
9、。为了支持这两大部门的工作,医院还设置了药库、中心药房、门诊药房、制剂室、设备科、财务科、后勤仓库、门诊收费处、门诊挂号处、问讯处、住院处、检验科室、检查科室、血库、病案室、手术室,以及为医院的日常管理而设置的行政部门等。其中,药库负责药品的贮存、发放和采购;中心药房负责住院病人的药品管理,包括根据处方及医嘱生成领药单,向药库领药,配药并把药品发给相应的病区,以及药房的库存管理和病区余药回收;门诊药房负责门诊病人的药品管理,包括根据处方,按处方内容备药、发药,向药库领药等;制剂室负责药物的配制,并提供给药库;设备科负责医院的医疗设备等的购入和维修等;财务科负责医院中一切与财务有关的业务和工作,
10、进行医院的财务管理;后勤仓库负责医院所有后勤物品的贮存和管理;门诊收费处负责门诊病人的处方的划价和收费;门诊挂号处负责门诊病人的挂号事务;问讯处负责向有疑问的就医病人解释相关问题;住院处负责所有就医病人的住院事宜和相关管理;检验科室负责病人的各项检验, (如验血等)以及与各项检验相关的管理,药剂取用等;检查科室负责病人的各项检查(如 CT 检查以及其他放射线检查等)以及与各项检查相关的管理,设备使用与维护等;血库负责医院的各种血型的血液的贮存和管理以及血液的采集;病案室负责病人病案的管理和保存;手术室负责病人的手术,手术的安排以及有关手术的相关事宜和器械,制剂,设备等的使用等;行政部门则根据其
11、相应的工作职责进行日 常的工作,对医院进行行政方面的管理,以保证医院的医疗工作的正常进行和医院的后勤保障。2.2 需求分析阶段的目标与任务2.2.1 处理对象科室信息:科室 ID,科室名称医生信息:医生姓名,性别,年龄借阅历史信息:药品名称,买价,卖价病人信息:病人姓名,性别,年龄,是否有婚姻管理员信息:用户名,密码数据库系统原理课程设计报告-3-2.2.2 处理功能及要求系统提供待开门诊处方以及各种检查检验申请单实时划价、输入、查询、修改功能。另外还提供候诊病人就医分配;按科室、人员等条件统计单据;检索病人就诊历史等可选功能。它将病人历次门诊的所有临床医疗信息通过计算机管理,并为后继系统提供
12、划价信息,是全面实现门诊信息化管理的必备前端系统之一。门诊系统联系物流、财务、医疗的主要信息是病人信息与处方信息。考虑到目前医院情况,门诊系统主要完成处方信息的电子化,以及和医院药房、财务系统联网。由于医生工作站的推广困难,处方信息的录入,通过划价子系统进行。2.2.3.安全性和完整性要求1) 安全性要求 系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算
13、机系统的安全性和网络体系的安全性等方面。2) 完整性要求系统完整性要求系统中数据的正确性以及相容性。可通过建立主、外键,使用 check 约束,或者通过使用触发器和级联更新。2.3 需求分析阶段成果2.3.1 体会与收获经对前面的需求调查和初步的分析,确定由计算机完成的工作时对数据进行各种管理和处理,具体的工作内容见第二部分, 由手工完成的工作主要有对原始数据的录入;不能由计算机生成的,各种数据的更新,包括数据变化后的修改,数据的增加,失效数据或无用数据的删除等;以及系统的日常维护。2.3.3 医院的基本业务流程图数据库系统原理课程设计报告-4-病 人病区医嘱 住院药房 检 查 检 验 手 术
14、过程信息 管理信息押金信息 病人基本信息 病人费用基本信息诊 断押金日结信息 基本医疗收入 基本类在院收入收费日结信息 病历首页费用病人费用收据 院科费用核算 医疗保险费用 药品收入构成设备帐入会计凭证月末在院结算凭证制作凭证制作收取押金 入院登记 医嘱输入与划价数据库系统原理课程设计报告-5-2.3.4 图书管理系统数据字典(a)数据项:表 1.1 数据项列表数据项编号 数据项名 数据项含义 与其它数据项的关系 存储结构 别名DI-1 NUM 编号 IntDI-2 NAME 姓名 CharDI-3 SEX 性别 BitDI-4 ID 身份证号 CharDI-5 PRICE 费用总计 Floa
15、tDI-6 TOTILPrice 自付总计 FloatDI-7 MARRY 婚姻 charDI-8 民族 charDI-9 职业 charDI-24 工作单位 charDI-25 单位电话 charDI-26 家庭住址 CharDI-27 宅电 CharDI-28 邮编 CharDI-29 科室 同 ReaLBID CharDI-30 医疗来源 CharDI-31 日期 DatetimeDI-32 经办人 charDI-33 标识 charDI-34 医保编号 同 RoomMID char数据库系统原理课程设计报告-6-(b)数据结构:表 1.2 数据结构列表数据结构编号 数据结构名数据结构含
16、义 属 性DS-1 NUM 流水号 Not nullDS-2 医疗号 Not nullDS-3 NAME 姓名 NullDS-4 ITEM 科室 NullDS-5 医疗类别 NullDS-6 DATA 日期 NullDS-7 PRICE 挂号费 NullDS-8 病历 Null2.3.5 处理逻辑描述表 1.3 处理逻辑列表处理编号 处理功能 处理过程PR-1 医院门诊部门收费时的系统 医生、病人管理模块、收费、药品管理模块3 概念设计阶段 3.1 引言本次设计开发的医院门诊收费信息系统是一套完整的医院信息系统的一部分,整个系统应既可以面向大中型医院又可针对中小型医院的专用应用系统。它几乎覆盖
17、了医院主要管理职能和患者在医院就诊的各主要环节。我们的 HIS 专用应用系统不简单地是一套计算机管理应用软件,最重要的是它符合中国实际情况,参照了现行医改政策,结合国内与国际先进的医数据库系统原理课程设计报告-7-院管理经验,将医院的管理思想、医院各部门的业务经验以及当今计算机科学技术的完美统一起来的体现。3.2 任务与目标(1)选择中层数据流为切入点,通常选择实际系统中的子系统;(2)设计分 E-R 图,即各子模块的 E-R 图;(3)生成初步 E-R 图,通过合并方法,做到各子系统实体、属性、联系统一;(4)生成全局 E-R 图,通过消除冲突等方面。3.3 阶段结果(1)根据不同的对象,从
18、第 3 层数据流程图入手,分别画出各分 ER 图:病人挂号病人出院病人按处方配药病人看病病人交费取药病人住院病人交预交款数据库系统原理课程设计报告-8-4逻辑设计阶段4.1 逻辑设计的任务和目标以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的 DBMS 产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本 E-R 图转换为选用 DBMS 产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将 E-R 图转换成关系模型、模型优化、数据库模式定义、用户子模式设计) 、数据处理(画出系统功能模块图)两大任务。4.2 数据组织4.2.1 将 E-R 图转换为
19、关系模型实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:一个 m:n 联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。挂 号模 块医生诊断病情模块门诊挂号操作1:挂号 2:输入挂号信息3:挂号流水号4:看病毒5:药方6:药方交费划价收费取药模块7:输入药方信息8:药品明细单,收费发票9:取药数据库系统原理课程设计报告-9-一个 1:n 联系可以转换为一个独立的关系模式,也可以与 n 端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身
20、的属性均转换为关系的属性,而关系的码为 n 端实体的码。一个 1:1 联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合具有相同码的关系模式可合并。4.2.2 模型优化关系模式 Doctor,BaseType,Items,Medicine ,Patient 不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了 3NF.4.2.3 数据库模式定义表 2.1 BaseType 表列名 数据类型 可否为空 说明ID
21、 Char not null 编号TypeId Char not nullTypeName Char not null 科室名表 2.2 doctor 表列名 数据类型 可否为空 说明ID Char not null 编号Name Char not null 姓名Sex Char not null 性别Age Char not null 年龄DeptId Char not nullTitle Char表 2.3 Medicine 表列名 数据类型 可否为空 说明MedID Char not null 药品编号MedName Char not null 药品姓名Typeid Charsalepr
22、ice Char not null 卖价unitid Char not nullbuyprice Char 买价totle Char 总计表 2.4 patient 表数据库系统原理课程设计报告-10-列名 数据类型 可否为空 说明ID Char not null 编号NAME Char not null 病人名字IDnum Charsex Char 性别age Char not null 年龄marry 婚姻表 2.5 item 表列名 数据类型 可否为空 说明ItemID Char not nullITemName Char not nullTotal Char not nullUniti
23、d Char not nullBuyprice Char not nullsaleprice表 2.6 User 表列名 数据类型 可否为空 说明Username Char not nullPWD Char not nullUser_Type Char not null4.2.4 用户子模式定义表 2.1 BaseType 表试图列名 数据类型 可否为空 说明ID Char not null 编号TypeId Char not nullTypeName Char not null 科室名表 2.2 doctor 表试图列名 数据类型 可否为空 说明ID Char not null 编号Name
24、 Char not null 姓名Sex Char not null 性别Age Char not null 年龄DeptId Char not nullTitle Char表 2.3 Medicine 表试图数据库系统原理课程设计报告-11-列名 数据类型 可否为空 说明MedID Char not null 药品编号MedName Char not null 药品姓名Typeid Charsaleprice Char not null 卖价unitid Char not nullbuyprice Char 买价totle Char 总计表 2.4 patient 表试图列名 数据类型 可否
25、为空 说明ID Char not null 编号NAME Char not null 病人名字IDnum Charsex Char 性别age Char not null 年龄marry 婚姻表 2.5 item 表试图列名 数据类型 可否为空 说明ItemID Char not nullITemName Char not nullTotal Char not nullUnitid Char not nullBuyprice Char not nullsaleprice表 2.6 User 表试图列名 数据类型 可否为空 说明Username Char not nullPWD Char not
26、 nullUser_Type Char not null4.3 数据处理系统功能模块图:数据库系统原理课程设计报告-12-5物理设计阶段5.1 物理设计阶段的目标与任务数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。6数据库实施阶段6.1 建立数据库、数据表、视图、索引6.1.1 建立数据库CREATE DATABASE HospitalGO门诊划价收费系统门诊划价 门诊收费 药品发货 收据处理 收退款清算 统计、查询数
27、据库系统原理课程设计报告-13-6.1.2 建立数据表(1)BaseType 表的建立:USE HospitalGOCREATE TABLE BaseType(Id int PRIMARY KEY IDENTITY,TypeId tinyint,TypeName varchar(30)GO(2)Doctor 表的建立:USE HospitalGOCREATE TABLE Doctor( Id int IDENTITY PRIMARY KEY,Name varchar(50) NOT NULL,Sex varchar(2) NOT NULL,Age int,DeptId int,Title va
28、rchar(50);GO(3)Items 表的建立:USE HospitalGOCREATE TABLE Items( ItemId int IDENTITY PRIMARY KEY,ItemName varchar(50) NOT NULL,Total int,UnitId int,BuyPrice float,SalePrice float)GO(4)Medicine 表的建立:USE HospitalGO数据库系统原理课程设计报告-14-CREATE TABLE Medicine( MedId int IDENTITY PRIMARY KEY,MedName varchar(50),Ty
29、peId int,UnitId int,BuyPrice float, -进货价格,计算利润用SalePrice float, -售出价格Total float,Flag tinyint -中西药标记,0-中药;1-西药)(5)Registration 表的建立:USE HospitalGOCREATE TABLE Registration( RegId int PRIMARY KEY,PatId int,-患者DocId int, -医生名称RegDate varchar(20), -日期UserName varchar(20) -用户名)GO(6)Users 表的建立:USE Hospit
30、alGOCREATE TABLE Users(UserName varchar(40) PRIMARY KEY,Pwd varchar(40) NOT NULL,User_Type tinyint NOT NULL)GOINSERT INTO Users Values(Admin, 888888, 1)GO6.1.3 建立视图(1)用于查询 PayList 视图定义如下: 数据库系统原理课程设计报告-15-USE HospitalGOCREATE VIEW PayList_vASSELECT p.PayId, p.RegId,r.DocId,r.RegDate,m.MedName, b.Typ
31、eName, p.Price, m.Total, p.PNum, p.Price * p.PNum AS PSum, m.BuyPrice, (p.Price - m.BuyPrice) * p.PNum AS PEarnFROM PayItems p, Medicine m, BaseType b,Registration rWHERE p.ItemId = m.MedId AND m.UnitId = b.Id AND p.RegId=r.RegId AND p.PType=1UNIONSELECT p.PayId, p.RegId,r.DocId, r.RegDate,i.ItemNam
32、e, b.TypeName, p.Price, i.Total, p.PNum, p.Price * p.PNum AS PSum, i.BuyPrice, (p.Price - i.BuyPrice) * p.PNum AS PEarnFROM PayItems p, Items i, BaseType b,Registration rWHERE p.ItemId = i.ItemId AND i.UnitId = b.Id AND p.RegId=r.RegId AND p.PType=2GO(2)用于 ReportDoctor 查询的视图定义如下:USE HospitalGOCREATE
33、 VIEW ReportDoctor_vASSELECT d .Name AS 医生姓名, b.TypeName AS 科室名称 , d .Title AS 职务, p.RegDate AS 月份,(CASE WHEN p.PNum = 0 THEN p.PNum ELSE 0 END) AS 销售数量, (CASE WHEN p.PSum = 0 THEN p.PSum ELSE 0 END) AS 销售总额, (CASE WHEN p.PEarn = 0 THEN p.PEarn ELSE 0 END) AS 纯利润FROM BaseType b, Doctor d,(SELECT Doc
34、Id, LEFT(RegDate,7) AS RegDate, SUM(PNum) AS PNum, SUM(PSum) AS PSum, SUM(PEarn) AS PEarnFROM PayList_vGROUP BY DocId, LEFT(RegDate,7) pWHERE b.TypeId = 1 AND d.DeptId = b.Id AND d.Id = p.DocIdGO(3)用于显示 ReportItems 的视图定义如下:USE HospitalGOCREATE VIEW ReportItems_vAS数据库系统原理课程设计报告-16-SELECT i.ItemId AS
35、药品编号, i.ItemName AS 药品名称, b.TypeName AS 单位, i.BuyPrice AS 成本价格, i.SalePrice AS 销售价格, i.Total AS 库存数量, p.RegDate AS 销售日期,(CASE WHEN p.PNum = 0 THEN p.PNum ELSE 0 END) AS 销售数量, (CASE WHEN p.PNum = 0 THEN p.PSum ELSE 0 END) AS 销售总额, (CASE WHEN p.PNum = 0 THEN (p.PSum - i.BuyPrice * p.PNum) ELSE 0 END)
36、AS 纯利润FROM Items i, BaseType b,(SELECT ps.ItemId, ps.RegId, LEFT(r.RegDate,7) AS RegDate, SUM(ps.PNum) AS PNum, SUM(ps.Price * ps.PNum) AS PSumFROM PayItems ps, Registration rWHERE ps.PType = 2 AND ps.RegId = r.RegIdGROUP BY ps.ItemId, ps.RegId, LEFT(r.RegDate,7) pWHERE i.ItemId = p.ItemId AND i.Uni
37、tId = b.IdGO(4)用于 ReportMedicine 的视图定义如下:USE HospitalGOCREATE VIEW ReportMedicine_vASSELECT m.MedId AS 药品编号, m.MedName AS 药品名称, (CASE WHEN m.Flag = 1 THEN 中药 ELSE 西药 END) AS 类别, b1.TypeName AS 分类, b.TypeName AS 单位, m.BuyPrice AS 进货价格, m.SalePrice AS 销售价格, m.Total AS 库存数量, p.RegDate AS 销售日期,(CASE WHE
38、N p.PNum = 0 THEN p.PNum ELSE 0 END) AS 销售数量, (CASE WHEN p.PNum = 0 THEN p.PSum ELSE 0 END) AS 销售总额, (CASE WHEN p.PNum = 0 THEN (p.PSum - m.BuyPrice * p.PNum) ELSE 0 END) AS 纯利润FROM Medicine m, BaseType b, BaseType b1,(SELECT ps.ItemId, ps.RegId, LEFT(r.RegDate,7) AS RegDate, SUM(ps.PNum) AS PNum, S
39、UM(ps.Price * ps.PNum) AS PSumFROM PayItems ps, Registration rWHERE ps.PType = 1 AND ps.RegId = r.RegIdGROUP BY ps.ItemId, ps.RegId, LEFT(r.RegDate,7) pWHERE m.MedId = p.ItemId AND m.UnitId = b.Id AND m.TypeId = b1.Id数据库系统原理课程设计报告-17-6.1.4 建立索引6.1.5 建立触发器1当删除 Reader 表中某一读者基本信息时,触发 Borrow 表,删除相应的记录Us
40、e Hosptialgocreate trigger Doctor_deleteon Doctorfor delete asdelete Namefrom deletedwhere Name.ID=deleted.ID6.3 创建各个功能的存储过程系统共创建了 10 个存储过程,具体列表如下:表 3.1 创建的存储过程列表:编号 存储过程名称 定义 作用P-1 Doctor 信息表 详见附录 1-1 在 Book 中插入一元组(其它表的查询、修改、删除与以上各表的存储过程定义大致相同,这里不再具体列出)7系统调试和测试8设计心得在一个假期的时间对一个新的程序进行了解和实践然后按部就班的做出一个
41、属于自己的程序,并且按时完成,很不容易但是经过测试表明已有功能基本运行正常。为了适应将来医院现有流程和网络设施状况,不断进行用户需求分析和代码设计改进,在此循环的基础上不断增加功能。虽然最后做出来的程序比较简单,但是内含了多种情况下的功能,可以在适当时候根据实际情况进行选择。不管怎么样由于时间和能力有限,只完成了一些基本的功能,还是有很多的不成熟、不完善的地方,但毕竟是自己花了时间和经历去做的。数据库系统原理课程设计报告-18-最后,恳请评审老师不吝赐教,提出宝贵的意见。 9存在的问题及建议在本次设计中事实上存在着很多很多的问题,包括一些 VC 和 SQL 连接的的一些细节上的东西在网上查询了
42、很多的资料也没能弄明白和分析出来。我希望在以后的专业课程的学习中也不断的温故而知新,在很多的新问题和旧问题上得到一些突破和了解。让我能在今后的学习中得到更多的能力。数据库系统原理课程设计报告-19-致谢在这里,首先要感谢陈作聪老师一个学期以来对我们的细心、耐心的教导,没有您的认真督促和教育。也没有我们的今天。同样也要很感谢对我设计报告评审的老师,感谢您用您宝贵的时间为我的设计打分和提建议。总之,VC+SQL 的程序的制作真的好多谢各位老师的教导。参考文献1 金宇红,孙国祥, 对发展我国 HIS 技术市场的调研与思考 ,中国医院管理,2000,20(12),5-6 2 余大昆,李义兵, 湖北省医
43、院信息系统建设及应用情况调查分析 ,医学与计算机应用,2001,14(8),459-460 3 王安平,李燕燕,陈季妍, 医院信息系统投资分析 ,山西财政税务专科学校学报,2001,17(5),5152 4 郭煜,高岍, 建设医院门诊系统的探讨 ,山西电子技术,2000.5,2224 转 41 5 俞鹤伟,牟艳华, C/S 模式下 MIS 系统网络规模的分析 ,华南理工大学学报(自然科学版),2000,28(9),8286 6 何雨生,李月东等, 门诊信息系统研究 ,中国医院管理,2001,21(6),42-44 7 黄俊刚, 浅谈医院门诊信息的计算机管理 ,医疗装备,2000,13(12),
44、14-15 8 林寒祈,汪忠乐等, 医院信息系统中医嘱子系统的应用与体会 ,医疗装备,2001,14(2),17-17 9 姚和顺, 基于客户/服务器结构的门诊医生工作站的设计与实现 ,现代计算机,2001.8,9395 10 李易庆, 电子病案与相关信息技术 ,医学与计算机应用,2001,14(7),382-382 11 闭思成,薛冠华, 医院信息系统药品输入编码的制定方法 ,医学与计算机应用,2001,14(8),491-492 12 盛平,宋轶勤,宋顺林, 医院信息系统的分析与设计 ,江苏理工大学学报(社会科学版),2000.4,1518 13 杨焱,苏小刚等, 门诊信息查询模块的设计与
45、开发 ,医学与计算机应用,2001,14(7),415-416 14 代伟,董军等, 医院信息系统下统计基础工作的质量保证 ,中国医院统计,2001,8(2),99-100 15 (美)Michael Abbey 等著; 乐嘉锦等译,SQL Server2000 初学者指南 ,机械工业出版社, 2000 数据库系统原理课程设计报告-20-附录 1 数据查看和存储过程功能的验证1. 基本表的数据查看(基于视图查询):1) 查看 BaseType 表中的数据2) 查看 Doctor 表中的数据:数据库系统原理课程设计报告-21-3) 查看 Medicine 表中的数据:数据库系统原理课程设计报告-
46、22-4)查看 Patient 表中的数据数据库系统原理课程设计报告-23-5)查看 Users 表中的数据:6)查看 PayList_v 视图中的数据:数据库系统原理课程设计报告-24-7)查看 ReportDoctor_v 视图的数据:2. 触发器功能的验证:数据库系统原理课程设计报告25附录 3 所有的 SQL 运行语句USE HospitalGOCREATE TABLE BaseType(Id int PRIMARY KEY IDENTITY,TypeId tinyint,TypeName varchar(30)GOUSE HospitalGOCREATE TABLE Doctor(
47、Id int IDENTITY PRIMARY KEY,Name varchar(50) NOT NULL,Sex varchar(2) NOT NULL,Age int,DeptId int,Title varchar(50);GOCREATE DATABASE HospitalGOUSE HospitalGOCREATE TABLE Items( ItemId int IDENTITY PRIMARY KEY,ItemName varchar(50) NOT NULL,Total int,UnitId int,BuyPrice float,SalePrice float)GOUSE Hos
48、pitalGOCREATE TABLE Medicine( MedId int IDENTITY PRIMARY KEY,MedName varchar(50),TypeId int,数据库系统原理课程设计报告26UnitId int,BuyPrice float, -进货价格,计算利润用SalePrice float, -售出价格Total float,Flag tinyint -中西药标记,0-中药;1- 西药)GOUSE HospitalGOCREATE TABLE Registration( RegId int PRIMARY KEY,PatId int,-患者DocId int, -
49、医生名称RegDate varchar(20), -日期UserName varchar(20) -用户名)GOUSE HospitalGOCREATE VIEW PayList_vASSELECT p.PayId, p.RegId,r.DocId,r.RegDate,m.MedName, b.TypeName, p.Price, m.Total, p.PNum, p.Price * p.PNum AS PSum, m.BuyPrice, (p.Price - m.BuyPrice) * p.PNum AS PEarnFROM PayItems p, Medicine m, BaseType b,Reg