在数据库设计中,决定是否使用子类型。当特定类型的数据具有区别于其他类型的附加属性或属性时,将使用子类型。这种方法涉及为每个子类型创建单独的表,从而可能会产生大量表。
考虑一个包含三个主表的数据库:BOOKS、ARTICLES、和注释。每本书和文章可以有多个注释。初始设计将注释分配给单个NOTES表,其中包含以下列:
另一种设计建议使用五个表:
这个设计将书籍和文章注释分开,简化数据
子类型设计(现有设计)的优点:
子类型设计的缺点:
超类型设计(替代设计)的优点:
修改后的方法建议使用具有两个子类型的超类型发布表:书籍和文章。该模型将允许单个注释表具有出版物的外键,从而能够跨所有出版物类型(书籍、文章、杂志等)进行联接。
以上是子类型或超类型:哪种数据库设计最能处理多态数据?的详细内容。更多信息请关注PHP中文网其他相关文章!