如果您在视频游戏的 ERD 中有一个character_instance
andcharacter
实体,并且您想指示当character
实体遇到character_instance
实体时会发生某些事情,您如何做到这一点?不过,这里有一个问题: acharacter_instance
与它自己的 没有相同的关系character
。有什么特别的方式可以表示这种复杂的关系吗?
如果您在视频游戏的 ERD 中有一个character_instance
andcharacter
实体,并且您想指示当character
实体遇到character_instance
实体时会发生某些事情,您如何做到这一点?不过,这里有一个问题: acharacter_instance
与它自己的 没有相同的关系character
。有什么特别的方式可以表示这种复杂的关系吗?
我不了解 ERD,但如果我理解正确,这种业务规则在考虑实体之间的关系时非常常见,例如考虑 SQL 中的这个示例:
除了强制执行一个人不能与自己结婚的规则外,它还确保同一婚姻不会“在另一个方向”第二次进入,即“阿尔伯特与维多利亚结婚”与“维多利亚与阿尔伯特结婚”相同' 但只有行 `('Albert', 'Victoria') 可以输入到数据库中。
如果这对于 ERD 来说过于复杂,请考虑使用另一种更具表现力的模型,例如对象角色建模。