Office中国论坛/Access中国论坛

标题: [求助]-->sea.er转移 [打印本页]

作者: Access爱好者    时间: 2004-3-22 01:06
标题: [求助]
我问一个令人汗的总是:

从总体上说,一个数据库应该是在查询中将各个相关的表和要从这些表计算出的结果集等所有的内容全部展开,然后在窗体上进行筛选。筛选时,根据有结果和无结果分别用宏或VB建立不同的处理分支。

我这样理解对吗?

如果真是这样,那么将所有的内容完全展开不是会极大的影响数据库的速度吗?尤其是在数据库很大的时候,计算字段很多的时候。
作者: Access爱好者    时间: 2004-3-24 06:47
还是没有回贴呀,好遗憾.
作者: paul16    时间: 2004-3-24 06:50
所以数据库中引入了索引来提高数据检索的速度!
作者: zhuyiwen    时间: 2004-3-24 07:48
以下是引用Access爱好者在2004-3-21 17:06:08的发言:
我问一个令人汗的总是:

从总体上说,一个数据库应该是在查询中将各个相关的表和要从这些表计算出的结果集等所有的内容全部展开,然后在窗体上进行筛选。筛选时,根据有结果和无结果分别用宏或VB建立不同的处理分支。

我这样理解对吗?

如果真是这样,那么将所有的内容完全展开不是会极大的影响数据库的速度吗?尤其是在数据库很大的时候,计算字段很多的时候。


从总体上说,在数据库中一个查询应该是按照一定的准则将各个相关的表和要从这些表计算出的结果集等所有的内容全部展开,然后在窗体上进行筛选。筛选时,根据有结果和无结果分别用宏或VB建立不同的处理分支。
作者: Access爱好者    时间: 2004-3-25 05:52
我建立了一个工号管理数据库,用工号表链接清单表,清单表中包括工件的材质、规格和下料尺寸,清单表一个分支链接了工艺表,工艺表中包括工序和工时;另一个分支链接了材料比重表。另外还有一些辅助性的表,例如:来料表、联系人表等也和工号表相链接。

在使用时,键入工号,清单,及工艺后,根据清单中的数据判断工件是钢板,圆板,型钢,是否总长供货等情况,分别对下料尺寸进行处理,并在比重表中找到相应的比重计算出单个零件重量,以及整个工号的材料分类汇总;对工艺表的工时进行处理后(工时一般为小时+分钟,我在输入时,用3.12来表示三个小时零十二分钟),也生成相应的分类汇总。

从上面的情况可以看出,一个工号的计算工作量相当大(一个工号有时会有几百个零件,上千条工艺),数据库运行了近两年后,工号也达到了150多个。在这种情况下,将所有的数据展开,真的很合适吗?

我现在的做法是:建立一个参数表,在表里只有一个当前正在使用的工号,库中的37个查询都与这个表相链接,而选择不同的工号,实际上也就是在更改这个表的工号值。这样每次打开一个工号时,其计算工作量就小多了。

我这种数据库结构和把所有内容都展开筛选的结构哪一个更好一些呢?





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3