我有一个带有翻转值的表的数据库,例如 OrderNumber,另一列是年份。
这是主键 - 一个复合键 - 但还有其他表需要使用外键关系 - 我真的更愿意为这个表设置一个自动增量代理键,但诀窍是 OrderNumber 和 Year 必须是独一无二的。有没有好的方法来处理这个?
我在这里阅读以获得一些灵感。SQL Server中的复合字段,它存在吗?
我有一个带有翻转值的表的数据库,例如 OrderNumber,另一列是年份。
这是主键 - 一个复合键 - 但还有其他表需要使用外键关系 - 我真的更愿意为这个表设置一个自动增量代理键,但诀窍是 OrderNumber 和 Year 必须是独一无二的。有没有好的方法来处理这个?
我在这里阅读以获得一些灵感。SQL Server中的复合字段,它存在吗?
正如Vérace建议的那样,您可以同时执行以下操作:创建代理(自动增量)键以简化连接和相关表结构,并在两个当前 PK 列上添加唯一约束以继续强制执行适当的数据完整性。
在 SQL Server 中,多个列可以参与唯一索引/约束:
因此,无需创建计算列来组合两列。