医院数据库类图合规性校验及优化建议咨询
医院数据库类图校验与优化方案
需求匹配度校验
结合你的需求和提供的类图,当前类图存在以下不匹配问题:
- 核心关联缺失:医生(Doutor)未关联专科,预约(Consulta)未绑定对应专科,完全不符合“医生需关联专科、预约需绑定对应专科”的核心要求。
- 核心类缺失:需求明确要求存储“预约系统”相关信息,但类图中无对应实体类。
- 就诊信息关联模糊:处方(Prescrição)、检查(Exame)未与预约(Consulta)建立明确关联,无法体现“就诊处方/检查信息属于某次预约”的业务逻辑。
具体问题分析
- 医护人员模块设计冗余:仅单独定义医生、护士类,未抽象通用的医护人员父类,导致两类人员的共性属性(如ID、姓名、联系方式)需重复定义,违背代码复用原则。
- 专科关联逻辑空白:医生的核心属性“所属专科”未体现,预约也未绑定专科,无法支撑“按专科预约”的基础业务场景。
- 预约系统无对应实体:无法记录系统配置(如预约时段规则、每日最大预约量)、操作日志等关键信息,不符合“存储预约系统信息”的需求。
- 就诊信息追溯链断裂:处方、检查与预约无关联,无法追溯某次就诊对应的处方和检查记录,业务逻辑不闭环。
优化方案
1. 补充核心类与关联
- 添加
Especialidade(专科)类,属性包含idEspecialidade、nomeEspecialidade、descricao;建立医生与专科的多对一关联(一位医生归属一个专科,一个专科对应多位医生)。 - 添加
SistemaAgendamento(预约系统)类,属性包含idSistema、regraHorario、limiteAgendamentoDiario、logOperacao;建立预约系统与预约的一对多关联(一个系统管理多个预约)。 - 建立预约与专科的多对一关联(一个预约对应一个专科,一个专科对应多个预约),满足“预约绑定对应专科”的要求。
2. 抽象医护人员父类
- 创建
FuncionarioSaude(医护人员)父类,包含共性属性:idFuncionario、nome、telefone、email、dataAdmissao;让医生、护士类继承该父类,各自扩展专属属性(如医生添加crm医师资格证号,护士添加coren护士资格证号)。
3. 完善就诊信息关联
- 建立预约与处方的一对多关联(一次就诊可开具多个处方)。
- 建立预约与检查的一对多关联(一次就诊可开具多个检查)。
优化后核心类结构(中文对应)
- 医护人员(FuncionarioSaude)(父类):ID、姓名、电话、邮箱、入职日期
- 医生(Doutor)(子类):扩展属性:医师资格证号(CRM)
- 护士(Enfermeira)(子类):扩展属性:护士资格证号(COREN)
- 专科(Especialidade):ID、专科名称、描述
- 患者(Paciente):ID、姓名、电话、邮箱、出生日期、病历号
- 预约系统(SistemaAgendamento):ID、时段规则、每日预约上限、操作日志
- 预约(Consulta):ID、预约日期、状态、就诊时长;关联:患者、专科、医生、预约系统
- 处方(Prescrição):ID、药品名称、剂量、用法;关联:对应预约
- 检查(Exame):ID、检查项目名称、检查日期、结果;关联:对应预约
内容的提问来源于stack exchange,提问作者Alexandre Santos
相关产品推荐
相关产品推荐

