我是一名 Web 应用程序开发人员,在数据库设计方面经验不足,因此感谢任何人的意见。
当我第一次构建这个 Web 应用程序时,该应用程序管理一种类型的对象(表)和一些属性(列)。随着应用程序的增长,出现了非常相似的对象的其他类型,因此我为每个对象类型创建了额外的表。(你可以说所有的对象类型都继承自同一个类/原型。)我发现我的每个对象类型的表几乎都相同,因为每个对象类型共享大约 90% 的相同属性类型。例如,表可能具有几乎完全相同的列名(& 数据类型),但一个表可能有 1-2 个额外的列来引用特定于该对象类型的属性。
由于所有对象类型都非常相似(就像 Dog、Cat 和 Mouse 都继承自 Animal 类一样),将它们全部放在同一个表中并在以下情况下简单地允许某些列包含 NULL 值是否明智?列与该类型无关?或者还有其他一些我没有考虑的选择吗?
作为参考,这里有一些我已经评论过的类似帖子: