キューブの作成に使用される SQL Server 2012 でデータ ウェアハウス DB を設計しています。元のリレーショナル DB に 3 つのテーブルがあるとします。
Supplier (SupplierId, SupplierName .....)
Invoice (InvoiceId, SupplierId, InvoiceCode, InvoiceName, InvoiceTotal ...)
InvoiceLineItem (InvoiceLineItemId, Description, InvoiceId, Rate, Count, Total)
これを倉庫データベースに変換したい。そこで、3 つのディメンションと 2 つのファクト テーブルを作成しました。
DimSupplier (SupplierId, SupplierName .....)
DimInvoice (InvoiceId, InvoiceCode, InvoiceName ....)
FactInvoice (InviceId, SupplierId, InvoiceTotal)
DimInvoiceLineItem (InvoiceLineItemId, Description)
FactInvoiceLineItem (InvoiceLineItemId, InvoiceId, SupplierId, Rate, Count, Total)
私の問題は、外部キーを使用する最善の方法がわからないことです。SupplierId キーをFactInvoiceとFactInvoiceLineItemからDimInvoiceとDimInvoiceLineItemにそれぞれ移動する必要があるので、実際にはDimInvoiceまたはDimInvoiceLineItemを見てこの情報を把握できます。ここで最善のアプローチは何ですか。できるだけ平らに保つのが最善であることはわかっています。私はデータ分析にまったく慣れていないので、ここで何か助けはありますか?