具有一对多关系的维度属性

Dimension attribute with one-to-many relationship

我有一个维度中的属性请求,该维度与较低级别的维度具有一对多关系。

情况如下:

我有 3 个源表:Employee、Language 和 LanguageLevel。

一个员工可以有多个未入学代码。 每个预科都有一个编号,start_date, expiration_date.

如何为这种情况建模?

您需要创建 Immatriculation-Dimension 并在链接回一侧 (Employee) 的关系的多侧 (Immatriculation) 使用外键。这给出了主键-外键关系。

这里有一个类似的案例。一本书可以有多个作者(为了使这是一对多关系,一个作者只能与一本书相关。否则就是多对多关系..):

CREATE TABLE dbo.Book
(
Pk_Book_Id INT PRIMARY KEY,
Name VARCHAR(255),
ISBN VARCHAR(255)
);

CREATE TABLE dbo.Author
(
Pk_Author_Id INT PRIMARY KEY,
FullName     VARCHAR(255),
MobileNo     CHAR(10),
Fk_Book_Id   INT FOREIGN KEY REFERENCES Book(Pk_Book_Id)
);

INSERT INTO Book VALUES (1, 'Let is Snow', 'ISBN3030303');
INSERT INTO Book VALUES (2, 'Three Cups of Tea','ISBN638242');
GO

INSERT INTO dbo.Author VALUES(100,'John Green','30303',1);
INSERT INTO dbo.Author VALUES(101,'Maureen Johnson','4343',1);
INSERT INTO dbo.Author VALUES(102,'Lauren Myracle','76665',1);
INSERT INTO dbo.Author VALUES(103,'Greg Mortenson','6434',2);
INSERT INTO dbo.Author VALUES(104,'David Oliver Relin','72322',2);
GO

SELECT * FROM dbo.Book;
SELECT * FROM dbo.Author;