使用联结表创建多对多关系

时间:2018-04-02 12:39:36

标签: sql-server

我需要构建一个联结表,以获取两个父表之间的多对多关系。设计已经确定。当FK默认情况下会重复时,如何将我的联结表限制为子表?

enter image description here

create table FactInternetSalesReason
( SalesOrderNumber int,
  SalesOrderLineNumber int,
  SalesReasonKey int,
  CONSTRAINT FK_SalesOrder FOREIGN KEY (SalesOrderNumber, SalesOrderLineNumber) REFERENCES FactInternetSales (SalesOrderNumber, SalesOrderLineNumber),
  CONSTRAINT FK_SalesReason FOREIGN KEY (SalesReasonKey) REFERENCES DimSalesReason (SalesReasonKey)
);

1 个答案:

答案 0 :(得分:0)

外键可以包含重复项(试一试)。主键不能。