我有一个ERD,我已经开发了关系模型。我只是想知道我的关系模型中是否有任何错误。我在下面列出了关系模型。我有一张ERD的照片。
PHYSICIAN (DRID (PK), NAME, SPECIALTY, PRESCRIPTION(FK))
PRESCRIPTION (PRESCRIPTIONID(PK), DRID(FK), DRUGID(FK), PATIENTID, DRUGDOSAGE)
DRUG (DRUGID(PK), DRUGNAME, DRUGMANU, DRID)
ORDERS (DRUGID(PK), PRESCRIPTIONID(FK))
答案 0 :(得分:0)
我可以在您的ERD中看到一些问题:
Prescription
有一个双边框?它不是一个弱的实体集,它由它自己的属性来识别。Patient ID
显示为Prescription
的属性,而是在Prescription
和Patient
之间绘制关系。Orders
允许不同的医生在同一处方上开药。两个二元关系(从Prescription
到Physician
的多对一关系,以及Prescription
和Drug
之间的多对多关系)应该更好。事实上,你的关系模型几乎已经这样做了。Drug Dosage
吗?我会将此属性放在Prescription
和Drug
之间建议的二元关系上。关于你的关系模型:
PRESCRIPTION
中加入PHYSICIAN
,则会产生功能依赖DRID -> PRESCRIPTION
,换句话说,每位医生都会与一个处方相关联。这与PRESCRIPTIONID -> DRID
表中的Prescription
无关,它恰当地表示了我上面建议的二元关系。DRUGID
中加入PRESCRIPTION
,则会产生功能依赖PRESCRIPTIONID -> DRUGID
,换句话说,每个处方都与单一药物相关联。这与ORDERS
表中药物和处方之间的关联无关。DRID
中加入DRUG
,则会产生功能依赖关系DRUGID -> DRID
,换句话说,每种药物都与单个医生相关联。处方中每种药物的医生可以通过PRESCRIPTION
加ORDERS
来确定,无需尝试按药物记录。ORDERS
应使用复合主键(DRUGID, PRESCRIPTIONID)
来表示多对多关系。目前,每种药物都可以与一个处方相关联。我希望有所帮助。