Sie sind auf Seite 1von 23

OPTIMIZACIÓN DE LA ESTRUCTURA DE

BASE DE DATOS

Estructura de contenidos

INTRODUCCIÓN........................................................................3

1. APLICACIÓN Y DISEÑO DE BASE DE DATOS..............................3

1.1 Normalizar la base de datos.................................................3

1.2 Desnormalizar la base de datos..............................................8

2. LA OPTIMIZACIÓN DE CONSULTAS...........................................9

2.1 Consultas SQL basadas en el álgebra relacional........................10

2.1.1 Operaciones del Algebra Relacional......................................10

2.2 Selección de índices.............................................................18

2.3 Estimación de Costes............................................................20

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


DISEÑO E IMPLEMENTACIÓN DE CUBOS DE DATOS
Mapa conceptual

2
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

INTRODUCCIÓN

La búsqueda de un nivel óptimo de rendimiento en los servicios asociados


a las bases de datos, es una constante para lograr el mantenimiento
proactivo que debe proveer el administrador de las bases de datos.

Consecuentemente una de las tareas a implementar es la verificación


de la estructura de la base de datos y el desarrollo de acciones que
permitan optimizarla, para esto deben ser revisados temas asociados a
la normalización y desnormalización de la base de datos, ya que una
estructura deficiente puede incidir en que las consultas a los datos
relacionados no puedan realizarse de una manera óptima y deterioren el
nivel de respuesta esperado.

Otro aspecto a analizar es el uso de herramientas que permitan optimizar


las consultas, así como la creación y uso apropiado de índices para el
mejoramiento del rendimiento en la ejecución de consultas. Al tener
consultas de larga duración se consumen recursos del sistema que hacen
que el servidor y las aplicaciones funcionen con lentitud, desencadenando
otros problemas y por tanto es necesario adoptar diferentes estrategias
para buscar la ejecución más eficiente de las consultas.

1. APLICACIÓN Y DISEÑO DE BASE DE DATOS

Las técnicas que permiten optimizar el diseño de una base de datos han
evolucionado a medida que se desarrollan más aplicaciones. Las técnicas
se basan en la aplicación de la normalización para el desarrollo de bases
de datos, junto con una estrecha colaboración entre los administradores
de bases y desarrolladores de aplicaciones, así como técnicas de trabajo,
tanto en pre-producción como en los sistemas terminados.

1.1 Normalizar la base de datos

1.1.1 Introducción

El objetivo de la normalización es la construcción de un esquema de base


de datos que satisfacen propiedades de las formas normales.

Un esquema mal definido en la etapa de diseño puede conducir a una

3
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

serie de anomalías durante la fase operativa, tales como duplicación


de la información y anomalías durante las operaciones de actualización
(insertar, suprimir, modificar).

Estas anomalías no aparecerán si se descompone la base de datos desde


el principio.

El proceso de normalización implementa la aplicación de una serie de


reglas conocidas como “las formas normales”. Las tres primeras formas
normales ayudan a evitar la redundancia de información y a mejorar
el rendimiento de la base de datos, específicamente en las consultas.
Estas formas normales se basan en las dependencias funcionales entre
los atributos de un esquema de base de datos.

1.1.2 Primera forma normal (1FN).

Una tabla se encuentra en primera forma normal cuando sus atributos no


contienen grupos de repetición.

A continuación se presenta un ejemplo de aplicación de las formas


normales con una base de datos para una institución educativa.

En la estructura de la tabla, indicada en la siguiente figura se tiene un


grupo de repetición y por tanto no está en primera Forma Normal.

Alumnos

Nombres
NoMatricula
FechaNacimiento
NombrePapa
NombreMama

Una tabla con esta estructura presentan varios problemas. Por ejemplo,
si una pareja tiene más de un niño en la misma institución, debemos

4
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
introducir el nombre del Padre y la Madre varias veces por cada niño.
Esto forma un grupo de repetición. Por otra parte se puede presentar un
error tipográfico en el nombre del Padre, si no se introduce exactamente
el mismo nombre todo el tiempo, se pueden causar problemas cuando
ejecuten búsquedas así como en la presentación de informes.

Este problema se produce porque combinamos información en la misma


tabla. Ponemos la información de los padres y los niños en la misma
tabla. La solución para este problema es simple: crear una tabla separada
para la información de los padres, que se relacionan con la tabla de los
Alumnos a través de una relación uno a muchos, es decir, una pareja de
padres puede tener varios hijos.

Observe en la siguiente figura la relación de padres y alumnos


(representando los hijos).

Alumnos Padres
1
Documento Codigo
Nombre Nombrepadre
NoMatricula Nombremadre
FechaNacimiento Direccion
Padres Telefono

Las dos tablas resultantes de la aplicación de la Primera Forma Normal:


Padres y alumnos están ahora en primera forma normal.

1.1.3 Segunda forma normal (2FN).

Se produce cuando la clave principal está compuesta por más de un


campo. En este caso, todos los campos que dependan funcionalmente de
la clave principal forman una tabla y los campos que no se identifiquen
con la clave principal deben pertenecer a otra tabla.

Continuando con el ejemplo, ahora se tiene la tabla Cursos:

5
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

Cursos

NoMatricula
CodCurso
Nombre
Descripcion

Esta tabla tiene una clave primaria compuesta y no está en segunda forma
normal.

La clave principal está formada por la combinación de campos NoMatricula


y CodCurso. Al evaluar que campos dependen de la clave primaria, se
obtiene que el campo Descripción sólo depende del campo CodCurso,
es decir, que con el código de curso es posible encontrar su descripción,
independientemente del valor de NoMatricula. Por tanto este campo que
no es parte de la clave primaria y depende solamente de uno de los
campos que constituye la clave primaria compuesta, por lo que se puede
afirmar que este cuadro no está en Segunda forma normal.

Para solucionar esta situación: “se divide la tabla que no está en la segunda
forma normal en otras dos tablas, como se muestra en la siguiente figura,
y las dos tablas resultantes se encuentran en segunda forma normal.

Matriculas Cursos

NoMatricula CodCurso
CodCurso Descripcion
Nombre

Obteniendo Matriculas y Cursos en tablas separadas.

6
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

En conclusión la segunda forma está conectada con la aparición de claves


primarias compuestas.

1.1.4 Tercera forma normal (3FN).

La tercera forma normal revisa la dependencia funcional de los campos


con aquellos que no son clave, si esto ocurre, se deben extraer de la
tabla, sin que se pierda el vínculo existente con las tablas.

En el siguiente ejemplo algunos campos no dependen directamente de


la clave principal o parte de ella, sino que depende de otro campo de la
tabla, por tanto decimos que la tabla no está en tercera forma normal.

Funcionarios

NoMatricula
NomFuncionario
CodCargo
DescripCargo

El campo DesCargo sólo depende del CodCargo, que no forma parte de la


clave principal, por eso se puede afirmar que la tabla no está en tercera
forma normal.

Para solucionar este problema se debe dividir la tabla en otras dos, como
se indica en la siguiente figura. Las dos tablas resultantes se encuentran
en tercera forma normal.

7
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

Funcionarios Cursos

NoMatricula CodCurso
NomFuncionario DescripCargo
CodCurso

Como resultado del proceso de normalización, se obtiene un mayor


número de tablas, pero sin redundancia y problemas de inconsistencia de
los datos.

1.1.5 Consideraciones finales y problemas de la normalización.

La teoría de la normalización nos ayuda a estructurar mejor las tablas de


la base de datos, evitando posibles redundancias.

Mientras la normalización resuelve los problemas relacionados con la


estructuración de los datos en tablas, crea problemas añadidos a su propio
concepto, como es la ineficacia en la recuperación de información.

Así, el proceso de normalización envuelve la descomposición de una tabla


en tablas más pequeñas, lo cual requiere que la clave primaria de la tabla
original se incluya, como una clave foránea, en las nuevas tablas que
se forman. Esto significa que a medida que se van creando estas claves
foráneas se va incrementando las probabilidades de poner en peligro la
integridad de la base de datos.

Otro efecto adicional al número creciente de tablas en la base de datos,


es que se ve disminuido el rendimiento del sistema en la recuperación
de la información contenida, por tanto, en ciertas ocasiones es necesario
llegar a un equilibrio entre el nivel de normalización de la base de datos y
el rendimiento del sistema.

1.2 Desnormalizar la base de datos

Aunque la normalización se considera el objetivo del modelado de una


base de datos, eliminando la redundancia y dependencias incoherentes

8
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

entre las tablas, la desnormalización es decir, la duplicación de registros


para acelerar la recuperación de datos, puede ser útil en algunos casos:

•  uando las consultas más importantes se refieren a datos de varias


C
tablas.

• Cuando los cálculos se debe realizar en una o más columnas.

•  i las tablas se debe consultar de diferentes maneras por diferentes


S
usuarios en el mismo período.

• Si algunas tablas se utilizan con mucha frecuencia.

Para evaluar la opción de desnormalizar, se deben analizar las necesidades


en de acceso a los datos por las aplicaciones en su entorno y en función
de su rendimiento. En la mayoría de los casos, los problemas potenciales
de rendimiento pueden ser resueltos por una política de indexación y el
uso alternativo de la desnormalización.

La desnormalización puede hacerse de diferentes formas:

• Particionamiento horizontal: se utiliza para dividir una tabla en


varias tablas que contienen las mismas columnas, pero menos filas.

•  l particionamiento vertical: una tabla que se utiliza para dividir


E
en tablas separadas que contienen el mismo número de filas, pero
menos columnas.

• FusionTables: Tablas que se pueden combinar para eliminar la


unión entre ellos.

•  olumna de desnormalización: Se repite una columna en varias


C
tablas para evitar tener que crear combinaciones entre tablas.

2. LA OPTIMIZACIÓN DE CONSULTAS

En Bases de datos relacionales el lenguaje de consultas SQL es lo más


utilizado por los programadores y desarrolladores para obtener información
de la Base de datos. La complejidad que pueden alcanzar algunas
consultas puede ser tal, que el diseño de una consulta puede tomar un
tiempo considerable, obteniendo no siempre una respuesta optima.

9
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

El éxito de un proyecto de software depende de la experiencia y habilidad


del personal en el desarrollo.

Es una técnica para ahorro de tiempo en las consulta a través del algebra
relacional

2.1 Consultas SQL basadas en el álgebra relacional

En esta sección se revisarán los principales operadores del álgebra relacional


como una base para el desarrollo y el análisis (Plan de Implementación)
consultas.

El buen conocimiento de álgebra relacional ayuda a diseñar cualquier


consulta aunque sea demasiado complejo para implementar, utilizando el
lenguaje SQL. Las operaciones básicas del álgebra relacional son (unión,
intersección, diferencia, producto cartesiano) y luego operaciones propias
(proyección, selección, unión, la división). También se presentan las
operaciones de cálculo, agrupación, recuento y clasificación.

2.1.1 Operaciones del Algebra Relacional

2.1.1.1 Proyección

Esta operación permite extraer columnas (atributos) de una relación,


dando como resultado un subconjunto vertical de atributos de la relación.

La notación utilizada para representar esta operación es:

PROYECCIÓN = (R1, lista de atributos)

Donde R1, representa una relación (tabla).

Ejemplo

10
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

PRODUCTOS
Nombre Marca Precio
procesador AMD $500.000
procesador INTEL $600.000
procesador INTEL $50.000
Memoria USB OCZ $50.000

R1 R2

R1 = PROYECCIÓN (PRODUCTOS, Nombre)

PRODUCTOS
Nombre
procesador
Memoria USB

R1 PROYECCIÓN (PRODUCTOS, Nombre)

R2 = PROYECCIÓN (PRODUCTOS, Nombre, Marca)

PRODUCTOS
Nombre Marca
procesador AMD
procesador INTEL
Memoria USB OCZ

R2 PROYECCIÓN (PRODUCTOS, Nombre, Marca)

11
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

Este operador se aplica sólo a una relación y permite seleccionar sólo


ciertos atributos específicos de una relación, obteniendo todas las tuplas
de la relación sin duplicados.

2.1.1.2 Selección

Permite seleccionar de una relación (R) un subconjunto de tuplas que


cumplan con la(s) condición(es) P.

La notación utilizada para representar esta operación es:

R = SELECT (R1, condición)

Ejemplo:

PRODUCTOS
Especies Categoría Embalaje
Rosa Preservar Frasco
Rosa Seco Frasco
Sombrilla Costos Caja
Rosa Seco La bolsa de plástico

R3

R3 = SELECT (PRODUCTOS, Categoría = “seco”)

PRODUCTOS
Especies Categoría Embalaje
Rosa Seco Frasco
Rosa Seco La bolsa de plástico

R3 SELECT (PRODUCTOS, Categoría = "seco")

12
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

Este operador se aplica sólo a una relación.

Permite seleccionar sólo las tuplas que cumplen una condición que se
expresa utilizando los operadores aritméticos (=,>, <,> =, <=, <>) o la
lógica básica (AND, OR y NOT).

Todos los atributos de la relación se mantienen.

2.1.1.2 Operación de unión

La operación unión natural en el álgebra relacional es la que permite


reconstruir las tablas originales previas al proceso de normalización,
tomando la información de dos relaciones con un vínculo que corresponde
a una igualdad de atributos o los atributos de relación llave Primaria <->
llave Foránea.

Notación:

R = JOIN (R1, R2, la condición de la igualdad entre los


atributos)

Ejemplo:

PRODUCTOS DETALLE
CodPrd Descripción Precio por unidad No. CodPrd Cantidad
590A HD 1.6 GB $ 161.500 97001 590A 2
588J Escáner HP $ 170.000 97002 515J 4
515J LBP 660 $ 182.000 97003 515J 3

R = JOIN (PRODUCTO,DETALLE,producto.codprd=detalle.codprd)

13
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

CodPrd Descripción Precio por unidad No. CodPrd Cantidad


590A HD 1.6 GB $ 161.500 97001 590A 2
588J Escáner HP $ 170.000 97002 515J 4
515J LBP 660 $ 182.000 97003 515J 3

R JOIN (PRODUCTO,DETALLE,producto.codprd=detalle.codprd)

• ste operador incluye dos relaciones deben tener al menos un


E
atributo definido en el mismo campo (todos los valores permitidos
para un atributo).

•  a condición de unión puede ser aproximadamente igual a uno o


L
más atributos definidos en la misma zona (pero no necesariamente
con el mismo nombre).

•  as tuplas de la relación resultado se forman por la concatenación


L
de las tuplas de las relaciones de origen que cumplan la condición
de combinación.

Se pueden utilizar también condiciones al comando de unión como (<,>,


<=,> =, <>).

2.1.1.3 Intersección

La intersección, como en la teoría de conjuntos, corresponde al conjunto de


todas las tuplas que están en R y en S, siendo R y S uniones compatibles.

R = intersección (R1, R2)

Ejemplo:

14
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

Profesores Profesores
Código Nombre Sindicales
1 DIEGO
Código Nombre
3 DURAND 1 DIEGO
4 MARTIN 4 MARTIN
5 BERTRAND 6 MICHEL

R2

Se requiere saber que profesores son sindicales.

R2 = intersección (E1, E2)

Profesores
Código Nombre
1 DIEGO
4 MARTIN

R2 intersección (E1, E2)

Este operador incluye dos relaciones de patrón similar.

La relación resultado tiene los atributos de las relaciones de origen y las


tuplas comunes a cada uno.

2.1.1.4 Diferencia

La diferencia de dos relaciones, corresponde a las tuplas de una que no


tienen correspondencia con la otra relación. Dadas las relaciones R y S, se
denota la diferencia así:

15
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

R = DIFERENCIA (R, S)

Ejemplo:

Profesores Profesores
Código Nombre Sindicales
Código Nombre
1 DIEGO
3 DURAND 1 DIEGO
4 MARTIN 4 MARTIN
5 BERTRAND 6 MICHEL

R3

Se desea obtener una lista de profesores que no son representantes


sindicales.

DIFERENCIA R3 = (E1, E2)

Profesores
Código Nombre
3 DURAND
5 BERTRAND

R3 (E1, E2)

Este operador incluye dos relaciones de patrón similar.

La relación resultado tiene los atributos de las relaciones de origen y las


tuplas de la primera relación que no pertenece a la segunda.

16
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

2.1.1.6 Producto

Corresponde a una combinación de todas las tuplas de R con cada una de


las tuplas de S, y sus atributos corresponden a los de R seguidos por los
de S.

R = PRODUCTO (R1, R2)

Ejemplo:

Estudiantes Pruebas
Código Nombre Curso Crédi
101 DURAND Informática 2
102 MARTIN Matemáticas 3
Financiera 5

Producto
Código Nombre Curso Créditos
101 DURAN Informática 2
101 DURAN Matemáticas 3
101 DURAN Financiera 5
102 MARTIN Informática 2
102 MARTIN Matemáticas 3
102 MARTIN Financiera 5

R Comentario = PRODUCTO (Estudiantes, Eventos)

17
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

Este operador incluye dos relaciones.

El resultado tiene relación con los atributos de cada una de las relaciones
de origen y sus tuplas se forman mediante la concatenación de cada tupla
de la primera relación con todas las tuplas de la segunda.

2.2 Selección de índices

Un índice es una lista (‘encabezados’) e indicadores asociados que permite


la ubicación de datos en una base de datos.

Todos los sistemas de gestión de bases de datos actuales utilizan los


índices para acelerar el tiempo de respuesta de las consultas. El tipo más
simple del índice es una lista ordenada ligada a los contenidos de una
columna en particular de una tabla, con punteros a la línea de la tabla
asociada con el valor del índice original. Un índice permite que varias
líneas en una tabla que satisfacen una condición, puedan ser localizadas
rápidamente. Normalmente, los índices se almacenan en la estructura
de datos comunes (como los árboles-B o listas enlazadas). Cada Índice
ocupa un espacio y, además, un índice debe ser actualizado cada vez que
se realicen operaciones de inserción o borrado sobre los campos en los
que se construyó.

Si bien un índice ahorra tiempo en las consultas sobre los datos, aumenta
el costo de inserción y actualización.

2.2.1 Finalidad de los índices

Los objetivos principales para construir un índice pueden resumirse así:

• Optimizar el tiempo de respuesta de una consulta

•  ara asegurar la unicidad de los valores para una columna o un


P
conjunto de columnas

La utilización de índices es muy recomendable para mejorar el rendimiento


de las consultas, generalmente uno de los primeros índices en las tablas
es la clave principal. Para construir los índices se requiere tener los
privilegios necesarios, así que por lo general esta actividad la realizan los
administradores de la BD.

18
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

2.2.2 Cuando se utiliza un índice

Los SMBD automáticamente utilizan los índices, identificando las columnas


a indexar y el tipo de contenido. Algunas de las normas que le permiten
decidir cuándo utilizar el índice se presentan a continuación:

• La columna indizada debe estar referenciada en la cláusula WHERE.

Ejemplo:

SELECT nombre, apellido, dirección


FROM empleado
En la consulta anterior no se utiliza el índice porque no tiene
ninguna cláusula WHERE.
La siguiente consulta utiliza el índice creado para la columna
Apellido:
SELECT *
FROM Empleado
WHERE Apellido=”Rodríguez”
•  l índice no se utiliza si a la columna se hace referencia con una
E
función.

En el ejemplo siguiente, si existiese un índice sobre la columna fecha no


se utilizaría debido a que la columna es parte de una función:

SELECT *
FROM Empleado
WHERE FUNCION (fecha) > 100
En el ejemplo siguiente, el índice no se utilizaría porque la
columna es parte de una expresión:
SELECT *
FROM Empleado
WHERE fecha+7=”30-jun-2012”

2.2.3 Los índices y combinaciones

Si no hay índices en las columnas que sirven para llevar a cabo la unión
equivalente, se realiza una operación de SORT / MERGE para responder a
la consulta. Esto significa que cada tabla se ordena por separado, y luego
las dos se unen.

19
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Diseño e Implementación de Cubos de Datos

2.3 Estimación de Costes

Para llevar a cabo esta optimización, se requiere información específica


estrictamente dependiente del sistema y pueden incluir cosas tales como
el tamaño del archivo, la estructura de los mismos, la disponibilidad de
los índices, el porcentaje de registros para recuperar de cada tabla, etc.

Dado que el objetivo de cualquier optimización es reducir al mínimo el


número de registros extraídos y el tiempo de extracción, se utiliza para el
proceso de optimización información sobre la estructura de base de datos
y la distribución de datos, con lo cual se asigna un “costo”, estimado en
términos de tiempo y el número de registros que se extrae de cada tabla
así como el número de accesos para cada operación.

Se evalúa a partir de la suma total de estos costos y se puede seleccionar


la mejor secuencia para la extracción eficiente de los datos.

Los costos se asignan más o menos en función de toda la información


que el sistema mantiene en las tablas, archivos, etc. Esta información
requiere tiempo y recursos, por lo que cada sistema almacena un bloque
de información y actualiza (reconstrucción) de vez en cuando. Si en la base
de datos se lleva a cabo muchas operaciones que implican la destrucción
y reconstrucción de varias tablas de cero, la eficacia de este método de
optimización estará seriamente comprometida.

20
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
GLOSARIO

BI: Business Intelligence – Inteligencia de negocios

CRISP-DM: Cross Industry Standard Process for Data Mining

Data mining: Minería de datos

DMAMC: Definir, Medir, Analizar, Mejorar, Controlar

DW: Data Warehouse - Bodega de datos

KDD: Knowledge Discovery in Databases

LDAP: Lightweight Directory Access Protocol - Protocolo ligero de acceso


a directorios

MER: Modelo Entidad Relación

OLAP: OnLine Analytical Processing – Procesamiento analítico en línea

OLTP: OnLine Transaction Processing - Procesamiento de transacciones


en línea

SEMMA: Sample, Explore, Modify, Model, Assess

21
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
BIBLIOGRAFÍA

Date, C.(2001). Introducción a los sistemas de bases de datos (7 Edición).


Mexico: Editorial: Pearson Education, Capitulo 21 : Apoyo a la toma de
decisiones.

Gallardo J. (2009). Metodología para la Definición de Requisitos en Proyectos


de Data Mining (ER-DM). Recuperado el 28 de mayo de 2012 desde:
http://oa.upm.es/1946/1/JOSE_ALBERTO_GALLARDO_ARANCIBIA.pdf

Hernández J., Ramírez J.y Ferri R. (2008). Introducción a la minería de


datos, Madrid, España: Editorial: Pearson Prentice Hall.

Kroenke, D, (2003). Procesamiento de Bases de Datos, Editorial: Prentice


Hall.

Laudon, C. y Laudon, P. (2008). Sistemas de Informacion Gerencial -


Administracion de la empresa digital (10 Edición). Mexico: Editorial
Pearson Prentice Hall, Capitulo 6: Fundamentos de la inteligencia de
negocios: administración de bases de datos e información.

Pérez, César y González D, (2007.) Mineria de datos Técnicas y


herramientas, Madrid, España: Editorial:Thomson.

Sevilla, E. (2003). Guía metodológica para la definición y desarrollo de


un DW. Recuperado el 31 de mayo de 2012 desde: http://biblioteca.uam.
edu.ni/opac_tes/009/00902630.pdf

Silberschatz, A. Korth, H. y Sudarshan, S. (2002). Fundamentos de bases


de datos (4ta Edición). Madrid, España: Editorial McGraw Hill, Parte 7,
Capítulo 22.

22
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Control de documento
Construcción Objeto de Aprendizaje
Diseño e Implementación de Cubos de Datos
Desarrollador de contenido Alejandro Pinzón Roberto
Experto temático
Asesor pedagógico Rafael Neftalí Lizcano Reyes
Producción Multimedia Luis Fernando Botero Mendoza
Victor Hugo Tabares
Programadores Daniel Eduardo Martínez
Grateful Dead Montaño Sierra
Líder expertos temáticos Ana Yaqueline Chavarro Parra
Líder línea de producción Santiago Lozada Garcés

23
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Das könnte Ihnen auch gefallen