数据库表关系

时间:2014-08-20 05:42:01

标签: mysql database database-design relational-database database-normalization

以下是我的背景,在我们的组织中,我们进行婚姻关系培训,因此我正在建立一个数据库,以获取有关这些培训和参与者信息的信息。

培训参与者是具有额外婚姻关系和一夫多妻婚姻的人。 所以John Doe参加了培训,其中包括合作伙伴1和合作伙伴2,参与者表中有3名参与者。

所以我的问题在于,将John Doe的participant_id与其他两个合作伙伴的participant_id联系起来,这也存储在参与者表中,因为Johnny的另外两个合作伙伴也被视为参与者。

到目前为止我创建的表格是

  1. 参与者(pid,fname,lname等)
  2. 关系(摆脱,pid,伙伴等)。
  3. ptrainingattendance(tid,pid,startdate,endate,ttid)
  4. traingtype(ttid,training_details等...)
  5. 因此'prelationship'表包含'参与者'pid字段的pid外键。并且不确定我是否应该将partnerid也链接到参与者表格中的pid。

    我知道可以这样做,但是这样做不会违反表规范化规则,并且在参与者表中输入更多参与者数据时,这不会在MySql查询记录方面产生任何问题吗?或者也许有一个简单的解决方案来缓解我的头痛。

    需要考虑的其他事项:

    • 参与者可以分别接受一次培训。
    • Participant_1可以拥有多个合作伙伴,合作伙伴也可以将其他合作伙伴视为参与者。

    非常感谢任何帮助...

    额外说明: 只是关于这个问题的更新......我一直在阅读human app relations,艾伦布朗在这个主题上做了一些事情,也许我应该重新考虑整个数据库结构

    由于

0 个答案:

没有答案