0

我正在设置一些非常简单的测试表,并希望将该列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'); 
4

2 回答 2

4
CREATE TABLE tb_TestUSERS
(
    UserKey INT NOT NULL,
    Name VARCHAR(30),
    CONSTRAINT tb_pk PRIMARY KEY (UserKey),
    CONSTRAINT tb_uq UNIQUE (Name)
)
GO

CREATE TABLE tb_TestFACT
(
    UserKey INT NOT NULL,
    DateKey INT NOT NULL,
    CONSTRAINT tb_fk FOREIGN KEY (UserKey)
        REFERENCES tb_TestUSERS(UserKey),
    CONSTRAINT tb_uq1 UNIQUE (UserKey, DateKey) 
)
GO
于 2013-03-29T12:36:01.573 回答
1

如果你有SQL Server Management StudioSQL Server Management Studio Express那么你实际上可以让它为你做这件事。或者,您可以在 UI 中执行此操作并将其编写到新窗口中 - 所有这些都非常有用。

于 2013-03-29T12:36:39.953 回答