收藏 分销(赏)

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

上传人:丰**** 文档编号:3583605 上传时间:2024-07-10 格式:DOC 页数:28 大小:934.50KB
下载 相关 举报
数据库设计与应用任务训练指导书.doc_第1页
第1页 / 共28页
数据库设计与应用任务训练指导书.doc_第2页
第2页 / 共28页
数据库设计与应用任务训练指导书.doc_第3页
第3页 / 共28页
数据库设计与应用任务训练指导书.doc_第4页
第4页 / 共28页
数据库设计与应用任务训练指导书.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、数据库设计与应用任务训练指导书选题名称简明门诊管理系统改成你的系统名称姓 名张三, 李四改成本组作者班 级10软件332任课教师卢剑炜, 赵金龙学 期 - -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 941 安装并配置SQL_Server 942 安装其它DB

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

3、目安全性设计2092 SQL 的常规维护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) 挂号员、 医生、 后台管理员的排班制

6、。实际医院各部门都会有排班制度, 员工不当班时是无法登陆HIS的, 若增加则权限管理复杂度上升, 本系统暂时忽略。( 3) 医保。实际医院会根据病人医保性质的不同而采用各异的计费方式, 如城市医保、 农保、 老干部等, 本系统暂时忽略。( 4) 化验检测及药房。病人就诊时有时需要做化验或仪器检查, 这就涉及到与化验检验工作站的对接, 本系统暂不考虑化验与仪器检验, 假设所有病人只需要医生问诊即可诊断; 医生开药会涉及药房管理模块的对接, 本系统假设医生开药以文本的形式保存在诊疗记录中。( 5) 系统管理员。医院基础数据, 如医生信息、 科室信息等都需要管理员事先录入, 这一部分与当前系统关联不

7、大, 故忽略。( 6) 各类日志。从安全角度考虑, 一般HIS都会设置日志功能, 记录用户的各种操作, 本简明系统暂忽略。( 7) 一些涉及医院管理规章的数据暂不专门设置数据库来管理, 如每天挂号人数上限, 医生看病人数上限, 工作时间等。( 8) 不考虑特殊情况: 病人挂号后去看病( 在本系统中将出现医生死等情况本节说清楚本系统有哪些不考虑) 。13功能需求分析131挂号员( 1) 挂号员能够根据用户名和密码登陆挂号系统, 也能够退出系统; ( 2) 挂号员能够添加新挂号的病人信息( 姓名、 性别、 年龄、 家庭住址) , 也能够查阅以前挂过号的病人基本信息; (3) 挂号员根据病人的要求,

8、 为其选择相应的科室, 由系统自动排就诊顺序, 并打印挂号单; ( 4) 挂号员能够看到今天所有挂号情况( 病人姓名、 科室、 挂号费、 时间) ; ( 5) 挂号员能够为病人退号。132门诊医生( 1) 医生能够根据用户名和密码登陆门诊系统, 也能够退出系统; ( 2) 医生能够查看当前病人的基本信息( 病历本号、 姓名、 性别、 年龄、 家庭住址) , 并可修改; ( 3) 医生能够查看当前病人的既往病史: 以往在本院的看病信息( 时间、 医生、 科室、 诊断) , 也能够查看每次看病的具体情况( 症状、 诊断、 配药、 备注) ; ( 4) 医生根据当前病人的实际情况录入: 症状、 诊断

9、、 配药、 备注; ( 5) 医生在当前病人看病结束后召唤本科室下一位病人。 14 数据需求分析( 1) 医院有多个科室, 每个科室有多位医生; 一位医生只能属于一个科室; ( 2) 系统需要记录科室的名称、 科室地址等信息; ( 3) 系统需要记录医生的工号、 姓名、 性别、 职称、 登陆名、 密码、 所属科室等信息; ( 4) 系统需要记录挂号员的工号、 姓名、 登陆名、 密码等信息; ( 5) 系统需要记录病人的病例号、 姓名、 性别、 出生年月、 家庭地址、 就诊状态等信息; ( 6) 挂号员在给病人挂号时需要记录: 挂号时间、 挂号科室、 挂号费等; ( 7) 医生看病时需记录该病人

10、的症状、 诊断、 配药, 并做适当备注; ( 8) 一个病人只能有一个就诊状态; 就诊状态需要记录编号、 名称、 备注信息; 15 小结任务一花了很多时间进行了修改, 特别是软件功能需求和数据需求, 主要问题是我们第一次做软件, 没有计算机思想, 用文档描述现实需求的能力较弱, 这需要老师进行多次指导。当然, 经过进行数据需求分析, 我们切实感受到软件开发的一般过程, 领会到将客观世界转化为文字描述的复杂性与难度。本数据需求我们先后改了5遍, 剔除了很多容易引起误解或增加复杂度的部分, 现在应该能基本满足课程要求主要总结在数据需求过程中遇到的问题及解决过程。任务二 依据数据需求设计E-R模型2

11、1 E-R模型设计工具Microsoft Visio 使用-新建流程图基本流程图, 也可在我给你们的.vsd文件上复制、 修改; 直线画法右键线条, 选择直线; 几对几联系画法双击线条输入数字, 后能够拖动数字。22 本项目E-R模型注意-实体集、 联系集、 属性、 主码、 几对几联系, 联系集的属性23 小结任务二要求主要总结在本任务中遇到的问题及解决过程、 收获等。任务三 依据E-R模型设计关系模型31 逻辑模型设计方法( 1) 每个实体集转化为一个关系模式, 其中: 实体集的名称转化为关系模式的名称, 实体集的属性转化为关系模式的属性, 实体集的码转化为关系模式的码。( 2) 将联系集转

12、化为关系模式, 分三种情况两种处理: 一对多的联系集向多的一方合并; 多对多的联系集生成新的关系模式; 一对一的联系集往多的一方合并或生成新的关系模式。( 3) 确定参照完整性。( 4) 综合评价3.1这一节能够不改。32 本项目关系模型病人( 病人ID, 姓名, 性别, 出生年月, 家庭地址, 就诊状态) 就诊状态是外码; 医生( 医生ID, 登录名, 密码, 姓名, 性别, 所属科室, 职称) 所属科室是外码; 科室( 编号, 科室名, 科室地址) ; 挂号员( 挂号员ID, 姓名, 登录名, 密码) ; 就诊状态( ID, 就诊状态名, 备注) ; 挂号( ID, 病人ID, 科室ID,

13、 挂号员ID, 挂号时间, 挂号费用, 就诊次序) 病人ID、 科室ID、 挂号员ID是外码; 诊疗( ID, 医生ID, 病人ID, 诊疗时间, 症状, 诊断, 配药, 备注) 病人ID、 医生ID是外码3.2节注意-主码、 外码; 能够不写E-R模型转化为关系模型的过程。33 小结任务三要求主要总结在本任务中遇到的问题及解决过程、 收获等。任务四 安装并配置SQL Server 41 安装并配置SQL_Server 安装界面配置完成界面放两个截图-安装SQL 过程中、 安装完成打开SQL 后各截一图片放上过程中遇到的问题及解决: ( 1) 问题: windowsXP上不能安装EnterPr

14、ise版本。解决: 安装developer版。( 2) 问题: 安装过程中出错, 提示”性能计数器要求”, 无法继续安装。解决: 修改注册表”HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPerflib”相关数值, 重新启动安装。具体参见网址你在安装过程中遇到的问题, 并大致描述是如何解决的, 可截图, 可附网址。总之替换为你在安装过程中实际遇到的问题。42 安装其它DBMS安装界面安装完成界面4.2反应的是你成功安装其它DBMS的过程, 也用两幅图分别描述安装过程和安装成功。43 小结任务四要求主要总结在本任务中遇到的问

15、题及解决过程、 收获等。任务五 在SQL_Server 中建立符合需求的数据库51 数据库选型考虑到本系统中数据库与应用软件可能不在同一台电脑上, 因此采用网络数据库, 这里选择microsoft SQL_Server 。52 物理设计( 1) 硬件环境: x86 系列CPU主频1GHz以上, 内存1GB以上, 网卡100/1000Mbps自适应( 2) 软件环境: windowsXP操作系统, SQL_Server Developer Edition( 3) 存储路径按SQL_Server安装路径, 文件参数、 索引等按数据库默认参数。53 表结构设计Patient 病人字段数据类型长度允许

16、空主码缺省值说明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_LoginNameNvarch

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

18、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 病人状态字段数据类型长度允许

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

20、器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 nvarc

21、har(50) ,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) 插入数据-插入一行新病人信息

22、Insert into patient (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 小结任务六要求主要总结在本任务中遇到的问题及解

23、决过程、 收获等。任务七 利用SQL管理SQL_Server 服务器71 涉及到的SQL语句自己思考本系统可能用到哪些查询语句, 也能够假想一些查询, 必须包含一下六条分类。简单查询单表, 只用到select和from; 连接查询; 子查询; 复杂的单表查询要用到select的六个关键词; 复杂的多表查询要用到两张以上表, 且用到select的六个关键词; 创立视图。( 1) 简单查询-查询所有病人姓名、 年龄select p_name as 姓名, year(getdate()-year(p_birth)+1 as 年龄from patient( 2) 连接查询-查询与吕正太医生同科室的医生

24、信息select doctor.*from doctor,doctor 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

25、d_sex=男group by d_depidhaving count(d_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 -9-1 and -9-30)group by doctor.d_namehaving count

26、(diagnosis.dia_id)=1order by 人次desc( 6) 创立视图-创立视图V_呼吸科医生, 反应的是呼吸科的医生信息create view v_呼吸科医生as select *from doctor where d_depid=(select dep_id from department where dep_name=呼吸科)72 小结任务七要求主要总结在本任务中遇到的问题及解决过程、 收获等。任务八 运用C#.NET开发基于SQL 的软件系统81 存储过程只需要写一个存储过程, 但要求有: 两个以上输入参数, 至少一个输出参数-老病人挂号UP_InsertRegist

27、erOld-输入参数有个, 输出参数个, 若0则表示挂号编号, 即reg_id值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

28、 reg_order is null set reg_order =1else 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 e

29、lse set r_flag=identityend82 本项目的简单界面用C#.NET将本软件的界面画出来, 然后截图83 本项目数据库访问的部分代码只需要放与数据库有关的C#代码84 小结任务二要求主要总结在本任务中遇到的问题及解决过程、 收获等。任务九 运行并维护SQL_SERVER 服务器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 SQL 的常规维护截四幅图即可备份还原分离附加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 

客服