【发布时间】:2017-06-30 22:13:51
【问题描述】:
我已经重新开始了旧项目的工作。这是一个有 6 个表的 access 数据库。其中之一是主表 TableA。这是它的工作原理。
TableA 与 TableB、TableC 和 TableD 是一对多的。
TableD 与 TableE 是一对多的。
TableE 与 TableF 是一对多的。
在任何时候我只需要表 A 中的 1 条记录,但总是需要表 B、C、D、E 和 F 中的相关记录。
我可以对表 B 和 C 进行单独的 Select 调用,但是表 D 的关系很有趣。对于表 A 中的每条记录,表 D 将有 4 到 5 条记录。对于表 D 中的每条记录,表 E 将有 4 到 5 条记录。对于表 E 中的每条记录,表 F 可能有超过 100 条记录。
我最终需要向最终用户展示的信息:表 A、B、C 和 D 中的信息。表 E 中的信息必须按表 D 分组(我使用的是组合框),表 F 中的信息必须分组由表 E(也是一个组合框)然后分成 4 组中的 1 组。
目前我有一个数据库接口类,它可以进行所有数据库调用并返回一个绑定列表。我最近开发了一个 SQL 查询,它在 TableD、TableE 和 TableF 上执行内连接,我想我会遍历返回的记录,小心地创建我的 6 个单独的 BindingList。
我的问题:如何才能做得更好,同时避免过多的数据库命中?我是否错误地认为内部连接会比 4 个单独的数据库调用更好?
【问题讨论】:
-
我没有完全按照你的数据,因为我看不到它,但我建议你在数据库中做尽可能多的繁重工作,因为这是它的本意.
-
谢谢蒂姆!我会尽快为数据库创建一个视觉模型。