Duda con modelo en estrella

Buenas a todos,

Me estoy iniciando en el mundillo del BI leyendo algún libro y mis primeras dudas surgen a la hora de realizar el modelo en estrella. La verdad es que me salen unos modelos en estrella muy parecidos a la bbdd relacional, no sé si esto es bueno... Por ejemplo para aprender estoy realizando un modelo en estrella que permita disponer de la información de los pasos de los vehículos por un peaje. Os dejo 2 diagramas, uno más desnormalizado que el otro a ver cual os parece mejor. Gracias por avanzado!

 

Versión más normalizada pero con menos repetición de campos y por lo tanto con menos uso de espacio de bbdd

 

Versión menos normalizada que la otra pero con mucha más repetición de valores ( marca, modelo... )

 

Lo importante es pensar cómo vas a analizar después esa información. Si quieres analizar tiempos de paso y ocupantes para diferentes intervalos de tiempo, y dependiendo de características de los vehículos, para mi tu tabla de hechos 'Paso' ha de tener como claves naturales, que enlacen a sus correspondientes dimensiones el id de tiempo, y el id del vehículo. La marca, el combustible y el color son características o atributos del vehículo, así que están mejor dentro de la dimensión.

O sea, que mi opinión es que el segundo esquema es mejor, sólo te falta cambiar la MarcaID de la tabla de hechos por VehiculoID ;)

Yo incluso, si no hay ninguna razón especial para que sean dos dimensiones separadas, crearía una única tabla para la dimensión tiempo, que incluya la hora, y te quedas con sólo dos FK en la tabla de hechos. No dirás que así se parece mucho a un modelo relacional..

Otra cosa que no te debe preocupar demasiado es el espacio que ocupe la tabla de hechos, o las repeticiones de valores, esa es justo la principal diferencia con el modelo normalizado. De hecho, deberías preocuparte más bien si tienes tablas de hechos sin repeticiones.

 

En respuesta a por Carlos

Muchas gracias por la respuesta Carlos. No sé si a más gente le pasa pero en mi caso al llevar tiempo con modelos relacionales no destinados a BI, tengo bastante tendencia en intentar ahorrar espacio. Al ver que en la Dimensión Vehiculo tendría una repetición de campos elevada, lo divido en diferentes dimensiones...esta división afectaría al rendimiento del BI?

Respecto a lo de MarcaID tienes razón, el copy&paste.... bien visto por tu parte jeje

PD: Hay problemas para publicar en las últimas versiones de Firefox y Chrome?

En respuesta a por baba_xaf

Cuesta un poco cambiar a el chip de 'pensar en relacional' a 'dimensional', no te preocupes, le pasa a todo el mundo. De todas maneras la solución de añadir esos id's a la tabla de hechos no sería ni una cosa ni la otra porque igualmente, al ser todo características de los vehículos, han de depender de la entidad 'vehículo'. Colocarlos en la tabla de hechos con una dimensión para cada una te va a complicar el modelo, y después también la preparación de informes, e incluso la comprensión por parte del usuario, aunque el rendimiento fuera mejor yo seguiría sin recomendarlo.

Lo que sí se puede hace es informar los id's o FK's en el nivel de más detalle de la dimensión de vehículo, y crear una tabla para cada descriptor, como en un modelo relacional. Entonces te queda una modelización más en 'Copo de nieve', que sí es un estándar para diseño de un Datawarehouse, más similar a un modelo normalizado.

(Sobre las publicaciones, no eres el primero que lo dice, supongo que en algunos casos debe fallar porque yo lo he probado con todos los navegadores, a ver si con la próxima actualización se soluciona..)