Dan*_*ron 3 oop database-design
我正在开发一个应用程序,它将有一个父类,它将有许多基本的字段和方法,以及几个带有附加字段方法的子类.
好奇如何在数据库中实现最佳.为父类创建一个表,为子类创建一个单独的表并通过id字段链接它们是否有意义,或者为了便于访问和更简单的查询,是否更好地复制子类表中的父类字段?
您的问题的答案是肯定的,这些都是有效的方法.这取决于您在查询内容时想要完成的连接数,以及是否需要支持多态查询.这是Scott Ambler关于这个主题的文章.本文第2.6节有一个很好的表,列出了不同映射方法的优缺点.
三种常用方式
每个层次结构的表 - 一个表用于所有内容,许多 NULL 列。
每个具体类的表;每个子类都有一个表,其中包含所有重复的公共字段。
每个类型(类)的表。这就像关系设计中的超类型/子类型方法一样。