DATAWAREHOUSE
Almacenes y Minería de Datos Definición Datawarehouse (Almacen de datos) se define como una colección de datos que verifican las siguientes propiedades: Está orientado (a un tema) a objetos Datos integrados No volátiles Variante en el tiempo que surgieron como una herramienta de soporte para la toma de decisiones a nivel gerencial Almacenes y Minería de Datos
Explicación de la definición Orientado hacia temas: los datos se almacenan y agrupan por temas de interés. Almacenes y Minería de Datos
Explicación de la definición Datos integrados: el almacén de datos integra datos que provienen de varias fuentes. Partimos de una base de datos (operacional) y mediante un proceso de carga de datos hacemos el Datawarehouse. El proceso de carga es lo más complicado por problemas de codificación, medidas de los atributos… de las bases de datos. BD DW CARGA BD BD Almacenes y Minería de Datos
Explicación de la definición No volátiles: son estables, una vez almacenados los datos no se modifican. CARGA UPDATE SELECT DW BD DW REPORTS SELECT INSERT DELETE Almacenes y Minería de Datos
Explicación de la definición Variante en el tiempo: los datos contienen información sobre la fecha de los mismos, porque se hacen cargas de datos continuamente. Cuando los datos van cambiando, se actualizan los históricos y se guardan en ficheros temporales. Siempre va haber una variable tiempo. TIEMPO # id_tiempo * periodo Almacenes y Minería de Datos
Almacenes y Minería de Datos Características Podemos resumir las características de un Datawarehouse: Trabaja con datos de negocio Orientado a un sujeto Almacena datos actuales orientado a un histórico (actual + histórico) Datos más bien resumidos (no información detallada) Almacenes y Minería de Datos
Almacenes y Minería de Datos DIFERENCIAS BD OPERACIONAL Datos operacionales Orientado a aplicaciones Datos Actuales Datos Detallados Datos en continuo cambio DATAWAREHOUSE Datos de negocio Orientado al sujeto Actuales + Histórico Datos Resumidos Datos Estables Almacenes y Minería de Datos
ARQUITECTURA DW Partimos de una BD operacional y se basa en 3 módulos GESTOR ALMACENAMIENTO GESTOR CARGA GESTOR CONSULTAS Almacenes y Minería de Datos
Almacenes y Minería de Datos GESTOR DE CARGA Permite hacer la carga. Como dificultades nos podemos encontrar: La integración de los datos Elección del momento de la carga El tiempo de carga sea el mínimo posible Buen diccionario de datos o METADATA (para evitar cometer errores en la carga) Diseño de procedimientos PL/SQL Almacenes y Minería de Datos
GESTOR DE ALMACENAMIENTO Se encarga del almacenamiento, de la estructura,…. Existe una tabla llamada FACT (Hecho) y unas tablas llamadas dimensiones o tablas dimensionales. Entre la tabla FACT y las tablas dimensionales suele haber relaciones 1:N Este modelo tiene forma de estrella por eso se denomina MODELO STAR Almacenes y Minería de Datos
Almacenes y Minería de Datos MODELO STAR DIM_TIEMPO DIM_1 # PK4 # PK1 FACT # PK1 # PK2 # PK3 # PK4 *campoA *campoB DIM_3 DIM_2 # PK3 # PK2 Almacenes y Minería de Datos
Almacenes y Minería de Datos GESTOR DE CONSULTAS Las consultas se hacen sobre la tabla FACT. También se encarga de los perfiles, pues las consultas (reports) serán diferentes dependiendo del usuario y sus necesidades. Almacenes y Minería de Datos
Almacenes y Minería de Datos Ejemplo 1: CATEGORIAS_PROF # c_categoria * descripción * salario_min * salario_max 1 n USUARIOS # c_usuario * nombre * apellido1 * apellido2 * c_categoria * direccion OFERTAS # c_oferta * descripción * salario_min * salario_max * fx_alta USU_OFERTAS # c_categoria # c_oferta * salario_deseado 1 1 n n Almacenes y Minería de Datos
Almacenes y Minería de Datos Ejemplo 1: USUARIOS # c_usuario * nombre * apellido1 * apellido2 * c_categoria * direccion # PK1 CATEGORIAS_PROF # c_categoria * descripción * salario_min * salario_max USU_OFERTAS # c_usuario # c_categoria # c_oferta * salario_deseado TIEMPO # c_tiempo * descripcion OFERTAS # c_oferta * descripción * salario_min * salario_max * fx_alta Almacenes y Minería de Datos
Almacenes y Minería de Datos REPORTS ¿Cuántos usuarios se han apuntado a las ofertas de empleo del mes de enero? SELECT count(*) FROM USUARIOS_OFERTAS U, OFERTAS O WHERE U.c_oferta=o.c_oferta AND O.fx_alta BETWEEN (’01/01/07’,`31/01/07´) Almacenes y Minería de Datos