如果没有,它们应该存储在一个单独的表中,每个值带一行,每个值分配另一个表中“拥有”它们作为一个组的记录的父ID(foreign key).
例如,来自科学仪器的一组读数只能一起用作分析集合,应该一起存储在一个字段中.相反,可能经常需要针对单个号码查询的客户的电话号码列表可能被分解为相关子表中每行的单个电话号码.
有关详细信息,请搜索术语“database normalization”.
某些数据库支持将数组作为data type.例如,Postgres允许您将列定义为一维数组,甚至是二维数组.
如果您的数据库不支持将数组作为一种列定义,那么您可能有三种选择:
> XML / JsON如果数据库支持该类型的数据库,则将数据集合转换为XML或JSON文档.例如,Postgres基本支持使用XPath存储,检索和非索引式搜索XML. Postgres提供了对JsON作为数据类型的业界领先支持,包括对嵌套值的索引支持及其Jsonb数据类型,其中传入的JsON以内部定义的二进制格式进行解析和存储.此功能解决了人们考虑使用所谓的“Nosql”系统,寻找存储和搜索semi-structured data的主要原因之一.
> TextCreate要存储为文本的数据的字符串表示形式.
> BLOB创建二进制值以存储为binary large object (BLOB).
以上是内存溢出为你收集整理的sqlite – 在关系数据库中存储数组的最佳方法是什么?全部内容,希望文章能够帮你解决sqlite – 在关系数据库中存储数组的最佳方法是什么?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)