|
|
1
3
您应该尝试星型模式模型,以一个“事实”表和几个“维度”表为中心。这是一个经过充分探索的模型,有许多数据库优化。 索赔事实(来源id、人员id、用户id、详细信息id、重量) 源维度(id、名称)
用户维度(id、名称) 详细信息\u维度(id、姓名不为空、颜色为空、亲属关系为空、生日为空) 每个索赔都有一个来源、人员、用户和详细信息。详细信息的名称值将是“亲属关系”、“生日”等值。 请记住,这是一个OLAP模式(而不是OLTP结构),因此它不是完全规范化的。这样做的好处超过了由于冗余而可能遇到的任何问题,因为为数据仓库配置的DBMS对星型模式的查询进行了高度优化。 推荐阅读:数据仓库工具包(Kimball等人) |
|
|
2
2
|
|
|
3
1
我想你想用的是一个“财产袋”。您希望有一个包含ID、一个“键”(在本例中为指称的信息(如“亲属关系”))和一个“值”(在本例中为指称的值(如“亚伯拉罕·林肯”))的表,而不是为您想要描述的每种类型的事实建模。然后,您需要第二个表,将您的索赔人与该表联系起来,以及他们对该信息的信任程度。该表将只包含来源ID、财产ID以及来源对该信息的信任度。这样,您就可以拥有一个来源,该来源具有大量或大量信息几乎没有信息;您还可以对给定属性中具有不同置信度的不同来源进行建模;您可以存储多少种不同类型的信息也没有限制。 这是一个非常标准的解决方案,适用于您需要交叉引用大量可选信息的情况。 |
|
4
0
|
|
|
blogger13 · 视频租赁店数据库的规范化 1 年前 |
|
|
ì¤ì¤í · 为什么LEFT INNER JOIN被弃用? 1 年前 |
|
|
relatively_random · 确保两个表之间一致的共同参考 1 年前 |
|
|
Grenish Rai · Firestore错误“用户文档不存在” 1 年前 |
|
|
Saijo-Shi · PLpgsql中的更新触发器 1 年前 |
|
Dante · Django::配置不当:池不支持持久连接 1 年前 |
|
YouLocalRUser · 删除重复行,保留第一行 1 年前 |