SQL中的复合键是一对多,而不是一对一对吗?

sho*_*ave 1 sql sql-server primary-key composite-key one-to-many

如果我创建一个带有复合键的表(一对多关系).如何确保一对多关系是单方面的?我的意思是A和B是复合键; A可以有多个B,但B不能有多个A.

编辑:将数据类型从数字更改为int

例如:

CREATE TABLE voting (
TaskOrder int,
MemberID int,
PRIMARY KEY (TaskOrder , MemberID)
);
Run Code Online (Sandbox Code Playgroud)

功能要求 - 一个成员可以有多个任务订单.但是,无法将一个任务订单分配给多个成员.

我如何确定?起初,我想过使用复合键.还有其他选择吗?或者使用复合键可以吗?

Sql*_*Zim 5

既然B不能有多重A,那就是B独一无二的.B将是你的主要钥匙.

create table voting (
    TaskOrder int
  , MemberID int
  , primary key (TaskOrder)
 );
Run Code Online (Sandbox Code Playgroud)

除非你有某些理由使用未指定的numeric,否则只需使用int.