我在设置两种表之间的关系时遇到了一些问题。 我有一个名为Patient的表(其中包含有关患者ID,地址,名称等的一些数据)和另一个名为Visits的表(其中包含ID“此键是增量变量,我不插入插入qstmt“,VisitDate,NextVisitDate,.. etc)
现在每位患者可能会有不同日期的多次就诊,并且对于每个日期,我们可能有多个患者,例如: 日期:09-13-13可能包括许多患者 患者:访问日期:09-13-2012,09-09-2012,07-03-2012
我应该把外键放在哪里..
注意:虽然每次访问都有ID变量,但它是增量变量。但实际上,当我在我的程序中搜索时,我按日期搜索,所以,并纠正我,如果我错了,我可以制作字段日期“它的类型肯定是日期,或者它应该是复合键,还是我可以'将日期视为关键,因为它不是唯一的,因为许多患者可能有相同的访问日期“
答案 0 :(得分:0)
对我而言,这看起来像是普通的一对多外键关系。表Visits
对参与访问的患者有一个外键PatientId
,VisitDate
只是Visits
表中的一个属性,而不是主键的一部分。它没有唯一的索引,因为在某一天可以有很多访问,即使同一个病人可能在同一天有两次访问。如果您要禁止此操作,则可以在PatientId
和VisitDate
上创建复合唯一键索引。
然后,您可以在Visits
表格上按特定VisitDate
或日期范围创建SQL查询,并获取该日期的所有访问。使用访问的PatientId
外键,您可以加入Patients
表并获取有关访问患者的数据。