【问题标题】:creating relational tables within a database在数据库中创建关系表
【发布时间】:2013-02-13 17:02:30
【问题描述】:

我在将下表关联在一起时遇到了一个重大问题。患者和护士之间是多对多的关系。

这是关系表:

Patient (PatientID (PK), Forename, surname, gender, date of birth, address, illness, prioirty)

seen_by (ID(PK) PatientID(FK to Patient.PatientID), NurseID(FK to Nurse.NurseID) )

Nurse (NurseID(PK), Forename, surname)

我遇到的问题是,我希望将 PatientId 分配给 NurseID,这样我就知道哪个护士看到了哪个病人。请注意,ID 都是 auto_increment 值。

任何建议,提前致谢!

【问题讨论】:

  • 你很困惑,id 是自动递增的,但它也是患者和护士的唯一标识符。您的系统会知道谁是护士 #9999,但它不会知道谁是“Ramona Gonzales”
  • 我该如何纠正这个问题,以便我知道哪个病人被分配给哪个护士?
  • 如果您查询where nurseID=123,它将为您提供分配给该护士的所有患者
  • 我试过了。 see_by 联合表之间的关系不正确,因此查询不起作用。 Patient 表中的 PatientID 是 seen_by 表中的外键,这种关系很好。但是,我需要将 patientid 关联到护士表。
  • 如果我能够为您提供电子邮件地址,我可以通过图像向您展示关系表。

标签: mysql many-to-many foreign-key-relationship


【解决方案1】:

为什么不创建一个连接表来表示患者和护士之间的关系?

Table: Appointment (AppointmentID (PK), PatientID, NurseID)

然后您可以将患者和护士分配到预约记录并跟踪关系。这还使您可以跟踪有关约会的其他信息,例如日期、处方等。

我不确定您使用的是什么开发环境,但 Rails 有一些很好的模式可以通过这些关系访问对象。

【讨论】:

  • see_by 表是一个连接表。它与您描述的内容相同。我只是无法正确地将它与患者和护士表相关联,以便分配患者 ID 和护士 ID
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-15
  • 1970-01-01
相关资源
最近更新 更多