如何在 SQL 数据库中组织嵌套的 JSON 对象数据?
Posted
技术标签:
【中文标题】如何在 SQL 数据库中组织嵌套的 JSON 对象数据?【英文标题】:How do I organize Nested JSON Objects Data in a SQL Database? 【发布时间】:2021-12-19 00:19:08 【问题描述】:我有一个包含一些数据的 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。
如何在数据库中管理它?
我正在从头开始尝试,因为我正在学习,有没有办法让它更容易一点?
如果我的解释正确,请告诉我,并在此先感谢您。
【问题讨论】:
【参考方案1】:您对存储 JSON 数据的最佳方式感到困惑是可以理解的。
组织嵌套 JSON 文档的方式或多或少等同于组织非规范化的关系表。
您必须从需要运行的查询开始。这决定了组织数据的最佳方式。您将数据存储在对您需要进行的查找最方便的形式中。
如果您不知道需要哪些查询,或者您有多种不同类型的查询,那么最好的策略是按rules of normalization 组织数据,并将它们存储在多个表中。 IE。根本不使用 JSON,使用普通的行和列。这至少减少了冗余,并使数据支持未来最广泛的不同查询。
【讨论】:
非常感谢您的帮助!我会看看你的指示。以上是关于如何在 SQL 数据库中组织嵌套的 JSON 对象数据?的主要内容,如果未能解决你的问题,请参考以下文章