具有相关列值的表的最佳数据库表设计

我想知道为依赖列值设计表结构的最佳方法。

如果我有这样的情况

具有相关列值的表的最佳数据库表设计

  1. 如果该字段的状态仍然有效,则无需执行任何操作
  2. 如果状态无效,则以其他方式存储其他一些列值。

处理这种情况的最佳方法是什么

  1. 是否创建包含所有列的表,例如“在医院里死”,“死因”,“死亡日期”和“请叙述事件”,并在状态有效时将其设置为空

  1. 使用单独的表通过Entity-attribute-value(EVA)概念存储所有其他属性

具有相关列值的表的最佳数据库表设计

在上述情况下,体征和症状可能是单一的,多个的或其他有特定规定的。如何存放这个。  什么是性能和查询的最佳方法   在单个表中提供15列,如果没有值则存储null,或者在另一个表中存储症状的外键(在此策略中,如何存储其他症状描述列)。

lgqlgqlgqlgq 回答:具有相关列值的表的最佳数据库表设计

通常,如果您知道列是什么,则应将其包括在表中。因此,具有诸如died_in_hospitalcause_of_death等列的表似乎是一个合理的解决方案。

实体属性值模型在两种情况下很有用:

  1. 属性未知,随着时间的推移会添加新的属性。
  2. 属性的数量如此之大,并且稀疏,以至于大多数列都是NULL

在您的情况下,您知道属性,因此应将它们作为列放入表中。

,

实体属性值模型是最好的方法,它将有助于数据过滤/搜索。将列保留在基表本身中是违反规范化规则的。

本文链接:https://www.f2er.com/3160293.html

大家都在问