【问题标题】:Best way to represent policy-population data in Postgres在 Postgres 中表示策略人口数据的最佳方式
【发布时间】:2016-05-15 14:16:40
【问题描述】:

我想构建一个 Django 服务,用户可以在其中为某些人群定义一些策略。

政策样本:

default policy:
{
"field1":{
        "rule1":"somerule",
        "rule2":"somerule",
        "rule3":"somerule"
},
"filed2":{
    "rule1":"somerule",
    "rule2":"somerule",
    "moredata":[
        {"one":1,"two":2,"three":3},
        {"one":1,"two":2,"three":3}]
},
"filed3":{}
}

人口样本:

default population:
{
"field1":[{"1":"some1"},
        {"2":"some2"},
        {"3":"some3"}],
"filed2":[{"1":"some1"},
        {"2":"some2"},
        {"3":"some3"}],
"filed3":[{"1":"some1"},
        {"2":"some2"},
        {"3":"some3"}]
}

我想找到在 PostgresDB 中表示该数据的最佳方式,我想到了两个数据库关系:

1:

population to policy:           field to population:

population  policyId            field   value           population
pop1        56                  field2  (lat,lon,rad)   pop1
pop2        999                 field3  (lat,lon,rad)   pop2
pop3        3                   field4  456             pop3

2:

population to policy:           expression to population:

population  policyId            expression                         population
pop1        56                  "filed1 AND filed4 OR filed2"      pop1
pop2        999                 "filed1 OR filed4 "                pop2
pop3        3

什么更好,有没有更好的方法来表示这种数据?

【问题讨论】:

    标签: django database postgresql


    【解决方案1】:

    听起来很适合JSONField

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-16
      • 1970-01-01
      • 1970-01-01
      • 2014-03-14
      相关资源
      最近更新 更多