gpt4 book ai didi

mysql - 如何在MySQL中设计医院RDBMS?

转载 作者:行者123 更新时间:2023-11-30 23:27:56 26 4
gpt4 key购买 nike

我使用过 MySQL 和这样的数据库设计。

hospital rdbms design

这个数据库部分是为医院设计的。在患者表中有超过 1.500.000 条患者记录。门诊表中有15条记录。在 doctor 表中有 25 条记录。诊断表中有500多条记录。out_condition表中有10条记录。

所有要关联的表都在表 transaction_current 中。完成后,交易移至历史表。

这是一个糟糕的设计吗?因为在查询选择中,需要一分多钟才能让一位患者进入浏览模式。如果这是最好的关系设计,我应该如何对包含所有关系表引用的事务表使用选择查询。

感谢您的帮助。

编辑:“抱歉...我的图像设计在哪里?只有我的浏览器会吗?...”

这是示例选择查询

select  transaction_current.registration_number, 
transaction_current.Date_registration,
patient.mr_code,
patient.patient_name,
clinic.Poly_clinic_name,
doctor.doctor_name,
diagnose.diagnose_name,
out_condition.OC_name
from transaction_current,patient, clinic, doctor, diagnose, out_condition
where transaction_current.patient_code=patient.MR_code and
transaction_current.clinic_code=clinic.clinic_code and
transaction_current.doctor_code=doctor.doctor_code and
transaction_current.diagnose_code=diagnose.doagnose_code and
transaction_current.OC_code=Out_Condition.OC_code
and patient.patient_name = 'xxx%'

回答:经过mr.的认真回答rj45,有时不建议任何规范化。特别是对于历史数据。如果引用表发生变化,历史数据也会发生变化。像这样的情况...如果代码更改医生,或删除,则记录将跟随更改历史记录。当它不在遗嘱中时。极端的,历史数据出不来,因为关系码不匹配。非常感谢@rj45

最佳答案

最好对您的查询应用一些优化步骤。

例如: - 在查询中适当使用运算符 EXISTS、IN 和表连接

最好避免在 where 子句中进行过多比较。我相信这是你有滞后的地方。您可以比较具有构建索引的字段。所以查询速度会快得多。

附言: 尽管有时存在规范化,但最好坚持使用不太规范化的形式(根据经验 ;))

关于mysql - 如何在MySQL中设计医院RDBMS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12241982/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com