下面的例子说明了我面临的问题:
动物有一个种族,可以是猫或狗。猫可以是Siamese或Persian。狗可以是德国牧羊犬或拉布拉多猎犬。
Animal 是一个强大的实体,而其种族是一个属性,可以具有两个提供的值之一( cat 或 dog )。 这两个值都很复杂(我在这里只添加了狗/猫的类型来说明问题,但也可以有猫/狗的名字和一堆其他东西)。
我不知道如何为此示例创建关系表。
我曾尝试使用陈的符号绘制 ER 图,这代表了问题,但作为初学者,我不知道我是否做得对。这是我得到的:
如果我画错了,我深表歉意,如果是这样,请纠正我。我不希望简单地获得“免费解决方案”,而且还希望学习如何处理这个问题,以便我将来可以自己解决。
我唯一想到的是创建两张单独的桌子,一张给猫,一张给狗。此外,Animal表中的race属性将只存储cat或dog值。像这样的东西:
Animal< # Animal_ID, race, other attributes >
Cat < # Cat_ID, $ Animal_ID, breed >
Dog < # Dog_ID, $ Animal_ID, breed >
Run Code Online (Sandbox Code Playgroud)
我真的对我的解决方案有一种不好的感觉,我担心它是错误的,因此下面的问题。
如果需要更多信息,请发表评论,我会尽快更新我的帖子。也可以随意添加适当的标签,因为我在这里很新。
谢谢你。