在源关系数据库中,有一个名为 CompanySurety 的表,其中 INT IDENTITY PK SuretyId 具有指向父 SuretyId 行的自引用 ExtendsSuretyId FK 列。
将这些数据引入星型模式模型,我设计了 CompanySurety 事实表(到目前为止)如下:
CREATE TABLE fact_company_surety
(
SuretyCompanyDimId INT NOT NULL,
SuretyCoversCompanyAccountDimId INT NOT NULL,
SuretyReplenishPaymentCompanyAccountDimId INT NOT NULL,
-- ExtendsSuretyId -- TODO: ?????
SuretyAmountChangeDateDimId int NOT NULL,
SuretyEffectiveFromDateDimId int NOT NULL,
SuretyEffectiveThruDateDimId int NOT NULL,
SuretyExcludeCalcDateDimId int NOT NULL,
SuretyHoldingCompanyDimId INT NOT NULL,
SuretyLastRRQDateDimId int NOT NULL,
SuretyMethodDimId INT NOT NULL,
SuretyReplenishmentTypeDimId INT NOT NULL,
SuretyTypeDimId INT NOT NULL,
SuretyAccountNumberDD nvarchar(100) NOT NULL,
SuretyAmount money NULL,
SuretyBalance money NULL,
SuretyDeletedFlag bit NOT NULL,
SuretyOverrideThresholdPercent decimal(5, 2) NULL
);
问题是,我如何以适当的维度方式对这种父子关系进行建模(实际上,如何在维度模型中对任何父子层次结构进行建模)?
我考虑过复制所有维度和事实列来表示父事实(因为目前,层次结构只有一层深)。但这对我来说似乎是错误的。