如何在SQL Server中使用两列创建唯一键

问题描述 投票:-1回答:1

我有3张桌子:

  1. StudentDetails(StudentNumber INT {PK},IndexNumber,FirstName,...)
  2. SubjectDetails(SubjectNumber INT {PK},SubjectCode,...)
  3. Marks(MarkCode INT {PK},StudentNumber INT,SubjectNumber INT,Mark,...)

我可以将StudentNumberSubjectNumber做成一个复合唯一键。 (已经是外键)

sql-server key ddl
1个回答
0
投票

UNIQUE约束将一列或列的组合指定为唯一键。为了满足UNIQUE约束,表中的任何两行都不能具有唯一键的相同值。但是,由单列组成的唯一键可以包含空值。

[在您的情况下,学生可以在不同时期拥有相同的科目。它可以是测试或期末考试。然后,您应该将一个类型添加到主题或dateofsubject或将新的表格考试链接到该主题。

请参阅:When to use unique composite keys?

© www.soinside.com 2019 - 2024. All rights reserved.