Pregunta

Soy nuevo en el almacenamiento de datos. Primero, quiero precisar que mi copia del kit de herramientas de almacén de datos está en camino a mi buzón (correo postal: P). Pero ya estoy estudiando todas estas cosas con lo que encuentro en la red.

Lo que no encuentro en la red, sin embargo, es qué hacer cuando parece tener más de un hecho en un DW. En mi caso (seguro), tengo reembolsos que se producen de forma no regular. Un cliente no puede tener ninguno durante 3 meses y luego diez en los mismos meses. En las otras manos, tengo "cuota de suscripción" (no estoy seguro de cuál es el término de inglés correcto, pero obtiene el punto), que se produce cada mes o cada tres meses. Eso parece claramente como dos hechos distintos para mí.

Esos dos están acoplados libremente por algunas dimensiones, como el cliente o el "producto de seguro". Ahora son estos dos almacenes diferentes, ¿en el que tengo que producir dos informes diferentes y luego conectar los informes fuera del DW? O hay una forma de diseñar esto para que se ajuste a un solo descenso DW. ¿O debo combinar estos dos hechos en uno? Probablemente perdería granularidad en los reembolsos entonces.

Un poco de blog que leí dijo que un DW siempre tiene una tabla de datos. Otros mencionan el paso de diseñar cuáles son las tablas de datos con A S, pero no hay instrucción clara de si hay un vínculo entre ellos o son solo componentes distintos de un mismo proyecto DW.

¿Alguien conoce algunas referencias sobre esa parte precisa del diseño DW?

¿Fue útil?

Solución

Tomando sus preguntas hacia atrás.

Un almacén de datos puede tener más de una tabla de datos. Sin embargo, usted quiere minimizar las juntas entre las tablas de datos. Está bien duplicar información de hecho en diferentes tablas de datos.

de los objetos que mencionó:

El reembolso es un hecho. La marca de tiempo es la dimensión del hecho de reembolso.

La tarifa de suscripción es un hecho. La marca de tiempo es la dimensión del hecho de la cuota de suscripción.

Un reembolso puede ocurrir más de una vez. Supongo que cada cliente tiene una tarifa de suscripción. Así que parece que tenemos dos tablas de datos hasta ahora, cliente y reembolso del cliente.

Si sabía que solo podía haber en los reembolsos más 3 (como ejemplo), entonces eliminaría la tabla de datos de reembolso del cliente y colocará 3 columnas de reembolso en la tabla del cliente.

También mencionas el seguro. Un cliente puede tener más de una política. Así que tenemos una tercera tabla de hechos.

Un almacén de datos generalmente está diseñado usando un Esquema STAR . El esquema STAR es básicamente una tabla de datos conectada a una o más tablas de dimensión. Probablemente tendrá más de una estrella en un almacén de datos, ya que ya definimos 3 tablas de datos.

Otros consejos

Me doy cuenta de que estoy respondiendo una publicación antigua, pero no estoy satisfecho con cualquiera de las respuestas proporcionadas. Siento que ni respondió la pregunta.

Un esquema puede tener uno o más hechos, pero estos hechos no están vinculados por ninguna relación clave. Es la mejor práctica para no unirse a las tablas de datos en una sola consulta, ya que usted desea consultar una base de datos normalizada / transaccional. Debido a la naturaleza de muchos a muchas unes, etc., los resultados serían incorrectos si se intentan.

La respuesta que está buscando es que necesita "taladrar", lo que básicamente significa que está consultando cada tabla de hechos (esquema) por separado y fusionando los resultados. Esto puede ocurrir usando SQL o preferiblemente a través de una herramienta de informes / analíticos que puede tener en que se hace referencia al almacén de datos. En lugar de duplicar las respuestas sobre cómo hacer esto, diré a todos a dos artículos muy buenos:

Tres formas de perforar por Chris Adamson

y

debería del almacén - perforaciones a través de Ralph Kimball

Puedes tener tantas tablas de datos como quieras.En su ejemplo, puede tener algo así:

 fact_ins_transaction

dimproduct enumera varios productos: la suscripción es uno de ellos. DimtransactionTypePe enumeraría posibles transacciones (compra, reembolso, tarifa de suscripción recurrente ...)

Ahora suponga que está interesado en los informes de suscripción simplificados, puede agregar una Factsubscription como esta:

 fact_ins_subscripción

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top