Вы находитесь на странице: 1из 27

Inteligencia de Negocios

Documentation
Release 1

LANXE

February 26, 2013

CONTENTS

Introduccin a la Inteligencia de Negocios


1.1 Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Tablas del Data Warehouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Introduccin a PostgreSQL
2.1 Clientes . . . . . . . . . . . . . . . . . .
2.2 Conectarnos a una base de datos con psql
2.3 El prompt . . . . . . . . . . . . . . . . .
2.4 Listar tablas . . . . . . . . . . . . . . .
2.5 Ejecutar una consuta . . . . . . . . . . .
2.6 El search_path . . . . . . . . . . . . . .
2.7 Solicitar ayuda . . . . . . . . . . . . . .

3
3
7

.
.
.
.
.
.
.

9
9
9
10
10
10
10
11

Repaso de normalizacin
3.1 Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13
13

La base de datos Musicbrainz


4.1 Esquema General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Tablas principales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17
17
17

Indices and tables

21

Index

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

23

ii

Inteligencia de Negocios Documentation, Release 1

Contents:

CONTENTS

Inteligencia de Negocios Documentation, Release 1

CONTENTS

CHAPTER

ONE

INTRODUCCIN A LA INTELIGENCIA
DE NEGOCIOS
1.1 Conceptos
1.1.1 Inteligencia de Negocios
Inteligencia de Negocios La inteligencia de negocios es un conjunto de metodologas, procesos, arquitecturas y
tecnologas que transforman datos crudos en informacin til y significativa. El objetivo principal de un sistema
de BI es promover la toma de decisiones basadas en hechos.
Est basada en el reconocimiento, anlisis y descubrimiento de los datos del negocio.
La tecnologa BI proporciona vistas actuales, histricas y predictivas acerca de las actividades de la empresa o
institucin.
Las funciones comunes de la inteligencia de negocios incluyen:
reportes
procesamiento analtico en lnea
minera de datos
alertas
otros tipos de anlisis
Dos mundos de informacin
Usuario de un Sistema Transaccional
Mueve las ruedas de la organizacin
Trabaja con un registro a la vez
Realiza las mismas tareas operacionales repetidamente

Usuario de un Data Warehouse


Observan las ruedas de la organizacin moverse
Sus preguntas involucran que una gran cantidad de registros sean sintetizados
Las preguntas que hacen cambian constantemente

Ejemplos de tareas del usuario del sistema transaccional


Toma rdenes de clientes
Da de alta nuevos clientes
Registra quejas
Ejemplos de tareas del usuario de un data warehouse
3

Inteligencia de Negocios Documentation, Release 1

Cuenta nuevas rdenes y las compara con las rdenes de la semana pasada
Pregunta por qu hay nuevos clientes
Pregunta cules fueron los motivos de las quejas

1.1.2 Data Warehouse


Data Warehouse Es un sistema que recibe y consolida datos de manera peridica desde sistemas fuente hacia un
almacn de datos dimensional. 1
Consolidacin o Integracin de datos
Es el primer punto sobre el que argumentaremos la implementacin de un data warehouse. La informacin
objetivo de anlisis usualmente se encuentra dispersa, en diferentes formatos y sistemas, en diferentes sucursales
y departamentos , un beneficio de la adopcin de un almacen de datos, es la obtencin de una visin integral de
las operaciones de una organizacin.

Figure 1.1: Data Warehouse v0.1

Caractersticas de un Data Warehouse


Mantiene muchos aos de historia
Es consultado con fines de inteligencia de negocios y otras actividades analticas
Es actualizado en lotes, o por cargas peridicas.

Los sistemas fuente son usualmente sistemas OLTP (Oracle, SQL Server, PostgreSQL ,etc. )

1.1.3 Los sistemas fuente


Sistema OLTP. Un sistema que soporta las operaciones transaccionales de una organizacin como ventas, compras,
altas de productos, etc. OLTP significa On Line Transaction Processing o Procesamiento Transaccional en
Lnea.
1
2

El almacen de datos tambin puede ser normalizado, veremos la diferencia en las siguientes secciones.
Es decir, no recibe las operaciones de los sistemas fuente en tiempo real.

Chapter 1. Introduccin a la Inteligencia de Negocios

Inteligencia de Negocios Documentation, Release 1

Una caracterstica de los sistemas OLTP es que la estructura de datos est normalizada.
Normalizacin Tcnica de modelado de datos cuya finalidad principal es eliminar redundancia.
Simplemente vamos y extraemos datos ?
En la prctica es necesario hacer un profiling o anlisis de la composicin de los datos.
Profiling o perfil de datos Es el anlisis del sistema fuente en cuanto a la estructura de tablas, tipos de datos, la
calidad de los mismos, cantidad de registros, dispersin de valores, ocurrencia de valores nulos o faltantes, etc.
Cmo extraemos los datos ?
Usamos una herramienta ETL.
ETL Extraccin, Transformacin y Carga. Es el proceso para poblar nuestro Data Warehouse. Existen varias herramientas que nos facilitarn dichos pasos, utilizaremos una de ellas llamada Pentaho Data Integration o tambin
conocida como Kettle la cual es libre y gratuita.

Figure 1.2: Data Warehouse v.0.2

1.1.4 Staging Area o rea de almacenamiento auxiliar


Existen dos maneras de cargar los datos extraidos de los sistemas fuente:
1. Hacer procesamiento, traduccin y limpieza de los mismos al vuelo para cargarlos directamente al Data Warehouse.
2. Usar un rea temporal para volcar los datos crudos para aplicarles los procesos de validacin/traduccin/limpieza necesarios y luego cargarlos al Data Warehouse.
Se considera buena prctica la segunda, porque de esta manera la extraccin de datos es muy rpida.

Caractersticas:
3

Si la extraccin es rpida y existe algn error a la mitad del proceso podremos reiniciarlo sin problemas.

1.1. Conceptos

Inteligencia de Negocios Documentation, Release 1

Almacena datos crudos para ser procesados


Las tareas en esta rea se llevan a cabo con procesamiento secuencial.
Aqu se llevan a cabo las tareas de extraccin, transformacin y carga (ETL).
Muchas veces no est basada en tecnologa relacional, sino de archivos planos.
Est fuera del alcance de los usuarios de negocios.
No provee servicios de consulta ni de presentacin de datos.

1.1.5 El Almacn de Datos Dimensional (ADD)


Tambin conocido como el rea de presentacin.
Almacn de datos dimensional Es una base de datos que almacena los datos del Data Warehouse en un formato
diferente al de los sistemas OLTP.
Por qu necesitamos un almacn de datos dimensional ?
Por dos razones fundamentales:
1. El formato dimensional es ms apropiado para anlisis
2. El ADD contiene informacin integrada de varios sistemas fuente.
Data Warehouse Es la fuente de datos consultable de la empresa. No es otra cosa que la unin de los datamarts
constituyentes.
Caractersticas:
Es dnde los datos son organizados, almacenados y se ponen a disposicin para poder ser consultados directamente por usuarios, reporteadores, y otras aplicaciones analticas.
Los datos se encuentran en dos formas, sumarizados y detallados. Los datos sumarizados ayudan a darle velocidad de respuesta a los reportes.

1.1.6 Bitcora de calidad de datos


Dentro de la planeacin del Data Warehouse, se suelen establecer polticas de calidad de datos que deben ser aplicadas
antes de hacer la carga de los mismos al ADD. Si el ETL encuentra datos que no se adhieren a estas polticas, se
registran en una bitcora para hacer el reporte al cliente y que este tome las acciones necesarios para su limpieza.
Bitcora de calidad de datos Es un registro en el que el proceso ETL, registrar aquellos casos en que los datos no
se adhieran a las polticas de calidad de informacin.

1.1.7 Metadatos
Toda la informacin relativa a la estructura de datos, diccionario de datos, el uso y significado de datos, las reglas de
calidad de la informacin y dems informacin referente a los datos mismos debe ser almacenada en un repositorio
para poder ser utilizado en todo el desarrollo del proyecto de inteligencia de negocios.
Metadatos Es toda la informacin necesaria para entender los datos del sistema fuente, su estructura, significado,
polticas de calidad de los mismos, etc.

Chapter 1. Introduccin a la Inteligencia de Negocios

Inteligencia de Negocios Documentation, Release 1

1.1.8 Bitcora de autitora del sistema


Un ETL es un proceso complejo en la mayora de los casos, por lo mismo es importante monitorear su ejecucin
de principio a fin, para tal efecto es muy recomendable guardar una bitcora en dnde se detalle el resultado de la
ejecucin de cada paso. Tambin es muy deseable que cuando se presente un error en alguno de ellos, se informe de
manera inmediata a los interesados.
Bitcora de auditora del sistema Es el registro del resultado de cada paso dentro del proceso ETL, y otra informacin estadstica.

1.1.9 Herramientas de acceso a datos


La mayora de los usuarios de negocios usarn los datos a travs de las aplicaciones analticas pre-construidas
Hay herramientas que le permiten al usuario definir de manera muy especfica que informacin desea consultar,
sin embargo, la habilidad tcnica requerida para utilizarlas es ms alta.
Componentes involucrados en el proceso de generacin de un Data Warehouse
Los sistemas fuente
La herramienta de profiling o perfilado de datos
Los metadatos.
ETL.
El rea de almacenamiento temporal o staging area.
El almacn de datos dimensional.
Los motores relacionales-multidimensionales.
El rea de presentacin (el Data Warehouse)
Reportes analticos, y en general, el conjunto de herramientas que explotan la informacin

1.2 Tablas del Data Warehouse


1.2.1 Tablas de dimensiones
Tablas de dimensiones Una tabla que representa una variable o parmetro en base al cul se puede hacer un anlisis
( por zona, por sucursal, por departamento, etc)
Caractersticas:
Son muy descriptivas, contienen toda la informacin disponible respecto a las entidades que describen, en forma
textual. Se obtienen de la desnormalizacin de atributos asociados a la variable.
Tienen muchas columnas
Tienen relativamente pocos registros.
Manejan llaves surrogadas (enteros consecutivos)

1.2. Tablas del Data Warehouse

Inteligencia de Negocios Documentation, Release 1

1.2.2 Tablas de hechos


Tablas de hechos Almacenan medidas numricas del desempeo del negocio (aditivas o contabilizables)

Caractersticas:
Son muy voluminosas, tienen pocos registros
Representa una relacin muchos a muchos entre dimensiones

1.2.3 Datamart
Datamart Es el conjunto de las tablas de dimensiones y de hechos relacionadas con un slo proceso de negocios.
Ejemplos de datamarts (procesos de negocio):
Ventas
rdenes de Compra a Proveedores
Niveles de Inventarios
Administracin de relaciones con clientes
etc.

Chapter 1. Introduccin a la Inteligencia de Negocios

CHAPTER

TWO

INTRODUCCIN A POSTGRESQL
Esta seccin est dedicada a exponer los conceptos bsicos de utilizacin de PostgreSQL desde la perspectiva de un
usuario que explota los datos gestionados por el motor.

2.1 Clientes
Para conectarnos a un servidor PostgreSQL, las herramientas ms populares son:
psql
Es un cliente cuya interfaz est basada en texto. Es el cliente ms utilizado por usuarios avanzados y administradores.
PgAdmin
Es un cliente que proporciona una interfaz grfica.
En este mini-tutorial usaremos psql

2.2 Conectarnos a una base de datos con psql


1. Desde cualquier terminal ejecutamos:
psql -U usuario -h elHost -p elPuerto elNombreDeLaBaseDeDatos

Dnde:
-U usuario , se refiere a un usuario de base de datos existente. Toma en cuenta que los usuarios de la base de
datos son independientes de los usuarios del sistema operativo. El usuario por defecto se llama postgres.
-h elHost, se refiere a la direccin IP o nombre de host de la mquina en la que est alojado el servicio. Si el
servidor est en la misma mquina usamos : localhost 127.0.0.1
-p elPuerto . Un puerto es un punto de comunicacin entre procesos. El puerto por defecto de PostgreSQL es el
5432.

2.2.1 Ejemplo
En nuestro caso, nos conectaremos a nuestras bases de datos de esta manera:
psql -U postgres -h localhost -p 5432 mb

Inteligencia de Negocios Documentation, Release 1

Tip: mb es el nombre de una de nuestras bases de datos de ejemplo

2.3 El prompt
Si la conexin es otorgada 1 , se nos presenta un prompt como el siguiente:
psql (9.2.3)
Type "help" for help.
mb=#

Donde, lo que aparece antes del =#, es la base de datos a la que estamos conectados.

2.4 Listar tablas


Para desplegar las tablas de la base de datos del esquema actual:
\dt

En el cliente que estamos manejando la diagonal inversa + d , es una abreviatura para decir describe o lstame.

2.5 Ejecutar una consuta


Simplemente la escribimos, la terminamos con punto y coma y damos enter.
mb=# select count(*) from musicbrainz.country;
count
------257
(1 fila)

2.6 El search_path
Este concepto se refiere al la ruta de bsqueda, o schemas dnde se buscarn los objetos a los que hagamos referencia,
si no especificamos a qu schema pertenecen.
set search_path = musicbrainz;

El cambio puede ser aplicado de forma permanente para la base de datos de esta manera:
ALTER DATABASE mb SET search_path = musicbrainz;
1

10

Si el usuario existe, si el password es correcto, si tiene permiso de conectarse a esa base de datos, etc.

Chapter 2. Introduccin a PostgreSQL

Inteligencia de Negocios Documentation, Release 1

2.7 Solicitar ayuda


2.7.1 Sobre sintaxis
En caso de duda respecto a alguna sintaxis en particular, podemos obtener ayuda con el comando de psql, h COMANDO, por ejemplo:
\h CREATE TABLE

tambin
\h ALTER TABLE

etc.

2.7.2 Sobre metacomandos


Los metacomandos son aquellos que empiezan con diagonal inversa, como dt (describir o listar tablas). Para saber
cules otros comandos de este tipo tenemos a nuestra disposicin ejecutamos en psql:
\?

Diagonal inversa + signo de interrogacin.

2.7. Solicitar ayuda

11

Inteligencia de Negocios Documentation, Release 1

12

Chapter 2. Introduccin a PostgreSQL

CHAPTER

THREE

REPASO DE NORMALIZACIN
3.1 Conceptos
normalizacin En general, normalizacin, se refiere a las tcnicas para remover duplicidad y minimizar unidades de
informacin redundantes.
anomala Es un cambio no apropiado o errneo en los datos, especficamente a una sola fila.

3.1.1 Anomala de Insercin (Insert)


anomala de insercin Es causada cuando un registro es agregado a una tabla de detalle, y el mismo no tiene relacin
con un registro existente en la tabla maestra.

Figure 3.1: Anomala de insercin

13

Inteligencia de Negocios Documentation, Release 1

3.1.2 Anomala de Borrado (Delete)


anomala de borrado Es causada cuando un registro es borrado de una tabla maestra, sin borrar primero todos los
registros derivados, en la o las tablas de detalle.

Figure 3.2: Anomala de borrado

3.1.3 Anomala de Actualizacin (Update)


anomala de actualizacin Es similar a la anomala de borrado en que ambos registros maestro y derivados deben
ser actualizados para evitar registros derivados hurfanos.

3.1.4 Dependencia, Determinantes y otros conceptos previos


Dependencia funcional Y es funcionalmente dependiente de X, si el valor de Y es determinado por X.
Ejemplo:
Y=X+1
Determinantes La determinante en la descripcin de dependencia funcional del ejemplo previo es X, porque X
determina el valor de Y.
Dependencia transitiva Z es transitivamente dependiente de X cuando X determina a Y, e Y determina a Z. Luego,
la dependencia transitiva describe que Z es indirectamente dependiente en X por medio de su relacin con Y.
En el ejemplo de la figura anterior, la tasa de cambio (RATE), es dependiente de la Moneda (CURRENCY), pero la
Moneda es dependiente del Pas (COUNTRY), por tanto, la tasa de cambio (RATE) es transitivamente independiente
del Pas (COUNTRY).
Llave candidata Una llave candidata ( potencial o aceptable) es un campo o combinacin de campos que pueden
actuar como campos de llave primaria para una tabla, lo que significa que pueden identificar de manera nica a
un registro en la misma.
Dependencia funcional completa Es una situacin que ocurre cuando X determina a Y, pero la combinacin de Y
con otra variable Z no necesariamente determina a Y. En otras palabras, Y depende de X y nicamente de X.
Si Y dependiera de X y algo ms, entonces no hay dependencia funcional completa con X. Esencialmente X, la
determinante no puede ser una llave compuesta.

14

Chapter 3. Repaso de normalizacin

Inteligencia de Negocios Documentation, Release 1

Figure 3.3: Determinante


Llave compuesta Es una llave que contiene ms de un campo.
Dependencia funcional multivalor El ejemplo ms representativo es cuando se tiene un campo que contiene una
lista separada por comas o coleccin de algn tipo. Una coleccin puede ser un arreglo de valores del mismo
tipo.
Dependencia cclica. El significado de la palabra cclica es un patrn circular o de anillo cerrado. Significa que X
es dependiente de Y, y Y es dependiente directa o indirectamente de X. Tipicamente ocurre en tablas con llaves
primarias compuestas de tres o ms campos, por ejemplo, dnde tres campos estn relacionados en pares entre
s.

3.1. Conceptos

15

Inteligencia de Negocios Documentation, Release 1

Figure 3.4: Dependencia Funcional Completa

Figure 3.5: Dependencia funcional multivalor

16

Chapter 3. Repaso de normalizacin

CHAPTER

FOUR

LA BASE DE DATOS MUSICBRAINZ


Le dedicaremos algunos minutos a revisar la estructura de esta base de datos.

4.1 Esquema General


A grandes rasgos, este es el diagrama Entidad-Relacin:

4.2 Tablas principales 1


4.2.1 artist
Un artista es generalmente un msico, grupo de msicos, una colaboracin entre mltiples msicos u otros profesionales de la msica.
JOINS
Para obtener el nombre del artista tenemos que hacer un join con artist_name (artist_name.id = artist.name)
El tipo de artista (grupo, persona, otros) se encuentra en la tabla artist_type (artist_type.id = artist.type)
El pas del artista mediante la tabla country (artist.country = country.id)
El genero del artista mediante la tabla gender (artist.gender = gender.id)

4.2.2 release_group
Representa una entidad abstracta album. Tcnicamente es un grupo de lanzamientos basados en un tipo, por ejemplo:
Single (Sencillo) Under Pressure por Queen & David Bowie Album The Wall por Pink Floyd
JOINS
Para obtener el nombre del lazamiento musical, hacemos un join con la tabla release_name ( release_group.name = release_name.id)
1

Hay otras pero estas sern el objeto de nuestro anlisis.

17

Inteligencia de Negocios Documentation, Release 1

Figure 4.1: Diagrama Entidad Relacin de Musicbrainz

18

Chapter 4. La base de datos Musicbrainz

Inteligencia de Negocios Documentation, Release 1

El tipo (single, album, etc), lo obtenemos con la tabla release_group_primary_type (realease_group.type =


release_group_primary_type.id)
El primer join para obtener el nombre del artista lo hacemos con artist_credit (esta tabla es de enlace entre los
artistas que participaron en un disco y el disco).
Vinculamos artist_credit con artist_credit_name por medio del identificador de la primera con el artibuto
artist_credit de la segunda (artist_credit.id = artist_credit_name)
A partir de este punto estamos en posibilidad de conseguir el id del artista mediante la tabla artist.

4.2.3 release
Es un objeto real que puedes comprar en las tiendas musicales. Cuenta con fecha de lanzamiento, lista de nmero de
catlogo, casa disquera, tipo de empaque y el status del release.
Ejemplo.
Release en Estados Unidos en el ao de 1984 del lbum The Wal de Pink Floid, bajo el sello discogrfico
Columbia Records con nmero de catlogo C2K 36183 y el UPC 074643618328, es un release oficial, y
viene en una caja con 2 CDs.
JOINS
Se vincula con release_group, recuerda que por cada registro en release_group hay de 1 a n registros en release.

4.2. Tablas principales

19

Inteligencia de Negocios Documentation, Release 1

20

Chapter 4. La base de datos Musicbrainz

CHAPTER

FIVE

INDICES AND TABLES

21

Inteligencia de Negocios Documentation, Release 1

22

Chapter 5. Indices and tables

INDEX

Almacn de datos dimensional, 6


anomala, 13
anomala de actualizacin, 14
anomala de borrado, 14
anomala de insercin, 13

Sistema OLTP., 4

T
Tablas de dimensiones, 7
Tablas de hechos, 8

B
Bitcora de auditora del sistema, 7
Bitcora de calidad de datos, 6

D
Data Warehouse, 4, 6
Datamart, 8
Dependencia cclica., 15
Dependencia funcional, 14
Dependencia funcional completa, 14
Dependencia funcional multivalor, 15
Dependencia transitiva, 14
Determinantes, 14

E
ETL, 5

I
Inteligencia de Negocios, 3

L
Llave candidata, 14
Llave compuesta, 15

M
Metadatos, 6

N
Normalizacin, 5
normalizacin, 13

P
Profiling o perfil de datos, 5

23

Вам также может понравиться