ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:1.03MB ,
资源ID:16359552      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16359552.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(医院病房 数据库课程设计报告Word下载.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

医院病房 数据库课程设计报告Word下载.docx

1、出院结算:根据病人的入院日期、出院日期、和所住病房的收费标准,便可计算出病人所需支付的费用。病人信息管理:可以查看全部病人信息,而且能选择科室进行分科室查看病人信息,还可以通过输入病人病历号、选择想要修改的项目来修改病人信息。医院内部信息管理:包括科室信息管理、医生信息管理、病房信息管理、床位信息管理。其中科室信息管理实现添加科室、删除科室、更新科室、查看全部科室、查看科室医生;医生信息管理用来添加医生、删除医生、更新医生、查看所有医生、查看医生主管病人;病房信息管理实现添加病房、删除病房、更新病房以及查看全部病房;床位信息管理用来添加床位、删除床位、还可以查询床位的使用情况以便合理地为病人分

2、配床位。系统安全密码设置:为了保证系统的安全性,系统通过对工作证号和旧密码的验证,来修改登录密码。病房管理系统数据流图:数据字典:(1) 数据结构:病人含义说明:定义了一个病人的信息结构组成:病历号、姓名、性别、诊断、病房号、床位号、电话号码、主治医生、住院日期(2) 数据结构:医生定义了一个医生的信息结构工作证号,姓名,年龄,职称,部门,电话号码,密码(3) 数据项:病历号唯一标识一个病人类型:字符型 长度:4取值范围00009999(4) 数据项:工作证号唯一标识一个医生3取值范围000999(5) 数据项:密码登陆本病房管理系统时所需的密码可变字符型15(6) 数据流:病房和床位信息说明

3、:表示病房内每一床位的使用状态数据来源:病房表和床位表所属科室,病房号,床位号,目前状态,收费标准(7) 数据流:医生主管病人信息表示每一医生主治的病人信息病人表和医生表病历号,姓名,性别,病房号,床位号,电话号码,医生工作证号,医生姓名(8) 数据流:科室医生信息表示每一科室包含的医生信息科室表和医生表 工作证号, 姓名, 职称, 年龄, 电话号码, 科名, 科地址, 科电话(9) 处理过程: 登记病人信息向系统录入病人信息输入:处理:首先根据病人诊断的结果,从病房和床位信息中选择一个空的床位,然后将病人相关信息输入系统。(10)处理过程: 出院结算结算病人住院期间所需费用 病历号、出院日期

4、输出:姓名、病房号、收费标准、住院日期、应付金额根据病人的病历号,从数据库中得到相应的住院信息,由出院日期和收费标准系统可返回应支付的费用。二、结构设计1概念结构设计全局E-R图:2.逻辑结构设计将E-R图转换为关系模式为:病人(病历号,姓名,性别,诊断,病房号,床位号,电话号码,主治医生,住院日期)医生(工作证号,姓名,年龄,职称,部门,电话号码,密码)科室(科名,科电话,科地址)病房(病房号,所属科室,收费标准)病床(病房号,病床号,目前状态)治疗(病历号,工作证号)属于(工作证号,科名)包含(科名,病房号)入住(病历号,病房号)拥有(病房号,病床号)关系图如下所示:3.物理结构设计1)

5、对于医生表:系统涉及了对工作证号、姓名、职称、部门的查询,因此为其各建立一个升序的索引。2) 对于病人表:系统涉及了对病历号、诊断、病房号、主治医生工作号的查询,因此为其各建立一个升序的索引。3) 对于病房表:系统涉及到了对病房号、所属科室的查询,因此为其各建立一个升序的索引。4) 对于病床表:系统涉及到了对病房号、床位号的查询,因此为其各建立一个升序的索引。三、主要编码及描述:1.数据库服务器端1)视图一:CREATE VIEW 医生视图ASSELECT 工作证号, 姓名, 职称, 年龄, 电话号码, 部门FROM 医生作用:医生表中有一列属性是密码,当查询医生信息时,不应显示出来,所以查询

6、时可以直接查询该视图,输出除密码以外的信息。视图二:CREATE VIEW 医生主管病人视图SELECT 病人.病历号,病人.姓名 AS 病人姓名,病人.性别, 病人.病房号,病人.病床号,病人.电话号码,医生.姓名 AS 医生姓名, 医生.工作证号FROM 病人,医生 WHERE病人.主治医生工作号 =医生.工作证号ORDER BY医生.工作证号,病人.病历号 作用:该视图将医生表和病人表联系起来,当输入医生的工作证号后,可直接调用该视图,将相关的医生信息和病人信息以医生工作证号为第一顺序、病人病历号为第二顺序输出。视图三: CREATE VIEW 科室医生信息情况SELECT医生.工作证号

7、,医生.姓名, 医生.职称, 医生.年龄, 医生.电话号码, 科室.科名,科室.科地址,科室.科电话FROM医生,科室 WHERE 医生.部门 = 科室.科名ORDER BY医生.工作证号该视图将科室表和医生表联系起来,当选择科室名称后,可直接调用该视图,将相关的科室信息和医生信息按医生工作证号的顺序输出。视图四:CREATE VIEW 出院结算视图SELECT 病人.病历号, 病人.姓名, 病人.性别, 病人.诊断, 病人.住院日期, 病人.病房号, 病房.收费标准FROM 病人,病房 WHERE病人.病房号 = 病房.病房号ORDER BY 病人.病历号当病人出院时结算费用,需要知道住院日

8、期、病房号及收费标准以便进一步的计算。该视图将病人表和病房表联系起来,输入病人病历号后,即可显示出住院日期、收费标准等相关信息。2)存储过程:CREATE PROCEDURE chuyuan(id char(20),tm datetime,pp int output) ASdeclare a intdeclare b intdeclare c datetimeselect a=病房号 from 病人 where 病历号=idselect b=收费标准 from 病房 where 病房号=aselect c=住院日期 from 病人 where 病历号=idselect a=datediff(d

9、ay,c,tm)set pp=a*bGO该存储过程将病人病历号和出院日期作为输入,分别赋值给变量id、tm,经select语句得到收费标准赋给变量b、和住院日期赋给变量c,用函数datediff(day,c,tm) 计算出住院天数,住院天数和收费标准的乘积即为结算费用,将它赋给变量pp并作为输出返回。3)触发器一:create TRIGGER up ON病人 FOR INSERTBegin Declare NR varchar(50), NB varchar(50) Select NR=病房号,NB=病床号 from inserted Update 病床 Set 目前状态=有人 Where 病

10、房号=NR and 床位号=NB End当有新病人登记入住时触发事件,设置病人所在床位的目前状态为“有人”,以免再有病人入住此床位时发生冲突。触发器二:create TRIGGER de ON病人 FOR delete Select NR=病房号,NB=病床号 from deleted无人当有病人出院时将其信息删除,触发该事件,设置病人之前床位的目前状态为“无人”,以便以后其他病人可以使用此床位。2.应用服务器端1)数据录入功能:通过“住院登记”界面,将录入的病人相关信息存储到数据库病人表中; protected void Button1_Click(object sender, EventA

11、rgs e) SqlConnection SunCon = new SqlConnection(Data Source=localhost;Initial Catalog=病房管理系统;Integrated Security=True); SunCon.Open(); /打开SunCon对象所连接的数据库 string StuSQL; /用来存放SQL命令的字符串 StuSQL = INSERT INTO 病人(病历号,姓名,性别,诊断,病房号,电话号码,主治医生工作号,住院日期,病床号) VALUES(; StuSQL = StuSQL + TextBox1.Text + , + TextB

12、ox2.Text + +TextBox10 .Text + StuSQL = StuSQL + TextBox4.Text + + TextBox5.Text + + TextBox6.Text + + TextBox7.Text + + TextBox8.Text + + TextBox9.Text + ) SqlCommand StuIns = new SqlCommand(StuSQL, SunCon); StuIns.ExecuteNonQuery(); /针对SunCon所连接的数据库,执行StuIns对象 SunCon.Close(); /关闭SunCon对象所连接的数据库 Res

13、ponse.Write(alert(已登记) 2)数据删除功能:通过“删除医生信息”界面,实现将数据库中医生表中的相应医生信息进行删除;protected void Button1_Click(object sender, EventArgs e) SqlConnection SunCon = new SqlConnection(delete from 医生 where 工作证号=+TextBox1.Text .Trim (); SqlCommand cmd = new SqlCommand(StuSQL, SunCon); cmd.ExecuteNonQuery(); Response.Wr

14、ite(成功删除3)数据检索功能:通过“查看科室病人信息”界面,实现根据DropDownList中选择的科室名称对数据库中的病人表进行查询,并将查询结果显示给用户。protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) /网页第一次加载时SELECT 科名 FROM 科室 SqlDataAdapter SunAda = new SqlDataAdapter(StuSQL, SunCon); DataSet SunSet = new DataSet(); SunAda.Fill(SunSet, 科名 DropDo

15、wnList1.DataSource = SunSet; DropDownList1.DataMember = DropDownList1.DataTextField = DropDownList1.DataBind(); string StuSQL2; StuSQL2= SELECT 病历号,姓名,性别,病房号,病床号,主治医生工作号,住院日期,电话号码 FROM 病人 where 诊断 = + + DropDownList1.SelectedValue.ToString() + SqlCommand StuIns = new SqlCommand(StuSQL2, SunCon); Sql

16、DataReader SunDa = StuIns.ExecuteReader(); /使用ExecuteReader方法执行SQL命令,并将结果存储在SunDa对象中 GridView1.DataSource = SunDa; GridView1.DataBind(); SunCon.Close();protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) string StuSQL3; StuSQL3 = SqlCommand StuIns = new SqlCommand(StuSQL3,

17、SunCon);4)数据修改功能:通过“更新医生信息”界面,选择想要的修改项,实现修改数据库中医生表的相关项为设置的新值。 protected void Button2_Click(object sender, EventArgs e) UPDATE 医生 set 职称= + TextBox3.Text + where 工作证号= + TextBox1.Text+ SqlCommand upd = new SqlCommand(StuSQL, SunCon); upd.ExecuteNonQuery(); protected void Button3_Click(object sender,

18、EventArgs e) UPDATE 医生 set 年龄= + TextBox4.Text + + TextBox1.Text + /针对SunCon所连接的数据库,执行upd对象所包含的名为StuSQL的SQL命令 protected void Button4_Click(object sender, EventArgs e) UPDATE 医生 set 电话号码=四、运行说明:主要界面展示床位管理该界面用于管理病房的床位信息。先选择科室,再从该科室所含的病房中选择一个,便可实现查询此病房中各床位的目前状态,以供病人登记时参考,还可实现向此病房中添加床位或删除已有床位。住院登记该界面用于病

19、人住院时登记相关信息。确定要入住的病房和床位后按要求输入病人的相关信息,其中一些数据项含有一定的约束条件,将其提交给系统,供医生查询其所需信息以及出院时查询住院情况。修改病人信息该界面用于修改病人信息。输入病人的病历号,然后从下拉列表中选择要修改的数据项,相应的那一部分就会变为可见,向其中输入新内容后,点击修改按钮,即可实现修改后台数据库病人的相关信息。出院结算该界面用于病人出院结算费用。输入病人的病历号后,可将其住院信息显示出来。再输入出院日期,系统会调用存储过程计算出住院天数和收费标准的乘积即结算费用。 病人支付费用后,可将其信息从系统删除,所住床位的状态自动变为无人。五、课程设计总结在本

20、次数据库课程设计中,我设计和开发了一个小型的病房管理系统,实现了对病人的住院登记、住院结算、信息查询、信息修改,对科室信息、医生信息、病房信息、床位信息的增、删、查、改,和系统安全密码设置的功能。设计过程中曾经遇到了不少难点和问题,如:将界面和后台数据库联系起来时出错;对数据库中信息操作时有时忽略了参照完整性;病人出院结算时输入相关信息调用存储过程, 然后将结算费用赋给变量并作为输出返回,该过程在数据库的查询分析器中可以实现,但在程序中却不能正常运行;页面间参数传递实现不了;还出现了一些语法错误,和对一些控件的属性及事件不熟悉等。对于上述这些难点,我花了很多时间去解决,反复看老师所给的事件代码

21、、将每一条语句都理解透彻,查阅数据库教材和理论课的课件、并借来相关书籍辅助学习,注意数据库中各个所建表的主外键约束, 仔细耐心检查才能发现一些不明显的语法错误,上网搜索也让我学到很多知识,还有些问题是请教老师的指导和同学之间的互相讨论,最终将难点一一克服。为了能够使该设计尽可能完善,我看了不少课外资料,主要是想了解一下数据库管理系统是如何开发的,我从中学到了许多有关数据库方面和软件开发的知识,对软件工程和软件开发有了进一步的了解,知道了开发一个系统的基本步骤和方法:要先做需求分析,如果需求分析做的不到位,就会导致具体实现时出现很多不合理之处;然后设计相应的数据库,要注意数据库的实体完整性、参照完整、用户定义的完整性才能使系统正常工作,设计各表要规范减少冗余,建立适当的索引和存储过程对提高系统运行的效率是很有必要的;最后就是具体编写代码实现相关功能,将前台操作与后台数据库联系起来,完成整个系

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

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