本项目为本人数据库开发技术大作业,2024-1-11
CS和BS结构的区别
CS即Client/Server(客户机/服务器)结构,C/S结构在技能上非常成熟,它的重要特征就是交互性强、拥有安全的存取形式、网络通信数量低、响应速度快、利于处置大量数据。可是这个结构的程序就是针对性开发,变更不够灵活,维护与管理的难度较大。常常只局限在小型局域网,不利于扩展。而且,因为这个结构的每台客户机全部须要安装相对应的客户端程序,分布功能弱并且兼容性差,不可以完成迅速部署安装与配置,因为这样缺少通用性,拥有比较大的局限性。请求拥有肯定专业水准的技能人员去结束。
BS即Browser/Server(浏览器/服务器)结构,就是只安装维护一个服务器(Server),而客户端选用浏览器(Browse)运行软件。B/S结构应用程序相对于传统的C/S结构应用程序就是一个特别大的进步。 B/S结构的重要特征就是分布性强、维护方便、开发简单并且共享性强、总体拥有费用低。但数据安全性问题、对服务器需要过高、数据传输速度慢、软件的个性化特征明显减少,这些缺点就是有目共睹的,难以完成传统形式下的特殊功能请求。比如通过浏览器实行大量的数据输入或实行报表的应答、专用性打印输出全部相对比较困难与不便。另外,完成复杂的应用构造有较大的困难。
根据题目要求,我们需要开发的是CS结构,即开发窗体应用程序,连接服务器
一、 数据库规划
给出系统开发的目标、任务和定义。
系统开发目标:
收集、存储和控制医院住院病人产生的数据,为病人提供出院住院功能,创建病人对应的住院信息表,对病房进行管理,提供辅助医师、护士等的业,方便医生对病人情况的掌握,方便医院对病床的管理。
住院管理系统主要实现住院病人从入院登记到出院处理的流程管理,贯穿于住院病人从入院到出院的整个住院过程。住院处管理系统不只以费用管理为主,医护人员每天所开具的医嘱以及病人的转床、转科、转院等大量信息最后归集到住院管理系统
系统开发任务:
确保所有必要的信息都存储在数据库中。
病房管理
病房所属科室
病床信息
在住病人
确保获得有关所有必要请求的数据的可能性。
减少数据的冗余和重复。
确保数据库完整性
- 实体完整性,同一数据表中不可有多项记录拥有相同识别。
- 域完整性,限制字段中的数据必须乎合预设的数据类型,例如:日期。
- 参照完整性,如两个数据表是有关联的,父数据表中的记录必须存在,子数据表的记录才有存在。
5.数据访问速度优化
任务描述:
1.病房管理,区分病房所属科室,记录其包含病床信息,在住病人等;
病房表(病房号、科室、位置、床位数、在住人数)
病床表(床号、在住病人号、规格)
2.医疗人员信息管理,区分大夫和护士角色,所在科室等;
管理员(id,密码)
医护表(医护号、姓名、科室、角色(大夫/护士))
3.辅助业务办理的住院登记、入住病房时主治医生下医嘱单、护士执行医嘱单后录入诊断信息等功能,分配住院号,分配病房病床,安排主治医生。
住院表(住院号,病人号,姓名,年龄,性别,主治医生)
医嘱表(医嘱号、医嘱内容、开嘱时间、开嘱医护)
体征表(测量编号,血压,体重,其他)
诊断表(诊断号、诊断时间、诊断结果、诊断医师)
4.建立住院账号,在该账号下预缴住院费。
住院账号(id,密码)
缴费表(编号,需缴金额,缴费时间,缴费项目)
建表脚本
数据库名称:Hosp
1 | -- 病房表 |
测试数据
1 | -- 插入病房数据 |
二、数据库设计
(一)概念结构设计
1,绘制ER图
管理员
用户表
分配表(住院号、缴费单编号、床号、医护号)
病人表(、、联系方式、身份证号、病历号、医护编号、科室、病房号)
缴费单(缴费单编号,金额,缴费项目,缴费时间)
(1)划分系统模块;
(2)每个模块的功能确定;
(3)用户使用界面概要设计;
(4)输人、输出数据的概要设计;
(5)报表概要设计;
(6)数据之间的联系、流程分析;
(7)文件和数据库表的逻辑设计;
(8)硬件、软件开发平台的确定;
(9)有规律数据的规范化及数据唯一性要求。
系统的详细设计是对系统概要设计的进一步具体化,其主要工作有以下4项:
(1)文件和数据库的物理设计;
(2)输人输出记录的方案设计;
(3)对各子系统的处理方式和处理内容进行细化设计;
(4)编写程序设计任务书,通常包括程序规范功能说明程序结构图,通常用 HPIPO(Hierarchy Plus Input Process Output)图来描述。
系统详细设计阶段的规范化文档称为软件系统详细设计说明书
逻辑结构设计
雏形参考,不可直接使用
1 | 病房表(病房号,科室,位置,床位数,在住人数) |
医护人员维护
1 | -- 医护表 |
添加datagrideview
住院登记
校验:住院号规则:<年度>-ZC-<科室编号>-XXXXX号。比如:2022年-0001科-12345号
表名 | 字段名 | 类型长度 | 是否关键字 | 说明 |
---|---|---|---|---|
Ward | WardId | VARCHAR(50) | 主键 | 病房号 |
Ward | Department | VARCHAR(50) | 外键 | 科室 |
Ward | Location | VARCHAR(50) | 位置 | |
Ward | BedCount | VARCHAR(50) | 床位数 | |
Ward | OccupiedBeds | VARCHAR(50) | 在住人数 | |
Bed | BedId | VARCHAR(50) | 主键 | 床号 |
Bed | PatientId | VARCHAR(50) | 外键 | 在住病人号 |
Bed | BedType | VARCHAR(50) | 规格 | |
Admin | ID | VARCHAR(50) | 主键 | 管理员账号 |
Admin | PWD | VARCHAR(50) | 密码 | |
Medical_Staff | Staff_Id | VARCHAR(50) | 主键 | 医护号 |
Medical_Staff | Name | VARCHAR(50) | 姓名 | |
Medical_Staff | Department | VARCHAR(50) | 科室 | |
Medical_Staff | Role | VARCHAR(50) | 角色 | |
Hospitalization | HospitalizationId | VARCHAR(50) | 主键 | 住院号 |
Hospitalization | Patient_Id | VARCHAR(50) | 外键 | 病人号 |
Hospitalization | Name | VARCHAR(50) | 姓名 | |
Hospitalization | Age | VARCHAR(50) | 年龄 | |
Hospitalization | Gender | VARCHAR(10) | 性别 | |
Hospitalization | AttendingPhysician | VARCHAR(50) | 主治医生 | |
Hospitalization | BedId | VARCHAR(50) | 外键 | 床号 |
Doctor_Order | Order_Id | VARCHAR(50) | 主键 | 医嘱号 |
Doctor_Order | Order_Content | VARCHAR(500) | 医嘱内容 | |
Doctor_Order | Order_Time | DATETIME | 开嘱时间 | |
Doctor_Order | Ordered_By | VARCHAR(50) | 开嘱医护 | |
VitalSigns | MeasurementId | VARCHAR(50) | 主键 | 测量编号 |
VitalSigns | BloodPressure | VARCHAR(50) | 血压 | |
VitalSigns | Weight | FLOAT | 体重 | |
VitalSigns | OtherMeasurements | VARCHAR(500) | 其他 | |
Diagnosis | Diagnosis_Id | VARCHAR(50) | 主键 | 诊断号 |
Diagnosis | Diagnosis_Time | DATETIME | 诊断时间 | |
Diagnosis | Diagnosis_Result | VARCHAR(500) | 诊断结果 | |
Diagnosis | Diagnosed_By | VARCHAR(50) | 诊断医师 | |
Hospital_Account | Id | VARCHAR(50) | 住院账号 | |
Hospital_Account | PWD | VARCHAR(50) | 密码 | |
Payment | Payment_Id | VARCHAR(50) | 主键 | 缴费号 |
Payment | Amount_Due | MONEY | 需缴金额 | |
Payment | Payment_Time | DATETIME | 缴费时间 | |
Payment | Payment_Item | VARCHAR(50) | 缴费项目 |
1 | 表名(字段1,字段2,,,,) |