提问人:Marú Segovia 提问时间:11/5/2021 最后编辑:Marú Segovia 更新时间:11/5/2021 访问量:1305
如何在 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。
如何在数据库中管理它?
我正在从头开始尝试这个,因为我正在学习,有没有办法让它更容易一些?
如果我正确地解释了自己,请告诉我,并提前非常感谢您。
答:
0赞
Bill Karwin
11/5/2021
#1
您可以理解的是,您对存储 JSON 数据的最佳方式感到困惑。
组织嵌套 JSON 文档的方式或多或少等同于组织非规范化关系表。
您必须从需要运行的查询开始。这决定了组织数据的最佳方式。您可以将数据存储在最方便进行查找的形式中。
如果您不知道需要哪些查询,或者您有各种不同类型的查询,那么最好的策略是按规范化规则组织数据,并将它们存储在多个表中。即根本不使用JSON,使用普通的行和列。这至少减少了冗余,并使数据在未来支持最广泛的不同查询。
评论
0赞
Marú Segovia
11/6/2021
非常感谢您的帮助!我看看你的意思。
评论