我有两个表,为简单起见,数据/模型是假的:
表A:
Order ID Delivered
1 Y
2 N
3 Y
并且
表B:
Order ID Customer ID
1 123
1 234
1 455
2 789
订单ID是表A中的主键,我想在表B中将其用作外键。 鉴于表B中的订单ID不是唯一的,这是否可以接受?
请忽略任何规范化/结构性问题,我的问题只是你是否可以拥有一个非唯一的外键,我只是觉得插图有帮助..
谢谢, Dearg
答案 0 :(得分:2)
这是否可以接受,因为表B上的订单ID不是唯一的?
是的,绝对的。这是建立1:多关系的标准方法
但您应该找到TableB的主键。如果客户不能分配到多个订单,那么使用(order_id,customer_id)作为PK是有意义的。