我可以进行反身关联和正常关联

时间:2016-04-26 10:26:30

标签: database database-design relational-database

我的头衔不是那么具体,因为我真的不知道如何制定它。

好的,我想知道的是:我能否在关系模型中创建如图所示的内容。 我想这样做是为了生成一个主键,其中包含来自boat表的两个标识符(为了获得攻击者ID和受攻击的船ID )和盗版标识符。当我使用JMerise将其转换为逻辑模型时,这将完美地做我想要的。但它是一个正确的关系模型吗? Relational Model using JMerise& Logical Model using JMerise

谢谢大家。

1 个答案:

答案 0 :(得分:0)

如果每次行动中只有一名海盗和一艘攻击船,那么这取决于海盗是否总是使用同一艘船。如果海盗可能改变船只,那么你就会有

pirate 1----0,n action 0,n--attacked--1 boat
                   |                     |
                   |0,n----attacking--1--|

如果海盗总是使用同一艘船,那就是

pirate 1----0,n action 0,n--attacked--1 boat
  |                                      |
  |0,1---------------------attacking--1--|

请注意基数,我认为在你的图表中他们是错误的方式。