database - 如何设计数据库中的相似实体

标签 database database-design

我的系统中有 3 个实体。我们称它们为实体 A、B 和 C。实体 A 变成实体 B,实体 B 又变成实体 C。我必须保留所有 3 个实体的副本。

我的难题是如何在关系数据中表示它们。所有 3 个实体都具有相似的字段。但是,有些字段适用于某些实体,有些则不适用。

在这种情况下推荐的方法是什么。我应该使用一张表然后制作一个“类型”字段吗?这种方法的问题是某些字段对于 soem 实体来说是空的。还是应该创建单独的表?

任何关于最佳实践的建议将不胜感激

最佳答案

这听起来像是经理->人员类型的层级设计。每个实体可能有单独的表。但是如果当你想得到所有人的列表时它们是相同的基类型,那么你必须合并所有表。如果您使用具有单个表方法的层次结构列,那么您必须将表与其自身连接起来。在选择一个解决方案时考虑这两个选项。两者都对,但各有难处。

关于database - 如何设计数据库中的相似实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12928480/

相关文章:

java - Android 内容解析器删除 - 更新状态

sql - 使用 Load when 子句时出现问题?

mysql - 具有许多 "exception"列的大表

mysql - 如何在mysql中建立表之间的一对一关系

MySQL 结构 - 独特的用户组

database-design - Redis 数据库设计基础

java - 谷歌应用引擎/JDO : store computed values

sql-server - 我们可以在其他服务器上使用同义词吗?

database - 基于表设计的建模类

asp.net - DATA 和 IMAGE 填充在两行中。我想将它们绑定(bind)在一行中