JSON 关系数据库模型中的树子表示
JSON Tree-Child Representation in a Relational Database Model
我有这个 json 树未展平数据:
{
"date": "02-02-2017",
"records": [
{
"title": "Title name",
"label": "Label name",
"value": "Value",
"members": [
{
"label": "string",
"value": "string"
},
{
"title": "Second title",
"label": "Label",
"value": "Value",
"members": [
{
"label": "string",
"value": "string"
}
]
}
]
}
]
}
每条记录可以有子成员,每个成员也可以有子成员。
这个 json 树模型在关系数据库模型中的推荐表示形式是什么?
为了存储分层数据,建议使用闭包 table 结构。
这是一个非常简单但功能强大的结构,用于以层次结构存储、检索和删除数据。
它将仅包含三列 - 祖先、后代、深度
您可以在这里查看更多信息https://coderwall.com/p/lixing/closure-tables-for-browsing-trees-in-sql
有关其他可能的结构及其缺陷的更多信息,请参阅 'SQL Antipatterns' Bill Karwin 的书第 3 章 'Naive trees'
我有这个 json 树未展平数据:
{
"date": "02-02-2017",
"records": [
{
"title": "Title name",
"label": "Label name",
"value": "Value",
"members": [
{
"label": "string",
"value": "string"
},
{
"title": "Second title",
"label": "Label",
"value": "Value",
"members": [
{
"label": "string",
"value": "string"
}
]
}
]
}
]
}
每条记录可以有子成员,每个成员也可以有子成员。
这个 json 树模型在关系数据库模型中的推荐表示形式是什么?
为了存储分层数据,建议使用闭包 table 结构。
这是一个非常简单但功能强大的结构,用于以层次结构存储、检索和删除数据。
它将仅包含三列 - 祖先、后代、深度
您可以在这里查看更多信息https://coderwall.com/p/lixing/closure-tables-for-browsing-trees-in-sql
有关其他可能的结构及其缺陷的更多信息,请参阅 'SQL Antipatterns' Bill Karwin 的书第 3 章 'Naive trees'