【发布时间】:2012-06-26 20:34:53
【问题描述】:
我有一个包含调查列表的表格(PK 是 ID)
CREATE TABLE [dbo].[SurveyMaster](
[ID] [nvarchar](4) NOT NULL,
[Title] [nvarchar](200) NULL,
[IsActive] [bit] NOT NULL,
还有一个包含变量映射列表的表格。
CREATE TABLE [dbo].[VariableMappings](
[ParentSurvey_ID] [nvarchar](4) NOT NULL,
[ReportingMonth] [nvarchar](6) NOT NULL,
[VariableName] [nvarchar](400) NOT NULL,
[Value] [int] NOT NULL
我希望在 ParentSurvey_ID、ReportingMonth 和变量名称上为 VariableMappings 创建一个主键,以确保记录的唯一性。
不过,与此同时,我想要 VariableMappings.ParentSurvey_ID 和 SurveyMaster.ID 之间的外键关系,以确保 VariableMappings 仅包含相关的 SurveyID。
我在 SQL Server 中尝试了几种方法,但我不相信我可以创建 FK,因为复合键由 3 列组成。
我该如何实现这一目标?
【问题讨论】:
标签: sql database sql-server-2008