mejores prácticas para el modelado de datos
TRANSCRIPT
![Page 1: Mejores Prácticas Para El Modelado de Datos](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/1.jpg)
Mejores Prácticas para el
Modelado de Datos
![Page 2: Mejores Prácticas Para El Modelado de Datos](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/2.jpg)
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](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/3.jpg)
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](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/4.jpg)
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](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/5.jpg)
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](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/6.jpg)
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](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/7.jpg)
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](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/8.jpg)
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](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/9.jpg)
Datawarehouse Tradicional
![Page 10: Mejores Prácticas Para El Modelado de Datos](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/10.jpg)
Como utilizar Qlikview
![Page 11: Mejores Prácticas Para El Modelado de Datos](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/11.jpg)
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](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/12.jpg)
Modelado Relacional vs. Dimensional
Relacional Dimensional
![Page 13: Mejores Prácticas Para El Modelado de Datos](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/13.jpg)
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](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/14.jpg)
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](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/15.jpg)
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](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/16.jpg)
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](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/17.jpg)
Utilización de Archivos QVD para
Conformar las Dimensiones
![Page 18: Mejores Prácticas Para El Modelado de Datos](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/18.jpg)
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](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/19.jpg)
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](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/20.jpg)
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](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/21.jpg)
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](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/22.jpg)
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](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/23.jpg)
Tablas de Relaciones
![Page 24: Mejores Prácticas Para El Modelado de Datos](https://reader034.vdocumento.com/reader034/viewer/2022042520/577cca131a28aba711a54e79/html5/thumbnails/24.jpg)
Preguntas?
Muchas Gracias!