-1

我创建了一个名为“hmdb”的数据库,并在该数据库中使用 wamp 创建了两个名为 table1 和 table2 的表。这两个表都有 ID 字段作为主键。我的java代码实际上首先检查ID是否存在于table1中,如果存在(实际上这是用于检查它是否是现有用户,如果不是,那么患者必须先注册自己)然后它打开一个医生填写的框架病人信息和他的身份证。

值得关注的是,当下次医生填写患者信息时,它会显示主键“ID”的重复条目。这是我的问题:对于相同的“ID”(主键),有什么方法可以在数据库中插入多个记录。在我的项目中,一个拥有唯一身份的患者很有可能会不止一次去看医生,而且由于医生必须记录他的诊断结果,这也很可能。在数据库中提供详细信息。还有一个名为“就诊日期”的字段,所以我认为我应该将 table2 的主键更改为“日期”(考虑到一名患者最多只能在一天内就诊一次),因为日期总是不同的,所以我可以提供相同“ID”的数据。为此我有一个疑问,所以我想问一个问题:

4

3 回答 3

2

这里的解决方案是建立多对多关系。您需要一个额外的表,其中包含医生 ID 和患者 ID 的映射。

于 2013-10-14T14:17:32.253 回答
1

听起来您需要为访问创建一个主键。诸如 VISIT_ID 之类的东西。因为患者每天可以多次去看医生(可能不常见,但很可能)我会使用制造的密钥作为 VISIT_ID。查看大多数 DBMS 中常见的自动编号或自动键。它们保证为该表生成唯一键。

在访问表中,您还将存储医生和患者的外键,它们分别链接到包含您的文档和患者信息的表。

祝你好运!

于 2013-10-14T14:17:03.960 回答
1

首先主键是唯一标识一行。其次,创建一个名为 patient_id 的字段,并将该字段用作患者 ID,而不是主键。您还可以将其作为另一个表中的外键,该表将保存患者记录。外键必须是主键。

于 2013-10-14T14:17:37.497 回答