【问题标题】:Crows Foot Mysql Relationships乌鸦脚Mysql关系
【发布时间】:2017-09-15 03:28:09
【问题描述】:

我正在使用 MySQL 工作台为客户构建数据库。

在这种情况下,一张票可以有很多号码,但一个池可以有很多张票。

我不确定我是否设置正确。

我可以看到将“Tickets”表链接到“TicketNumber”表的乌鸦脚具有一对多的关系。这是否意味着一张票会有很多票号?

我在“TicketNumbers”表中创建了一个 FK,它使用“ticket_id”列作为参考链接到门票表。

对于池,我在“Pools”表中创建了一个 FK,它使用“pool_id”作为参考链接到“Tickets”表。乌鸦脚似乎表明一张票可以有多个池,但事实并非如此?

我是否正确地做到了这一点,还是应该通过在相反的表中创建 FK 来反转关系?

【问题讨论】:

    标签: mysql mysql-workbench


    【解决方案1】:

    我讨厌回答有关图形的问题:-)

    带有实线的鱼尾纹表示从单条线到多条(三角形或鱼尾纹)线的识别关系。这意味着链接到的字段是接收表的 PRIMARY KEY 的一部分。

    虚线表示非识别关系。表示链接字段不是 PRIMARY KEY 的一部分。

    在你的情况下,关系应该是 FROM Pools TO Tickets,你的关系是相反的,应该是虚线(非标识)。

    Tickets 和 TicketNumbers 之间的关系似乎是正确的。这不是最喜欢的做事方式,因为我发现 number_id 字段没用。我将有一个仅包含 ticket_id 和 number 的表,并且两个字段都用于形成 PRIMARY KEY ,在这种情况下,Tickets 和 TicketNumbers 之间的关系应该是 IDENTIFYING(实线)。这是更多的艺术和科学,意见会有所不同。

    【讨论】:

      猜你喜欢
      • 2014-04-26
      • 2013-04-19
      • 1970-01-01
      • 2013-04-11
      • 2012-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多