项目中数据库表设计问题,烦高手指点思路,谢谢!

DB用的是oracle8i

我现在有一个表A,表中有20多个字段,数据量不小(自我感觉,呵呵),有几万条吧,以后还会不断增加。目前,有一个应用程序,需要对表A中的数据进行分析。请注意,程序只是对表A中的几个字段(不会超过8个)进行简单分析,然后取出分析得出的数据。下面简单说一下程序对表的分析:

表A:
a, module …(字段名)

as uu
as uu
as kk

bg uu
bg kk
bg kk

ch kk

现在,程序分析表A中的a,b,c,d 这4个字段,得出的数据结构如下:
module as, bg, ch
uu 2 1 0
kk 1 2 1


大家很容易看出,表B是分析表A中的三个字段,简述如下:
module一共是两种类型uu和kk, as在uu中共2个,在kk中共1个。Bg和ch字段的值也是类似的。


请高手指点思路,我该怎样生成这个表B,而且,当这个表不再被需要时,数据库能自动删除它。当然,系统的效率越高越好。谢谢!!!

你这还是面向数据库的设计思维,我简单说一下我的实现:

使用状态替代数据库,特别是那些临时生成的表,将之生成在中件服务器的内存中,以状态形式保存在缓存中,一者可以提升性能,二者在不需要时可迅速销毁和刷新。

具体可参看JiveJdon 3.0中ForumState这个模型,它类似你的B表,ForumState中数据需要从Message表,也就是类似你的A表。

使用J2EE应该使用模型来替代数据库设计,凡是数据库设计都可以使用模型设计来替代,更不用说明数据库时oracle8i还是Oracle9i.

中国程序员设计思维已经被严重误导一代,转变过来何其难啊。