关于数据仓库中维的概念.
华芸智森 2008-09-14 12:07:05 数据仓库版是个冷版块,本是我意料之中的事.等我做了几天版主,发觉这版冷成这样,还真有点出乎我的意料之外.
与以前在VB版做版主比,给我热和冷的感觉,反差太大了.几年前,VB6.0版很热,也成就了不少的MVP.在CSDN里,有点名堂的人,基本都在VB版里混过.
我觉得这个冷,是因为需求少,所以用的人少,学的人也少.导致整个网络的数据仓库版的人丁这么稀少.一般人,就是想用仓库作一些特别点的报表,但数据库的功能现在已经足够的强大,只要多写一些代码,也可以实现类拟于仓库的分析报表,因为,一般人更喜欢用自已熟悉的工具来工作.这些数据库过程虽然计算聚合的性能不高,但硬件的提升,大部分性能也在人的限度之内了.
再有,就是仓库本身比较难理解,概念多,维,度量,层,级,父子维,普通维,虚拟维,属性,星形结构,雪花形结构, 等等...立方一般还是多维的,十几个维是常见,用于挖掘的立方一般也有八到九个维,跟人们日常生活的空间脱节,因为,人很难想象一个三维以上的东西是长得什么样的.我觉得很多书把这维个概念给搞复杂了,基本都没有从程序员最熟悉的数据库概念去比较.实质上,维很难理解吗?我觉得不难,维就是一个方向,就是数学上的X,Y,Z,它的本质,就与数据库的一个外键关联的字段是一样的.打个比方.
CREATE TABLE 销售 (
售货员编号 INT,
仓库编号 INT,
产品编号 INT,
柜台编号 INT,
数量 FLOAT,
单价 FLOAT,
金额 FLOAT
)
看这个销售表:
售货员编号 INT,
仓库编号 INT,
产品编号 INT,
柜台编号 INT,
这几个外键关联的基础表就是维,售货员编号 关联 员工作 , 员工表就是一个维.仓库编号 在数据库上关联 仓库表,仓库表就是一个维,这跟数据库的 INNER JOIN 基本是一个概念,这几个维就是你观察的方向,这么说来,原来在数据库下用到的表,也是多维的,只不过,是一个被压扁了的立方(被压扁的立方也是立方,只是表达上是二维的行和列).
什么是度量?
数量 FLOAT,
单价 FLOAT,
金额 FLOAT
这几个就是度量,度量也是一个待殊的维,只不过在仓库中被固定为 MEASURES 维.
我不知道通过这些类比,维的概念不难理解吧.
我觉得有必要联合CSDN里的版主,在这里开辟一个关于数据仓库的基本的教程,让更多人来了解,理解,并在生产主应用到数据仓库.这样,仓库版块才有可能变得人丁兴旺.我也不是仅仅把名字挂在上面做一个无所事事的版主了. :)