我设置了一些非常简单的测试表,并想使列USERKEY
我的表tb_TestUSERS
的主键则使列USERKEY
在表tb_TestFACT
外键之间的主键/外键关系。然后在这个主键和外键之间建立关系。我希望能够使用脚本完成所有这些。创建两个表
到目前为止,我只是有基本的表脚本:
CREATE TABLE WH.dbo.tb_TestFACT
(DATEKEY INT,USERKEY INT);
INSERT INTO WH.dbo.tb_TestFACT
values
(1,1),
(2,1),
(3,2),
(4,2),
(5,2),
(6,3),
(7,3);
CREATE TABLE WH.dbo.tb_TestUSERS
(USERKEY INT,NAME VARCHAR(10));
INSERT INTO WH.dbo.tb_TestUSERS
values
(1,'FRED'),
(2,'PHIL'),
(3,'JACKO');
+1 @J_W是'CONSTRAINT tb_uq UNIQUE(Name)'和'CONSTRAINT tb_uq1 UNIQUE(UserKey,DateKey)'必需的行吗?我意识到重复的名字会很奇怪,但是这是最重要的吗? – whytheq
'CONSTRAINT tb_uq UNIQUE(Name)'如果你想让用户拥有相同的名字,你可以删除它。 'CONSTRAINT tb_uq1 UNIQUE(UserKey,DateKey)'将执行'UserKey'只能具有唯一的'DateKey'。 –
谢谢 - 可能会将这种情况留在更大的图片中,用户可能会在同一天有很多会话 - 感谢包含这些额外的CONTRAINT脚本,因为我将在生产架构中广泛使用它们。 – whytheq