数据库课程设计报告范例(仅供参考).docx
数据库课程设计报告校园医务室服务系统学院:软件学院专业:软件工程专业班级:XX级X班姓名:XXX学号:XXXXXXXXXXX任课教师:实验教师:目录一、系统开发平台错误!未定义书签。二、数据库规划错误!未定义书签。任务陈述错误!未定义书签。任务目标错误!未定义书签。三、系统定义错误!未定义书签。系统边界错误!未定义书签。用户视图错误!未定义书签。四、需求分析错误!未定义书签。用户需求说明错误!未定义书签。数据需求错误!未定义书签。事务需求错误!未定义书签。系统需求说明错误!未定义书签。五、数据库逻辑设计错误!未定义书签。ER图错误!未定义书签。数据字典错误!未定义书签。关系表错误!未定义书签。六、数据库物理设计错误!未定义书签。索引错误!未定义书签。视图错误!未定义书签。安全机制错误!未定义书签。其他错误!未定义书签。七、应用程序设计错误!未定义书签。功能模块错误!未定义书签。界面设计错误!未定义书签。事务设计错误!未定义书签。八、测试和运行错误!未定义书签。九、总结错误!未定义书签。附.参考文献错误!未定义书签。一、系统开发平台题目:校园医务室服务系统数据库:MicrosoftSqlServer2000开发工具:EcIipsNetBeans操作系统:MicrosoftWindowXPHomeEdition二、数据库规划任务陈述校园医务室服务系统的目的是为了通过收集和存储指定对象的信息数据,及控制相关人员对以上数据的操作,辅助校医务室工作人员完成对基本医疗信息的管理工作,并在必要的时候向更高管理层提供所需要的财务等信息。另外该系统还具有对医疗保险和过敏药物两种特定信息的管理功能。任务目标控制(添加, 控制(添加, 控制(添加, 控制(添加,更新,删除)更新,删除)更新,删除)更新,删除)有关学生信息 有关医生信息 有关药物信息 有关库存信息添加,查询有关医疗记录信息添加,查询有关过敏药物信息添加,查询有关处方信息查询,统计有关学生信息查询,统计有关医生信息查询,统计有关药物信息查询,统计有关药房信息对药房库存信息提供报表对有关医疗记录信息提供报表对有关过敏药物信息提供报表对校医务室财务信息提供报表自动计算相关费用,核对药物信息三、系统定义系统边界人事管理系统查询学生信息系统查询医生学生八控 制管理者用户查询<杳询医疗记录提交报表药品校医务时服务系统学校财务系统用户视图用户视图功能需求学生用户列出该用户的学生基本信息列出指定敏感药物的详细信息列出指定医疗记录的详细信息输出该用户医疗记录信息输出该用户过敏药物信息医生用户列出该用户的基本信息列出指定学生的基本信息列出指定学生的过敏药物信息列出指定学生的医疗记录信息列出选定药物的详细信息自动计算相关费用自动核对药物信息更新库存信息录入新处方信息录入新库存信息录入新医疗记录信息录入新过敏药物信息输出指定药房库存信息输出指定学生的医疗记录信息输出指定学生的过敏药物信息管理用户列出指定药物信息列出指定药房信息列出指定学生信息列出指定医生信息列出指定医疗记录信息录入新药物信息录入新药房信息录入新学生信息录入新医生信息删除选定学生信息删除选定医生信息更新库存信息更新学生信息输出指定学生信息输出指定医生信息输出指定药房库存信息四、需求分析用户需求说明4.1.1数据需求学生用户视图:基本信息:学号,姓名,性别,年龄,班级,学院,专业,联系电话。过敏药物信息:编号,名称,型号,发现日期,诊断医师医疗记录信息:时间,处方编号,自费费用,医保费用,诊断医师学号唯一,可决定多条过敏药物信息和医疗记录信息。处方编号唯一,每条过敏记录由编号和学号唯一确定。学生只可以对以上信息进行查询,不可以进行修改。(2)医生用户视图:医生信息:编号,姓名,性别,年龄,所在药房编号学生信息:学号,姓名,性别,年龄,班级,学院,专业,联系电话-完整版学习资料分享一-药物信息:编号,名称,型号,价格,库存量,医保比例,注意事项处方信息:编号,药房编号,时间,治疗方案,自费费用,医保费用过敏药物信息:编号,学号,名称,型号,诊断医师医疗记录信息:时间,处方编号,总费用,诊断医师学号及各编号唯一;每条治疗方案中包含多条处方信息。值班医生可对处方信息,医疗记录信息进行更新和查询,但只可查询基本信息,学生信息和药物信息。(3)管理用户视图:药物信息:编号,名称,型号,价格,库存量,医保比例,注意事项学生信息:学号,姓名,性别,年龄,班级,学院,专业,联系电话处方信息:编号,药房编号,时间,治疗方案,自费费用,医保费用医生信息:编号,姓名,性别,年龄,所在药房编号药房信息:药房编号,药物编号,现库存量过敏药物信息:编号,学号,名称,型号,诊断医师医疗记录信息:时间,处方编号,总费用,诊断医师各编号唯一;每条医疗记录可包含多个处方编号;药方信息中,相同药物编号可对应多条药房信息。每条值班信息由医生编号,药房编号和时间唯一确定。校医院管理者可对药物信息和药房信息进行更新和查询,但只可查询医疗记录信息。4.1.2事务需求(1)学生用户视图:数据查询:列出该用户的学生基本信息列出选定敏感药物的详细信息列出选定医疗记录的详细信息数据输出:输出该用户医疗记录信息输出该用户过敏药物信息O)摩牛田白加J图数据查询:列出该向户的基本信息列出指定学生的基本信息列出指定学生的过敏药物信息列出指定学生的医疗记录信息列出选定药物的详细信息数据录入:录入新处方信息录入新库存信息录入新医疗记录信息录入新过敏药物信息更新库存信息数据输出:输出该用户医疗记录信息输出该用户过敏药物信息输出指定药房库存信息输出指定学生的医疗记录信息输出指定学生的过敏药物信息其它事务:自动计算相关费用自动核对药物信息(3)管理用户视图:数据查询:列出指定药物信息列出指定药房信息列出指定学生信息=WORD完整版.可编辑-专业资料分享=列出指定医生信息列出指定医疗记录信息数据录入:录入新药物信息录入新药房信息录入新学生信息录入新医生信息数据输出:输出指定学生信息输出指定医生信息输出指定药房库存信息数据更新/删除:删除选定学生信息删除选定医生信息更新药房库存信息更新学生信息系统需求说明4.2.1 软件环境软件环境需要支持Window操作系统,及SQLServer商业数据库4.2.2硬件环境Petium(R)4CPUGHz,504MB内存4.2.3 初始数据库大小大约有学生20名,医生5名,管理用户3名;药物目录共包含40种药物,药房4处;其它记录信息为0。4.2.4数据库增长速度学生为每一年添加IO(X)名左右,同时删除100O名左右;医生及其他信息增长速度不定。4.2.5 记录查找的类型和平均数量查找医疗记录的情况大约每天20次查找学生信息的情况大约每天10次查找药物记录的情况大约每天30次查找过敏药物记录的情况大约每天10次查找药房信息记录的情况大约每月1次4.2.6 性能单个记录查询时间少于1秒,高峰期少于5秒多个记录查询时间少于5秒,高峰期少于10秒更新/保存记录时间少于1秒,高峰期少于5秒4.2.7安全性每个用户在进入系统时都必须有口令保护;每个用户分配特定的用户视图所应有的访问权限;不同用户根据其事先定义的角色不同进入不同的用户视图界面。五、数据库逻辑设计ER图数据字典5.2.1 实体和联系属性学生StUdent:学号SNo,姓名SName,性别SSex,年龄SAge,班级Grade,学院COHege,专业MajOr,联系电话Phone,密码PaSSWOrd;医生doctor:编号DNo,姓名DName,性别DSex,年龄DAge,所在药房ROom,密码Password;药品medicine:编号MNo,名称MName,型号MStyIe,价格MPriCe,注意事项MTiP医保比例SeIfPerCent药房Pharmacy:编号PHNo,位置PHName医疗记录ReCOrd:编号RNo,处方编号PNo,时间RDate,自付费用SelfPrice,医保费用FreePrice,学号SNo,诊断医师编号DNO处方Prescription:编号PNo,时间PDale,学号SNo,诊断医师编号DNo库存量StoreAmount:药物编号MNo,药房编号PHNo,现库存量过敏药物AHerey:药物编号MN0,学号SNo,处方编号PNo5.2.2 属性描述实体属性类型及大小空student学号SNCHAR(8)否姓名SNamevarchar(16)性别SSexCHAR(2)年龄SAgeint班级Gradevarchar(20)学院Collegevarchar(20)专业Majorvarchar(20)联系电话Phonevarchar(15)密码Passwordvarchar(8)doctor编号DNoCHAR(8)否姓名DNamevarchar(16)性别DSexCHAR(2)年龄DAgeint所在药房RoomCHAR(4)密码Passwordvarchar(8)medicine编号MNoCHAR(8)否名称MNamevarchar(30)型号MStyleMStyleCHAR(20)价格MPriceint医保比例selfPercentintPrescription编号PNOCHAR(8)否时间PDatedatetime否学号SNOCHAR(8)诊断医师编号DNoCHAR(8)Record编号RNoCHAR(8)否处方PNoCHAR(8)否时间Datedatetime自费费用SelfPriceint医保费用FreePriceint学生SNoCHAR(8)医生DNOCHAR(8)药物MNoCHAR(8)否Allergy学生SNOCHAR(8)否处方PNoCHAR(8)StoreAmount药物MNoCHAR(8)否药房PHNoCHAR(8)否现库存量Amountint关系表六、数据库物理设计索引使用查询分析器运行:USEHostipalDBCCSHOWCONTIGWITHTABLERESULTS,ALLJNDEXES可以得到HOStiPal数据库中全部索引的相关信息,算中用户所建表的部分信息如下:ObjectNameIndexNameIDAverageFreeBytesLogicalFragementationAllergyPK_Allergy_060DEAE81StoreAmountPK_storeAmount1StoreAmountph_key4PDetailPK_PDetaiI1RecordPK_Record_023D5A041Recordpno_key8medicinePK_medicine_7A9C383C1studentPK_student_76CBA7581doctorPK_doctor_78B3EFCA1pharmacyPK_pharmacy1prescriptionPK_prescription_7E6CC9201在全部索引中除每张表的主键索引外还包括另外两个单独建立的索引:(1) StoreAmount中的ph_key索引:在查询某种药品的库存量多为针对某以药房查询,而且在添加库存是也是按照药房批量更新添加,因此建立了此索引;(2) Record中的pno_key索引:虽然每一医疗记录都有自己的编号,但大多数情况下是对具体的处方信息进行查询,而且一条有自费和医保费用构成的财务记录也是由处方编号而定的,所以建立了此索引。视图Hostipal数据库中主要建立了以下两个视图:©CREATEVIEWdbo.AllergyDetialASSELECTINNERJOINON=INNERJOINON=INNERJOINON=AND=INNERJOINON=VIEWASSELECTINNERJOINON=INNERJOINON=AND=INNERJOINON=AND=CROSSJOIN建立以上视图主要是因为:(1)基于以上视图实现复杂查询,以避免书写频繁执行连接操作;(2)以上视图所包含的表的数据关系到许多用户,视图可以隐藏基本表;可以禁止所有用户访问数据库表,而要求医生等用户只能通过视图操作数据;(3)在一定程度上保护高级语言应用程序不受某些数据库结构修改的影响。安全机制6.3.1 系统安全为学生和医生用户在数据库中存储登录口令,登录时必须经验证一致才可进入系统;由于管理员用户有频繁的插入删除操作且该类用户数量有限,所以为每一个管理员用户在数据库中建立单独的登录名和用户名,并为他们指定已建立的Manager角色(具有表StUdent,doctor,medicine,StoreAmount的全部权限)。在管理员登录时,其密码由SQLSeVer实现验证,由于SQLSeVer的登录密码是经加密保存的,所以具有较高的安全性。6.3.2 数据安全在该系统中,任何有关删除或添加数据的操作都需要二次确认才可以在数据库中真正执行。通过高级语言应用程序的限制,不同的用户只能查询修改其有权访问的数据。七、应用程序设计功能模块7.1.1 计算功能(1)统计具有指定属性的群体所含个体的总量;(2)医疗费用中医保金额和自费金额的自动计算和区分;(3)过敏药物的判定及其与治疗药物的冲突选择。7.1.2 存储功能存储有关对象的具体信息及学生与处方,处方与医生,医生与药房,药房与药品的关系,并能方便快速地实现对以上信息的删除增加等操作。7.1.3 输入及输出功能输入的限定信息等数据经处理后,可以在显示器上按事先定义的格式显示,特别是在就诊过程中可以跟踪当前状态(挂号,诊疗,结算,取药)。另外还能通过指定设备存储账单等报表,以便打印或长期保存。7.1.4 交互功能本系统具有仿WindOWS窗口交互界面,会在工作人员进行输入等操作时给予必要的-完整版学习资料分享一-提示,或者在操作发生错误时给予必要的提示和帮助。另外在医生用户的最终结算操作中具有自动计算找零的仿收银台功能。界面设计7.2.1登录界面7.请选择功能.(1)查询药物药品编号药品名称型号价格备工EfiiEn斥存量01VCV00113.00维生森50Phi3302VBV0011200维生素50ph1303百君森S00223.00抗菌药70ph1110网酚咖敏片H370500退烧药30Phl4411转移因子口服液8.98每支IOml0ph1125喉克胶囊J00323.00治感胃50phi17(2)报表生成的报表:编号:03名称:青霉素型号:编号:03名称:青霉素编号:23名称:紫石英编号:31名称:足光粉编号:33名称:截至到:2008-09-27的所需药房药品信息JS002价格:23.00备注:抗菌药医保比例:70%所属药房:PhI库存:IP型号:S002价格:23.00型号:型号:祖师麻片型号:价格:.01备注:备注:抗菌药医保比例:70%所属药房:Phl库存:IPOOOg医保比例:80%所属药店:库存:Op价格:5.00备注:每包40g医保比例:0%所属药房:库存:0价格:22.50备注:母盒0.3g医保比例:50%所属药房:库存:0“(3)添加库存药物编号查询添加取消药品编号药品名游型号价格备注医保比例药房墙号库存量15壮骨伸筋胶囊27.40每盒60粒50ph21225紫苏叶,42每包IOg80Phl1235左族味哇片.01每片25mg50Phl1245注射用赖氨匹林保比林)1150I每支65g0Phl105快克胫森j00323.00>tfJS50ph117I确定I取消(3)添加新药请选择功能.药品编号药品名群价格备注医保比例药撕号库存里47-*t489n*»50*-r(4)医生管理(5)学生管理(6)财务管理7.2.3医生用户界面挂号(2)新处方时间I部分提示信息:约物洞专(3)医疗信息E用管理I药房管理I隹疗信息T版方I请输入关键字学生学号20063001查询结果处方编号12-日期 药物名称2008-09-08 . 0.52008-09-08 . 0-2008-09-10 . 2.0自费金颔 0.5 3.20000000.2.0医保金额J 2i-注意事项 用天三次;NO|03nothing(4)结算最终打印的账单:账单,学生姓名:学生3003性别:女年龄:时间:2008-09-27诊断医生:3001"治疗药物:。药物编号药物名称数鱼自费金额每天次数每次用量.5快克胶囊211.52210阿酚咖敏片43.531“02VB26.031“药物名称音蕊亲转移因子口服液过敏药物:药物编号0311备由抗葭药每支IOmlb总计:41.3人民币:50找赎:8.70081.,7.2.4学生用户界面(1)基本信息日HHS-学生(2)敏感药物(3)医疗记录事务设计7.3.1DaIetime类型数据查询时间是对于医疗记录是很重要的属性,本系统的数据库在存储时间时使用的是其提供的Datetime类型,这样就可以通过调用函数DATEDIFF,方便的查询某一时间点或某一时间段的指定信息。以下是以学生查询自己某一时间段的医疗记录的实例:if(!().equals("YYY-MM-DD")&&!().equals("YY-MM-DD")RSTemp=RSTemp+"andDATEDIFF(dd,."'+fromdate+",)<=0andDATEDIFF(dd.,"+todate+,")>=0")("sa","");Stringsq!3="select,RDate,tl,+',fromRecord,prescription,PDetail"+"where=,+RSTemp+"and=and="+;ResultSetRecordSearchResult=(SqB);0;732医保信息处理随着医疗保险改革的不断深入,对于在校学生医保信息的管理也越来越受到各方的重视。怎样有效的掌握和利用医疗保险信息,以及实现个人医疗信息档案的信息化、规范化和集成化,实现计算机的智能化管理,提高相关工作人员的工作效率成为了需要解决的重要问题。对于医保信息的利用是本系统的特色之一,主要包括根据药品分类自动生成医保比例和根据医保比例计算自费金额两部分内容。前者已在文件录入中有=WORD完整版.可编辑-专业资料分享=所体现,后者则可以在医生开处方时提供方便。以下是医生在结算费用时的界面:查询结果药品编号药品名称型号价格备注医保比例药房编号库存里UIVvYUUI.IO.UUUUI02VBV001.12.00维生素50ph1103青霉素S002.23.00抗菌药70ph1110阿酚咖敏H370.5.00退烧药30ph14411转移因子8.98每支Ioml0ph1125快克胶囊j003/治感冒/ph112治疗药物药品编号药品名称型号数虱自雕颔医保金额每天次数每次用里11转移因子口服液3、0.0115快克胶囊)003/TT2303青毒素S002I1Saii22收费项目自滩颖/医保金额备注挂号费0.2/0.3转移因子口服液26.9/0.0每天1次,每次1单位快克胶囊/23.0每天2次,每次3单位青霉素16.1每天2次,每次2单位高级程序代码中的关键部分如下:oString().trim();floatprice=(PHMPrice);StringPHMTip=(4).toString().trim();StringPHMPercent=(5).toString().trim();floatPercent=(PHMPercent);floatself=(price*(100-percent)l00;oString().trim()(,*,+a*num)jsellAll=SeIlAll+a*num;7.3.3数据批量录入由于在数据库构建初期以及每年新学生信息录入时,有大量格式一致的数据需要录入,所以本系统提供了文件录入功能。现以添加药物信息为例,分析文件录入功能:药物分类信息是从政府网站下载的Excel文件中转化而得,各属性具体数据后的特殊符号是为方便高级程序分析而后期添加的,具体录入文件实例如下:自input-写字板文件(E)纸辑(E)三(X)插入(D格式W(三)口才。等口触隐6电紫豆田S100OsS包0.209甲关A紫河车第3蜷紫花地丁#15S包%紫杉醇注射液£3OaS支%紫石英#15g$包%紫石英#OOOg$包K紫芳梗#10蜻包外紫天叶#IOgS包外紫小子学IOgS包%紫苑#6g$包%自然洞#IOg$包棕稠炭#IOgS包出标桐炭#100OgS包外足光粉#40gS足叶乙或注射液(依托泊普”沮如麻片0.3g$盒%左旋甲状腺素片450Ug$包3.21®甲类0.98©甲类555.00«乙类0.68«甲关0.01©甲关0.62©甲关0.42©甲关0.45©甲关1.59甲关0.42甲关0.9的甲类0.02©甲突5.00非医保类0.lg$支21.60«22.508乙类片0.311乙类甲类V<>要“部助”,请按Fl(2)在高级程序中,主要是由文件读取,按行分析,构造SQL,向数据库中添加四步操作实现文件录入功能。部分编程代码如下:publicvoidAddMed(Stringinform)");elsetype=(a+l,b).trim();)a=("类"elselei=(b+l,a).trim();if(,")per=8Ojelseif("乙")per=50;清华大学出版社elseper=。;参考文献数据库技术一一设计与应用实例