这应该是一种识别关系吗?

时间:2012-11-08 04:21:56

标签: mysql mysql-workbench relationship identifying-relationship

我最初在StackExchange上为数据库管理员发布了这个问题: https://dba.stackexchange.com/questions/28356/should-this-be-an-identifying-relationship-or-not

但我猜这似乎缺乏用户。所以有人可以帮我这个吗?

编辑: 好吧,我选择了一种不识别的关系,这样用户可以是患者,SpiProfessional或两者兼而有之。似乎工作得更好,即使在编写查询时更有效。感谢大家的回答,这些都有助于我对数据库的理解。

2 个答案:

答案 0 :(得分:2)

需要了解更多信息才能回答您的问题。

  1. 用户可以耐心等待吗?
  2. 用户可以成为SpiProfessional吗?
  3. 用户可以是患者还是SpiProfessioanl?
  4. 需要为患者存储哪些其他数据/属性?
  5. 需要为SpiProfessional存储哪些其他数据/属性?

答案 1 :(得分:0)

好的,这就是我的想法,基于你的设计。 User表和Patient表,它不应该是1对1关系,因为用户可能不是患者,所以应该是1到0..1的关系。

SpiProessional也是如此。用户可能不是SpiProfessioanl,因此用户表到Spiprofessional,应该是1到0..1的关系。

我认为值得看看这两篇文章。 1. Any example of a necessary nullable foreign key? 2. Implementing one-to-zero-or-one relation in SQL Server