繁体   English   中英

如何在 SQL 数据库中组织嵌套的 JSON 对象数据?

[英]How do I organize Nested JSON Objects Data in a SQL Database?

我有一个包含一些数据的 JSON 文件,如下所示:

{
    "meta":{
        "server":"awesome.com",
        "user":"awesomeUser",
        "response":"200"
    },
    "data":{
        "tags":["campaign","awesome"],
        "parameters":[{"$ref":"#/components/parameters/campaign"}],
        "responses":{
            "campaign":{
                "name":"My first awesome campaign",
                "description":"This is an amazing campaign",
                "content":{
                    "id":"000001",
                    "publisher":"awesome",
                    "active":true,
                    "launched":354658465,
                    "users":{
                        "countries":{
                            "USA":"753365"
                        }
                    }
                }
            },
            "publisher":{
                "name":"awesome",
                "id":"000099",
                "authorized":true,
                "defaultCurrency":"USD"
            }
        }
    }
}

我需要用这些数据构建一个数据库,但我不确定如何组织表,特别是嵌套对象。 例如,我知道一个表可能是“元”,它会有服务器、用户和响应列。 然后是包含标签、参数和响应行的数据表,但这些是一个数组、一个对象数组和一个包含更多对象的 objetc。

我如何在数据库中管理它?

我正在从头开始尝试这个,因为我正在学习,有没有办法让它更容易一点?

请让我知道我是否正确解释了自己,并在此先感谢您。

您对存储 JSON 数据的最佳方式感到困惑是可以理解的。

组织嵌套 JSON 文档的方式或多或少等同于组织非规范化的关系表。

您必须从需要运行的查询开始。 这决定了组织数据的最佳方式。 您可以将数据存储在对您需要执行的查找最方便的形式中。

如果您不知道需要什么查询,或者您有多种不同类型的查询,那么最好的策略是按规范化规则组织数据,并将它们存储在多个表中。 即根本不使用 JSON,使用普通的行和列。 这至少减少了冗余,并使数据在未来支持最广泛的不同查询。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM