数据库课程设计报告:医院病房管理系统设计_第1页
数据库课程设计报告:医院病房管理系统设计_第2页
数据库课程设计报告:医院病房管理系统设计_第3页
数据库课程设计报告:医院病房管理系统设计_第4页
数据库课程设计报告:医院病房管理系统设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机科学与技术学院20102011学年第1学期数据库原理()课程设计题目医院病房管理系统班级080341C班学号080341314姓名李晗教师曹卫东成绩一、需求分析近年来,随着我国人民生活水平的迅速提高,科学技术的进一步发展,人们对将电子计算机应用于医学领域的需求就越来越迫切,一套好的医院病房管理系统在全面提高医院的整体工作效率、为病人提供方便快捷的服务等方面都能发挥出重要作用。根据调查,在西方发达国家,几乎绝大部分的医院都已经采用了医院病房管理系统,然而在国内的使用尚不普及,许多小型医院还是完全依靠手工操作在管理病人和医院员工的一切信息,这不仅劳动强度大且工作效率低,医师护士和管理人员的大量时间都消耗在事务性工作上,对其所掌握的信息也无法很好地统计应用起来,这样既无法提高医院自身的医疗水平,同时又无法很好地为病人服务。信息时代已经来临,将计算机应用于医院的日常管理为医院的现代化带来了从未有过的动力和机遇,为医疗卫生领域的发展提供了无限的潜力。对于一个医院来说,病房管理是一个必备的环节,病房的入住、费用统计等都包含着复杂的信息,这就需要应用计算机软件来对各项工作进行管理以发挥最大的功效。采用计算机管理信息系统已成为医院管理科学化和现代化的标志,给医院带来了明显的经济效益和社会效益,它极大的提高了医务人员的工作效率,有效地解决了信息的管理问题。这次设计的目的就是为医院创建一个方便、实用、快捷的管理系统,具备数据库维护功能,能根据用户需求进行数据的查询、添加、删除、修改,减轻医院工作人员的负担,同时这也是现代化管理的必然要求。系统功能模块图各模块所能实现的功能登录界面医生只有输入正确的工作证号和密码才能登录系统,如果还没有注册,可先输入相关信息进行注册。管理主页列出了该系统所能实现的功能,包括病人住院登记、出院结算、病人信息管理、医院内部信息管理、系统安全密码设置,医生根据需要选择对应的项目。住院登记登记病人基本信息,包括病历号、姓名、性别、诊断、病房号、床位号、电话号码、主治医生、住院日期,将其提交给系统。出院结算根据病人的入院日期、出院日期、和所住病房的收费标准,便可计算出病人所需支付的费用。病人信息管理可以查看全部病人信息,而且能选择科室进行分科室查看病人信息,还可以通过输入病人病历号、选择想要修改的项目来修改病人信息。医院内部信息管理包括科室信息管理、医生信息管理、病房信息管理、床位信息管理。其中科室信息管理实现添加科室、删除科室、更新科室、查看全部科室、查看科室医生;医生信息管理用来添加医生、删除医生、更新医生、查看所有医生、查看医生主管病人;病房信息管理实现添加病房、删除病房、更新病房以及查看全部病房;床位信息管理用来添加床位、删除床位、还可以查询床位的使用情况以便合理地为病人分配床位。系统安全密码设置为了保证系统的安全性,系统通过对工作证号和旧密码的验证,来修改登录密码。病房管理系统数据流图数据字典1数据结构病人含义说明定义了一个病人的信息结构组成病历号、姓名、性别、诊断、病房号、床位号、电话号码、主治医生、住院日期2数据结构医生含义说明定义了一个医生的信息结构组成工作证号,姓名,年龄,职称,部门,电话号码,密码3数据项病历号含义说明唯一标识一个病人类型字符型长度4取值范围000099994数据项工作证号含义说明唯一标识一个医生类型字符型长度3取值范围0009995数据项密码含义说明登陆本病房管理系统时所需的密码类型可变字符型长度156数据流病房和床位信息说明表示病房内每一床位的使用状态数据来源病房表和床位表组成所属科室,病房号,床位号,目前状态,收费标准7数据流医生主管病人信息说明表示每一医生主治的病人信息数据来源病人表和医生表组成病历号,姓名,性别,病房号,床位号,电话号码,医生工作证号,医生姓名8数据流科室医生信息说明表示每一科室包含的医生信息数据来源科室表和医生表组成工作证号,姓名,职称,年龄,电话号码,科名,科地址,科电话9处理过程登记病人信息说明向系统录入病人信息输入病历号、姓名、性别、诊断、病房号、床位号、电话号码、主治医生、住院日期处理首先根据病人诊断的结果,从病房和床位信息中选择一个空的床位,然后将病人相关信息输入系统。10处理过程出院结算说明结算病人住院期间所需费用输入病历号、出院日期输出姓名、病房号、收费标准、住院日期、应付金额处理根据病人的病历号,从数据库中得到相应的住院信息,由出院日期和收费标准系统可返回应支付的费用。二、结构设计1概念结构设计全局ER图2逻辑结构设计将ER图转换为关系模式为病人(病历号,姓名,性别,诊断,病房号,床位号,电话号码,主治医生,住院日期)医生(工作证号,姓名,年龄,职称,部门,电话号码,密码)科室(科名,科电话,科地址)病房(病房号,所属科室,收费标准)病床(病房号,病床号,目前状态)治疗(病历号,工作证号)属于(工作证号,科名)包含(科名,病房号)入住(病历号,病房号)拥有(病房号,病床号)关系图如下所示3物理结构设计1对于医生表系统涉及了对工作证号、姓名、职称、部门的查询,因此为其各建立一个升序的索引。2对于病人表系统涉及了对病历号、诊断、病房号、主治医生工作号的查询,因此为其各建立一个升序的索引。3对于病房表系统涉及到了对病房号、所属科室的查询,因此为其各建立一个升序的索引。4对于病床表系统涉及到了对病房号、床位号的查询,因此为其各建立一个升序的索引。三、主要编码及描述1数据库服务器端1)视图一CREATEVIEW医生视图ASSELECT工作证号,姓名,职称,年龄,电话号码,部门FROM医生作用医生表中有一列属性是密码,当查询医生信息时,不应显示出来,所以查询时可以直接查询该视图,输出除密码以外的信息。视图二CREATEVIEW医生主管病人视图ASSELECT病人病历号,病人姓名AS病人姓名,病人性别,病人病房号,病人病床号,病人电话号码,医生姓名AS医生姓名,医生工作证号FROM病人,医生WHERE病人主治医生工作号医生工作证号ORDERBY医生工作证号,病人病历号作用该视图将医生表和病人表联系起来,当输入医生的工作证号后,可直接调用该视图,将相关的医生信息和病人信息以医生工作证号为第一顺序、病人病历号为第二顺序输出。视图三CREATEVIEW科室医生信息情况ASSELECT医生工作证号,医生姓名,医生职称,医生年龄,医生电话号码,科室科名,科室科地址,科室科电话FROM医生,科室WHERE医生部门科室科名ORDERBY医生工作证号作用该视图将科室表和医生表联系起来,当选择科室名称后,可直接调用该视图,将相关的科室信息和医生信息按医生工作证号的顺序输出。视图四CREATEVIEW出院结算视图ASSELECT病人病历号,病人姓名,病人性别,病人诊断,病人住院日期,病人病房号,病房收费标准FROM病人,病房WHERE病人病房号病房病房号ORDERBY病人病历号作用当病人出院时结算费用,需要知道住院日期、病房号及收费标准以便进一步的计算。该视图将病人表和病房表联系起来,输入病人病历号后,即可显示出住院日期、收费标准等相关信息。2)存储过程CREATEPROCEDURECHUYUANIDCHAR20,TMDATETIME,PPINTOUTPUTASDECLAREAINTDECLAREBINTDECLARECDATETIMESELECTA病房号FROM病人WHERE病历号IDSELECTB收费标准FROM病房WHERE病房号ASELECTC住院日期FROM病人WHERE病历号IDSELECTADATEDIFFDAY,C,TMSETPPABGO作用该存储过程将病人病历号和出院日期作为输入,分别赋值给变量ID、TM,经SELECT语句得到收费标准赋给变量B、和住院日期赋给变量C,用函数DATEDIFFDAY,C,TM计算出住院天数,住院天数和收费标准的乘积即为结算费用,将它赋给变量PP并作为输出返回。3)触发器一CREATETRIGGERUPON病人FORINSERTASBEGINDECLARENRVARCHAR50,NBVARCHAR50SELECTNR病房号,NB病床号FROMINSERTEDUPDATE病床SET目前状态“有人“WHERE病房号NRAND床位号NBEND作用当有新病人登记入住时触发事件,设置病人所在床位的目前状态为“有人”,以免再有病人入住此床位时发生冲突。触发器二CREATETRIGGERDEON病人FORDELETEASBEGINDECLARENRVARCHAR50,NBVARCHAR50SELECTNR病房号,NB病床号FROMDELETEDUPDATE病床SET目前状态“无人“WHERE病房号NRAND床位号NBEND作用当有病人出院时将其信息删除,触发该事件,设置病人之前床位的目前状态为“无人”,以便以后其他病人可以使用此床位。2应用服务器端1)数据录入功能通过“住院登记”界面,将录入的病人相关信息存储到数据库病人表中;PROTECTEDVOIDBUTTON1_CLICKOBJECTSENDER,EVENTARGSESQLCONNECTIONSUNCONNEWSQLCONNECTION“DATASOURCELOCALHOSTINITIALCATALOG病房管理系统INTEGRATEDSECURITYTRUE“SUNCONOPEN/打开SUNCON对象所连接的数据库STRINGSTUSQL/用来存放SQL命令的字符串STUSQL“INSERTINTO病人病历号,姓名,性别,诊断,病房号,电话号码,主治医生工作号,住院日期,病床号VALUES“STUSQLSTUSQLTEXTBOX1TEXT“,“TEXTBOX2TEXT“,“TEXTBOX10TEXT“,“STUSQLSTUSQLTEXTBOX4TEXT“,“TEXTBOX5TEXT“,“TEXTBOX6TEXT“,“TEXTBOX7TEXT“,“TEXTBOX8TEXT“,“TEXTBOX9TEXT“SQLCOMMANDSTUINSNEWSQLCOMMANDSTUSQL,SUNCONSTUINSEXECUTENONQUERY/针对SUNCON所连接的数据库,执行STUINS对象SUNCONCLOSE/关闭SUNCON对象所连接的数据库RESPONSEWRITE“ALERT已登记“2)数据删除功能通过“删除医生信息”界面,实现将数据库中医生表中的相应医生信息进行删除;PROTECTEDVOIDBUTTON1_CLICKOBJECTSENDER,EVENTARGSESQLCONNECTIONSUNCONNEWSQLCONNECTION“DATASOURCELOCALHOSTINITIALCATALOG病房管理系统INTEGRATEDSECURITYTRUE“SUNCONOPENSTRINGSTUSQLSTUSQL“DELETEFROM医生WHERE工作证号“TEXTBOX1TEXTTRIMSQLCOMMANDCMDNEWSQLCOMMANDSTUSQL,SUNCONCMDEXECUTENONQUERYRESPONSEWRITE“ALERT成功删除“3)数据检索功能通过“查看科室病人信息”界面,实现根据DROPDOWNLIST中选择的科室名称对数据库中的病人表进行查询,并将查询结果显示给用户。PROTECTEDVOIDPAGE_LOADOBJECTSENDER,EVENTARGSESQLCONNECTIONSUNCONNEWSQLCONNECTION“DATASOURCELOCALHOSTINITIALCATALOG病房管理系统INTEGRATEDSECURITYTRUE“IFISPOSTBACK/网页第一次加载时SUNCONOPENSTRINGSTUSQLSTUSQL“SELECT科名FROM科室“SQLDATAADAPTERSUNADANEWSQLDATAADAPTERSTUSQL,SUNCONDATASETSUNSETNEWDATASETSUNADAFILLSUNSET,“科名“DROPDOWNLIST1DATASOURCESUNSETDROPDOWNLIST1DATAMEMBER“科名“DROPDOWNLIST1DATATEXTFIELD“科名“DROPDOWNLIST1DATABINDSTRINGSTUSQL2STUSQL2“SELECT病历号,姓名,性别,病房号,病床号,主治医生工作号,住院日期,电话号码FROM病人WHERE诊断“DROPDOWNLIST1SELECTEDVALUETOSTRING“SQLCOMMANDSTUINSNEWSQLCOMMANDSTUSQL2,SUNCONSQLDATAREADERSUNDASTUINSEXECUTEREADER/使用EXECUTEREADER方法执行SQL命令,并将结果存储在SUNDA对象中GRIDVIEW1DATASOURCESUNDAGRIDVIEW1DATABINDSUNCONCLOSEPROTECTEDVOIDDROPDOWNLIST1_SELECTEDINDEXCHANGEDOBJECTSENDER,EVENTARGSESQLCONNECTIONSUNCONNEWSQLCONNECTION“DATASOURCELOCALHOSTINITIALCATALOG病房管理系统INTEGRATEDSECURITYTRUE“SUNCONOPENSTRINGSTUSQL3STUSQL3“SELECT病历号,姓名,性别,病房号,病床号,主治医生工作号,住院日期,电话号码FROM病人WHERE诊断“DROPDOWNLIST1SELECTEDVALUETOSTRING“SQLCOMMANDSTUINSNEWSQLCOMMANDSTUSQL3,SUNCONSQLDATAREADERSUNDASTUINSEXECUTEREADER/使用EXECUTEREADER方法执行SQL命令,并将结果存储在SUNDA对象中GRIDVIEW1DATASOURCESUNDAGRIDVIEW1DATABINDSUNCONCLOSE4)数据修改功能通过“更新医生信息”界面,选择想要的修改项,实现修改数据库中医生表的相关项为设置的新值。PROTECTEDVOIDBUTTON2_CLICKOBJECTSENDER,EVENTARGSESQLCONNECTIONSUNCONNEWSQLCONNECTION“DATASOURCELOCALHOSTINITIALCATALOG病房管理系统INTEGRATEDSECURITYTRUE“SUNCONOPEN/打开SUNCON对象所连接的数据库STRINGSTUSQL/用来存放SQL命令的字符串STUSQL“UPDATE医生SET职称“TEXTBOX3TEXT“WHERE工作证号“TEXTBOX1TEXT“SQLCOMMANDUPDNEWSQLCOMMANDSTUSQL,SUNCONUPDEXECUTENONQUERYSUNCONCLOSE/关闭SUNCON对象所连接的数据库PROTECTEDVOIDBUTTON3_CLICKOBJECTSENDER,EVENTARGSESQLCONNECTIONSUNCONNEWSQLCONNECTION“DATASOURCELOCALHOSTINITIALCATALOG病房管理系统INTEGRATEDSECURITYTRUE“SUNCONOPEN/打开SUNCON对象所连接的数据库STRINGSTUSQL/用来存放SQL命令的字符串STUSQL“UPDATE医生SET年龄“TEXTBOX4TEXT“WHERE工作证号“TEXTBOX1TEXT“SQLCOMMANDUPDNEWSQLCOMMANDSTUSQL,SUNCONUPDEXECUTENONQUERY/针对SUNCON所连接的数据库,执行UPD对象所包含的名为STUSQL的SQL命令SUNCONCLOSE/关闭SUNCON对象所连接的数据库PROTECTEDVOIDBUTTON4_CLICKOBJECTSENDER,EVENTARGSESQLCONNECTIONSUNCONNEWSQLCONNECTION“DATASOURCELOCALHOSTINITIALCATALOG病房管理系统INTEGRATEDSECURITYTRUE“SUNCONOPEN/打开SUNCON对象所连接的数据库STRINGSTUSQL/用来存放SQL命令的字符串STUSQL“UPDATE医生SET电话号码“TEXTBOX5TEXT“WHERE工作证号“TEXTBOX1TEXT“SQLCOMMANDUPDNEWSQLCOMMANDSTUSQL,SUNCONUPDEXECUTENONQUERYSUNCONCLOSE/关闭SUNCON对象所连接的数据库四、运行说明主要界面展示床位管理说明该界面用于管理病房的床位信息。先选择科室,再从该科室所含的病房中选择一个,便可实现查询此病房中各床位的目前状态,以供病人登记时参考,还可实现向此病房中添加床位或删除已有床位。住院登记说明该界面用于病人住院时登记相关信息。确定要入住的病房和床位后按要求输入病人的相关信息,其中一些数据项含有一定的约束条件,将其提交给系统,供医生查询其所需信息以及出院时查询住院情况。修改病人信息说明该界面用于修改病人信息。输入病人的病历号,然后从下拉列表中选择要修改的数据项,相应的那一部分就会变为可见,向其中输入新内容后,点击修改按钮,即可实现修改后台数据库病人的相关信息。出院结算说明该界面用于病人出院结算费用。输入病人的病历号后,可将其住院信息显示出来。再输入出院日期,系统会调用存储过程计算出住院天数和收费标准的乘积即结算费用。病人支付费用后,可将其信息从系统删除,所住床位的状态自动变为无人。五、课程设计总结在本次数据库课程设计中,我设计和开发了一个小型的病房管理系统,实现了对病人的住院登记、住院结算、信息查询、信息修改,对科室信息、医生信息、病房信息、床位信息的增、删、查、改,和系统安全密码设置的功能。设计过程中曾经遇到了不少难点和问题,如将界面和后台数据库联系起来时出错;对数据库中信息操作时有时忽略了参照完整性;病人出院结算时输入相关信息调用存储过程,然后将结算费用赋给变量并作为输出返回,该过程在数据库的查询分析器中可以实现,但在程序中却不能正常运行;页面间参数传递实现不了;还出现了一些语法错误,和对一些控件的属性及事件不熟悉等。对于上述这些难点,我花了很多时间去解决,反复看老师所给的事件代码、将每一条语句都理解透彻,查阅数据库教材和理论课的课件、并借来相关书籍辅助学习,注意数据库中各个所建表的主外键约束,仔细耐心检查才能发现一些不明显的语法错误,上网搜索也让我学到很多知识,还有些问题是请教老师的指导和同学之间的互相讨论,最终将难点一一克服。为了能够使该设计尽可能完善,我看了不少课外资料,主要是想了解一下数据库管理系统是如何开发的,我从中学到了许多有关数据库方面和软件开发的知识,对软件工程和软件开发有了进一步的了解,知道了开发一个系统的基本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论