作者TeemingVoid (TeemingVoid)
看板Database
标题Re: [问题] Access 中 relation type 变更的问题?
时间Sat Feb 4 00:26:23 2012
※ 引述《supisces (被~~~切~~~八~~~段)》之铭言:
: ※ [本文转录自 Office 看板 #1FAzvz24 ]
: 作者: supisces (被~~~切~~~八~~~段) 看板: Office
: 标题: [问题] Access 中 relation type 变更的问题?
: 时间: Fri Feb 3 21:17:46 2012
: 软体: Access
: 版本: 2010
: 我在 Access 中建了一个资料库,
: 其中包含了 7 个 table (还没输入任何资料),
: table 之间一共建了 6 个 relation.
: 这 6 个 relation 之中,
: 有 5 个是 one-to-many,
: 有 1 个是 one-to-one..
: 我想知道 Access 是如何决定 one-to-many or one-to-one 的?
: (其实我是想全部都 one-to-many 的)
: 档案网址: http://ppt.cc/TV@c
我已很久没使用 Access 了,但是按照问题描述初步看起来应该是与
您滑鼠拖曳的起落点有关。举例来说:
客户与订单的关系是一对多,客户资料表的客户编号已设定为PK,订
单的订单编号也已设定为PK,订单的客户编号要当FK。
如果拖曳的起点是客户资料表的客户编号,拖曳到订单的订单编号栏
位放开滑鼠键,因为两个栏位都是PK(或者是 Unique constraint),
关联的线段会呈现「一对一」。
如果拖曳的起点是客户资料表的客户编号,拖曳到订单的客户编号栏
位放开滑鼠键,这时建立的关联的线段才会是我们预期的「一对多」。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.252.126.30
1F:推 supisces:谢谢您的回覆, 滑鼠拖曳的起落点好像对one-to-one没影响 02/04 02:28
2F:→ supisces:不过我将订单中要当FK的那栏删掉後重新再建一次就OK了 02/04 02:30
3F:→ supisces:原先是将订单中那栏复制到新的table当PK,结果变成一对一 02/04 02:31
4F:→ supisces:不知甚麽情况让Access认为是一对一,其他table的PK也是 02/04 02:33
5F:→ supisces:这样copy过去的,却不会这样. 再次感谢.. 02/04 02:34
7F:→ TeemingVoid:两个栏位都是PK或者有「不重复值」的索引,Access就会 02/04 11:04
8F:→ TeemingVoid:判定成一对一,只有其中之一如此,则是一对多。 02/04 11:04
9F:→ TeemingVoid:所以,再麻烦请您帮忙看一下复制过去的目的端那边,栏 02/04 11:04
10F:→ TeemingVoid:位内容的索引那个项目,如果是:「是(不可重复」」,就 02/04 11:05
11F:→ TeemingVoid:会被Access判定是一对一。 02/04 11:05