2009-09-24 56 views
2

我的确切模型很难解释,所以说我在Xcode的核心数据建模器中建模水果及其种子。下面是一些“伪核心数据代码”:核心数据:抽象实体和继承关系

abstractEntity Fruit 
attribute sweetness 
relationship Seed 

abstractEntity Seed 
attribute shape 

concreteEntity Apple inherits Fruit 
concreteEntity Orange inherits Fruit 

concreteEntity AppleSeed inherits Seed 
concreteEntity OrangeSeed inherits Seed 

我以这种方式建模的原因是,我希望能够获取水果的混合,并通过种子的形状对它们进行排序。鉴于此模型,这里是我的问题:

在Xcode建模器(即从GUI)中是否有任何直接的方式,使我能够指定苹果只能有AppleSeeds和橙子只能有OrangeSeeds?在上面的模型中,具体的果实继承了抽象的种子关系,我需要它来获取和分类混合的果实/种子,但我没有看到任何方式来强制每种具体果实必须具有的确切的种子关系。

我看到很多不同的方法来强制建模GUI外,但只是想确保我不会错过任何东西。有什么建议么?

希望这个例子很有意义!

回答

3

我能想到的唯一方法是从超级中删除种子关系,并在子实体中放入特定的AppleSeed和OrangeSeed关系。您可能可以覆盖子实体中的关系,而不必将其从超级中移除,但据我所知,模型编辑器无法执行您所描述的内容。

+0

这是一个耻辱,但又突出了核心数据模型和RDBMS之间的核心差异。 – Daniel 2012-07-22 02:41:23