04年以前的一段时间, 我接触数据仓库系统比较多, 在空余的时间中, 用Java写了一个简单的, 功能很弱的ROLAP示例程序, 现在想想还是比较有意思的, 因为越来越写不动程序了, 所以只好回忆一下以前的程序了. 这个程序是用Oracle 9i中SH用户下的表来做演示的, 如果你的Oracle中装了这些演示用户, 你可以试试.

    首先下载My OLAP Viewer, 并解压到安装目录就可以了.

    其次请在sh用户下运行script目录下的两个SQL角本, OLAP.SQL用于创建这个程序用的一些表, 这些表用于记录OLAP中的立方体(Cube)的结构信息; CUBESALES.SQL通过在刚创建的表中插入一些记录, 来创建一个立方体.

    第三请运行myolap.exe, 在弹出的连接框中输入以下信息, 然后点击确定:

Database Type: oracle
Database Info: <host>:1521:<oracle_sid>
User ID      : sh
User Password: *****

    第四步请在左边选中Cubes下面的”销售分析”这个结点, 然后在Operation菜单中点击”Open Cube”菜单, 就可以查看这个立方体了. 在我的本本上只装了XE, 所以没有办法贴图上来, 等假日后我找个库玩玩.

    通过数据库中的表来进行立方体的查询, 这样的立方体叫做关系OLAP(ROLAP), 在Oracle中可以通过实体化视图(Materialized View)和维(Dimemsion)来优化较大数据量下查询的速度.

    Oracle的Discovery也是一个ROLAP的查看工具, 当然它的功能强多了, 不过原理相同. 我的这个工具也支持其他的数据库.