我有两个实体 - Item和Tag。一个项目可以有一个或多个用户无法编辑的只读(工厂)标签,然后是一个或多个用户可以随时创建的读写(用户)标签。我想知道如何最好地建模这个。
当然,我可以只创建UserTag和FactoryTag实体,但这意味着维护两个相同实体的冗余。我宁愿只拥有一个Tag实体。
如果我在Item和Tag之间使用单一的一对多关系,我将拥有一个包含只读和读写标签的 NSSet。这并不理想,因为我必须在Tag上有一个属性来标识它是只读的还是读写的。
我想知道是否有一种方法可以使用Item和Tag之间的多个关系来对此进行建模,从而使两种类型的标签彼此分开,即我会有一个 userTags 的 NSSet 和一个 factoryTags 的 NSSet?
谢谢。