首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表示ERD中子类中的多值属性

表示ERD中子类中的多值属性
EN

Stack Overflow用户
提问于 2022-04-11 16:33:42
回答 1查看 159关注 0票数 1

我正在研究的数据库模型要求我允许一本特定的书可以由一个或多个作者共同编写的场景。我想知道是否使用作者的多值属性正确地表示模型,如我的图表所示:

我还使用了一个广义层次结构的项目,可以是一本书,eBook或杂志格式。我还想知道这是泛化层次结构的合理使用还是冗余使用。

EN

回答 1

Stack Overflow用户

发布于 2022-04-14 00:34:23

您正在使用几种扩展的ERD表示法(EERD)中的一种,并且这些建模技术没有标准化。所以它也取决于你的建模符号。

但据我所知:

作者周围的双椭圆确实表明它是一个多值属性。所以你的表示法很好。然而,多值属性与第一范式(1NF)不兼容。因此,考虑author作为一个单独的实体可能是值得的,特别是如果您想要区分几个同名作者,或者由作者进行有效的搜索。

使用disjoint subclasses ( Item可以是BookeBookMagazine )是很好的:

  • BookeBookMagazine继承了Item的属性,这三个类中的两个子类似乎没有使用Magazine。这也很好:如果将其移到项目中,具有不同标识符的杂志也会继承it.
  • Alternatively,,如果要删除这种冗余,可以考虑使用一个被子类为eBook和paperBook类别的图书实体??

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71831318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档