Office中国论坛/Access中国论坛

标题: access数据库组织方式,求大侠指点 [打印本页]

作者: ws001001    时间: 2014-5-1 00:37
标题: access数据库组织方式,求大侠指点
access数据表关系设计遇到困难,求大侠指导:(三个表见附图)第一个表公司名称,由于每个公司对地域区分不同,导致第二个表(区域表)中的区域代码不同;当区域表联系到下一级表(城市表)时,城市表中城市代码因为要作为主键,所以城市代码也不能相同,但它们却可能指向相同的一个城市名称。这样下去,表将变得非常庞大。有没有好的办法解决,能让不同区域的指向归成同一个城市代码?谢谢
作者: todaynew    时间: 2014-5-1 12:06
本帖最后由 todaynew 于 2014-5-1 12:17 编辑

区域表:区域ID(主键),区域
城市表:城市ID(主键),城市,区域ID(外键)
部门表:部门ID(主键),部门,父部门ID,城市ID(外键)

部门查询:
select b.区域ID,c.区域,a.城市ID,b.城市,a.部门ID,部门,a.父部门ID,dlookup("部门","部门表","部门ID=" & 父部门ID) as 父部门
from 部门表 as a inner join 城市表 as b on a.城市ID=b.城市ID inner join 区域表 as c on b.区域ID=c.区域ID


城市查询:
select a.区域ID,b.区域,a.城市ID,a.城市
from 城市表 as a inner join 区域表 as b on a.区域ID=b.区域ID



作者: ws001001    时间: 2014-5-1 15:35
不是查找问题,而是表的设计问题。因为不同公司区域ID不同,在城市表中,城市名称虽然是一个,比如深圳,但却会有多个不同的城市ID.而我希望的是一个城市名称只有一个城市ID与之对应。
作者: todaynew    时间: 2014-5-1 15:46
ws001001 发表于 2014-5-1 15:35
不是查找问题,而是表的设计问题。因为不同公司区域ID不同,在城市表中,城市名称虽然是一个,比如深圳,但 ...

这与表的设计没球关系
只允许一个人操作城市表的数据不就完事了。




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