非唯一外键 Oracle?

Non-unique foreign key Oracle?

我有两个表,为了简单起见,data/model 是假的:

Table答:

Order ID       Delivered
1              Y
2              N
3              Y

Table乙:

Order ID       Customer ID    
1              123
1              234
1              455
2              789

订单 ID 是 Table A 上的主键,我想将其用作 Table B 上的外键。 考虑到 Table B 上的订单 ID 不是唯一的,这是可以接受的吗?

请忽略任何 normalisation/structural 问题,我的问题只是您是否可以拥有非唯一外键,我只是认为插图会有所帮助..

谢谢, 亲爱的

Is this acceptable, given that Order ID on Table B is not unique?

是的,绝对是。这是建模 1:many 关系

的标准方法

您仍然应该找到表 B 的主键。如果一个客户不能分配给多个订单,那么使用 (order_id, customer_id) 作为 PK 是有意义的。