L'assegnazione chiave surrogata per una tabella di fatti richiede che i dati di origine abbiano chiavi naturali?
-
30-10-2019 - |
Domanda
Diciamo che ho un semplice database OLTP con ordini, prodotti e clienti:
E da esso, sto costruendo un data mart con una tabella dei fatti degli ordini, dimensione del prodotto, dimensione del cliente e dimensione della data:
Quando si carica la tabella degli ordini in fact_orders (supponiamo che stavo usando una trasformazione di ricerca SSIS per assegnare le chiavi surrogate), ciò significa che la fonte di dati per gli ordini avrebbe anche bisogno di avere i valori naturali di "chiave estera" che erano associati Con l'ordine nel sistema OLTP?
In altre parole, i dati che vengono caricati provengono da una domanda come questa?
SELECT
order_date, -- needed to get date surrogate key
customer_name, -- needed to get customer surrogate key
product_name, -- needed to get product surrogate key
order_number, -- denegenerate dimension,
qty_ordered AS order_qty, -- measure
total_amount AS order_amount -- measure
FROM orders o
INNER JOIN customers c
ON o.customer_id = c.customer_id
INNER JOIN products p
ON o.product_id = p.product_id
Nessuna soluzione corretta
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange