【发布时间】:2013-11-18 23:59:22
【问题描述】:
我计划创建一个包含数字数据数组的 Oracle 数据库。每个数组有 2 到 4 个维度,大约有 1000 个数据点。我会想在 WHERE 子句中使用数组,例如.
Oracle 的数组支持(VARRAYS、嵌套表)似乎令人失望;客户端软件很难以有用的方式检索数据。可能,但很难。
感谢任何建议。
【问题讨论】:
-
一张好的旧的、普通的桌子有什么问题?
-
> 一张好旧的普通桌子有什么问题?您的意思是像一个包含 X11、X12、X13、X21、X22 等列的表格?这些数组约为 10 x 10 x 10。将每个项目表示为一列不太实用。
-
您可能想看看 oracle spatial 以及他们如何解决类似问题。
-
数组是一种组织原则,在关系数据库中不需要。相反,将每个数据点视为一个“事实”,然后将每个事实存储为一个元组。例如具有 DIMENSION1、DIMENSION2、DIMENSION3、DIMENSION4、POINTVALUE 列的表 DATAPOINTS。如果“数组”中值的顺序很重要,请添加 ORDERINDEX 列。通过这种设计,您将拥有最佳的灵活性,并且 SQL 分析的全部功能将任您使用。
-
杰弗里,有趣的想法。我会试试看。
标签: arrays oracle nested varray