24
Mejores Prácticas para el Modelado de Datos

Mejores Prácticas Para El Modelado de Datos

Embed Size (px)

Citation preview

Page 1: Mejores Prácticas Para El Modelado de Datos

Mejores Prácticas para el

Modelado de Datos

Page 2: Mejores Prácticas Para El Modelado de Datos

Objetivos

• Entender por qué QlikView es diferente de SQL

• Entender cómo funciona QlikView sin un Datawarehouse

• Adoptar las mejores prácticas de modelado de datos que sean aplicables al caso

Page 3: Mejores Prácticas Para El Modelado de Datos

QlikView no es SQL

• SQL:▫ SQL hace consultas

sobre tablas específicas en un gran esquema.

▫ Cada consulta crea un nuevo esquema temporal con solo algunas tablas.

▫ Los resultados de cada consulta son independientes.

Page 4: Mejores Prácticas Para El Modelado de Datos

QlikView no es SQL

• QlikView:▫ QlikView construye

esquemas mas pequeños y amigables para hacer reportes desde la base de datos transaccional.

▫ Este esquema es persistente y reacciona como un todo ante las consultas del usuario.

▫ Una selección afecta a todo el esquema.

Page 5: Mejores Prácticas Para El Modelado de Datos

QlikView no es SQL

• Agregación y Granularidad

Tabla Store

Tabla Sales

SELECT * FROM STORE A,

SALES B WHERE A.STORE = B.STORE

Note que la expresión SUM(SqrFootage) devolverá 4600La única forma de obtener el valor correcto es consultar la tabla Store por separado!

Store SqrFootage

A 1000

B 800

Store Prod Price Date

A 1 1,25 € 01/01/2012

A 2 0,75 € 01/02/2012

A 3 2,50 € 01/03/2012

B 1 1,25 € 01/04/2012

B 2 0,75 € 01/05/2012

SqrFootage Store Prod Price Date

1000 A 1 1,25 € 01/01/2012

1000 A 2 0,75 € 01/02/2012

1000 A 3 2,50 € 01/03/2012

800 B 1 1,25 € 01/04/2012

800 B 2 0,75 € 01/05/2012

Page 6: Mejores Prácticas Para El Modelado de Datos

QlikView no es SQL

• Beneficios:

▫ QlikView le permite ver el resultado de una selección a través de todo el esquema y no solo en un conjunto limitado de tablas.

▫ QlikView agregará al nivel de granularidad de la expresión y no del esquema como SQL.

▫ Esto supone que el usuario podrá interactuar con un rango de datos mayor al que podría con SQL.

Page 7: Mejores Prácticas Para El Modelado de Datos

QlikView no es SQL

• Desafíos:

▫ Varias consultas SQL pueden unir distintas tablas de distintas maneras.

▫ En QlikView hay una sola manera en que las tablas pueden unirse en cada qvw.

▫ Esto supone que el diseño del esquema es mucho mas importante en QlikView.

Page 8: Mejores Prácticas Para El Modelado de Datos

Requerimientos

• Los requerimientos siempre determinarán el diseño del esquema.

• Si no entiende completamente los requerimientos, o estos no se encuentran documentados apropiadamente, no debe comenzar a programar.

• Los requerimientos están centrados en el dominio del problema, no en el dominio de la solución

Page 9: Mejores Prácticas Para El Modelado de Datos

Datawarehouse Tradicional

Page 10: Mejores Prácticas Para El Modelado de Datos

Como utilizar Qlikview

Page 11: Mejores Prácticas Para El Modelado de Datos

Observaciones

• No existe una sola forma correcta de modelado de datos.

• El modelado de datos depende completamente de los requerimientos.

• Las mejores practicas no son universales, deben ser aplicadas a situaciones donde sea necesario.

• A veces, inclusive, QlikView puede no ser la solución adecuada!

Page 12: Mejores Prácticas Para El Modelado de Datos

Modelado Relacional vs. Dimensional

Relacional Dimensional

Page 13: Mejores Prácticas Para El Modelado de Datos

Modelado Relacional vs. Dimensional

• Relacional:

▫ Esquemas complejos

▫ Almacenamiento eficiente de los datos

▫ Esquemas construidos rápidamente

▫ Esquemas de fácil mantenimiento

▫ Consultas mas complejas

▫ Confusos para usuarios finales

Page 14: Mejores Prácticas Para El Modelado de Datos

Modelado Relacional vs. Dimensional

• Dimensional:

▫ Esquemas simples

▫ Esquemas desnormalizados

▫ Esquemas complejos de construir

▫ Esquemas difíciles de mantener

▫ Consultas simples

▫ Simples de entender para los usuarios finales

Page 15: Mejores Prácticas Para El Modelado de Datos

4 Pasos para el Modelado Dimensional

1. Seleccione el proceso de negocio a modelar

2. Determine la granularidad

3. Elija las dimensiones que aplican a cada fila de cada tabla de hecho

4. Identifique los hechos numéricos que poblarán cada fila de cada tabla de hecho

Page 16: Mejores Prácticas Para El Modelado de Datos

Esquemas de Estrella Múltiples y

Dimensiones Conformadas

Proceso de

NegocioDate Product Store Promotion Wharehouse Vendor Contract Shipper

Store Sales x x x x

Store Inventory x x x

Store Deliveries x x x

Wharehouse

Inventoryx x x x

Wharehouse

Deliveryx x x x

Purchase Orders x x x x x x

Dimensiones Comunes

Page 17: Mejores Prácticas Para El Modelado de Datos

Utilización de Archivos QVD para

Conformar las Dimensiones

Page 18: Mejores Prácticas Para El Modelado de Datos

Dimensiones Cambiantes

• Los valores de las dimensiones pueden cambiar a lo largo del tiempo.

• Por ejemplo:

▫ Reorganización de las zonas de la Fuerza de Venta

▫ El CP 24829 era de la zona A1 pero a partir del 1ro de Enero del 2012 paso a ser de la zona D3

Page 19: Mejores Prácticas Para El Modelado de Datos

Dimensiones Cambiantes

• Tres formas para tratar estos casos:1. Sobrescribir el valor original: Muy simple

Ahora todas las ventas del CP 24829 pasan a ser de la zona D3, sin importar la fecha

2. Agregar una fila de dimensión agregando una clave:

Preserva la historia

1. Agregar una columna a la dimensión:

Permite la comparación

ID CP Zona

123 24829 A1

124 24829 D3

CP Zona ZonaAnt

24829 D3 A1

Page 20: Mejores Prácticas Para El Modelado de Datos

Referencias Circulares

• Cada vez que detectemos una área en el visor de tablas, nos encontraremos con una referencia circular.

Page 21: Mejores Prácticas Para El Modelado de Datos

Referencias Circulares

• Las referencias circulares son comunes en QlikView porque solo tenemos una forma de unir las tablas en cada archivo.

• Cuando exista una referencia circular lo mejor es eliminar la relación que menos afecte al resultado final.

• De no ser posible la eliminación de la relación, debemos recurrir a la concatenación de las tablas o a una tabla de relaciones.

Page 22: Mejores Prácticas Para El Modelado de Datos

Tablas de Relaciones

• Las tablas de relaciones permiten esencialmente unir dos o mas tablas de hechos con un conjunto de dimensionesen común, evitando asi las relaciones circulares.

Page 23: Mejores Prácticas Para El Modelado de Datos

Tablas de Relaciones

Page 24: Mejores Prácticas Para El Modelado de Datos

Preguntas?

Muchas Gracias!