如何解决逻辑数据模型中的子类型
我是数据建模的初学者,我正在尝试使用Oracle SQL Developer数据建模器构建逻辑数据模型。
我不确定何时以及何时不使用子类型,以及如何表示它们。
例如,如果我有一个实体“ STUDENT”和一个实体“ COURSE”,可以是“ BACHELOR OF ARTS”或“ MASTERS IT”等,而COURSE_TYPE则是“ BACHELORS”或“ MASTERS”,但没有两者。
注意:MASTERS类课程将具有与之相关的其他实体(仅与BACHELORS无关)。因此,单独拥有一个MASTERS实体框来进行相关连接会有所帮助。
我应该如何对此建模?
选项:
-
将“ COURSE_TYPE”作为实体(将具有“ COURSE_TYPE_ID”和“ COURSE_TYPE_DESC”),将“ COURSE_COURSE_TYPE”作为另一个实体(具有属性COURSE_ID,COURSE_TYPE_ID)并连接“ COURSE_TYPE”和“ COURSE_TYPE” “吗?
-
在“ COURSE”中具有“ COURSE_TYPE_ID”作为属性,并具有另一个实体“ COURSE_TYPE”,其仅具有COURSE_TYPE_ID和“ COURSE_TYPE_DESC”作为属性吗?
-
使用XOR关系将实体“ COURSE”子类型化为“ BACHELORS”和“ MASTERS”。
-
使用XOR关系将实体“ COURSE_TYPE”子类型化为“ BACHELORS”和“ MASTERS”
-
具有一个“ COURSE”实体,并在其中添加“ BACHELORS”和“ MASTERS”两个实体(方框中的框)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。