收藏 分销(赏)

2023年数据库设计与应用任务训练指导书.doc

上传人:二*** 文档编号:4518130 上传时间:2024-09-26 格式:DOC 页数:25 大小:923.04KB
下载 相关 举报
2023年数据库设计与应用任务训练指导书.doc_第1页
第1页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、数据库设计与应用任务训练指导书选题名称简明门诊管理系统改成你的系统名称姓 名张三,李四改成本组作者班 级10软件332任课教师卢剑炜,赵金龙学 期2023-2023-1综合评估_目 录任务一 全面准确地提取软件系统的数据需求41.1 概述412 项目视图与范围约束413功能需求分析514 数据需求分析515 小结5任务二 依据数据需求设计E-R模型621 E-R模型设计工具622 本项目E-R模型623 小结6任务三 依据E-R模型设计关系模型831 逻辑模型设计方法832 本项目关系模型833 小结8任务四 安装并配置SQL Server 2023941 安装并配置SQL_Server202

2、3942 安装其他DBMS943 小结10任务五 在SQL_Server2023中建立符合需求的数据库1151 数据库选型1152 物理设计1153 表结构设计1154 涉及到的SQL语句1255 小结13任务六 运用SSMS管理SQL_Server2023服务器1461 创建表结构1462 涉及到的SQL语句1563 小结15任务七 运用SQL管理SQL_Server2023服务器1671 涉及到的SQL语句1672 小结17任务八 运用C#.NET开发基于SQL2023的软件系统1881 存储过程1882 本项目的简朴界面1883 本项目数据库访问的部分代码1884 小结19任务九 运营并

3、维护SQL_SERVER2023服务器2091 本项目安全性设计2092 SQL2023的常规维护2093 小结20说明:1全文除首页、目录、代码、标题外,正文字体所有是:中文宋体、英文times new roman,小四,单倍行距;每一大段必须新起一页;代码有关的文字采用五号或10。2所有内容完毕后右键更新下目录,并将目录字体设立为小四;3文档按小组为单位制作,两人交一份;4,文档是否打印待课程结束后再听告知;5实训通过答辩后,前请各位将源码及打印好的实训报告交给课代表,课代表12月31日(周四)前把打印的实训报告(除封面和目录外建议双面打印)、实训报告电子稿和源码用U盘拷给我。6电子资源规

4、定(课代表注意):根目录下是按项目名命名的文献夹;每个文献夹下是一个文档和一个RAR文献,文献名命名规则“学号_姓名.doc”,如“1_张三.doc”;rar文献中存放的是本系统的数据库备份文献和项目源文献;任务一 全面准确地提取软件系统的数据需求1.1 概述本系统的目的是建立一个简明的门诊管理系统,该系统由两部分组成:工作员挂号模块和医生诊疗模块,该系统可认为门诊病人提供挂号、就诊的服务。涉及到的人员有:病人、医院挂号员和医生。病人看病流程:挂号处排队挂号、交费、拿挂号单带着挂号单去门诊科室排队医生看病缴费、拿药结束挂号员工作流程:凭用户名、密码登陆挂号系统询问病人信息、挂号科室、收费录入系

5、统、打印挂号单下一位病人挂号医生诊疗流程:凭用户名、密码登陆门诊系统呼喊下一位病人询问病情、给出诊断、开药录入系统呼喊下一位病人这里要写清楚-1, 系统目的、作用2, 项目涉及的各主体基本流程12 项目视图与范围约束为了让案例清楚易懂,在不影响整体门诊流程的情况下,我们刻意忽略了以下一些会急剧增长软件复杂度的元素:(1)专家门诊。一般三级医院都开设有专家门诊,与普通门诊并行,医生来自同一个科室却采用不同的挂号计费方式,若增长专家门诊,挂号、就诊等将会非常复杂,所以暂不考虑专家门诊。(2)挂号员、医生、后台管理员的排班制。实际医院各部门都会有排班制度,员工不妥班时是无法登陆HIS的,若增长则权限

6、管理复杂度上升,本系统暂时忽略。(3)医保。实际医院会根据病人医保性质的不同而采用各异的计费方式,如城市医保、农保、老干部等,本系统暂时忽略。(4)化验检测及药房。病人就诊时有时需要做化验或仪器检查,这就涉及到与化验检查工作站的对接,本系统暂不考虑化验与仪器检查,假设所有病人只需要医生问诊即可诊断;医生开药会涉及药房管理模块的对接,本系统假设医生开药以文本的形式保存在诊疗记录中。(5)系统管理员。医院基础数据,如医生信息、科室信息等都需要管理员事先录入,这一部分与当前系统关联不大,故忽略。(6)各类日记。从安全角度考虑,一般HIS都会设立日记功能,记录用户的各种操作,本简明系统暂忽略。(7)一

7、些涉及医院管理规章的数据暂不专门设立数据库来管理,如天天挂号人数上限,医生看病人数上限,工作时间等。(8)不考虑特殊情况:病人挂号后去看病(在本系统中将出现医生死等情况本节说清楚本系统有哪些不考虑)。13功能需求分析131挂号员(1) 挂号员可以根据用户名和密码登陆挂号系统,也可以退出系统;(2) 挂号员可以添加新挂号的病人信息(姓名、性别、年龄、家庭住址),也可以查阅以前挂过号的病人基本信息;(3) 挂号员根据病人的规定,为其选择相应的科室,由系统自动排就诊顺序,并打印挂号单;(4) 挂号员可以看到今天所有挂号情况(病人姓名、科室、挂号费、时间);(5) 挂号员可认为病人退号。132门诊医生

8、(1) 医生可以根据用户名和密码登陆门诊系统,也可以退出系统;(2) 医生可以查看当前病人的基本信息(病历本号、姓名、性别、年龄、家庭住址),并可修改;(3) 医生可以查看当前病人的既往病史:以往在本院的看病信息(时间、医生、科室、诊断),也可以查看每次看病的具体情况(症状、诊断、配药、备注);(4) 医生根据当前病人的实际情况录入:症状、诊断、配药、备注;(5) 医生在当前病人看病结束后召唤本科室下一位病人。 14 数据需求分析(1)医院有多个科室,每个科室有多位医生;一位医生只能属于一个科室;(2)系统需要记录科室的名称、科室地址等信息;(3)系统需要记录医生的工号、姓名、性别、职称、登陆

9、名、密码、所属科室等信息;(4)系统需要记录挂号员的工号、姓名、登陆名、密码等信息;(5)系统需要记录病人的病例号、姓名、性别、出生年月、家庭地址、就诊状态等信息;(6)挂号员在给病人挂号时需要记录:挂号时间、挂号科室、挂号费等;(7)医生看病时需记录该病人的症状、诊断、配药,并做适当备注;(8)一个病人只能有一个就诊状态;就诊状态需要记录编号、名称、备注信息;15 小结任务一花了很多时间进行了修改,特别是软件功能需求和数据需求,重要问题是我们第一次做软件,没有计算机思想,用文档描述现实需求的能力较弱,这需要老师进行多次指导。当然,通过进行数据需求分析,我们切实感受到软件开发的一般过程,领略到

10、将客观世界转化为文字描述的复杂性与难度。本数据需求我们先后改了5遍,剔除了很多容易引起误解或增长复杂度的部分,现在应当能基本满足课程规定重要总结在数据需求过程中碰到的问题及解决过程。任务二 依据数据需求设计E-R模型21 E-R模型设计工具Microsoft Visio 2023使用-新建流程图基本流程图,也可在我给你们的.vsd文献上复制、修改;直线画法右键线条,选择直线;几对几联系画法双击线条输入数字,后可以拖动数字。22 本项目E-R模型注意-实体集、联系集、属性、主码、几对几联系,联系集的属性23 小结任务二规定重要总结在本任务中碰到的问题及解决过程、收获等。任务三 依据E-R模型设计

11、关系模型31 逻辑模型设计方法(1)每个实体集转化为一个关系模式,其中:实体集的名称转化为关系模式的名称,实体集的属性转化为关系模式的属性,实体集的码转化为关系模式的码。(2)将联系集转化为关系模式,分三种情况两种解决:一对多的联系集向多的一方合并;多对多的联系集生成新的关系模式;一对一的联系集往多的一方合并或生成新的关系模式。(3)拟定参照完整性。(4)综合评价3.1这一节可以不改。32 本项目关系模型病人(病人ID,姓名,性别,出生年月,家庭地址,就诊状态)就诊状态是外码;医生(医生ID,登录名,密码,姓名,性别,所属科室,职称)所属科室是外码;科室(编号,科室名,科室地址);挂号员(挂号

12、员ID,姓名,登录名,密码);就诊状态(ID,就诊状态名,备注);挂号(ID,病人ID,科室ID,挂号员ID,挂号时间,挂号费用,就诊顺序)病人ID、科室ID、挂号员ID是外码;诊疗(ID,医生ID,病人ID,诊疗时间,症状,诊断,配药,备注)病人ID、医生ID是外码3.2节注意-主码、外码;可以不写E-R模型转化为关系模型的过程。33 小结任务三规定重要总结在本任务中碰到的问题及解决过程、收获等。任务四 安装并配置SQL Server 202341 安装并配置SQL_Server2023安装界面配置完毕界面放两个截图-安装SQL2023过程中、安装完毕打开SQL2023后各截一图片放上过程中

13、碰到的问题及解决:(1)问题:windowsXP上不能安装EnterPrise版本。解决:安装developer版。(2)问题:安装过程中犯错,提醒“性能计数器规定”,无法继续安装。解决:修改注册表“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib”相关数值,重新启动安装。具体参见网址你在安装过程中碰到的问题,并大体描述是如何解决的,可截图,可附网址。总之替换为你在安装过程中实际碰到的问题。42 安装其他DBMS安装界面安装完毕界面4.2反映的是你成功安装其他DBMS的过程,也用两幅图分别描述安装过程和安装成功

14、。43 小结任务四规定重要总结在本任务中碰到的问题及解决过程、收获等。任务五 在SQL_Server2023中建立符合需求的数据库51 数据库选型考虑到本系统中数据库与应用软件也许不在同一台电脑上,所以采用网络数据库,这里选择microsoft SQL_Server2023。52 物理设计(1)硬件环境:x86 系列CPU主频1GHz以上,内存1GB以上,网卡100/1000Mbps自适应(2)软件环境:windowsXP操作系统,SQL_Server2023 Developer Edition(3)存储途径按SQL_Server安装途径,文献参数、索引等按数据库默认参数。53 表结构设计Pa

15、tient 病人字段数据类型长度允许空主码缺省值说明p_IDInt4否是病人ID,病例编号,自动编号p_NameNvarchar50是否病人姓名p_SexNvarchar1是否病人性别p_BirthsmallDatetime是否出生年月p_AddressNvarchar200是否家庭地址p_StatusInt是否就诊状态,外码Doctor 医生字段数据类型长度允许空主码缺省值说明d_IDInt4否是医生工号,自动编号d_Namenvarchar50是否姓名d_SexNvarchar1是否性别d_DepIDInt4否否所属科室编号,外码d_ProfessionNvarchar10是否职称d_Lo

16、ginNameNvarchar50是否系统登录名d_LoginPSWNvarchar50是否系统登陆密码Department 科室字段数据类型长度允许空主码缺省值说明dep_IDInt4否是科室编号,自动编号dep_NameNvarchar50是否科室名dep_AddressNvarchar200是否科室地址Diagnosis看病字段数据类型长度允许空主码缺省值说明dia_IDBigint8否是看病编号,自动编号dia_PatientIDInt4是否病人ID,外码dia_DoctorIDint4是否医生ID,外码dia_Timedatetime8是否诊疗时间dia_SymptomNvarcha

17、r1000是否症状dia_DiagnosisNvarchar1000是否诊断dia_DispenseNvarchar1000是否配药dia_RemarkNvarchar1000是否备注Register挂号字段数据类型长度允许空主码缺省值说明reg_IDBigint8否是挂号编号,自动编号reg_PatientIDInt4是否病人ID,外码reg_DepIDInt4是否部门ID,外码reg_TimeDatetime8是否挂号时间reg_FeeInt4是否挂号费用reg_OrderInt4是否就诊序号reg_WorkerIDInt4是否挂号员ID,外码PatientStatus 病人状态字段数据类

18、型长度允许空主码缺省值说明ps_IDInt4否是状态编号,自动编号ps_NameNvarchar20是否状态名ps_RemarkNvarchar100是否状态说明Worker 挂号员字段数据类型长度允许空主码缺省值说明w_IDInt4否是挂号编号,自动编号w_NameNvarchar20是否姓名w_LoginNameNvarchar50是否登录名w_LoginPSWNvarchar50是否登陆密码54 涉及到的SQL语句Create database HIS改成你所创建的数据库名称55 小结任务五规定重要总结在本任务中碰到的问题及解决过程、收获等。任务六 运用SSMS管理SQL_Server2

19、023服务器61 创建表结构此大图如此获得:双击打开HIS数据库,第一个选项“数据库关系图”右键,选择“新建数据库关系图”62 涉及到的SQL语句本节请根据实际数据库使用以下关键词各写一个实际SQL语句:Create table, alter table ,drop table ;insert ,update ,delete,create index-所有语句必须通过SQL调试,最佳是从SQL调试器中复制过来的(会自动有颜色分辨)并有注释,用-引导(1)创建表结构-创建病人表create table patient(p_ID int primary key ,p_name nvarchar(5

20、0) ,p_sex nvarchar(1),p_birth smalldatetime,p_address nvarchar(200),p_status int,foreign key (p_status) references patientstatus(ps_id这里换成你的数据库所涉及到的某个表的创建语句-别忘了约束!),)(2)修改表结构-修改病人表,增长一列身份证号码ccidAlter table patient add ccid nvarchar(18) (3)删除表结构-删除病人表Drop table patient(4)插入数据-插入一行新病人信息Insert into pat

21、ient (p_name,p_sex,p_address,p_status) values (王小丫,女,NULL,4)(5)修改数据-修改病人信息Update patient set p_address=常州市新北区黄河中路号 where p_id = 12(6)删除数据-删除某个病人Delete from patient where p_id=12(7)创建索引-为挂号表在病人ID列上增长非聚集索引create index i_reg_pid on register(reg_patientid) 63 小结任务六规定重要总结在本任务中碰到的问题及解决过程、收获等。任务七 运用SQL管理SQ

22、L_Server2023服务器71 涉及到的SQL语句自己思考本系统也许用到哪些查询语句,也可以假想一些查询,必须包含一下六条分类。简朴查询单表,只用到select和from;连接查询;子查询;复杂的单表查询要用到select的六个关键词;复杂的多表查询要用到两张以上表,且用到select的六个关键词;创建视图。(1)简朴查询-查询所有病人姓名、年龄select p_name as 姓名, year(getdate()-year(p_birth)+1 as 年龄from patient(2)连接查询-查询与吕正太医生同科室的医生信息select doctor.*from doctor,doct

23、or as D2where doctor.d_depid=D2.d_depid and D2.d_name=吕正太(3)子查询-查询与吕正太医生同科室的医生信息select *from doctorwhere d_depid=(select d_depid from doctor where d_name=吕正太)(4)复杂的单表查询-查询男医生人数大于2的科室编号及男医生人数,结果按男医生人数降序排列select d_depid as 科室编号,count(d_id) as 男医生人数from doctorwhere d_sex=男group by d_depidhaving count(d

24、_id)2order by 男医生人数(5)复杂的多表查询-记录年月份看病人次不少于的医生姓名、次数,结果按照次数降序排列select doctor.d_name,count (diagnosis.dia_id) as 人次from doctor ,diagnosiswhere (doctor.d_id=diagnosis.dia_doctorid) and (diagnosis.dia_time between 2023-9-1 and 2023-9-30)group by doctor.d_namehaving count (diagnosis.dia_id)=1order by 人次de

25、sc(6)创建视图-创建视图V_呼吸科医生,反映的是呼吸科的医生信息create view v_呼吸科医生as select *from doctor where d_depid=(select dep_id from department where dep_name=呼吸科)72 小结任务七规定重要总结在本任务中碰到的问题及解决过程、收获等。任务八 运用C#.NET开发基于SQL2023的软件系统81 存储过程只需要写一个存储过程,但规定有:两个以上输入参数,至少一个输出参数-老病人挂号UP_InsertRegisterOld-输入参数有个,输出参数个,若0则表达挂号编号,即reg_id值

26、create procedure UP_InsertRegisterOldreg_patientid int,reg_depid int,reg_fee int,reg_workerid int,r_flag int outputasbegindeclare reg_order int select reg_order =max(reg_order) from register where (reg_depid=reg_depid) and (datediff(day,reg_time,getdate()=0)if reg_order is null set reg_order =1else

27、set reg_order=reg_order+1-从挂号信息中取得该科室挂号序号,若本科室未有挂号病人,则该病人序号设立为insert into register (reg_patientid,reg_depid,reg_time,reg_fee,reg_order,reg_workerid) values (reg_patientid,reg_depid,getdate(),reg_fee,reg_order,reg_workerid)-插入当前病人挂号信息if error0 set r_flag=-1 else set r_flag=identityend82 本项目的简朴界面用C#.N

28、ET将本软件的界面画出来,然后截图83 本项目数据库访问的部分代码只需要放与数据库有关的C#代码84 小结任务二规定重要总结在本任务中碰到的问题及解决过程、收获等。任务九 运营并维护SQL_SERVER2023服务器91 本项目安全性设计本项目安全性设计比较简朴,你的项目同样类似设立即可-为服务器增长一个新登录名usr_his_soft,为his数据库增长一用户his_admin,权限为db_owner,并将这两个用户相关联;后软件通过该登录名访问HIS数据库。sp_addlogin usr_his_soft , HIStest ,HISsp_adduser usr_his_soft,his_admin,db_owner92 SQL2023的常规维护截四幅图即可备份还原分离附加93 小结任务九规定重要总结在本任务中碰到的问题及解决过程、收获等。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服