实体关系

时间:2012-09-13 08:28:02

标签: database entity-relationship

我在设置两种表之间的关系时遇到了一些问题。 我有一个名为Patient的表(其中包含有关患者ID,地址,名称等的一些数据)和另一个名为Visits的表(其中包含ID“此键是增量变量,我不插入插入qstmt“,VisitDate,NextVisitDate,.. etc)

现在每位患者可能会有不同日期的多次就诊,并且对于每个日期,我们可能有多个患者,例如: 日期:09-13-13可能包括许多患者 患者:访问日期:09-13-2012,09-09-2012,07-03-2012

我应该把外键放在哪里..

注意:虽然每次访问都有ID变量,但它是增量变量。但实际上,当我在我的程序中搜索时,我按日期搜索,所以,并纠正我,如果我错了,我可以制作字段日期“它的类型肯定是日期,或者它应该是复合键,还是我可以'将日期视为关键,因为它不是唯一的,因为许多患者可能有相同的访问日期“

1 个答案:

答案 0 :(得分:0)

对我而言,这看起来像是普通的一对多外键关系。表Visits对参与访问的患者有一个外键PatientIdVisitDate只是Visits表中的一个属性,而不是主键的一部分。它没有唯一的索引,因为在某一天可以有很多访问,即使同一个病人可能在同一天有两次访问。如果您要禁止此操作,则可以在PatientIdVisitDate上创建复合唯一键索引。

然后,您可以在Visits表格上按特定VisitDate或日期范围创建SQL查询,并获取该日期的所有访问。使用访问的PatientId外键,您可以加入Patients表并获取有关访问患者的数据。