Пожалуйста, обратите внимание на следующее:SQL самостоятельно сервер реферирование запрос
CREATE DATABASE TEST
USE TEST
CREATE TABLE Student
(
StudentID INT IDENTITY
PRIMARY KEY ,
FirstName NVARCHAR(50) ,
LastName NVARCHAR(50)
)
CREATE TABLE StudentComponent
(
StudentComponentID INT IDENTITY
PRIMARY KEY ,
StudentID INT FOREIGN KEY REFERENCES dbo.Student(StudentID) ,
ComponentName NVARCHAR(50) ,
ComponentRef NVARCHAR(50) ,
ComponentType NCHAR(2)
)
CREATE TABLE Component
(
ComponentID INT IDENTITY
PRIMARY KEY ,
StudentComponentID INT FOREIGN KEY REFERENCES dbo.StudentComponent(StudentComponentID) ,
ComponentName NVARCHAR(50) ,
ComponentRef NVARCHAR(50) ,
ComponentType NCHAR(2)
)
У меня есть 3 таблицы
- Student
- StudentComponent
- Компонент
выделена в размерах
CREATE TABLE DimClass
(ClassDwKey INT,
ClassName NVARCHAR(50),
ClassRef NVARCHAR(50))
CREATE TABLE DimCollege
(CollegeDwKey INT,
CollegeName NVARCHAR(50),
CollegeRef NVARCHAR(50))
CREATE TABLE DimSubject
(SubjectDwKey INT,
SubjectName NVARCHAR(50),
SubjectRef NVARCHAR(50))
CREATE TABLE DimStudent
(StudentDwKey INT,
StudentName NVARCHAR(50))
INSERT INTO
CREATE TABLE FactAcademicEvent
(StudentDwKey int, ClassDwKey int, CollegeDwKey int, SubjectDwKey INT)
С отношением в том же порядке между ними (Student -> StudentComponent -> Component). Я разделил компоненты на свои собственные размеры, DimClass, DimCollege, DimSubject (split по полю componenttype, = 'CL' для класса, 'SU' для темы, 'CO' для колледжа и т. Д. Я пытаюсь загрузить таблицу фактов получая мои суррогатные ключи из моих измерений и производя ряд со следующими
StudentDwKey (от dimstudent), ClassDwKey, CollegeDwKey, SubjectDwKey. Существует связь между размерами и таблицей компонентов ComponentKey, которая ссылается на ученика через таблицу студенческих компонентов .
StudentComponent и компонентов в основном те же, за исключением StudentComponent ссылки студентов поэтому имеет больше строк.
Любые идеи?
так ComponentName и исх равна Classname, classref, collegename, collegeref и т.д. – jhowe