我曾经使用过这样的 MySQL 和数据库设计。
该数据库是为医院设计的。在患者表中有超过 1.500.000 条患者记录。在临床表中有 15 条记录。在医生表中有 25 条记录。在诊断表中有超过 500 条记录。在 out_condition 表中有 10 条记录。
并且所有要在表 transaction_current 中关联的表。完成后,事务移至历史表。
这是一个糟糕的设计吗?因为在查询选择中,需要一分钟以上才能让一名患者处于浏览模式。如果这是最好的关系设计,我应该如何使用包含所有关系表引用的事务表的选择查询。
谢谢你的帮助。
编辑:“对不起......我的形象设计在哪里?只有我的borwser吗?......”
这是示例选择查询
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%'
回答:经过先生的仔细回答。rj45,有时不建议进行任何规范化。尤其是历史数据。如果参考表发生变化,历史数据也会发生变化。像这样的情况……如果代码更改医生,或删除,那么记录将跟随更改历史。当它不在遗嘱中时。其极端,数据历史不会出来,因为关系代码不匹配。非常感谢@rj45