0

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

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

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

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

4

1 回答 1

0

对我来说,这看起来像是一个普通的一对多外键关系。该表对参与就诊的患者Visits有一个外键,它只是表中的一个属性,而不是主键的一部分。它也没有唯一的索引,因为在给定的一天可能有很多次访问,即使是同一位患者也可能在同一天进行两次访问。如果你想禁止这个,那么你可以在和上创建一个复合唯一键索引。PatientIdVisitDateVisitsPatientIdVisitDate

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

于 2012-09-13T13:43:03.767 回答