JSON 与 PostgreSQL 中的表
JSON vs. Tables in PostgreSQL
我正在尝试制作一份调查问卷并正在考虑 2 种数据结构:
JSON:我可以使用 JSON 来存储不同的问题,如下所示:
{
"questions": [
{
"question": "how old are you?",
"type": "input_int",
},
"question": "what is your name",
"type": "input_string",
},
{
"question": "how are you today?",
"type": "multiple_choice",
"options": [
"good",
"bad"
]
},
]
}
或每个类型的问题 table:
InputIntTable
- Question
- Order
InputStringTable
- Question
- Order
MultipleChoiceTable
- Question
- Options
- Order
我正在使用 Django。哪种方式在计算、结构和托管成本方面都更好。哪个会占用更多存储空间?谢谢!!
如果您不需要对问题类型或任何其他问题字段进行频繁过滤,您可以使用 Json 结构。但是如果将问题保存为 Json 则无法查询。所以我认为你应该使用表格。 Json 应该只用于保存仅用于显示或需要用作字典恕我直言的数据。但是如果你需要像 ORM 提供的那样查询,你应该使用 tables
你应该有这样的模型:
问题
- 问题
- 订单
- 类型
- options(字符串列表,在 "input_int" 或 "input_string" 类型的情况下为 null)
不需要为不同的类型创建不同的模型,因为那样你所有的问题都会在不同的表中。
如果您将问题另存为 Json,您也无法使用列表、创建详细信息等其他视图。
总之请使用表格
---- 编辑 ----
问题
- 问题
- 订单
- 类型
选项
- 选项(字符串列表)
- 问题(问题模型的外键)
我正在尝试制作一份调查问卷并正在考虑 2 种数据结构:
JSON:我可以使用 JSON 来存储不同的问题,如下所示:
{
"questions": [
{
"question": "how old are you?",
"type": "input_int",
},
"question": "what is your name",
"type": "input_string",
},
{
"question": "how are you today?",
"type": "multiple_choice",
"options": [
"good",
"bad"
]
},
]
}
或每个类型的问题 table:
InputIntTable
- Question
- Order
InputStringTable
- Question
- Order
MultipleChoiceTable
- Question
- Options
- Order
我正在使用 Django。哪种方式在计算、结构和托管成本方面都更好。哪个会占用更多存储空间?谢谢!!
如果您不需要对问题类型或任何其他问题字段进行频繁过滤,您可以使用 Json 结构。但是如果将问题保存为 Json 则无法查询。所以我认为你应该使用表格。 Json 应该只用于保存仅用于显示或需要用作字典恕我直言的数据。但是如果你需要像 ORM 提供的那样查询,你应该使用 tables
你应该有这样的模型:
问题
- 问题
- 订单
- 类型
- options(字符串列表,在 "input_int" 或 "input_string" 类型的情况下为 null)
不需要为不同的类型创建不同的模型,因为那样你所有的问题都会在不同的表中。
如果您将问题另存为 Json,您也无法使用列表、创建详细信息等其他视图。
总之请使用表格
---- 编辑 ----
问题
- 问题
- 订单
- 类型
选项
- 选项(字符串列表)
- 问题(问题模型的外键)