你好,ACCESS中,如何建立两个表多对多的关系?第三个连接表如何设置?

 我来答
iamgubing
推荐于2017-09-06 · TA获得超过1963个赞
知道小有建树答主
回答量:364
采纳率:100%
帮助的人:341万
展开全部
access中不应当存在多对多的关系。
一对一、一对多的关系表可不用第三个连接表;多对多的关系必须用第三个连接表使他们变成两个一对多的关系,第三个连接表至少要包含这两个表的所有主键
由于不知你具体的表是怎样的,无法给你详细说明。
追问
感谢你,如果两个表中没有冗余,有必要多对多吗?如果要设置,怎么设?例如人员信息表中有证件号,姓名,性别等字段,证件号是主键;人员成绩表中有ID,证件号,考核成绩等字段,ID是主键。
追答
建立规范的表及其关系主要就是为了消除冗余,两个表没有冗余也可能是多对多情况。
你应该把要达到的目的告诉程序设计者,否则人家会不明白你的意图,比如,考核成绩,是一个人只有一次考核成绩,还是有多次考核成绩等等。现在来分析你的例子,你的人员成绩表中的ID有什么意义呢?如果一个人只有一次考核成绩,就是一对一的关系,你ID也没有存在的必要,对于一对一的关系,也可以把考核成绩直接放在人员信息表中。
你一直提到多对多,估计你的表是多对多关系,为了好说明,假设如下:
人员信息表不变;另有一个考核项目表,如下,主键是考核项目ID:
考核项目ID 考核项目名称 考核标准 考核项目负责人
1 出勤考核 …… 张三
2 文明考核 …… 李四
3 业务量考核 …… 王五
一个人有多项考核内容,一个考核项目可以被多个人用来考核,所以是“人员信息表”和“考核项目表”是多对多关系,他们各自的表没有冗余,但却是多对多关系。
由于是多对多关系,需要通过另一个表把他们关联起来,你的“人员成绩表”正好起这个作用。
把“人员信息表”和“考核项目表”的各自主键取出组成“人员成绩表”的主键,“人员信息表”的字段应是这样的:证件号,考核项目ID,考核成绩;其中证件号,考核项目ID组成复合主键。“人员信息表”与“人员成绩表”是一对多,“考核项目表”与“人员成绩表”有时一对多,这样就消除了多对多关系。
富兴吴生
2012-08-11 · 超过51用户采纳过TA的回答
知道小有建树答主
回答量:145
采纳率:0%
帮助的人:152万
展开全部
可以,a表一对多关联第三表,b表一对多关联第三表,这样a表就与b表是多对多。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
519522681
2012-08-14 · 超过10用户采纳过TA的回答
知道答主
回答量:97
采纳率:0%
帮助的人:35.2万
展开全部
向sql中一样 设置中间表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式