首页 > 数据库 > mysql教程 > 注释的子类型或单独的表:哪种数据库设计最好?

注释的子类型或单独的表:哪种数据库设计最好?

Susan Sarandon
发布: 2025-01-05 14:55:42
原创
623 人浏览过

Sub-Type or Separate Tables for Notes:  Which Database Design is Best?

在数据库设计中使用子类型或单独的表进行注释

设计数据库时,出现一个常见问题:是否应该子类型是在单个表中使用,还是应该为不同类型的数据创建单独的表?在本例中,我们有一个包含三个主要表的数据库:BOOKS、ARTICLES 和 NOTES。最初,使用单个NOTES表来存储书籍和文章的注释。然而,人们对该设计的规范化和效率提出了担忧。

一种潜在的替代方法是利用五个表:BOOKS、ARTICLES、NOTES、BOOK_NOTES 和 ARTICLE_NOTES。这种结构允许单独存储书籍注释和文章注释,并在注释表中使用更简单的列定义。

使用子类型还是单独的表之间的决定取决于数据的具体性质。当子类型具有唯一且不同的列时,通常使用子类型。然而,在这种情况下,BOOK_NOTES 和 ARTICLE_NOTES 表在结构上没有显着差异。

更优化的方法可能涉及创建一个超类型表 Publication,其中 Book 和 Article 作为子类型。这将允许单个注释表具有发布的外键。由于 Publication 的主键与 Book(或 Article)的主键相同,因此它有利于 Publication、Book 或 Article 的高效连接。此设计还提供了添加新出版物类型(例如杂志)的灵活性,而无需修改 NOTES 表。

例如,以下表架构举例说明了这种方法:

TABLE Publication (
      ID (PK)
登录后复制

以上是注释的子类型或单独的表:哪种数据库设计最好?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板