单个表中相同外键的多个实例

ili*_*arn 1 database-design

我有一个表在同一个表中多次(4 次)引用同一个外键。有人可以解释为什么/这是有道理的吗?

Nei*_*gan 5

迂腐地,表不引用外键,它通过外键引用表。

如果数据模型需要它,这是有道理的。

这是一个例子。销售订单与扮演不同角色的多方相关联,例如销售方、客户方、付款方和接单方。

create table sales_order (
  order_id int primary key,
  seller_party_id int not null references parties(party_id),
  customer_party_id int not null references parties(party_id),
  order_taken_by_party_id int not null references parties(party_id),
  payer_party_id int not null references parties(party_id),
  ...
);
Run Code Online (Sandbox Code Playgroud)