apuntes topicos avanzados de bases de datos ver 2011b

73
Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática Tópicos Avanzados de Bases de Datos Mauricio Ramos Dávila 1 Unidad 1 Modelos Emergentes de Bases de Datos Introducción Las Bases de datos orientados a objetos se propusieron con la idea de satisfacer las necesidades de las aplicaciones más complejas. El enfoque orientado a objetos ofrece la flexibilidad para cumplir con algunos de estos requerimientos sin estar limitado por los tipos de datos y los lenguajes de consulta disponibles en los sistemas de bases de datos tradicionales. Hoy en día estamos asistiendo a una auténtica revolución. Los avances en las comunicaciones y las nuevas tecnologías están acercando la información al usuario final, así como facilitando su procesamiento. Uno de los cambios más importantes, tiene que ver con el soporte y canal de transmisión de la información. Internet y las Tecnologías Web, han conseguido que el usuario esté familiarizado con información hipermedia, incluyendo texto, imágenes, audio y vídeo. Cualquier ordenador conectado a la red constituye una fuente fácil de entrada de información y de servicios. Este hecho hace que cada vez cobre más fuerza la idea de que nos encontramos inmersos en una ―sociedad de la información‖. World Wide Web, o simplemente Web, constituye uno de los intentos más recientes y a la vez más poderosos de sistematizar y simplificar el acceso a la información en Internet. Este nuevo sistema ha revolucionado la forma en que los usuarios se comunican y utilizan los servicios de la llamada ―red de redes‖, y constituye la causa fundamental del espectacular aumento en el número de personas que usan Internet y de la popularidad e importancia que ha adquirido en la actualidad. La Tecnología Web permite el desarrollo de aplicaciones distribuidas basadas en el modelo Cliente/Servidor. Las aplicaciones web suponen un importante cambio de enfoque con respecto al desarrollo de aplicaciones tradicionales. Su principal característica consiste en que la comunicación con el usuario se establece utilizando páginas web, que se pueden visualizar desde un navegador que se esté ejecutando en cualquier ordenador conectado a la red. Otra característica importante, consiste en que el código de la aplicación se puede ejecutar en el cliente, en el servidor o distribuirse entre ambos. Además debido al gran volumen de información que se maneja, las aplicaciones web suelen utilizar una Base de Datos, para organizar y facilitar el acceso a la información.

Upload: elcodi13

Post on 03-Aug-2015

336 views

Category:

Documents


18 download

TRANSCRIPT

Page 1: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 1

Unidad 1 Modelos Emergentes de Bases de Datos

Introducción

Las Bases de datos orientados a objetos se propusieron con la idea de satisfacer las necesidades de las aplicaciones más complejas. El enfoque orientado a objetos ofrece la flexibilidad para cumplir con algunos de estos requerimientos sin estar limitado por los tipos de datos y los lenguajes de consulta disponibles en los sistemas de bases de datos tradicionales. Hoy en día estamos asistiendo a una auténtica revolución. Los avances en las comunicaciones y las nuevas tecnologías están acercando la información al usuario final, así como facilitando su procesamiento. Uno de los cambios más importantes, tiene que ver con el soporte y canal de transmisión de la información. Internet y las Tecnologías Web, han conseguido que el usuario esté familiarizado con información hipermedia, incluyendo texto, imágenes, audio y vídeo. Cualquier ordenador conectado a la red constituye una fuente fácil de entrada de información y de servicios. Este hecho hace que cada vez cobre más fuerza la idea de que nos encontramos inmersos en una ―sociedad de la información‖. World Wide Web, o simplemente Web, constituye uno de los intentos más recientes y a la vez más poderosos de sistematizar y simplificar el acceso a la información en Internet. Este nuevo sistema ha revolucionado la forma en que los usuarios se comunican y utilizan los servicios de la llamada ―red de redes‖, y constituye la causa fundamental del espectacular aumento en el número de personas que usan Internet y de la popularidad e importancia que ha adquirido en la actualidad. La Tecnología Web permite el desarrollo de aplicaciones distribuidas basadas en el modelo Cliente/Servidor. Las aplicaciones web suponen un importante cambio de enfoque con respecto al desarrollo de aplicaciones tradicionales. Su principal característica consiste en que la comunicación con el usuario se establece utilizando páginas web, que se pueden visualizar desde un navegador que se esté ejecutando en cualquier ordenador conectado a la red. Otra característica importante, consiste en que el código de la aplicación se puede ejecutar en el cliente, en el servidor o distribuirse entre ambos. Además debido al gran volumen de información que se maneja, las aplicaciones web suelen utilizar una Base de Datos, para organizar y facilitar el acceso a la información.

Page 2: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 2

1.1. Bases de Datos Orientada a Objetos

1.1.1 Definición y conceptos de las bases de datos orientada a objetos

Como cualquier Bases de Datos programable, una Base de Datos Orientada a Objetos (BDOO) proporciona un ambiente para el desarrollo de aplicaciones y un depósito persistente listo para su explotación. Una BDOO almacena y manipula información que puede ser digitalizada (presentada) como objetos, además proporciona un acceso ágil y permite una gran capacidad de manipulación.

Los principales conceptos que se utilizan en las Bases de Datos Orientada a Objetos (BDOO) son las siguientes:

• Identidad de objetos

• Constructores de tipos

• Encapsulamiento

• Compatibilidad con los lenguajes de programación

• Jerarquías de tipos y herencia

• Manejo de objetos complejos

• Polimorfismo y sobrecarga de operadores

• Creación de versiones.

BDOO

Está diseñada para simplificar la POO almacena objetos directamente en la base de datos empleando las mismas estructuras que lenguajes de programación.

Page 3: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 3

SGBOO

Es un sistema de objetos y un sistema de base de datos que almacena objetos permitiendo la concurrencia y recuperación. Pueden tratar directamente con los objetos sin hacer la traducción a tablas registros, para los programadores de aplicación (general o específica) los objetos se conservan en su forma y tamaño pueden compartirse con múltiples usuarios.

Niveles de abstracción

• Interno.- Como se van a guardar los objetos (disco duro)

• Conceptual.- Como guardar la estructura

• Externo.- Lo que vamos a mostrar al usuario (interfaz)

Consideraremos el problema de almacenar un coche en el garaje en un sistema de objetos, el coche es un objeto, el garaje es un objeto y hay una operación simple que es almacena el coche en el garaje. En el sistema relacional todos los datos se traducen en tablas, entonces el coche debe de ser desarmado, las llantas se colocan en un lugar, los birlos en otro lugar, por la mañana antes de salir hay que componer el coche antes de conducir.

Ejemplos de las aplicaciones de la BDOO

Diseño asistido por computadora CAD

Fabricación asistida por computadora CAM

Ingeniería de software asistido por computadora CASE

Sistemas de gestión de red

Sistemas de información de oficina y sistemas multimedia OIS

Sistema autoedición digital

Sistemas de información geográfica GIS

Sistemas Web interactivos dinámicos

Los sistemas de gestión de bases de datos orientadas a objetos surgen debido a la falta de capacidad semántica del Modelo Relacional para atender nuevos tipos de aplicaciones mencionadas anteriormente. Este tipo de aplicaciones necesita trabajar con datos de forma diferente a lo que conocemos porque necesitan:

Estructuras más complejas para los objetos.

Transacciones de mayor duración.

Nuevos tipos de datos para almacenar imágenes o grandes bloques de texto

Necesidad de definir operaciones no estándar, específicas para cada aplicación.

Controlar versiones y configuraciones.

Page 4: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 4

1.1.2 El modelo de datos orientado a objetos

Los conceptos asociados a la OO en una BD son:

polimorfismo Abstracción

Herencia Encapsulamiento

Métodos Métodos de información

Identidades objetos y atributos

Mensajes Clases

Modelo de datos orientado a objetos (OODM)

Objeto Entidad

Atributo Atributo

Asociación Relación

Mensaje

Clase Tipo/entidad

Instancia Entidad

Propiedades de un sistema gestor orientado a objetos SGDBOO

Persistencia.- es una propiedad muy importante en un Sistema operativo moderno al eliminar la dualidad de tratamiento del almacenamiento a corto y a largo plazo, inclusión de la persistencia dentro del SO. Puede servir como base para un desarrollo más fácil e integrado de otras herramientas como sistemas de gestión de BDOO.

Dependiendo del número de operaciones debe de estar actualizándose a los objetos, propiedad por la cual puede sobrevivir durante el tiempo que sea requerida, en la persistencia completa todos los objetos son persistentes siempre no es necesario indicar de manera específica cuales son los objetos persistentes.

Concurrencia.- donde los objetos llevan acciones que pueden comportarse como servidores ante la petición de otros que asumen el papel de clientes, se intenta alcanzar la máxima concurrencia garantizando siempre las correcciones de las operaciones que se efectúen y con ello la consistencia en el estado del objeto.

Control de acceso.- cada objeto individualmente decide quien puede acceder a el y quien no, además el acceso se permite en función de la clasificación del objeto y del tipo de sujeto que quiere acceder al mismo.

Procesamiento de consultas Ad Hoc.- utilizando el propio lenguaje LPOO para consultar a la BDOO, permite al usuario hacer cuestiones sencillas a la BD, este tipo de consultas tiene como objetivo proporcionar la información solicitada por el usuario de una forma correcta y rápida.

Page 5: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 5

1.1.3 El estándar ODMG.

Estándar ODMG Estructura de SQL

• DDL (Lenguaje de Definición de Datos) Sus operaciones son: Crear, Modificar y Eliminar tablas de una base de datos.

• MDL (Lenguaje de Manipulación De Datos) Se encarga de insertar, eliminar y Actualizar los registros de una base de datos.

El Estándar ODMG es un producto de consorcio internacional OMG, el cual principalmente proporciona técnicas orientadas a objetos para la ingeniería de software. Sus estándares

pueden ser aceptados por empresas certificadas como ISO.

El estándar OSMG es el modelo para la semántica de los objetos de una base de datos. Permite portar tanto los diseños como las implementaciones en diversos sistemas compatibles. Está compuesto por:

• Lenguaje de manipulación de objeto OML Es una extensión de lenguaje de programación de forma que se puedan realizar las siguientes operaciones: crear un objeto, borrar, modificar e identificar un objeto.

• Lenguaje de definición de objeto ODL Es el equivalente a IDL en MBDR. Define los atributos y las relaciones entre tipos y especifica la asignatura de operaciones, facilita la portabilidad de los esquemas entre los sistemas compatibles entre si

• Lenguaje de Consulta de objetos OQL Proporciona un acceso declarativo a los objetos. Tiene una sintaxis muy similar a SQLO, no proporciona operadores explícitos para la modificación se basa en los objetos creados para ese fin. No es computacionalmente completo sin embargo las consultas pueden invocar métodos e inversamente los métodos escritos en cualquier lenguaje de programación puede incluir consultas.

• Enlaces con lenguajes C++, Java, Smaltalk.

Un grupo de representantes de la industria de las bases de datos formaron el ODMG (ObjectDatabase Management Group) con el propósito de definir estándares para los SGBD orientados a objetos. Este grupo propuso un modelo estándar para la semántica de los objetos de una base de datos. Su última versión, ODMG 3.0, apareció en enero de 2000. Los principales componentes de la arquitectura ODMG para un SGBD orientado a objetos son los siguientes:

Modelo de objetos.

Lenguaje de definición de objetos (ODL).

Lenguaje de consulta de objetos (OQL).

Conexión con los lenguajes C++, Smalltalk y Java.

Page 6: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 6

Nota: ODMG es el acrónimo de ObjectDatabase Management Group. Se usa tanto para definir el grupo de personas y empresas encargadas de desarrollar el modelo de objetos para persistencia, así como para la definición de dicho estándar.

Este modelo especifica los elementos que se definirán, y en qué manera se hará, para la consecución de persistencia en las Bases de Datos Orientadas a Objetos que soporten el estándar. Consta de un lenguaje de definición de objetos, ODL, que especifica los elementos de este modelo.

1.1.4 Encapsulamiento, herencia y polimorfismo en BDOO. Los orígenes del término orientados a objetos (abreviado OO) se remontan a los lenguajes de programación orientadas a objetos.

Los lenguajes de programación OO tienen sus raíces en el lenguaje SIMULA 67, propuesto a finales de la década de 1960. En Simula, el concepto de clase agrupa la estructura de datos interna de un objeto en una declaración de clase, es decir introduce en Algol los conceptos de objetos y de clase. Como Algol, Simula es un lenguaje fuertemente tipado para entornos compilados. Sin embargo, el primer lenguaje que popularizó la aproximación a objetos fue Smalltalk (1976); este puede considerarse una síntesis de años Lisp, que ofrece una gran flexibilidad gracias a la interpreación, y de Simula, añadiendo el concepto de metaclase. Smalltalk ha podido responder a las necesidades de flexibilidad presentadas por el desarrollo de entornos de programación gráficos, favoreciendo la rápida creación de prototipos de interfaces de usuarios amigables. Fue utilizado con éxito en la primera estación gráfica de Xerox para (el antecesor de Macintosh).

Con la llegada de las estaciones de trabajo en los años 80, han crecido numerosos lenguajes orientados a objetos inspirados en Simula o Smalltalk Entre los lenguajes compilados, los más celebres son C++, Objective C y Ediffel, debido a la compatibilidad del lenguaje o del código producido con el C. La mayor parte de los lenguajes interpretados son extensiones del Lisp; por ejemplo, Loops y Clos.

Es interesante notar que la mayor parte de los lenguajes populares existentes se encuentran en curso de ampliación para convertirse en orientados a objetos, incluyendo al Cobol y Ada (más exactamente Ada 9X, que aporta la herencia).

En años recientes, han aparecido muchos prototipos experimentales y sistemas de bases de datos comerciales orientados a objetos. Entre los primeros se encuentran los sistemas ORION, Open

Page 7: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 7

OODB? , IRIS, ODE y el proyecto Ob Server?. Y entre los sistemas disponibles en el mercado están : GESTONE/OPAL de ServioLogic?, ONTOS de Ontologic, Objectivity de Objectivity Inc., Versant de Versant Technologies, ObjecStore?deObjectDesign y O2 de O2 Technology. Esta es solo una lista parcial de los prototipos experimentales y de los sistemas de bases de datos comerciales orientados a objetos. Desafortunadamente, es aún demasiado pronto para saber cuáles sistemas se instalarán como líderes en este campo.

Las bases de datos orientados a objetos han adoptado muchos de los objetos creados para los lenguajes de programación orientados a objetos.

Referencia: http://mundogeek.net/archivos/2007/10/15/el-lenguaje-de-programacion-mas-popular-en-2012/

1.1.5 Persistencia, concurrencia y recuperación en BDOO.

Persistencia Es la capacidad que tiene el programador para que sus datos se conserven al finalizar la ejecución de un proceso, de forma que se puedan reutilizar en otros procesos.

Concurrencia Se relaciona con la existencia de muchos usuarios interactuando concurrentemente en el sistema. Este debe controlar la interacción entre las transacciones concurrentes para evitar que se destruya la consistencia de la base de datos.

Recuperación

Page 8: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 8

Proporcionar como mínimo el mismo nivel de recuperación que los sistemas de bases de datos actuales. De forma que, tanto en caso de fallo de hardware como de fallo de software, el sistema pueda retroceder hasta un estado coherente de los datos.

1.2 Bases de datos multidimensionales (BDM).

Las bases de datos multidimensionales se utilizan principalmente para crear aplicaciones OLAP y pueden verse como bases de datos de una sola tabla, su peculiaridad es que por cada dimensión tienen un campo (o columna), y otro campo por cada métrica o hecho, es decir estas tablas almacenan registros cuyos campos son de la forma:

(d1,d2,d3,...,f1,f2,f3,...)

Donde los campos 'di' hacen referencia a las dimensiones de la tabla, y los campos 'fi' a las métricas o hechos que se quiere almacenar, estudiar o analizar.

Bases de datos multidimensionales vs. Cubos OLAP

Cada una de estas tablas puede asimilarse a un hipercubo o -más concretamente si de herramientas OLAP se trata- a un cubo OLAP, donde las dimensiones del mismo se corresponden los campos de dimensiones de la tabla (campos 'di...'), y el valor almacenado en cada celda del cubo equivale a la métrica o métricas (campos 'fi...') almacenadas en la tabla.

Implementación

Lo más importante a tener en cuenta para implementar esta estructura de datos es que la tabla contiene todas las n-tuplas, con los valores de las dimensiones, o índice del cubo, y los valores de las métricas previamente calculados para el cruce de valores del índice en cuestión.

Ejemplo

Dada la siguiente especificación para una tabla (o hipercubo) en una base de datos multidimensional:

Dimensión (Tiempo,Productos) Jerarquía (Año->Semestre->Mes->Semana),(Categoría->Línea->Marca) Elementos (2006, 2007, ..., S1-06, ..., Ene-06, ..., 200625....), (Todos, Máquinas, Refacciones, Máquinas caras, Máquinas Baratas, Máquina 1,...) Hechos (Ventas, Inventario, Defectos, Devoluciones) Métricas (PD:=Devoluciones/Ventas, %Defectos)

la tabla resultante podría tener la forma siguiente:

Tabla

Tiempo Productos Ventas Inventario Defectos Devoluciones P/D %Defectos

2006 Todos 1000 200 50 10 1/100 5%

Ene06 Máquina 1 10 100 10 10 10/10 100%

Page 9: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 9

Base de datos Multivaluada

Las bases de datos Multivaluadas (multivaluedatabase) son un tipo especial de base de datos multidimensionales, también llamadas bases de datos PICK por el primer desarrollo que se realizo

de este tipo, la aplicación "Pick operatingsystem".

Historia

El modelo de datos multivaluado fue definido por Don Nelson a mediados de los 60, y en 1968 se realizó la primera implementación de un sistema de bases de datos multidimensional, este desarrollo se atribuye a Dick Pick (de ahí que también se utilice el termino Base de datos Pick

para este tipo de bases de datos).

Concepto

El modelo de datos más extendido es el modelo relacional, este modelo se basa en las leyes de la normalización de bases de datos; según estas normas, y concretamente, según la primera forma normal, un campo de una base de datos no puede contener valores múltiples. En una base de datos Multivaluadas no se aplica la regla de la primera forma normal, es decir, se permite que un campo pueda tener más de un valor almacenado.

Ejemplo

Supongamos una base de datos en la que queremos almacenar información de clientes; se supone que cada cliente puede tener más de un teléfono. En el modelo relacional habría que crear dos

tablas o relaciones como estas:

Tabla 'Cliente'

ID Nombre Apellido

123 Rachel Ingram

456 James Wright

Page 10: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 10

789 María Fernández

Tabla 'Teléfono cliente'

ID Cliente Teléfono

123 555-861-2025

456 555-403-1659

456 555-776-4100

789 555-808-9633

En el modelo Multivaluadas la siguiente tabla (que no cumple la primera forma normal) es

perfectamente válida:

Tabla 'Cliente'

ID Cliente Nombre Apellido Teléfono

123 Rachel Ingram 555-861-2025

456 James Wright 555-403-1659

555-776-4100

789 Maria Fernandez 555-808-9633

Page 11: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 11

1.2.1 Definición y conceptos de las BDM.

Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creación de Cubos OLAP. Básicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en una base de datos relacional podría serlo también en una base de datos multidimensional), la diferencia está más bien a nivel conceptual; en las bases de datos multidimensionales los campos o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o bien representan métricas que se desean estudiar.

Un cubo OLAP, OnLine Analytical Processing o procesamiento Analítico En Línea, término acuñado por Edgar Frank Codd de EF Codd & Associates, encargado por Arbor Software (en la actualidad Hyperion Solutions), es una base de datos multidimensional, en la cual el almacenamiento físico de los datos se realiza en un vector multidimensional. Los cubos OLAP se pueden considerar como una ampliación de las dos dimensiones de una hoja de cálculo. A menudo se pensaba que todo lo que los usuarios pueden querer de un sistema de información se podría hacer de una base de datos relacional. No obstante Codd fue uno de los precursores de las bases de datos relacionales, por lo que sus opiniones fueron y son respetadas.

Page 12: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 12

1.2.2 Modelos conceptuales multidimensionales.

Que es un Data WareHouse?

En el contexto de la informática, un almacén de datos (del inglés data warehouse) es una colección de datos orientada a un determinado ámbito (empresa, organización, etc.), integrado, no volátil y variable en el tiempo, que ayuda a la toma de decisiones en la entidad en la que se utiliza. Se trata, sobre todo, de un expediente completo de una organización, más allá de la información transaccional y operacional, almacenado en una base de datos diseñada para favorecer el análisis y la divulgación eficiente de datos (especialmente OLAP, procesamiento analítico en línea). El almacenamiento de los datos no debe usarse con datos de uso actual. Los almacenes de datos contienen a menudo grandes cantidades de información que se subdividen a veces en unidades lógicas más pequeñas dependiendo del subsistema de la entidad del que procedan o para el que sea necesario.

Bill Inmon fue uno de los primeros autores en escribir sobre el tema de los almacenes de datos, define un data warehouse (almacén de datos) en términos de las características del repositorio de datos:

Orientado a temas.- Los datos en la base de datos están organizados de manera que todos los elementos de datos relativos al mismo evento u objeto del mundo real queden unidos entre sí.

Variante en el tiempo.- Los cambios producidos en los datos a lo largo del tiempo quedan registrados para que los informes que se puedan generar reflejen esas variaciones.

No volátil.- La información no se modifica ni se elimina, una vez almacenado un dato, éste se convierte en información de sólo lectura, y se mantiene para futuras consultas.

Integrado.- La base de datos contiene los datos de todos los sistemas operacionales de la organización, y dichos datos deben ser consistentes.

Inmon defiende una metodología descendente (top-down) a la hora de diseñar un almacén de datos, ya que de esta forma se considerarán mejor todos los datos corporativos. En esta metodología los Data marts se crearán después de haber terminado el data warehouse completo de la organización. Definición de Ralph Kimball Éste es otro conocido autor en el tema de los data warehouse, define un almacén de datos como: "una copia de las transacciones de datos específicamente estructurada para la consulta y el análisis". También fue Kimball quien determinó que un data warehouse no era más que: "la unión de todos los Data marts de una entidad". Defiende por tanto una metodología ascendente (bottom-up) a la hora de diseñar un almacén de datos.

Page 13: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 13

Una definición más amplia de almacén de datos Las definiciones anteriores se centran en los datos en sí mismos. Sin embargo, los medios para obtener y analizar esos datos, para extraerlos, transformarlos y cargarlos, así como las diferentes formas para realizar la gestión de datos son componentes esenciales de un almacén de datos. Muchas referencias a un almacén de datos utilizan esta definición más amplia. Por lo tanto, en esta definición se incluyen herramientas para la inteligencia empresarial, herramientas para extraer, transformar y cargar datos en el almacén de datos, y herramientas para gestionar y recuperar los metadatos.

Objetivos de un data warehouse En un almacén de datos lo que se quiere es contener datos que son necesarios o útiles para una organización, es decir, que se utiliza como un repositorio de datos para posteriormente transformarlos en información útil para el usuario. Un almacén de datos debe entregar la información correcta a la gente indicada en el momento óptimo y en el formato adecuado. El almacén de datos da respuesta a las necesidades de usuarios expertos, utilizando Sistemas de Soporte a Decisiones (DSS), Sistemas de información ejecutiva (EIS) o herramientas para hacer consultas o informes. Los usuarios finales pueden hacer fácilmente consultas sobre sus almacenes de datos sin tocar o afectar la operación del sistema. En el funcionamiento de un almacén de los datos son muy importantes las siguientes ideas:

Integración de los datos provenientes de bases de datos distribuidas por las diferentes unidades de la organización y que con frecuencia tendrán diferentes estructuras (fuentes heterogéneas). Se debe facilitar una descripción global y un análisis comprensivo de toda la organización en el almacén de datos.

Separación de los datos usados en operaciones diarias de los datos usados en el almacén de datos para los propósitos de divulgación, de ayuda en la toma de decisiones, para el análisis y para operaciones de control. Ambos tipos de datos no deben coincidir en la misma base de datos, ya que obedecen a objetivos muy distintos y podrían entorpecerse entre sí.

Periódicamente, se importan datos al almacén de datos de los distintos sistemas de planeamiento de recursos de la entidad (ERP) y de otros sistemas de software relacionados con el negocio para la transformación posterior. Es práctica común normalizar los datos antes de combinarlos en el almacén de datos mediante herramientas de extracción, transformación y carga (ETL). Estas herramientas leen los datos primarios (a menudo bases de datos OLTP de un negocio), realizan el proceso de transformación al almacén de datos (filtración, adaptación, cambios de formato, etc.) y escriben en el almacén.

Page 14: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 14

Los objetivos fundamentales de un Data WareHouse son:

Hace que la información de la organización sea accesible: los contenidos del Data WareHouse son entendibles y navegables, y el acceso a ellos son caracterizado por el rápido desempeño. Estos requerimientos no tienen fronteras y tampoco limites fijos. Cuando hablamos de entendible significa, que los niveles de la información sean correctos y obvios. Y navegables significa el reconocer el destino en la pantalla y llegar a donde queramos con solo un clic. Rápido desempeño significa, cero tiempo de espera. Todo lo demás es un compromiso y por consiguiente algo que queremos mejorar.

Hacer que la información de la organización sea consistente: la información de una parte de la organización puede hacerse coincidir con la información de la otra parte de la organización. Si dos medidas de la organización tienen el mismo nombre, entonces deben significar la misma cosa. Y a la inversa, si dos medidas no significan la misma cosa, entonces son etiquetados diferentes. Información consistente significa, información de alta calidad. Significa que toda la información es contabilizada y completada. Todo lo demás es un compromiso y por consiguiente algo que queremos mejorar.

Es información adaptable y elástica: el Data WareHouse esta diseñado para cambios continuos. Cuando se le hacen nuevas preguntas al Data WareHouse, los datos existentes y las tecnologías no cambian ni se corrompen. Cuando se agregan datos nuevos al Data WareHouse, los datos existentes y las tecnologías tampoco cambian ni se corrompen. El diseño de Data Marts separados que hacen al Data WareHouse, deben ser distribuidos e incrementados. Todo lo demás es un compromiso y por consiguiente algo que queremos mejorar.

Es un seguro baluarte que protege los valores de la información: el Data WareHouse no solamente controla el acceso efectivo a los datos, si no que da a los dueños de la información gran visibilidad en el uso y abusos de los datos, aún después de haber dejado el Data WareHouse. Todo lo demás es un compromiso y por consiguiente algo que queremos mejorar.

Es la fundación de la toma de decisiones: el Data WareHouse tiene los datos correctos para soportar la toma de decisiones. Solo hay una salida verdadera del Data WareHouse: las decisiones que son hechas después de que el Data WareHouse haya presentado las evidencias. La original etiqueta que preside el Data WareHouse sigue siendo la mejor descripción de lo que queremos construir: un sistema de soporte a las decisiones.

Los elementos básicos de un Data WareHouse

Sistema fuente: sistemas operacionales de registros donde sus funciones son capturar las transacciones del negocio. A los sistemas fuentes también se le conoce como LegacySystem.

Área de tráfico de datos: es un área de almacenamiento y grupo de procesos, que limpian transforman, combinan, remover los duplicados, guardan, archivan y preparan los datos fuente para ser usados en el Data WareHouse.

Servidor de presentación: la maquina física objetivo en donde los datos del Data WareHouse son organizados y almacenados para queries directos por los usuarios finales, reportes y otras aplicaciones.

Modelo dimensional: una disciplina específica para el modelado de datos que es una alternativa para los modelos de entidad – relación.

Procesos de negocios: un coherente grupo de actividades de negocio que hacen sentido a los usuarios del negocio del Data WareHouse.

Data Mart: un subgrupo lógico del Data WareHouse completo.

Data WareHouse: búsquedas fuentes de datos de la empresa. Y es la unión de todos los data marts que la constituyen.

Almacenamiento operacional de datos: es el punto de integración por los sistemas operacionales. Es el acceso al soporte de decisiones por los ejecutivos.

OLAP: actividad general de búsquedas para presentación de texto y números del Data WareHouse, también un estilo dimensional especifico de búsquedas y presentación de información y que es ejemplificada por vendedores de OLAP.

Page 15: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 15

ROLAP: un grupo de interfaces de usuarios y aplicaciones que le dan a la base de datos relacional un estilo dimensional.

MOLAP: un grupo de interfaces de usuarios, aplicaciones y propietarios de tecnología de bases de datos que tienen un fuerte estilo dimensional.

Aplicaciones para usuarios finales: una colección de herramientas que hacen los queries, analizan y presentan la información objetivo para el soporte de las necesidades del negocio.

Herramientas de acceso a datos por usuarios finales: un cliente de Data WareHouse.

Ad Hoc Query Tool: un tipo especifico de herramientas de acceso a datos por usuarios finales que invita al usuario a formas sus propios queries manipulando directamente las tablas relacionales y sus uniones.

Modelado de aplicaciones: un sofisticado tipo de cliente de Data WareHouse con capacidades analíticas que transforma o digiere las salidas del Data WareHouse.

Meta Data: toda la información en el ambiente del Data WareHouse que no son así mismo los datos actuales.

Los Data marts son subconjuntos de datos de un data warehouse para áreas especificas.

Entre las características de un data mart destacan:

Usuarios limitados.

Área específica.

Tiene un propósito específico.

Tiene una función de apoyo.

1.2.3 Cubos e hipercubos de datos.

Los cubos de información o cubos OLAP funcionan como los cubos de rompecabezas en los

juegos, en el juego se trata de armar los colores y en el data warehouse se trata de organizar

los datos por tablas o relaciones; los primeros (el juego) tienen 3 dimensiones, los cubos

OLAP tienen un número indefinido de dimensiones, razón por la cual también reciben el

nombre de hipercubos. Un cubo OLAP contendrá datos de una determinada variable que se

desea analizar, proporcionando una vista lógica de los datos provistos por el sistema de

información hacia el data warehouse, esta vista estará dispuesta según unas dimensiones y

Page 16: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 16

podrá contener información calculada. El análisis de los datos está basado en las

dimensiones del hipercubo, por lo tanto, se trata de un análisis multidimensional.

A la información de un cubo puede acceder el ejecutivo mediante "tablas dinámicas" en una

hoja de cálculo o a través de programas personalizados. Las tablas dinámicas le permiten

manipular las vistas (cruces, filtrados, organización, totales) de la información con mucha

facilidad. Las diferentes operaciones que se pueden realizar con cubos de información se

producen con mucha rapidez. Llevando estos conceptos a un data warehouse, éste es una

colección de datos que está formada por «dimensiones» y «variables», entendiendo como

dimensiones a aquellos elementos que participan en el análisis y variables a los valores que

se desean analizar.

Dimensiones

Las dimensiones de un cubo son atributos relativos a las variables, son las perspectivas de

análisis de las variables (forman parte de la tabla de dimensiones). Son catálogos de

información complementaria necesaria para la presentación de los datos a los usuarios, como

por ejemplo: descripciones, nombres, zonas, rangos de tiempo, etc. Es decir, la información

general complementaria a cada uno de los registros de la tabla de hechos.

Page 17: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 17

Variables

También llamadas ―indicadores de gestión‖, son los datos que están siendo analizados.

Forman parte de la tabla de hechos. Más formalmente, las variables representan algún

aspecto cuantificable o medible de los objetos o eventos a analizar. Normalmente, las

variables son representadas por valores detallados y numéricos para cada instancia del

objeto o evento medido. En forma contraria, las dimensiones son atributos relativos a las

variables, y son utilizadas para indexar, ordenar, agrupar o abreviar los valores de las

mismas. Las dimensiones poseen una granularidad menor, tomando como valores un

conjunto de elementos menor que el de las variables; ejemplos de dimensiones podrían ser:

―productos‖, ―localidades‖ (o zonas), ―el tiempo‖ (medido en días, horas, semanas, etc.)

Ejemplos Ejemplos de variables podrían ser:

Beneficios

Gastos

Ventas

etc. Ejemplos de dimensiones podrían ser:

producto (diferentes tipos o denominaciones de productos)

localidades (o provincia, o regiones, o zonas geográficas)

tiempo (medido de diferentes maneras, por horas, por días, por meses, por años, ...)

tipo de cliente (casado/soltero, joven/adulto/anciano, ...)

etc.

Según lo anterior, podríamos construir un cubo de información sobre el índice de ventas

(variable a estudiar) en función del producto vendido, la provincia, el mes del año y si el

cliente está casado o soltero (dimensiones). Tendríamos un cubo de 4 dimensiones.

1.2.4 Estructuras no-jerárquicas y jerárquicas de los datos.

Es un tipo de Sistema Gestor de Bases de Datos que, como su nombre indica, almacenan

la información en una estructura jerárquica que enlaza los registros en forma de estructura

de árbol (similar a un árbol visto al revés), en donde un nodo padre de información puede

tener varios nodos hijo.

Page 18: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 18

Esta relación jerárquica no es estrictamente obligatoria, de manera que pueden

establecerse relaciones entre nodos hermanos. En este caso la estructura en forma de

árbol se convierte en una estructura en forma de grafo dirigido. Esta variante se denomina

Bases de datos de red.

1.2.5 Operadores para datos agregados multidimensionales

A pesar de los buenos resultados obtenidos con el modelo relacional en los sistemas

Operacionales, la utilización de este modelo en aplicaciones orientadas a la toma de

decisiones presenta varias carencias, Una de las principales carencias es el bajo

rendimiento de las consultas: el modelo relacional está orientado a transacciones que

manejan pocos registros simultáneamente, mientras que los sistemas de ayuda a la toma

de decisiones (DSS) tienden a procesar grandes volúmenes de datos. Otra de las

limitaciones es la propia estructura de la base de datos: las consultas realizadas en los

DSS son muy complejas y su definición no está fijada de antemano. Como las consultas

dependen de lo que necesite el usuario en cada momento, con un modelo relacional se

debería generar un índice por cada posible consulta que desee el usuario, lo que dificulta la

gestión y mantenimiento de la base de datos. Por otra parte, si lo que se quiere es acceder

Page 19: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 19

a un dato individual básico como puede ser el importe de una operación concreta, la

ventaja del modelo multidimensional desaparece en favor del relacional. Éstos son capaces

de recuperar un dato individual con mayor eficiencia que las multidimensionales y, dada su

utilización masiva en sistemas OLTP, están optimizados para la inserción de registros y el

control concurrente de usuarios. En el modelo de datos multidimensional, los datos se

organizan en torno a los conceptos de la empresa y la estructura de datos manejada en

este modelo son matrices.

Nota: OLTP es la sigla en inglés de Procesamiento de Transacciones En Línea (OnLine Transaction Processing) es un tipo de sistemas que facilitan y administran aplicaciones transaccionales, usualmente para entrada de datos y recuperación y procesamiento de transacciones (gestor transaccional). Los paquetes de software para OLTP se basan en la arquitectura cliente-servidor ya que suelen ser utilizados por empresas con una red informática distribuida.

Multidimensionales o hipercubos. Un hipercubo consiste en un conjunto de celdas, de tal

manera que cada una está identificada por la combinación de los miembros de las

diferentes dimensiones y contiene el valor de la medida analizada para dicha combinación

de dimensiones. Las variables o medidas son aquellas características del negocio que

pueden ser cuantificadas y son seleccionadas para el análisis. Por ejemplo: ventas,

compras, costes, etc. Se corresponden con los datos numéricos. Los valores que toman las

variables son el resultado de las diferentes combinaciones posibles de los miembros de las

dimensiones sobre las que se definen.

1.2.6 Consultas multidimensionales de datos.

Las operaciones más comunes realizadas sobre los datos multidimensionales son: cube y

roll up definidas en Cube calcula todas las posibles agregaciones que resultan de las

combinaciones de atributos incluidos en la cláusula de la consulta, generando totales y

subtotales para dichas combinaciones de los atributos. Por su parte, la operación de roll-up

consiste en la agregación a lo largo de los distintos niveles de la jerarquía de una de las

dimensiones. De ahí, la importancia que ha recibido el tratamiento de las jerarquías en

todos los modelos multidimensionales, ya que determina la posibilidad de realizar las

diferentes agregaciones.

Nota: Cuando tenemos que mostrar información de nuestra base de datos a los usuarios habitualmente creamos informes con Visual Basic, con Crystal Reports, con los Analysis Services de Microsoft SQL Server 2000 o con lo

que queramos. Con estas herramientas podemos realizar cualquier tipo de cálculo sobre los datos almacenados, y especialmente calcular sumas, totales, promedios.

Page 20: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 20

Unidad 2 Bases de Datos y Tecnología Web 2.1 Herramientas y tecnologías de desarrollo para la Web.

A continuación se describen los principales manejadores de base de datos en el mercado.

MySQL

MySQL Server es la base de datos de código fuente abierto más usada del mundo

desarrollado y proporcionado por MySQL AB. MySQL AB es una empresa cuyo negocio

consiste en proporcionar servicios en torno al servidor de bases de datos MySQL.

MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius.

Fundada en Suecia 1995

Características

• Está escrito en lenguaje C y C++

• Soporta un gran número de plataformas: AIX 4x 5x, Amiga, BSDI, Digital Unix 4x, FreeBSD

2x 3x 4x, HP-UX 10.20 11x, Linux 2x, Mac OS, NetBSD, Novell NetWare 6.0, OpenBSD 2.5,

OS/2, SCO OpenServer, SCO UnixWare 7.1.x, SGI Irix 6.x, Solaris 2.5, SunOS 4.x, Tru64 Unix

y Windows 9x, Me, NT, 2000, XP, Windows Server 2003 y 2008

• Desarrollo de APIs (interfaces graficas de aplicaciones) para C, C++, Eiffel, Java, Perl, PHP,

Python, Ruby, y Tcl

• Procesos MultiHilo, es decir, Capacidad de trabajar servidores con varios procesadores

• Provee sistema transaccional con la tabla Innodb

• Velocidad cuando se manipula datos con el tipo de tabla Myisam

• Velocidad en la utilización de joins y procesos de optimización

• Manejo de la memoria a través de manejo del buffer y cache

Page 21: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 21

ORACLE Desarrollado por Oracle Corporation, es una de las bases de datos más confiables que existen

en el mercado. Fue Desarrollado en 1977 por George Koch

Características • Sistemas Operativos soportados: Free BSD, Hp-UX, Novell Netware, Sco Open Server, Iris, Qnx, Mac OS x, IBM AIX, Solaris, SCO Unix. • Interfaces (APIs) soportadas: C, C++, Java, Perl, PHP, Python, Ruby, y Tcl, Delphi. • Conectores soportados: .Net, ODBC. • Soporta unos 17 idiomas, corre automáticamente en más de 80 arquitectura de hardware y software distinto sin tener la necesidad de cambiar una sola línea de código. Esto es porque más el 80% de los códigos internos de Oracle son iguales a los establecidos en todas las plataformas de sistemas operativos. • El tamaño del software de instalación es de aproximadamente 40 Mb. • Oracle soporta dos tipos de almacenamiento, por caracter (RAW) o por bloques (Files System), RawDevice: es un dispositivo de caracteres disponibles en algunos sistemas operativos el cual es asignado directamente a Oracle. Oracle corre más rápidamente con RawDevice que con Files System

Oracle a partir de la versión 10g Release 2, cuenta con 6 ediciones:

Oracle Database Enterprise Edition (EE).

Oracle Database Standard Edition (SE).

Oracle Database Standard Edition One (SE1).

Oracle Database Express Edition (XE).

Oracle Database Personal Edition (PE).

Oracle Database Lite Edition (LE).

PROGRESS

Progress Software Corporation (PSC), es una corporación transnacional con sede en la ciudad

de Bedford, Massachusetts, en los Estados Unidos, y cuenta con oficinas regionales para

América Latina, Europa, Asia/ Pacífico; y presencia en más de 100 países alrededor del mundo.

Su enfoque de negocios consiste en la creación y comercialización de herramientas para el

desarrollo de aplicaciones y bases de datos.

Page 22: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 22

Fundada en 1981, Richard D. Reidy y Barry Bycoff , ERP, Finanzas

Características

• Soporte de Red: TPC/IP

• Soporte del Sistema Operativo: Windows NT/Intel®, Windows® 95/98, SCO, OpenServer,

SCO UnixWare, Sun Solaris Intel, Citrix®, HP-UX®, IBM® AIX®, Compaq Tru64 UNIX, Sun®

SolarisTMSPARC

• Soporte API: ANSI SQL-92, Progress 4GL, ODBC 3.0, JBDC, SQL/C embebido.

SYBASE

Sybase Inc. (NYSE: SY) fue una compañía dedicada al desarrollo de tecnología de la

información. Fue fundada en Berkeley, California (EE.UU.), en 1984, y operó como empresa

independiente hasta su compra por parte de SAP en mayo de 2010 por 4.567 millones de euros

Características:

• Las plataformas que admite el producto son WinNT, Digital Unix, DCR System, SCO-

UnixWare, SiliconGraphics, HPUX, Aix, Solaris y Linux.

• Se soportan los siguientes protocolos: APPC, IPX/SPX, NetBios, TCP/IP, Pipes con

nombres.

• Soporte a múltiples herramientas de desarrollo y lenguajes de programación, como

PowerBuilder, Visual Basic, Java, C, PHP, etc.

• Soporte a múltiples protocolos de conectividad, como Open Client (propio de Sybase),

ODBC, OLE DB, ADO.NET y JDBC.

Adaptive Server Enterprise, un motor de base de datos empresarial de alto rendimiento y

escalabilidad

Adaptive Server Anywhere, una base de datos para computación móvil y departamental Sybase IQ, una base de datos para Inteligencia Empresarial y Almacenes de Datos

Page 23: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 23

SQL SERVER

Microsoft SQL Server es un sistema para la gestión de bases de datos producido por Microsoft

basado en el modelo relacional. Sus lenguajes para consultas son T-SQL y ANSI SQL.

Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes sistemas gestores

de bases de datos como son Oracle o PostgreSQL o MySQL.

Características

• Solo trabaja bajo sistemas operativos Windows

• El procesador debe tener como mínimo 500 megahertz (MHz) o superior de capacidad

• Soporte de transacciones.

• Escalabilidad, estabilidad y seguridad.

• Soporta procedimientos almacenados.

• Incluye también un potente entorno gráfico de administración, que permite el uso de comandos

DDL y DML gráficamente.

• Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en el

servidor y las terminales o clientes de la red sólo acceden a la información.

• Además permite administrar información de otros servidores de datos.

Page 24: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 24

INFORMIX

Informix es una familia de productos RDBMS de IBM, adquirida en 2001 a una compañía

(también llamada Informix o Informix Software) cuyos orígenes se remontan a 1980.

El DBMS Informix fue concebido y diseñado por Roger Sippl a finales de los años 1970. La compañía Informix fue fundada en 1980, salió a bolsa en 1986 y durante parte de los años 1990 fue el segundo sistema de bases de datos más popular después de Oracle. Sin embargo, su éxito no duró mucho y para el año 2000 una serie de tropiezos en su gestión había debilitado seriamente a la compañía desde el punto de vista financiero.

En 2001 IBM, impulsada por una sugerencia de Wal-Mart (el mayor cliente de Informix) compró Informix. IBM tenía planes a largo plazo tanto para Informix como para DB2, compartiendo ambas bases de datos tecnología de la otra. A principios de 2005, IBM lanzó la versión 10 del Informix Dynamic Server (IDS).

Page 25: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 25

Características

• Utiliza plataforma Windows 2000, 2003 Server, XP y UNIX /AIX, HP-UX, Linux, Solaris y

TRU64)

• Dispone de herramientas gráficas

• Gestiona múltiples base de datos remotas de una consola centralizada

• Capacidad de relación de datos en múltiples lugares físicos

• Conecta datos relacionales en páginas web

• Ocupa menos memoria y recursos que el Oracle

• Se integra con Linux, Oracle y otras bases de datos

• Arquitectura DSA (DynamicScalableArchitecture) que afecta a todas las plataformas.

DB2 DB2 es una marca comercial, propiedad de IBM, bajo la cual se comercializa un sistema de

gestión de base de datos.

DB2 versión 9 es un motor de base de datos relacional que integra XML de manera nativa, lo que IBM ha llamado pureXML, que permite almacenar documentos completos dentro del tipo de datos XML para realizar operaciones y búsquedas de manera jerárquica dentro de éste, e integrarlo con búsquedas relacionales.

La compatibilidad implementada en la última versión, hace posible la importación de los datos a DB2 en una media de 1 o 2 semanas, ejecutando PL/SQL de forma nativa en el gestor IBM DB2.

La automatización es una de sus características más importantes, ya que permite eliminar tareas rutinarias y permitiendo que el almacenamiento de datos sea más ligero, utilizando menos hardware y reduciendo las necesidades de consumo de alimentación y servidores.

La memoria se ajusta y se optimiza el rendimiento del sistema, con un interesante sistema que permite resolver problemas de forma automática e incluso adelantarse a su aparición, configurando automáticamente el sistema y gestión de los valores.

DB2 Express-C es la versión gratuita soportada por la comunidad de DB2 que permite desarrollar, implementar y distribuir aplicaciones que no usen las características avanzadas de las versiones comerciales de DB2. Esta versión de DB2 puede ser concebida como el núcleo de DB2, las diferentes ediciones incluyen las características de Express-C más funcionalidades específicas.

DB2 para Linux, UNIX y Windows permite la automatización de tareas, reducción de las necesidades de consumo de alimentación, un alto rendimiento que reduce los servidores

Page 26: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 26

necesarios para ejecutar la base de datos, escalabilidad sencilla y alta disponibilidad en su arquitectura de discos de datos y otras soluciones que facilitan la colaboración entre profesionales.

Con aplicaciones que se despliegan y desarrollan de forma sencilla incluso si han sido creadas para utilizarse con otros software de bases de datos.

Características • Las plataformas que admite el producto son: OS/2, Windows NT y UNIX. Esta última versión del software del servidor, ha sido adaptado para funcionar también con OS/2 WARP, HP−UX, AIX, SCO−UNIX UE7, Windows 98, NT y Solaris. • Permite el manejo de objetos grandes (hasta 2 GB) • Definición de datos y funciones por parte del usuario, el chequeo de integridad referencial, SQL recursivo, • Soporte multimedia: texto, imágenes, video, audio; queries paralelos, commit de dos fases, backup/recuperación on−line y offline. • Es posible acceder a los datos usando JDBC (tan potente como escribir directamente C contra la base de datos), Java y SQL (tanto el SQL estático, como complementa el SQL dinámico). • Plataformas host: OS/390(MVS), VM & VSE, OS/400 • Plataformas de servidor: OS/2 Warp Server, Sinix, SCO Openserver, Windows NT, Aix, HP Ux, Solaris. Plataformas Cliente: OS/2, DOS, Sinix, SCO OpenServer, Windows 3.1/95/NT, Macintosh System 7, Aix, HP Ux, Solaris. POSTGRESQL PostgreSQL es un sistema de gestión de base de datos relacional orientada a objetos y libre,

publicado bajo la licencia BSD.

Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyados por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).

Michael Stone Breaker 1982 Proyeto Ingress

Page 27: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 27

Características

• PostgreSQL funciona sobre servidores Linux. Sin embargo, al tratarse de servidores de datos

accesibles mediante TCP/IP que residen en máquinas dedicadas, pueden utilizarse indistintamente

desde clientes Linux o Windows.

PostgreSQL provee nativamente soporte para:

• Números de precisión arbitraria.

• Texto de largo ilimitado.

• Figuras geométricas (con una variedad de funciones asociadas)

• Direcciones IP (IPv4 e IPv6).

• Bloques de direcciones estilo CIDR.

• Direcciones MAC.

• Arrays.

ACCESS

Microsoft Access es un programa, utilizado en los sistemas operativos Microsoft Windows, para la

gestión de bases de datos creado y modificado por Microsoft y orientado a ser usado en entornos

personales o en pequeñas organizaciones. Es un componente de la suite Microsoft Office. Permite

crear ficheros de bases de datos relacionales que pueden ser fácilmente gestionadas por una

interfaz gráfica sencilla. Además, estas bases de datos pueden ser consultadas por otros

programas. Dentro de un sistema de información, entraría dentro de la categoría de gestión, y no

en la de ofimática, como podría pensarse. Este programa permite manipular los datos en forma de

tablas (formadas por filas y columnas), crear relaciones entre tablas, consultas, formularios para

introducir datos e informes para presentar la información

Page 28: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 28

Formatos

.mdb:.accdb - Base de datos Access (versión 2007 y posteriores)

.accde - Base de datos Access protegida, con macros (versión 2007 y posteriores)

.accdr - Base de datos Access que opera como protegida aunque es un accdb "encubierto" (versión 2007 y posteriores)

.mam - Macro Access

.maq - Consulta Access

.mar - Informe Access

.mat - Tabla Access

.maf - Formulario Access

.adp - Proyecto Access

.adn - Plantilla de proyecto Access

FOXPRO Visual FoxPro es un lenguaje de programación orientado a objetos y procedural, un Sistema Gestor de Bases de datos o Database Management System (DBMS), y desde la versión 7.0, un Sistema administrador de bases de datos relacionales, producido por Microsoft. para los sistemas operativos MS-DOS, MS Windows, Mac OS y UNIX. Aunque FoxPro es un DBMS y como tal soporta relaciones entre las tablas, no se le considera como un Sistema administrador de bases de datos relacionales (o RDBMS), por no soportar las transacciones.

La última versión liberada es la 9.0.

Características: Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear aplicaciones de bases de datos para el escritorio, entornos cliente/servidor, tablet PC o para la Web. Entre sus características se pueden enumerar:

Capacidades poderosas y muy veloces para el manejo de datos nativos y remotos.

Flexibilidad para crear todo tipo de soluciones de bases de datos.

Lenguaje de Programación Orientado a objetos.

Utilización de Sentencias SQL en forma nativa.

Poderoso manejo de vistas, cursores y control completo de estructuras relacionales.

Page 29: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 29

Su propio gestor de base de datos incorporado. Sin embargo, también puede conectarse con servidores de base de datos, tales como Oracle, Microsoft SQL Server o MySQL.

Cuenta con un motor de generación de informes renovado y muy flexible para soluciones más robustas.

Desde la versión 9.0, amplio soporte de XML, tanto como fuente de datos (por ej., servicios Web basados en XML) como por generar reportes en formato XML.

Desde la versión 7.0, soporte de la tecnología IntelliSense de Microsoft.

DBASE

dBASE fue el primer Sistema de gestión de base de datos usado ampliamente para microcomputadoras, publicado por Ashton-Tate para CP/M, y más tarde para Apple II, Apple Macintosh, UNIX [1], VMS [2], e IBM PC bajo DOS donde con su legendaria versión III Plus se convirtió en uno de los títulos de software más vendidos durante un buen número de años.

dBASE nunca pudo superar exitosamente la transición a Microsoft Windows y terminó siendo desplazado por productos más nuevos como Paradox, Clipper, y FoxPro.

Incorporaba un lenguaje propio interpretado y requería un LAN PACK para funcionar sobre red local. En 1988 llegó finalmente la versión IV.

dBASE fue vendido a Borland en 1991. Al poco tiempo promovió una casi intrascendente versión 5, de la que llegó a haber versión para Windows. Luego vendió los derechos de la línea de productos en 1999 a dataBased Intelligence, Inc. (dBI) que sigue comercializando nuevas versiones, llamadas dBASE Plus, desde 1999.

Durante la primera mitad de los '80s muchas otras compañías produjeron sus propios dialectos o variaciones del producto y lenguaje. Estos incluyeron FoxPro (ahora Visual FoxPro), Quick-Silver, Clipper, Xbase++, FlagShip, y Harbour. Todos ellos son llamados informalmente como xBase o XBase.

El formato subyacente de dBASE, el archivo dbf, es ampliamente utilizado en muchas otras

aplicaciones que necesitan un formato simple para almacenar datos estructurados.

dBASE fue licenciado a los usuarios por un plazo de quince años basado en el inconcebible evento de que un usuario utilizara su copia de dBASE por tan largo período.

CLIPPER

Clipper es un lenguaje de programación procedural e imperativo creado en 1985 por Nantucket

Corporation y vendido posteriormente a Computer Associates, la que lo comercializó como CA-

Clipper. En un principio Clipper se creó como un compilador para el sistema gestor intérprete de

bases de datos dBase III (de hecho las versiones estacionales de Nantucket incluían una etiqueta

que lo indicaba así), pero con el tiempo el producto evolucionó y maduró, convirtiéndose en un

lenguaje compilado más poderoso que el original, no sólo por sus propias implementaciones sino

Page 30: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 30

también por las ampliaciones desarrolladas por terceros en C, Ensamblador y Pascal, de los que

fue heredando características. Esto lo convirtió en la herramienta líder de desarrollo de

aplicaciones de bases de datos relacionales bajo sistema operativo MS-DOS, sobre todo

programas de gestión, contabilidad y facturación (SAGE-SP, líder del mercado español, lo usa para

ContaPlus y FacturaPlus), agendas comerciales y programas de tarificación (aproximadamente el

80% de las compañías de seguros de España lo utilizaron en los programas de sus agentes).

Características

Manejo propio de memoria virtual (RAM en disco)

Manejo de memoria extendida

Las aplicaciones podían superar los 640Kb de RAM impuestos por MS-DOS

Rutinas y librerías pueden cargarse sólo cuando son necesarias y se descargan de RAM cuando

ya no hacen falta

La cantidad de registros por tablas estaba sólo limitada a la capacidad del disco

Gran robustez en las aplicaciones, particularmente en las diseñadas para cliente-servidor (red

LAN), etc.

Versant

Versant es un Sistema Gestor de Base de Datos Orientada a Objetos (SGBDOO) desarrollado por

VersantCorporation, este se usa particularmente para los equipos que trabajan en paralelo en

diferentes partes de un proyecto, los requerimientos del proyecto cambian en tiempo. Versant

designado para soportar arquitecturas Cliente/Servidor. Cualquier número de clientes, procesos del

servidor, estaciones de trabajo, etc.

El acceso a las diferentes herramientas de Versant ya esta predefinido. No todos los usuarios

pueden acceder a todas las herramientas. Antes de usar una base de datos, método, tipo de datos

u objeto persistente se tiene que abrir una sesión. Solo se puede abrir una sesión por proceso o

hilo.

Versant soporta transacciones cortas y largas en el contexto de una sesión. Las transacciones

cortas son unidades lógicas de trabajo bajo el control de la aplicación.

Versant almacena todas las versiones por las que haya pasado un objeto. Esto es una forma de

mantener un log de todos los estados del objeto. Esto también facilita la utilización concurrente de

un objeto, ya que la lectura de un objeto también crea una nueva versión. En Versant hay tres tipos

de estados para las versiones de un objeto:

Page 31: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 31

• Transitorio: Puede ser modificado y eliminado.

• Working: No pueden ser modificados pero si eliminados

• Released: No se pueden ni modificar ni eliminar.

También se puede cambiar el estado de un objeto versionado, por lo que si realmente se querría

borrar un estado Released habría que bajarlo antes a estado Working y luego borrarlo.

GemStone

Los Sistemas de GemStone son exclusivamente la compañía de software de empresa principal

enfocada en la dirección de datos de en-memoria y distribución. Con nuestra tecnología patentada,

las empresas pueden ganar el acceso fiable a los datos operacionales mientras reforzando

escalabilidad de los datos y resiliency dramáticamente.

GemStone permite a desarrolladores de aplicaciones escribir métodos, los cuales son

almacenados y ejecutados directamente en la base de datos. Estos métodos pueden ser

accesados ya sea internamente o por aplicaciones cliente externas. Esto puede reducir

significativamente el tráfico en la red y permitir a las aplicaciones tomar ventaja del poder superior

de cómputo del servidor. También elimina la necesidad de cambiar las aplicaciones cuando las

condiciones del negocio cambian.

GemStone provee soporte concurrente para aplicaciones desarrolladas con Smalltalk, C++, C y

con la herramienta de desarrollo propia de GeODE. Todas las aplicaciones, Independientemente

del lenguaje en que esten escritas, pueden tener acceso simultáneo a los mismos objetos de la

base de datos.

La Interfaz C de GemStone es una librería de funciones que pueden ser llamadas desde lenguajes

que permiten llamadas a funciones C, incluyendo Ada, COBOL, Pascal, FORTRAN, LISP, y C

Objetivo.

La InterfazC++ de GemStone provee almacenamiento persistente para aplicaciones C++. Una vez

almacenados en GemStone, los objetos C++ toman una identidad propia y existen

independientemente de los programas que los crearon. Estos pueden ser usados por otros

programas, incluso aquellos escritos en otros lenguajes.

Page 32: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 32

Iris DataBaseSystem

Iris es la base de datos orientada a objetos del sistema de gestión está desarrollando en los

Laboratorios de Hewlett-Packard. This videotape provides an overview of the Iris data model and a

summary of our experiences in converting a computer-integrated manufacturing application to Iris.

An abstract of the videotape follows.Iris is intended to meet the needs of new and emerging

database applications such as office and engineering information systems, knowledge-based

systems, manufacturing applications, and hardware and software design. Iris se destina a satisfacer

las necesidades de las nuevas aplicaciones de bases de datos tales como la oficina de ingeniería y

sistemas de información, sistemas basados en el conocimiento, la fabricación de aplicaciones y el

hardware y el software de diseño. These applications require a rich set of capabilities that are not

supported by the current generation (ie, relational) DBMSs. Estas aplicaciones requieren un rico

conjunto de capacidades que no están soportadas por la actual generación (es decir, relacional)

2.1.1 Intercambio electrónico de datos (EDI).

EDI (Electronic Data Interchange)

Desde los años 60, se han utilizado las redes de comunicaciones para establecer intercambios de datos entre empresas. Con este fin el TDCC (Transportation Data Coordinating Commitee ó Comité Coordinador de los Datos de Transporte) creó un conjunto transacciones que las empresas debían utilizar para posibilitar el procesamiento normalizado de pedidos y facturas.

El Intercambio Electrónico de Datos (EDI) es la comunicación de información estructurada de computadora a computadora y de aplicación a aplicación, sin intervención humana entre corporaciones, instituciones o individuos, utilizando un formato estándar para los documentos. Es decir, en lugar de preparar los documentos y enviarlos a través del correo los usuarios de EDI, intercambian la información de negocios directamente entre sus sistemas de computación.

Aplicaciones

El Cambio Informatizado de Datos pues es definido a través de la norma EDI (ISO9735 – Electrónic Data Interchange) para la administración, el comercio y el transporte (EDIFACT)) de 1988.

Con EDI, los sistemas de información de las empresas utilizadoras se transmiten una información estructurada.

A través del EDI las partidas implicadas intercambian datos informatizados teniendo como base un acuerdo normalizado, claro y predefinido en el seno de la misma actividad comercial. Los campos de aplicación del EDI entre empresas generalmente son el cambio de informaciones industriales, comerciales y financieras.

Podemos citar como los ejemplos más utilizados: la factura, las peticiones, las declaraciones de expedición.

EL EDI minimiza las transacciones sobre soporte papel y la intervención humana sobre tareas a valor añadido débil (entregas manuales de datos, envío de documentos por correo o faxes, impresiones) y los riesgos de errores correspondientes al entrega manual de datos.

Page 33: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 33

Normas de sintaxis

Básicamente, las normas EDI proporcionan las reglas de sintaxis que definen los documentos electrónicos estructurados (llamados mensajes EDI) y un número cada vez mayor de mensajes EDI acordados internacionalmente.

El módulo ephos sobre EDI se basa en las normas y documentos desarrollados por las Naciones Unidas y recogidos en "ISO 9735 - Intercambio Electrónico de Datos para la Administración, Comercio y Transporte (EDIFACT) - Reglas de aplicación de la sintaxis" (en 29735). Si bien por razones históricas, en diferentes dominios regionales o sectoriales se utilizan otras reglas de sintaxis (no normalizadas), EDIFACT es la única sintaxis normalizada.

Transmisión de documentos entre empresas

El sistema tradicional en el que se basan las transmisiones de documentos entre las empresas, al estar centrado en el uso del papel, presenta dos inconvenientes. En primer lugar, la lentitud. Documentos que se generan en ordenadores que procesan la información a gran velocidad, posteriormente sufren retrasos producidos al tener que procesarse de forma manual en las empresas de correos. Por este motivo, muchas empresas han sustituido el correo como medio para enviar sus documentos por el fax, lo que ha agilizado en buena medida la gestión. Sin embargo, se mantiene otro problema: la diversidad de modelos de facturas, pedidos, hojas de precios, etc. Esta falta de normalización es causa de muchos errores administrativos y, de nuevo, de lentitud.

Consiste simplemente en incorporar un procedimiento electrónico de transmisión de información al documento administrativo-contable. De la simple observación de la figura podemos apreciar cómo la empresa puede obtener ahorro de varias formas tras implantar un sistema electrónico de intercambio de datos. En primer lugar, aparece un ahorro de tiempo, ya que la información viaja por redes de comunicación. En segundo lugar, se producen menos errores, ya que el proceso está completamente automatizado y los ordenadores se equivocan menos. Además puede haber un importante ahorro en dinero, dependiendo de lo que cueste enviar estos documentos.

Sus principales Ventajas:

• Reducción de los costes administrativos • Reducción de los plazos • Mejoramiento de la productividad • Adecuación de las existencias • Mejoramiento de los procesos comerciales Sus Principales Desventajas (EDI tradicional): • La rigidez de los grupos de transacciones • La lentitud de adaptación a los nuevos procesos empresariales • Elevados costes de implantación • Procesos de normalización excesivamente largos • Implantación limitada

Page 34: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 34

Componentes EDI A continuación se describen los componentes que necesita cualquier empresa para poder generar una adecuada transmisión vía EDI. Técnicamente se requiere de:

• Una computadora personal (PC), como el equipo (hardware) mínimo necesario.

• Una conexión a internet (modem), para enviar los datos de la computadora vía telefónica.

• Un programa (software) de traducción de EDI, que permitirá que los datos que salen/entran /al sistema de la empresa, se conviertan a un lenguaje común de acuerdo al estándar.

• Un programa de comunicaciones, el cual se encargará de establecer la comunicación con la red de valor agregado (VAN).

• El uso de los estándares de identificación de productos (EAN o UPC), los cuales tendrán que ser codificados a su último nivel de referencia.

• Elegir un estándar de comunicación, el cual nos permita enviar transacciones de negocios con los diferentes socios comerciales bajo un formato definido. En este aspecto se puede hacer intercambio de información bajo dos estándares internacionales, que son ANSI X12 y EDIFACT.

• El uso de un número de localización universal, fácil de implantar y lo suficientemente flexible para identificar diferentes localizaciones físicas y virtuales de negocios.

UN/EDIFACT EDIFACT (Europa)

Es el estándar desarrollado en Europa bajo el auspicio de la Organización de las Naciones Unidas, el cual contempla una serie de formatos de mensaje definidos, que han sido diseñados para ser utilizados por los diferentes sectores industriales que lo requieran (comercial, financiero, gobierno, transporte, etc.)

EDIFACT tiene desarrolladas cerca de 100 transacciones de negocios, cada una de ellas contiene la información necesaria para satisfacer una operación de negocios en particular (Orden de Compra, Factura, Aviso de Embarque, etc). Resulta lógico pensar que así como las operaciones de negocios van evolucionando los estándares lo tienen que hacer al mismo ritmo, ya que de lo contrario llegaría un momento en que el estándar no satisfaría al cien por ciento el flujo de información que una operación pudiera requerir.

El nuevo EDI La mayoría de los problemas del antiguo EDI se deben a las tecnologías de información existentes en el momento en que se estableció el estándar, ya que no permitían la separación de los procesos y su contenido y presentación; cada vez que se cambiaban las normas empresariales, había que rediseñar las estructuras y formatos de presentación.

El nuevo EDI suple todos estos inconvenientes gracias a las nuevas tecnologías de información, especialmente Internet y XML (Extensible Markup Language o Lenguaje de Definición Extensible) y los avances que la conectividad de los sistemas gestores de datos han experimentado en los últimos años. El efecto de las nuevas tecnologías se ha concretado en los siguientes puntos:

Page 35: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 35

• Internet permite la conectividad desde cualquier lugar, en cualquier momento y desde multitud de dispositivos • Las tecnologías Internet cuentan con protocolos de autentificación, seguridad y soporte de transacciones similares a las que se realizan en el EDI tradicional mediante las VAN • XML es un lenguaje de definición extensible que permite separar la información y su estructura de los procesos que la generan y utilizan • La conectividad que ofrecen los actuales sistemas gestores de datos posibilita que la información XML y las directrices empresariales que interactúan con la información puedan comunicarse independientemente de los sistemas de información de que dispongan los socios comerciales.

2.1.2 e-commerce y e-bussiness.

Comercio electrónico es el comercio en línea que se realiza utilizando Internet e implica que los bienes o servicios que se ofrecen al público para su venta, pueden ser comprados en línea.

Tipos de comercio electrónico:

• B2B (Business to Business ó Entre Empresas). Este tipo de comercio electrónico se refiere a una empresa que le vende a otra, utilizando Internet. • B2C (Business toConsumeró Empresa Cliente), Este tipo de comercio electrónico se refiere a una empresa que le vende al consumidor final, utilizando Internet.

• C2C consumer to consumer remates y sitios de intercambio de bienes o servicios entre personas.

• C2B consumer to business sitios en los que las personas se agrupan para realizar negocios con las empresas.

Page 36: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 36

Beneficios para la empresa

• Expandir el mercado, de local a regional, de regional a nacional y de nacional a internacional.

• Contraer el mercado, dirigirse a un mercado muy específico.

• Bajar o minimizar costos:

– Automatización de procesos repetitivos. – Toma de pedidos. – Mejor información al cliente.

• Catálogo de mercancías dinámico, actualizable día con día.

Beneficios para los clientes:

• Pueden comprar cuando quieren y desde cualquier computadora conectada a Internet.

• Evitan el tráfico y las molestias de transportarse, y permite aprovechar ese tiempo en otras actividades.

• Obtienen mayor información sobre los productos.

– Mayor y mejor información permite tomar mejores decisiones. – Mayor información sobre productos le da más confianza al cliente.

• Algunas veces los productos son más baratos en línea.

Casos de Éxito

B2B – Intel, inició a mediados de 1998 un proyecto para que todos los pedidos de sus clientes fueran por Internet, y en los primeros 6 meses del proyecto logró vender $6,000 millones de dólares por Internet, los cuales representaron sólo el 23% del total de las órdenes recibidas, el resto se recibieron por fax. Hoy en día el 100% de las órdenes se reciben por Internet.

– Covisint, empresa establecida por DaimlerChrysler, Ford y General Motors, para que todos sus proveedores utilicen la misma herramienta para proveerlos de partes.

• B2C – Amazon.com, empresa que inició vendiendo libros utilizando Internet y ahora vende un sin número de artículos. Es ahora el clásico ejemplo de una empresa dedicada 100% al comercio electrónico. En el año 2004 amazon.com vendió, utilizando solamente Internet, cerca de $7,000 millones de dólares.

Page 37: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 37

Historia E-Commerce

El significado del término "comercio electrónico" ha cambiado a lo largo del tiempo. Originariamente, "comercio electrónico" significaba la facilitación de transacciones comerciales electrónicamente, normalmente utilizando tecnología como la Electronic Data Interchange (EDI, presentada finales de los años 1970) para enviar electrónicamente documentos como pedidos de compra o facturas.

Más tarde pasó a incluir actividades más precisamente denominadas "Comercio en la red" la compra de bienes y servicios a través de la World Wide Web vía servidores seguros con tarjetas de compra electrónica y con servicios de pago electrónico como autorizaciones para tarjeta de crédito.

En 1995 los países integrantes del G7/G8 crearon la iniciativa Un Mercado Global para PYMEs, con el propósito de acelerar el uso del comercio electrónico entre las empresas de todo el mundo.

E-business Comprende el uso de todas las tecnologías posibles para el tratamiento de la informacióny comunicación que permita tratar las relaciones de comunicación y operación de una empresa con organizaciones externas o particulares. Algunas de estas relaciones pueden ser:

- Intercambio de documentos. - Acceso a servicios. - Consulta de base de datos, etc

Grandes Ventajas del E-Business

Se mejora la atención al cliente y las relaciones con los proveedores, ya que se eliminan o acortan las distancias con éstos.

Permite aumentar y mejorar el nivel de servicios mediante el contacto directo con los clientes. No debemos pensar que sustituye el trato humano directo, sino que aporta un gran valor añadido ya que el cliente podrá consultar y comprar productos/servicios en todo momento a través de la página Web (Tienda Virtual).

Las empresas pueden automáticamente extraer información sobre sus clientes y sus comportamientos, dado que cada uno de los pasos de un visitante en la Web puede ser rastreado, posibilitando nuevos mecanismos para predecir tendencias de mercado, y sobre todo, una atención personalizada a cada cliente.

Mejorar los servicios al cliente y conocer mejor sus necesidades se traduce en más clientes satisfechos y la fidelidad de éstos. Las empresas pueden ser visitadas desde cualquier lugar mediante su espacio Web, en cualquier momento, proporcionando a las empresas la posibilidad de extender la cobertura geográfica de sus mercados sin sacrificar la calidad de servicio. El concepto de tienda virtual ofrece al cliente catálogos de productos y servicios de la empresa, ampliándose así el abanico de canales de venta. En cuanto a las relaciones B2B, el e-business ofrece mayores posibilidades de cooperación y colaboración entre empresas, pudiendo ampliar las ventas.

Page 38: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 38

2.1.3 e-Learning Aprendizaje electrónico, es un conjunto de las metodologías y estrategias de aprendizaje que emplean tecnología digital o informática para producir, transmitir, distribuir, y organizar conocimiento entre individuos, comunidades y organizaciones. Se enfoca en la utilización de TIC (tecnologías de la Información y la Comunicación) como Computadora, Redes de telecomunicaciones, Telemática, Teléfonos celulares, Televisión, Radio, Periódicos digitales, Faxes, Dispositivos portátiles etc.

Usos Principales: • Educación. • Capacitación. • Formación.

Ventajas:

La facilidad de acceso.

La formación puede llegar a más personas, puesto que desaparecen las barreras espacio-temporales.

Elimina las distancias físicas.

Se utilizan herramientas como correo electrónico, foro o chat para establecer la comunicación entre los participantes.

Se alternan diversos métodos de enseñanza.

Los participantes puede trabajar individualmente o de manera grupal.

Permite flexibilidad horaria.

El alumno accede en el momento que dispone de tiempo.

Aumenta el número de destinatarios.

Esta modalidad de formación se puede dirigir a una audiencia mucho más amplia.

Favorece la interacción.

Los alumnos pueden comunicarse unos con otros, con el tutor y con los recursos on-line disponibles en Internet.

Disposición de recursos on-line y multimedia.

Internet proporciona acceso instantáneo e ilimitado a una gran cantidad de recursos, como textos, gráficos, videos, animaciones, artículos, libros, ensayos, cursos en línea, etc.

Page 39: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 39

Las ventajas principales que ofrece la educación virtual son la reducción de costos para dar cursos a más número de participantes que lo tradicional en un aula de clases, ahorro en seminarios y capacitación de empresas muy descentralizadas como los bancos y la flexibilidad de horarios, factor de suma importancia pues permite al estudiante calendarizar el curso de la mejor forma posible. Otra interesante ventaja es la interacción que los cursos generan despertando el interés del estudiante y ayudando a aquellos tímidos a ser de los más activos en clases por medio de foros de discusión y otros medios de participación. www.aulafacil.com http://www.cursos-en-mexico.com.mx

Page 40: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 40

Ventajas de los programas de e-Learning Lo que los expertos en esta materia consideran como las ventajas más importantes de la educación electrónica: Mayor productividad: Las soluciones de aprendizaje electrónico como la capacitación basada en Web (WBT, web-based training) y la capacitación basada en computadora (CBT computer-based training) permite a los alumnos estudiar desde su propio escritorio. La entrega directa de los cursos puede disminuir los tiempos muertos que implican una escasa productividad y ayuda a eliminar costos de viajes. Entrega oportuna: Durante la puesta en marcha de un nuevo producto o servicio, el e-Learning puede proveer entrenamiento simultáneo a muchos participantes acerca de los procesos y aplicaciones del nuevo producto. Un buen programa de e-Learning puede proveer la capacitación necesaria justo a tiempo para cumplir con una fecha específica de inicio de operaciones. Capacitación flexible: Un sistema e-Learning cuenta por lo general con un diseño modular. En algunos casos, los participantes pueden escoger su propia ruta de aprendizaje. Adicionalmente, los usuarios pueden marcar ciertas fuentes de información como referencia, facilitando de este modo el proceso de cambio y aumentando los beneficios del programa. Ahorros en los costos por participante: Tal vez el mayor beneficio del e-Learning es que el costo total de la capacitación por participante es menor que en un sistema tradicional guiado por un instructor. Sin embargo, los programas de e-Learning diseñados a la medida pueden de entrada ser más costosos debido al diseño y desarrollo de los mismos. Se recomienda llevar a cabo un análisis minucioso para determinar si el e-Learning es la mejor solución para sus necesidades de capacitación y adiestramiento antes de invertir en el proyecto. ¿Qué detiene al e-Learning? Entre las principales barreras que han impedido la integración de estas tecnologías del e-Learning en los programas de capacitación de las empresas, se encuentran: 1. Estructura organizacional y tradicionalismo. 2. La falta de ejemplos de mejores prácticas. 3. La falta de soporte y experiencia en manejo de estas tecnologías asi como entrenamiento en la formación de instructores. 4. La falta de comprensión y visión acerca del e-Learning. 5. La falta de recurso humano y aceptación por parte del usuario. 6. La falta de habilidad por parte de profesores e instructores, aunada a una actitud negativa. 7. El tiempo requerido para la preparación de material

Page 41: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 41

2.1.4 Sistemas de seguridad para desarrollos Web.

o Seguridad física y ambiental del equipamiento que soporta el sitio web

Ubicar el equipamiento en un ambiente con acceso restringido sólo a

personas autorizadas, esto es:

personal del organismo que tenga autorización del área de sistemas.

terceros que requieran acceder al equipamiento (por ejemplo para mantenimiento), acompañados por un empleado autorizado.

Registrar el ingreso y egreso de personas al ambiente que alberga al

equipamiento (como mínimo de Prohibir comer, beber y fumar dentro del ambiente donde reside el equipamiento.

Adoptar controles adecuados para minimizar el riesgo de amenazas potenciales, por: robo o hurto, incendio, explosivos, humo, inundaciones o filtraciones de agua (o falta de suministro), polvo, vibraciones, efectos químicos, interferencia en el suministro de energía eléctrica (cortes de suministro, variación de tensión), radiación electromagnética, derrumbes, etc.

Implementar un sistema de refrigeración que permita mantener una temperatura adecuada para el procesamiento. Prever equipamiento alternativo en caso de falla del primario.

personas ajenas al área informática) de manera de permitir la posterior revisión de los accesos ocurridos. Se cuenta con un control de acceso automático, el mismo debe registrar los ingresos y egresos de forma de permitir la identificación de todas las personas que entren/salgan del recinto.

Revisar regularmente las condiciones ambientales para verificar que las mismas no afecten de manera adversa el funcionamiento de las instalaciones del equipamiento.

o Seguridad del sistema Operativo y las Comunicaciones o Resguardo de la información o Control de cambios o Seguridad de aplicaciones web dinámicas

2.2 XML (Extensible Markup Language).

2.2.1 Fundamentos de XML. Según la definición de Don Connolly, XML es "un sistema para definir, validar y compartir

formatos de documentos en la Web". También se le considera un metalenguaje que

ordena, estructura y describe los documentos de las páginas Web, permitiendo una

descripción más minuciosa. Metalenguaje porque un metalenguaje es aquel que describe

otro lenguaje.

Page 42: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 42

Respecto a sus objetivos son:

• XML debe ser directamente utilizable sobre Internet.

• XML debe soportar una amplia variedad de aplicaciones.

• XML debe ser compatible con SGML.

• Debe ser fácil la escritura de programas que procesen documentos XML.

• El número de características opcionales en XML debe ser absolutamente mínimo,

idealmente cero.

• Los documentos XML deben ser legibles por humanos y razonablemente claros.

• El diseño de XML debe ser preparado rápidamente.

• El diseño de XML debe ser formal y conciso.

• Los documentos XML deben ser fácilmente creables.

• La concisión en las marcas XML es de mínima importancia.

• Esta especificación, junto con los estándares asociados (Unicode e ISO/IEC 10646 para

caracteres, Internet RFC 1766 para identificación de lenguajes, ISO 639 para códigos de

nombres de lenguajes, e ISO 3166 para códigos de nombres de países), proporciona

toda la información necesaria para entender la Versión 1.0 de XML y construir programas

de computador que los procesen.

Nota: Standard Generalized Markup Language o "Estándar de Lenguaje de Marcado Generalizado, Consiste en un sistema para la

organización y etiquetado de documentos. La Organización Internacional de Estándares (ISO) normalizó este lenguaje en 1986.

Page 43: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 43

Principales características

• Es una arquitectura más abierta y extensible. No se necesita versiones para que puedan

funcionar en futuros navegadores. Los identificadores pueden crearse de manera simple y

ser adaptados en el acto en internet/intranet por medio de un validador de documentos

(parser).

• Mayor consistencia, homogeneidad y amplitud de los identificadores descriptivos del

documento con XML (los RDF ResourceDescriptionFrameWork), en comparación a los

atributos de la etiqueta del HTML.

• Integración de los datos de las fuentes más dispares. Se podrá hacer el intercambio de

documentos entre las aplicaciones tanto en el propio PC como en una red local o extensa.

• Datos compuestos de múltiples aplicaciones. La extensibilidad y flexibilidad de este

lenguaje nos permitirá agrupar una variedad amplia de aplicaciones, desde páginas web

hasta bases de datos.

• Gestión y manipulación de los datos desde el propio cliente web.

• Los motores de búsqueda devolverán respuestas más adecuadas y precisas, ya que la

codificación del contenido web en XML consigue que la estructura de la información resulte

más accesible.

• Se desarrollarán de manera extensible las búsquedas personalizables y subjetivas para

robots y agentes inteligentes. También conllevará que los clientes web puedan ser más

autónomos para desarrollar tareas que actualmente se ejecutan en el servidor.

Page 44: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 44

• Se permitirá un comportamiento más estable y actualizable de las aplicaciones web,

incluyendo enlaces bidireccionales y almacenados de forma externa (El famoso epígrafe

"404 file not found" desaparecerá).

• El concepto de "hipertexto" se desarrollará ampliamente (permitirá denominación

independiente de la ubicación, enlaces bidireccionales, enlaces que pueden especificarse y

gestionarse desde fuera del documento, hiperenlaces múltiples, enlaces agrupados,

atributos para los enlaces, etc. Creado a través del Lenguaje de enlaces extensible (XLL).

Estructura

La estructura de XML consta de cuatro principales especificaciones:

DTD.- Definición del tipo de documento. • Es un archivo que encierra una definición formal de un tipo de documento y, a la vez, especifica la estructura lógica de cada documento. • Define tanto los elementos de una página como sus atributos. • El DTD del XML es opcional, en tareas sencillas no es necesario construir una DTD.

XSL (eXtensibleStylesheet Language).- Lenguaje de Estilo de los documentos • Permite modificar el aspecto de un documento. Se puede lograr múltiple columnas, texto girado, orden de visualización de los datos de una tabla, múltiples tipos de letra con amplia variedad en los tamaños. • Está basado en el lenguaje de semántica y especificación de estilo de documento (DSSSL, Document Style Semantics and Specification Language, ISO/IEC 10179) • Se considera más potente que las hojas de estilo en cascada (CSS, Cascading Style Sheets).

XLL (eXtensibleLinking Language) o lenguaje de enlaces extensible. Va más allá de los enlaces simples que sólo soporta el HTML, Se podrá implementar con enlaces extendidos.

• Denominación independiente de la ubicación. • Enlaces que pueden ser también bidireccionales. • Enlaces que pueden especificarse y gestionarse desde fuera del documento a los que se Apliquen.

• Hiperenlaces múltiples (anillos, múltiples ventanas, etc.). • Enlaces agrupados (múltiples orígenes).

• Transclusión (el documento destino al que apunta el enlace aparece como parte integrante del documento origen del enlace).

• Se pueden aplicar atributos a los enlaces. XUA (XML UserAgent): Estandarización de navegadores XML. Todavía está en proceso de creación de borradores de trabajo. Se aplicará a los navegadores para que compartan todas las especificaciones XML.

Page 45: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 45

Usos y aplicaciones

El XML se puede usar para infinidad de aplicaciones y aporta muchas ventajas en amplios escenarios. Algunas ventajas del XML en algunos campos son:

• Comunicación de datos. Si la información se transfiere en XML, cualquier aplicación podría escribir un documento de texto plano con los datos que estaba manejando en formato XML y otra aplicación recibir esta información y trabajar con ella. • Migración de datos. Si tenemos que mover los datos de una base de datos a otra sería muy sencillo si las dos trabajasen en formato XML. • Aplicaciones Web. Hasta ahora cada navegador interpreta la información a su manera y los programadores del Web tenemos que hacer unas cosas u otras en función del navegador del usuario. Con XML tenemos una sola aplicación que maneja los datos y para cada navegador o soporte podremos tener una hoja de estilo o similar para aplicarle el estilo adecuado. Si mañana nuestra aplicación debe correr en WAP solo tenemos que crear una nueva hoja de estilo o similar.

Formato de datos XML establece un formato de datos que representa un estándar abierto independiente de fabricantes y de plataformas, también permite producir documentos en entornos multimedia de manera muy eficiente. Cada fabricante de hardware y software siempre han creado sus propios mecanismos para definir estructuras de datos. La ventaja de XML es que es un estándar con independencia del tipo de implementación seleccionado. Esto significa que podemos usar herramientas de distintos proveedores para estructurar datos con la especificación XML, almacenarlos en una base de datos, realizar búsquedas o ejecutar cualquier proceso. De esta forma nuestros datos serán accesibles y procesables por todas las herramientas que siguen el estándar XML con independencia de su plataforma y su fabricante. Estructura de un documento XML. Físicamente, el documento está compuesto por unidades llamadas entidades. Una entidad puede hacer referencia a otra entidad, causando que esta se incluya en el documento. Cada documento comienza con una entidad documento, también llamada raíz. Lógicamente, el documento está compuesto de declaraciones, elementos, comentarios, referencias a caracteres e instrucciones de procesamiento, todos los cuales están indicados por una marca explícita. Las estructuras lógica y física deben encajar de manera adecuada. Los documentos XML se dividen en dos grupos, documentos bien formados y documentos válidos. • Bien formados: Son todos los que cumplen las especificaciones del lenguaje respecto a las reglas sintácticas sin estar sujetos a unos elementos fijados en un DTD. De hecho los documentos XML deben tener una estructura jerárquica muy estricta y los documentos bien formados deben cumplirla. • Válidos: Además de estar bien formados, siguen una estructura y una semi-autentica determinada por un DTD: sus elementos y sobre todo la estructura jerárquica que define el DTD.

Page 46: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 46

Ejemplo Angel Barbero c/Ulises, 36 Lo primero que tenemos que observar es la primera línea. Con ella deben empezar todos los documentos XML, ya que es la que indica que lo que la sigue es XML. Aunque es opcional, es recomendable incluirla. Puede tener varios atributos, algunos obligatorios y otros no: • Versión: Indica la versión de XML usada en el documento. Es obligatorio ponerlo, a no ser que sea un documento externo a otro que ya lo incluía. • Encoding: La forma en que se ha codificado el documento. Se puede poner cualquiera, y depende del parser el entender o no la codificación. Por defecto es UTF-8, aunque podrían ponerse otras, como UTF-16, US-ASCII, ISO-8859-1, etc. No es obligatorio salvo que sea un documento externo a otro principal. • Standalone: Indica si el documento va acompañado de un DTD ("no"), o no lo necesita ("yes"); en principio no hay porqué ponerlo, porque luego se indica el DTD si se necesita. La "declaración de tipo de documento" define qué tipo de documento estamos creando para ser procesado correctamente. Es decir, definimos que declaración de tipo de documento (DTD) valida y define los datos que contiene nuestro documento XML. En ella se define el tipo de documento, y dónde encontrar la información sobre su Definición de Tipo de Documento, mediante: • Un identificador público (PUBLIC): que hace referencia a dicha DTD. • Identificador universal de recursos (URI): precedido de la palabra SYSTEM. Documentos XML bien formados • Un documento XML se dice que está bien formado si encaja con las especificaciones XML de producción, lo que implica: Estructura jerárquica de elementos Los documentos XML deben seguir una estructura estrictamente jerárquica con lo que respecta a las etiquetas que delimitan sus elementos. Una etiqueta debe estar correctamente "incluida" en otra. Asímismo, los elementos con contenido, deben estar correctamente "cerrados". Ejemplo li>HTML permite esto . En XML la estructura es jerárquica . Etiquetas vacías HTML permite elementos sin contenido. XML también, pero la etiqueta debe ser de la siguiente forma. A continuación se muestra un ejemplo incorrecto y posteriormente otro correcto. Ejemplo

Page 47: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 47

Esto es HTML en el que casi todo está permitido En XML, es más restrictivo. Un solo elemento raíz Los documentos XML sólo permiten un elemento raiz, del que todos los demás sean parte. Es decir, la jerarquía de elemento de un documento XML bien formado sólo puede tener un elemento inicial. Valores de atributos Los valores de atributos en XML siempre deben estar encerradas entre comillas simples (') o doble ("). En el siguiente ejemplo, la primera línea sería incorrecta en XML, no así la segunda: Tipos de letras, espacios en blanco El XML es sensible al tipo de letra que se utiliza, es decir, trata las mayúsculas y minúsculas como caracteres diferentes. Por lo tanto, los elementos definidos como "FICHA", "Ficha", "ficha" y "ficha" serían elementos diferentes. Existe un conjunto de caracteres denominados "espacios en blanco" que los procesadores XML tratan de forma diferente en el marcado XML. Estos caracteres son los ":espacios", tabuladores, retornos de carro y los saltos de línea. La especificación XML 1.0 permite el uso de esos "espacios en blanco" para hacer más legible el código, y en general son ignorados por los procesadores XML. En estos casos, sin embargo, los "espacios en blanco" resultan muy significativos, por ejemplo, para separar las palabras de un texto, o separa líneas de párrafos diferentes. Nombrando cosas Al utilizar XML, es necesario asignar nombres a las estructuras, tipos de elementos, entidades, elementos particulares, etc. En XML los nombres tienen algunas características en común. No se pueden crear nombres que empiecen con la cadena "xml", "xML", "XML" o cualquier otra variante. Las letras y rayas se pueden usar en cualquier parte del nombre. También se pueden incluir dígitos, guiones y caracteres de punto, pero no se puede empezar por ninguno de ellos. El resto de caracteres, como algunos símbolos, y espacios en blanco, no se pueden usar. Marcado y datos Las construcciones con etiquetas, referencias de entidad y declaraciones se denominan "marcas". Éstas son las partes del documento que el procesador XML espera entender. El resto del documento que se encuentra entre las marcas son los datos que resultan entendibles por las personas. Es sencillo reconocer las marcas en un documento XML. Son aquellas porciones que empiezan con "", o bien, en el caso de las referencias de entidad, empiezan por "&" y acaban con ";". Elementos Los elementos XML pueden tener contenido (más elementos, caracteres, o ambos a la vez), o bien ser elementos vacíos.

Page 48: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 48

Siempre empieza con una que puede contener atributos o no, y termina con una que debe tener el mismo nombre. Al contrario que HTML, en XML siempre se debe "cerrar" un elemento. Hay que tener en cuenta que el símbolo" Rock & Roll Rock & Roll ]]> Como hemos visto dentro de una sección CDATA podemos poner cualquier cosa, que no será interpretada como algo que no es así. Existe una excepción y es la cadena "]]>" con el que termina el bloque CDATA. Esta cadena no puede utilizarse dentro de una sección CDATA. Comentarios A veces es conveniente insertar comentarios en el documentos XML, que son ignorados por el procesado de la información y las reproducciones del documento. Los comentarios tienen el mismo formato que los comentarios de HTML. Es decir, comienza por la cadena "". Se pueden introducir comentarios en cualquier parte del documento

2.2.2 Diseño de aplicaciones web Dreamweaver CS3

Ejercicio 1 curriculum Ejercicio 2 tablas e imágenes Ejercicio 3 hipervínculos con imágenes Ejercicio 4 Video

2.2.3 Productos web

Páginas Web Aplicaciones Web Dominio Hospedaje Compras en línea Motores de búsqueda Noticias E-learning E-mail Mensajería instantánea (chats) Videos Blog’s FTP Redes Sociales

2.2.3.1 Middleware. El Middleware es un software de conectividad que ofrece un conjunto de servicios que hacen posible el funcionamiento de aplicaciones distribuidas sobre plataformas heterogéneas. Funciona como una capa de abstracción de software distribuido, que se sitúa entre las capas de aplicaciones y las capas inferiores (sistema operativo y red). El Middleware nos abstrae de la complejidad y heterogeneidad de las redes de comunicaciones subyacentes, así como de los sistemas operativos y lenguajes de

Page 49: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 49

programación, proporcionando una API para la fácil programación y manejo de aplicaciones distribuidas. Dependiendo del problema a resolver y de las funciones necesarias, serán útiles diferentes tipo de servicios de middleware. Nota: Aplicación de Ambientes distribuidos es uuna aplicación con distintos componentes que se ejecutan en

entornos separados, normalmente en diferentes plataformas conectadas a través de una red. Las típicas aplicaciones distribuidas son de dos niveles (cliente-servidor), tres niveles (cliente-middleware-servidor) y multinivel. Ejemplo: algunas de las aplicaciones distribuidas más conocidas son remote login, correo

electrónico,navegación Web, streaming, telefonía IP y compartición de ficheros(P2P)

Por lo general el middleware del lado cliente está implementado por el Sistema Operativo subyacente, el cual posee las librerías que implementan todas las funcionalidades para la comunicación a través de la red.

Nota: Una interfaz de programación de aplicaciones o API (del inglés Application Programming Interface) es el

conjunto de funciones y procedimientos (o métodos, en la programación orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción. Son usados generalmente en las bibliotecas. Las funciones API se pueden dividir en varias categorías.

Orígenes

Los Middleware han aparecido de manera relativamente reciente en el mundo de la informática, hoy en día tecnologías móviles (celulares) están aplicando esta tecnología para el soporte de llamadas VO.IP. En el pasado ganaron popularidad en la década de los 80, ya que eran la solución de cómo integrar las nuevas aplicaciones con los sistemas heredados (legacysystems), en todo caso, el termino ha sido usado desde 1968 y también facilitaba la computación distribuida, mediante conexión de múltiples aplicaciones para crear una mucho mayor, sobre una red.

Tipos de middleware

Se pueden clasificar los diferentes middleware en función de su escalabilidad y su tolerancia a fallos, aunque tomando en cuenta que esta investigación no fue corroborada, puede haber otros tipos de clasificaciones:

RemoteProcedureCall (RPCs).- El cliente realiza una llamada a procedimientos que están ejecutando en máquinas remotas. Pueden ser síncronos o asíncronos.

Middlware

Page 50: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 50

Publish/subscribe.- Este tipo de monitores middleware activan y entregan información relevante para los subscriptores.

Message-oriented middleware (MOM).- Los mensajes enviados al cliente se recogen y se almacenan hasta que son solicitados, mientras el cliente continúa con otros procesos.

ObjectRequestBroker (ORB).- Este tipo de middleware permite que los clientes envíen objetos y soliciten servicios en un sistema orientado a objetos.

SQL-oriented Data Access.- middleware entre las aplicaciones y los servidores de base de datos.

Otras fuentes incluyen divisiones adicionales:

Monitores de Transacciones Distribuidas — Provee herramientas y un ambiente de desarrollo y despliegue de aplicaciones distribuidas.

2

Servidor de aplicaciones — Software instalado en una computadora para facilitar el servicio (ejecución) de otras aplicaciones.

Enterprise Service Bus — Una capa abstracta en el tope de un sistema de mensajería de empresa.

Otros autores determinan sólo estos dos:

Middleware de servicios generales

Middleware de servicios específicos

Ejemplos: ODBC, para bases de datos, Lotus para groupware, HTTP y SSL para Internet y CORBA, DCOM y JAVA RMI para objetos distribuidos. Motor de búsqueda Un motor de búsqueda es un sistema informático que indexa archivos almacenados en servidores web. Un ejemplo son los buscadores de Internet (algunos buscan sólo en la Web pero otros buscan además en noticias, servicios como Gopher, FTP, etc.) cuando se pide información sobre algún tema. Las búsquedas se hacen con palabras clave o con árboles jerárquicos por temas; el resultado de la búsqueda es un listado de direcciones Web en los que se mencionan temas relacionados con las palabras clave buscadas. Se pueden clasificar en dos tipos:

Page 51: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 51

• Índices temáticos: Son sistemas de búsqueda por temas o categorías jerarquizados (aunque también suelen incluir sistemas de búsqueda por palabras clave). Se trata de bases de datos de direcciones Web elaboradas "manualmente", es decir, hay personas que se encargan de asignar cada página web a una categoría o tema determinado. • Motores de búsqueda: Son sistemas de búsqueda por palabras clave. Son bases de datos que incorporan automáticamente páginas web mediante "robots" de búsqueda en la red.

2.2.3.2 Bases de datos. ¿Qué es una base de datos multimedia? Una base de datos multimedia es una base de datos que alberga uno o más tipos de archivos de los medios de comunicación principales como documentos), imágenes, vídeos, audio etc., y se dividen en tres categorías principales • Los medios de comunicación (tiempo-independiente, es decir, imágenes y escritura) • Medios dinámicos (en función del tiempo, es decir, video y sonido bytes)

Page 52: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 52

• Dimensional medios de comunicación (es decir, los juegos 3D o con ayuda de computadoras, elaboración de programas de CAD) Todos los principales medios de comunicación se guardan en los archivos binarios de cadenas de ceros y unos, y se codifican de acuerdo con el tipo de archivo. El término "datos" suele ser referenciados desde el punto de vista del equipo, mientras que el término "multimedios" se hace referencia desde el punto de vista del usuario.

Tipos de Base de Datos Multimedia

Estática medios de comunicación (independientes del tiempo, es decir, imágenes y escritura).

Dinámica de los medios de comunicación (en función del tiempo, es decir, de vídeo y clips de sonido).

Dimensiones medios de comunicación (es decir, los juegos 3D o programas de redacción asistida por ordenador-CAD)

2.2.3.3 Sistemas de administración de contenidos.

Definición

El gestor de contenidos es una aplicación informática usada para crear, editar, gestionar y publicar contenido digital en diversos formatos. El gestor de contenidos genera páginas dinámicas interactuando con el servidor para generar la página web bajo petición del usuario, con el formato predefinido y el contenido extraído de la base de datos del servidor.

Esto permite gestionar, bajo un formato padronizado, la información del servidor, reduciendo el tamaño de las páginas para descarga y reduciendo el coste de gestión del portal con respecto a una página estática, en la que cada cambio de diseño debe ser realizado en todas las páginas, de la misma forma que cada vez que se agrega contenido tiene que maquetarse una nueva página HTML y subirla al servidor.

Historia

Los primeros sistemas de administración de contenidos fueron desarrollados por organizaciones que publicaban una gran cantidad de contenido en Internet, y necesitaban de continuas actualizaciones; como revistas en línea, periódicos y publicaciones corporativas.

En 1995, el sitio de noticias tecnológicas CNET sacó su sistema de administración de documentos y publicación y creó una compañía llamada Vignette, pionero de los sistemas de administración de contenido comerciales.

La evolución de Internet hacia portales con más contenido y la alta participación de los usuarios directamente, a través de blogs y redes sociales, han convertido a los gestores de contenidos en una herramienta esencial en internet, tanto para empresas e instituciones como para las personas.

Page 53: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 53

Los wikis y los sistemas groupware también son considerados CMS.

Hoy en día existen versiones desarrolladas en código abierto y versiones propietarios. En ambos casos es necesaria una implantación para adaptar el gestor de contenidos al esquema gráfico y funcionalidades deseadas. Para ciertos gestores existen muchas plantillas disponibles que permite una sencilla implantación por parte de un usuario sin conocimientos de programación. El paradigma de este caso es Wordpress, gestor sobre el que hay una gran comunidad de desarrolladores de extensiones y plantillas.

Otras consideraciones iníciales

Entendido como un sistema de soporte a la gestión de contenidos; ya que, en realidad, son las estrategias de comunicación las que realmente llevan a gestionar contenidos de forma efectiva; los sistemas informáticos pueden a lo sumo proporcionar las herramientas necesarias para la publicación en línea, o bien incluir servicios de soporte a la toma de decisiones por lo que a la gestión de contenidos se refiere.

El gestor de contenidos se aplica generalmente para referirse a sistemas de publicación, pudiendo subestimarse las funcionalidades de soporte, en detrimento de las funcionalidades relacionadas con la optimización de los tiempos de publicación. La correcta implantación del sistema, con arreglo a las necesidades del cliente es necesaria, y es

Necesario entender el proyecto de un portal web en el seno de un proyecto de comunicación estructurado y bien planteado por parte del cliente.

La elección de la plataforma correcta será vital para alcanzar los objetivos del cliente, ya que exentan particularidades diferenciales tanto en su adaptabilidad a esquemas gráficos como la posible integrabilidad de funcionalidades y extensiones adicionales.

El posicionamiento en buscadores está altamente relacionado con el volumen de contenidos de un portal y con la forma en la que éste se presenta. Es importante tener eso en cuenta para la estructura del portal para garantizar un correcto posicionamiento orgánico.

Funcionamiento

Un sistema de administración de contenido siempre funciona en el servidor web en el que esté alojado el portal. El acceso al gestor se realiza generalmente a través del navegador web, y se puede requerir el uso de FTP para subir contenido.

Cuando un usuario accede a una URL, se ejecuta en el servidor esa llamada, se selecciona el esquema gráfico y se introducen los datos que correspondan de la base de datos. La página se genera dinámicamente para ese usuario, el código HTML final se genera en esa llamada. Normalmente se predefine en el gestor varios formatos de presentación de contenido para darle la flexibilidad a la hora de crear nuevos apartados e informaciones.

Gestión de usuarios

Dependiendo de la plataforma escogida se podrá escoger diferentes niveles de acceso para los usuarios; yendo desde el administrador del portal hasta el usuario sin permiso de

Page 54: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 54

edición, o creador de contenido. Dependiendo de la aplicación podrá haber varios permisos intermedios que permitan la edición del contenido, la supervisión y reedición del contenido de otros usuarios, y etc.

El CMS controla y ayuda a manejar cada paso de este proceso, incluyendo las labores técnicas de publicar los documentos a uno o más sitios. En muchos sitios con CMS una sola persona hace el papel de creador y editor, como por ejemplo los blogs.

Tipos de gestores de contenido

Los gestores de contenido se pueden segmentar según diferentes criterios:

Según el lenguaje de programación empleado: Active Server Pages, Java, PHP, ASP.NET, Ruby OnRails, Python

Según la propiedad del código o Open Source (código abierto); permite que se desarrolle sobre el código, o Código privativo; sólo su desarrollador puede desarrollar la aplicación.

Según el tipo de uso o funcionalidades: o Plataformas generales o Sistemas específicos o Blogs; pensados para páginas personales o Foros; pensados para compartir opiniones o Wikis; pensados para el desarrollo colaborativo o e-learning; plataforma para contenidos de enseñanza on-line o e-commerce; plataforma de gestión de usuarios, catálogo, compras y

pagos o Publicaciones digitales o Difusión de contenido multimedia

Para ver un listado completo de gestores de contenidos véase

Iniciativas de estandarización

Dentro de los portales se han realizado procesos de estandarización encaminados a la homogeneización en las interfaces de programación de los mismos de tal manera que un servicio desarrollado para un portal pueda ejecutarse en cualquier otro portal compatible con el estándar. El objetivo es obtener portales interoperables evitando desarrollo propietario.

Las dos iniciativas más importantes son la PortletSpecification API JSR-168, la Content Repository API JSR-170.

Page 55: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 55

Ventajas y Oportunidades

El gestor de contenidos facilita el acceso a la publicación de contenidos a un rango mayor de usuarios. Permite que sin conocimientos de programación ni maquetación cualquier usuario pueda indexar contenido en el portal.

Además permite la gestión dinámica de usuarios y permisos, la colaboración de varios usuarios en el mismo trabajo, la interacción mediante herramientas de comunicación.

Los costes de gestión de la información son muchos menores ya que se elimina un eslabón de la cadena de publicación, el maquetado. La maquetación es hecha al inicio del proceso de implantación del gestor de contenidos.

La actualización, backup y reestructuración del portal son mucho más sencillas al tener todos los datos vitales del portal, los contenidos, en una base de datos estructurada en el servidor.

2.2.3.4 Motores de consulta.

Definición y funcionamiento Las principales herramientas de búsqueda son los denominados motores de búsqueda (searchengines). Un motor de búsqueda se podría definir de forma muy simple, como una herramienta que basa su funcionamiento en palabras clave que tienen el objetivo de realizar búsquedas dentro de una base de datos. Los documentos que se pueden encontrar después de realizar una búsqueda se pueden haber agrupado de forma manual o mediante un robot. Un robot, según el WWW Robots FAQ, es un programa que de manera automática atraviesa la estructura de documentos Web extrayendo un documento y a partir de éste extrayendo recursivamente todos los documentos que están referenciados por enlaces, es por este motivo que también es conocido como araña (spider) Los documentos son introducidos en una base de datos e indexados para su posterior localización por el motor de búsqueda. El criterio para seleccionar las páginas que visita un robot depende de cada robot. Cada uno usa diferentes estrategias. En general comienzan a trabajar desde una lista histórica de URL's.(Localizador de Recursos Uniforme) También depende del robot, qué indexar pero generalmente usa los títulos de la página HTML (Titles) o los primeros párrafos, o selecciona la página HTML completa e indexa las palabras contenidas, excluyendo las de uso común (pronombres, adverbios y palabras como "web", "página", etc), algunos seleccionan las meta etiquetas.

Page 56: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 56

En el caso de ser visitado por un robot, las estadísticas de las páginas muestran una misma dirección IP que accede en unos pocos segundos a todas las páginas de la web, cosa que no puede hacerse manualmente. Cuando un robot entra en un servidor, busca un archivo llamado robots.txt, en el que se le indican los directorios permitidos y los prohibidos. Si este archivo no existe, considera todos permitidos. Teniendo en cuenta lo anteriormente mencionado, el camino más rápido para evitar que un robot escanee un sitio es crear el archivo robot.txt con las siguientes dos líneas y ponerlo en el servidor.

User-agent: *

Disallow: / Si no tenemos acceso completo al servidor, simplemente podemos incluir las siguientes líneas (tags o etiquetas) en la página web para que no sea indexada: <META name="ROBOTS" content="NOINDEX"> Y si queremos que los links no sean indexados por el robot debemos incluir: <META name="ROBOTS" content="NOFOLLOW"> El funcionamiento: El motor de búsqueda recibe la consulta/interrogación (también conocida como query) del usuario, formada por una o más palabras, realiza la consulta a la base de datos y ofrece un listado ordenado de documentos que cumplen parte o el total de los requisitos de interrogación. El orden de los documentos ofrecidos está de acuerdo con una puntuación (score) que asocia el programa a cada documento cuando realiza la consulta y que varía en cada caso. De esta manera, cuanta más alta sea la puntuación más exacta es el resultado. Estrategias de búsqueda: Para realizar cualquier consulta es básico conocer el lenguaje de interrogación o de búsqueda (querylanguage). Éste está formado por diferentes tipos de operadores: Los operadores lógicos son los descritos en la lógica y la teoría de conjuntos sistematizados de Boole, más conocidos como "álgebra de Boole". Las operaciones más conocidas que se pueden realizar son tres: _Suma o unión (and, +, &): Encontrar documentos que contengan todas las palabras. _Producto lógico o intersección (or, |): Encontrar documentos que contengan alguna de las palabras. _Exclusión (no, -,NOT, !): Encontrar documentos que excluyan la palabra o frase especificada: ej: ftp &! web, encuentra documentos con ftp pero no contendrán la palabra web. No se permite usarlo si no es acompañado de otro operador como por ejemplo AND. Arquitectura: En algunos motores de búsqueda el análisis de las páginas web se lleva a cabo por medio de diversos procesos distribuidos.

Page 57: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 57

Hay un URL Server que envía listas de direcciones (URLs) para ser analizadas por los robots (Crawlers). Estas páginas una vez analizadas, son enviadas al servidor de almacenamiento. Este servidor se encarga de comprimir las páginas web y almacenarlas en un "depósito". Cada página web tiene asociado un número de identificación (ID number) denominado "docID", que es asignado cada vez que un nuevo URL es interpretado desde una página. La función de indexación es llevada a cabo por el indexador y el clasificador (sorter). El indexador lee las páginas web procedentes del depósito, descomprime los documentos y los analiza. Cada documentos e convierte en un conjunto de palabras, que van a denominarse "hits", donde guarda la palabra, posición en el documento y una aproximación de su tamaño de fuente. El indexador distribuye estos hits en un conjunto de denominados "barriles", creando un índice parcialmente ordenado. El indexador lleva a cabo otra función, analizar los enlaces incluidos en cada página web y almacena la información importante acerca de ellos en archivos de enlace conocidos como "anchors". Este archivo contiene suficiente información para determinar hacia donde apunta cada enlace y el texto de cada uno de ellos.

Nuevos motores de consulta

LivePlasma: Es un servicio de búsqueda orientado a películas y a música. A partir de un

nombre de tema, intérprete, película, actor o director. El sistema arma un grafo de relación

con otros objetos vecinos. Según versiones a los efectos de determinar qué relación existe

entre cada tipo de música el sistema toma datos del sitio Amazon. En particular, extrae

información acerca de qué otras compras han realizado aquellas personas que han

comprado algún disco de dicho músico.

ZoomInfo: Es un motor de búsqueda (puesto en marcha a inicios del 2005) que se enfoca a

la localización de personas y de compañías. Ofrece resúmenes de datos acerca de

compañías y personas. Es un motor de consulta orientado a la localización de personas y

organizaciones. En agosto del 2006 Zoominfo informaba que eran más de 31 millones de

personas y 2 millones de empresas las que tenían indexadas en su base de datos. La

información la recolecta de varias fuentes, como ser: sitios web, boletines de prensa,

agencias de prensa, entre otros.

Gravee: Es un buscador tradicional con algunas características propias. A medida que el

usuario examina los resultados puede evaluarlos como positivos o negativos, tal

información será tomada como recomendación para otros usuarios. Los sitios hallados

pueden ser almacenados en una sección de favoritos. Los usuarios dueños de blogs

pueden añadir en sus sitios interfaces de consulta con Gravee y recibir una recompensa

económica por ello. Los generadores de contenido indexado por Gravee pueden tener un

dinero a cambio de ellos. En Gravee se pretende cambiar compartir los ingresos

publicitarios con los propietarios contenidos y aquellos que fomenten el uso del servicio.

Page 58: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 58

Jookster: Se basa en que los usuarios pueden afinar las búsqueda en referencia a lo

previamente que hayan buscado otros miembros de la comunidad. Si un usuario busca

"NNN", llega a CCC y lo cataloga como bueno, luego otro usuario consulte por ―NNN‖ a

Jookster tendrá a ―NNN‖ bien posicionado en la lista de respuestas. El servicio es ideal

para grupos de usuarios con temáticas afines dado que cooperativamente pueden tener

una buena perfomance en sus consultas. Se basa en el concepto de búsquedas sociales.

Krugle: Es un servicio de búsqueda especializado en buscar sobre código fuente y

documentos técnicos. Su fin es parecido al del sistema Koders. Las consultas son por

palabra o palabras claves, y se puede elegir entre 17 lenguajes de programación. Se

puede definir el ámbito de búsqueda, por ejemplo buscar en método o función, en

definiciones, de quién hereda, en variables y en definición de clases.

Unidad 3 Bases de datos para el soporte en la toma de decisiones.

3.1 Bodegas de datos (Datawarehouse) 3.1.1 Definición y objetivo.

En el contexto de la informática, un almacén de datos (del inglésdata warehouse) es una colección de datos orientada a un determinado ámbito (empresa, organización, etc.), integrado, no volátil y variable en el tiempo, que ayuda a la toma de decisiones en la entidad en la que se utiliza. Se trata, sobre todo, de un expediente completo de una organización, más allá de la información transaccional y operacional, almacenado en una base de datos diseñada para favorecer el análisis y la divulgación eficiente de datos (especialmente OLAP, procesamiento analítico en línea). El almacenamiento de los datos no debe usarse con datos de uso actual. Los almacenes de datos contienen a menudo grandes cantidades de información que se subdividen a veces en unidades lógicas más pequeñas dependiendo del subsistema de la entidad del que procedan o para el que sea necesario.

Bill Inmon fue uno de los primeros autores en escribir sobre el tema de los almacenes de datos, define un data warehouse (almacén de datos) en términos de las características del

repositorio de datos:

Orientado a temas.- Los datos en la base de datos están organizados de manera que todos los elementos de datos relativos al mismo evento u objeto del mundo real queden unidos entre sí.

Variante en el tiempo.- Los cambios producidos en los datos a lo largo del tiempo quedan registrados para que los informes que se puedan generar reflejen esas variaciones.

No volátil.- La información no se modifica ni se elimina, una vez almacenado un dato, éste se convierte en información de sólo lectura, y se mantiene para futuras consultas.

Integrado.- La base de datos contiene los datos de todos los sistemas operacionales de la organización, y dichos datos deben ser consistentes.

Bill Inmon defiende una metodología descendente (top-down) a la hora de diseñar un

almacén de datos, ya que de esta forma se considerarán mejor todos los datos corporativos.

Page 59: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 59

En esta metodología los Data marts se crearán después de haber terminado el data

warehouse completo de la organización.

Definición de Ralph Kimball

Éste es otro conocido autor en el tema de los data warehouse, define un almacén de datos como: "una copia de las transacciones de datos específicamente estructurada para la consulta y el análisis". También fue Kimball quien determinó que un data warehouse no era más que: "la unión de todos los Data marts de una entidad". Defiende por tanto una metodología ascendente (bottom-up) a la hora de diseñar un almacén de datos.

3.1.2 Funcionamiento.

En un almacén de datos lo que se quiere es contener datos que son necesarios o útiles para una organización, es decir, que se utiliza como un repositorio de datos para posteriormente transformarlos en información útil para el usuario. Un almacén de datos debe entregar la información correcta a la gente indicada en el momento óptimo y en el formato adecuado. El almacén de datos da respuesta a las necesidades de usuarios expertos, utilizando Sistemas de Soporte a Decisiones (DSS), Sistemas de información ejecutiva (EIS) o herramientas para hacer consultas o informes. Los usuarios finales pueden hacer fácilmente consultas sobre sus almacenes de datos sin tocar o afectar la operación del sistema.

En el funcionamiento de un almacén de los datos son muy importantes las siguientes ideas:

Integración de los datos provenientes de bases de datos distribuidas por las

diferentes unidades de la organización y que con frecuencia tendrán diferentes

estructuras (fuentes heterogéneas). Se debe facilitar una descripción global y un

análisis comprensivo de toda la organización en el almacén de datos.

Page 60: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 60

Separación de los datos usados en operaciones diarias de los datos usados en el

almacén de datos para los propósitos de divulgación, de ayuda en la toma de

decisiones, para el análisis y para operaciones de control. Ambos tipos de datos no

deben coincidir en la misma base de datos, ya que obedecen a objetivos muy

distintos y podrían entorpecerse entre sí.

Periódicamente, se importan datos al almacén de datos de los distintos sistemas de planeamiento de recursos de la entidad (ERP) y de otros sistemas de software relacionados con el negocio para la transformación posterior. Es práctica común normalizar los datos antes de combinarlos en el almacén de datos mediante herramientas de extracción, transformación y carga (ETL). Estas herramientas leen los datos primarios (a menudo bases de datos OLTP de un negocio), realizan el proceso de transformación al almacén de datos (filtración, adaptación, cambios de formato, etc.) y escriben en el almacén.

3.1.3 Consideraciones de diseño.

Para construir un Data Warehouse se necesitan herramientas para ayudar a la migración y a la transformación de los datos hacia el almacén. Una vez construido, se requieren medios para manejar grandes volúmenes de información. Se diseña su arquitectura dependiendo de la estructura interna de los datos del almacén y especialmente del tipo de consultas a realizar. Con este criterio los datos deben ser repartidos entre numerosos data marts. Para abordar un proyecto de Data warehouse es necesario hacer un estudio de algunos temas generales de la organización o empresa, los cuales se describen a continuación:

Situación actual de partida.- Cualquier solución propuesta de data warehouse debe estar muy orientada por las necesidades del negocio y debe ser compatible con la arquitectura técnica existente y planeada de la compañía.

Tipo y características del negocio.- Es indispensable tener el conocimiento exacto sobre el tipo de negocios de la organización y el soporte que representa la información dentro de todo su proceso de toma de decisiones.

Entorno técnico.- Se debe incluir tanto el aspecto del hardware (mainframes, servidores, redes,...) así como aplicaciones y herramientas. Se dará énfasis a los Sistemas de soporte a decisiones (DSS), si existen en la actualidad, cómo operan, etc.

Expectativas de los usuarios.- Un proyecto de data warehouse no es únicamente un proyecto tecnológico, es una forma de vida de las organizaciones y como tal, tiene que contar con el apoyo de todos los usuarios y su convencimiento sobre su bondad.

Etapas de desarrollo.- Con el conocimiento previo, ya se entra en el desarrollo de un modelo conceptual para la construcción del data warehouse.

Prototipo.- Un prototipo es un esfuerzo designado a simular tanto como sea posible el producto final que será entregado a los usuarios.

Page 61: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 61

Piloto.- El piloto de un data warehouse es el primero, o cada uno de los primeros resultados generados de forma iterativa que se harán para llegar a la construcción del producto final deseado.

Prueba del concepto tecnológico.- Es un paso opcional que se puede necesitar para determinar si la arquitectura especificada del data warehouse funcionará finalmente como se espera.

3.1.4 Herramientas para extraer, transformar y cargar fuentes de datos.

Es práctica común normalizar los datos antes de combinarlos en el almacén de datos mediante herramientas de extracción, transformación y carga (ETL). Estas herramientas leen los datos primarios (a menudo bases de datos OLTP de un negocio), realizan el proceso de transformación al almacén de datos (filtración, adaptación, cambios de formato, etc.) y escriben en el almacén.

Extract, Transform and Load (Extraer, transformar y cargar en inglés, frecuentemente abreviado a ETL) es el proceso que permite a las organizaciones mover datos desde múltiples fuentes, reformatearlos y limpiarlos, y cargarlos en otra base de datos, data mart, o data warehouse para analizar, o en otro sistema operacional para apoyar un proceso de negocio.

Los procesos ETL también se pueden utilizar para la integración con sistemas heredados.

Extraer

La primera parte del proceso ETL consiste en extraer los datos desde los sistemas de origen. La mayoría de los proyectos de almacenamiento de datos fusionan datos provenientes de diferentes sistemas de origen. Cada sistema separado puede usar una organización diferente de los datos o formatos distintos. Los formatos de las fuentes normalmente se encuentran en bases de datos relacionales o ficheros planos, pero pueden incluir bases de datos no relacionales u otras estructuras diferentes. La extracción convierte los datos a un formato preparado para iniciar el proceso de transformación.

Una parte intrínseca del proceso de extracción es la de analizar los datos extraídos, de lo que resulta un chequeo que verifica si los datos cumplen la pauta o estructura que se esperaba. De no ser así los datos son rechazados.

Un requerimiento importante que se debe exigir a la tarea de extracción es que ésta cause un impacto mínimo en el sistema origen. Si los datos a extraer son muchos, el sistema de origen se podría ralentizar e incluso colapsar, provocando que éste no pueda utilizarse con normalidad para su uso cotidiano. Por esta razón, en sistemas grandes las operaciones de extracción suelen programarse en horarios o días donde este impacto sea nulo o mínimo.

Transformar

La fase de transformación aplica una serie de reglas de negocio o funciones sobre los datos extraídos para convertirlos en datos que serán cargados. Algunas fuentes de datos requerirán alguna pequeña manipulación de los datos. No obstante en otros casos pueden ser necesarias aplicar algunas de las siguientes transformaciones:

Seleccionar sólo ciertas columnas para su carga (por ejemplo, que las columnas con valores nulos no se carguen).

Page 62: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 62

Traducir códigos (por ejemplo, si la fuente almacena una "H" para Hombre y "M" para Mujer pero el destino tiene que guardar "1" para Hombre y "2" para Mujer).

Codificar valores libres (por ejemplo, convertir "Hombre" en "H" o "Sr" en "1").

Obtener nuevos valores calculados (por ejemplo, total_venta = cantidad * precio).

Unir datos de múltiples fuentes (por ejemplo, búsquedas, combinaciones, etc.).

Calcular totales de múltiples filas de datos (por ejemplo, ventas totales de cada región).

Generación de campos clave en el destino.

Transponer o pivotar (girando múltiples columnas en filas o viceversa).

Dividir una columna en varias (por ejemplo, columna "Nombre: García, Miguel"; pasar

a dos columnas "Nombre: Miguel" y "Apellido: García").

La aplicación de cualquier forma, simple o compleja, de validación de datos, y la

consiguiente aplicación de la acción que en cada caso se requiera.

Datos OK: Entregar datos a la siguiente etapa (Carga).

Datos erróneos: Ejecutar políticas de tratamiento de excepciones (por ejemplo,

rechazar el registro completo, dar al campo erróneo un valor nulo o un valor

centinela).

Carga

La fase de carga es el momento en el cual los datos de la fase anterior (transformación) son cargados en el sistema de destino. Dependiendo de los requerimientos de la organización, este proceso puede abarcar una amplia variedad de acciones diferentes. En algunas bases de datos se sobrescribe la información antigua con nuevos datos. Los data warehouse mantienen un historial de los registros de manera que se pueda hacer una auditoría de los mismos y disponer de un rastro de toda la historia de un valor a lo largo del tiempo.

Existen dos formas básicas de desarrollar el proceso de carga:

Acumulación simple: La acumulación simple es la más sencilla y común, y consiste en realizar un resumen de todas las transacciones comprendidas en el período de tiempo seleccionado y transportar el resultado como una única transacción hacia el data warehouse, almacenando un valor calculado que consistirá típicamente en un sumatorio o un promedio de la magnitud considerada.

Rolling: El proceso de Rolling por su parte, se aplica en los casos en que se opta por mantener varios niveles de granularidad. Para ello se almacena información resumida a distintos niveles, correspondientes a distintas agrupaciones de la unidad de tiempo o diferentes niveles jerárquicos en alguna o varias de las dimensiones de la magnitud almacenada (por ejemplo, totales diarios, totales semanales, totales mensuales, etc.).

La fase de carga interactúa directamente con la base de datos de destino. Al realizar esta operación se aplicarán todas las restricciones y triggers (disparadores) que se hayan definido en ésta (por ejemplo, valores únicos, integridad referencial, campos obligatorios, rangos de valores). Estas restricciones y triggers (si están bien definidos) contribuyen a que se garantice la calidad de los datos en el proceso ETL, y deben ser tenidos en cuenta.

Page 63: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 63

Procesamiento paralelo

Un desarrollo reciente en el software ETL es la aplicación de procesamiento paralelo. Esto ha permitido desarrollar una serie de métodos para mejorar el rendimiento general de los procesos ETL cuando se trata de grandes volúmenes de datos. Hay 3 tipos principales de paralelismos que se pueden implementar en las aplicaciones ETL:

De datos: Consiste en dividir un único archivo secuencial en pequeños archivos de

datos para proporcionar acceso paralelo.

De segmentación (pipeline): Permitir el funcionamiento simultáneo de varios componentes en el mismo flujo de datos. Un ejemplo de ello sería buscar un valor en el registro número 1 a la vez que se suman dos campos en el registro número 2.

De componente: Consiste en el funcionamiento simultáneo de múltiples procesos en diferentes flujos de datos, pertenecientes todos ellos a un único flujo de trabajo. Esto es posible cuando existen porciones dentro de un flujo de trabajo que son totalmente independientes entre ellas a nivel de flujo de datos.

Estos tres tipos de paralelismo no son excluyentes, sino que pueden ser combinados para realizar una misma operación ETL.

Una dificultad adicional es asegurar que los datos que se cargan sean relativamente consistentes. Las múltiples bases de datos de origen tienen diferentes ciclos de actualización (algunas pueden ser actualizadas cada pocos minutos, mientras que otras pueden tardar días o semanas). En un sistema de ETL será necesario que se puedan detener ciertos datos hasta que todas las fuentes estén sincronizadas. Del mismo modo, cuando un almacén de datos tiene que ser actualizado con los contenidos en un sistema de origen, es necesario establecer puntos de sincronización y de actualización.

Desafíos

Los procesos ETL pueden ser muy complejos. Un sistema ETL mal diseñado puede provocar importantes problemas operativos.

En un sistema operacional el rango de valores de los datos o la calidad de éstos pueden no coincidir con las expectativas de los diseñadores a la hora de especificarse las reglas de validación o transformación. Es recomendable realizar un examen completo de la validez de los datos (Data profiling) del sistema de origen durante el análisis para identificar las condiciones necesarias para que los datos puedan ser tratados adecuadamente por las reglas de transformación especificadas. Esto conducirá a una modificación de las reglas de validación implementadas en el proceso ETL.

Normalmente los data warehouse son alimentados de manera asíncrona desde distintas fuentes, que sirven a propósitos muy diferentes. El proceso ETL es clave para lograr que los datos extraídos asíncronamente de orígenes heterogéneos se integren finalmente en un entorno homogéneo.

La escalabilidad de un sistema de ETL durante su vida útil tiene que ser establecida durante el análisis. Esto incluye la comprensión de los volúmenes de datos que tendrán que ser procesados según los acuerdos de nivel de servicio (SLA: Service

Page 64: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 64

levelagreement). El tiempo disponible para realizar la extracción de los sistemas de origen podría cambiar, lo que implicaría que la misma cantidad de datos tendría que ser procesada en menos tiempo. Algunos sistemas ETL son escalados para procesar varios terabytes de datos para actualizar un data warehouse que puede contener decenas de terabytes de datos. El aumento de los volúmenes de datos que pueden requerir estos sistemas pueden hacer que los lotes que se procesaban a diario pasen a procesarse en micro-lotes (varios al día) o incluso a la integración con colas de mensajes o a la captura de datos modificados (CDC: change data capture) en tiempo real para una transformación

y actualización continua.

Algunas Herramientas ETL

Ab Initio

Barracuda Software(Integrator)

MakeWare Soluciones Tecnologicas

Benetl

Biable

BITool - ETL Software

BOPOS TLOG-4690 rhiscom(back-office POS)

CloverETL[1]

CognosDecisionstream

Data Integrator (herramienta de Business Objects)

Data Migraton Toolset de Backoffice Associates (BoA) Genio, Hummingbird

IBM WebsphereDataStage (Previously AscentialDataStage)

InformaticaPowerCenter

metaWORKS ( Document Tools)

Microsoft DTS (incluido en SQL-Server 2000)

Microsoft Integration Services (MS SQL Server 2005)

MySQL MigrationToolkit

Scriptella ETL - Libre, Apache-licensed ETL

Oracle WarehouseBuilder

WebFocus-iWayDataMigrator Server

Libres

Kettle

Scriptella Open Source ETL Tool

Talend Open Studio

Licencia

Datastaged'IBM (suite au rachatd'Ascential en 2005)

Integrator

DataStudio

Informática PowerCenter

Oxio Data Intelligence ETL full web

SmartDBWorkbench

Sunopsis

Page 65: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 65

3.2 Procesamiento y análisis en línea (OLAP).

3.2.1 Definiciones y conceptos.

OLAP es el acrónimo en inglés de procesamiento analítico en línea (On-Line AnalyticalProcessing). Es una solución utilizada en el campo de la llamada Inteligencia empresarial (o Business Intelligence) cuyo objetivo es agilizar la consulta de grandes cantidades de datos. Para ello utiliza estructuras multidimensionales (o Cubos OLAP) que contienen datos resumidos de grandes Bases de datos o Sistemas Transaccionales (OLTP). Se usa en informes de negocios de ventas, marketing, informes de dirección, minería de datos y áreas similares.

La razón de usar OLAP para las consultas es la velocidad de respuesta. Una base de datos relacional almacena entidades en tablas discretas si han sido normalizadas. Esta estructura es buena en un sistema OLTP pero para las complejas consultas multitabla es relativamente lenta. Un modelo mejor para búsquedas (aunque peor desde el punto de vista operativo) es una base de datos multidimensional.

La principal característica que potencia a OLAP, es que es lo más rápido a la hora de ejecutar sentencias SQL de tipo SELECT, en contraposición con OLTP que es la mejor opción para operaciones de tipo INSERT, UPDATE Y DELETE.

3.2.2 Requerimientos funcionales de los sistemas OLAP. En la base de cualquier sistema OLAP se encuentra el concepto de cubo OLAP (también llamado cubo multidimensional o hipercubo). Se compone de hechos numéricos llamados medidas que se clasifican por dimensiones. El cubo de metadatos es típicamente creado a partir de un esquema en estrella o copo de nieve, esquema de las tablas en una base de datos relacional. Las medidas se obtienen de los registros de una tabla de hechos y las dimensiones se derivan de la dimensión de los cuadros.

3.2.3 Operadores para manejo de cubos de datos del estándar SQL3.

Los cubos de información o cubos OLAP funcionan como los cubos de rompecabezas en los juegos, en el juego se trata de armar los colores y en el data warehouse se trata de organizar los datos por tablas o relaciones; los primeros (el juego) tienen 3 dimensiones, los cubos OLAP tienen un número indefinido de dimensiones, razón por la cual también reciben el nombre de hipercubos. Un cubo OLAP contendrá datos de una determinada variable que se desea analizar, proporcionando una vista lógica de los datos provistos por el sistema de información hacia el data warehouse, esta vista estará dispuesta según unas dimensiones y podrá contener información calculada. El análisis de los datos está basado en las dimensiones del hipercubo, por lo tanto, se trata de un análisis multidimensional.

Page 66: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 66

A la información de un cubo puede acceder el ejecutivo mediante ―tablas dinámicas‖ en una hoja de cálculo o a través de programas personalizados. Las tablas dinámicas le permiten manipular las vistas (cruces, filtrados, organización, totales) de la información con mucha facilidad. Las diferentes operaciones que se pueden realizar con cubos de información se producen con mucha rapidez. Llevando estos conceptos a un data warehouse, éste es una colección de datos que está formada por «dimensiones» y «variables», entendiendo como dimensiones a aquellos elementos que participan en el análisis y variables a los valores que se desean analizar.

3.2.4 Diseño de consultas a bases de datos multidimensionales.

Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creación de Cubos OLAP. Básicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en una base de datos relacional podría serlo también en una base de datos multidimensional), la diferencia está más bien a nivel conceptual; en las bases de datos multidimensionales los campos o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o bien representan métricas que se desean estudiar.

Bases de datos multidimensionales vs. Cubos OLAP

Cada una de estas tablas puede asimilarse a un hipercubo o -más concretamente si de herramientas OLAP se trata- a un cubo OLAP, donde las dimensiones del mismo se corresponden los campos de dimensiones de la tabla (campos 'di...'), y el valor almacenado en cada celda del cubo equivale a la métrica o métricas (campos 'fi...') almacenadas en la tabla.

Implementación

Lo más importante a tener en cuenta para implementar esta estructura de datos es que la tabla contiene todas las n-tuplas, con los valores de las dimensiones, o índice del cubo, y los valores de las métricas previamente calculados para el cruce de valores del índice en cuestión.

Page 67: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 67

Ejemplo

Dada la siguiente especificación para una tabla (o hipercubo) en una base de datos multidimensional:

Dimensión (Tiempo, Productos) Jerarquía (Año->Semestre->Mes->Semana),(Categoría->Línea->Marca) Elementos (2006, 2007, ..., S1-06, ..., Ene-06, ..., 200625....), (Todos, Máquinas, Refacciones, Máquinas caras, Máquinas Baratas, Máquina 1,...) Hechos (Ventas, Inventario, Defectos, Devoluciones) Métricas (PD:=Devoluciones/Ventas, %Defectos)

La tabla resultante podría tener la forma siguiente:

Tabla

Tiempo Productos Ventas Inventario Defectos Devoluciones P/D %Defectos

2006 Todos 1000 200 50 10 1/100 5%

Ene06 Máquina 1 10 100 10 10 10/10 100%

...

3.2.5 Utilización de herramientas para OLAP.

Se debe recordar que no es suficiente con almacenar datos, es necesario procesarlos para convertirlos en información importante para la organización.

Los sistemas de apoyo a las decisiones (DSS), conectan a las personas con las bodegas de datos. De la calidad de estas herramientas depende el grado de aprovechamiento de estas. Pueden ser:

Herramientas de consultas / reportes, con interfaz gráfica, sin usar sentencias SQL, realizar queries o peticiones complejas.

Herramientas OLAP (On-Line Analytical Processing). Permiten obtener información generando consultas multidimensionales, con columnas y filas móviles y diversos grados de agrupamiento para diferentes parámetros.

Modelo Multidimensional: Modelo estilo hoja de cálculo.

a. Elementos:

Medidas: Valores de interés

Dimensiones, Atributos, Propiedades Visión de Cubos, Datos representados en forma de arreglos multidimensionales.

b. Visión de Relaciones:

Tablas de hechos (FactTable): Ejemplo: ventas.

Tablas de dimensiones: Ejemplo: tiempo, producto, geografía.

Usualmente se maneja el tiempo como una tabla. Esto permite colocar atributos a la fecha. La normalización genera un efecto denominado copos de nieve, es preferible usar el método de la estrella, donde las relaciones son mas claras. La actualización se hace por periodos, no en línea.

Tipos de servidores OLAP.

MOLAP: Multimensionales OLAP.

Page 68: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 68

Arreglos multidimensionales.

No escalan a grandes volúmenes.

No hay estándar.

Muy eficiente.

Realmente guarda el cubo de decisión.

Interfaz estilo hoja de cálculo.

Principalmente operaciones de agregación de medidas diferentes.

Niveles jerárquicos de las dimensiones.

Subir o bajar en los niveles de agregación (Roll-up, Drill-Down).

Otras operaciones comunes: Filtrar y rotar. Slice and Dice.

La herramienta RAD de Inprise, Delphi, permite la construcción de cubos de decisión a partir de consultas SQL, con varios parámetros de agrupación y fácil manipulación. Ver

ROLAP: Relational OLAP.

Relaciones.

Consultas SQL

Escalan bien a grandes volúmenes

Son menos eficientes.

HOLAP: Híbrido OLAP.

Datos agregados. MOLAP

Datos detallados. ROLAP

3.3 Mercados de datos (Data Mart).

3.3.1 Definiciones y conceptos.

Un Data Mart es una versión especial almacén de datos (data warehouse). Como

los almacenes de datos, los data marts contienen una visión de datos

operacionales que ayudan a decidir sobre estrategias de negocio basadas en el

análisis de tendencias y experiencias pasadas. La diferencia principal es que la

creación de un data mart es específica para una necesidad de datos

seleccionados, enfatizando el fácil acceso a una información relevante.

Introducción de data Mart

Los productos Data Warehouse han nacido para resolver problemas de análisis de

grandes masas de información, en empresas donde una pequeña diferencia en el

Page 69: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 69

valor de una variable, puede afectar la cuenta de resultado con unas diferencias de

millones de dólares.

Data Mart se destaca por una definición de requerimientos más fácil y rápida.

También se simplifica el desarrollo de todo el mecanismo de su base de datos y

con ello baja substancialmente todo el coste del proyecto, así como su duración.

Normalmente, Data Mart resuelve aplicaciones a nivel departamental, aunque en

ocasiones se desarrolla una aplicación que integre todas ellas y proporciona las

funciones de un EIS (ExecutiveInformationSystem)

3.3.2 Fases de construcción.

1.- Construcción del Data mart:

Esta actividad tiene el objetivo de construir el modelo de datos, la metadata de la

herramienta de Explotación y La Arquitectura del Modelo Multidimensional en la

herramienta de explotación.

2.- Construcción de los Procesos de Cargas:

En ésta actividad es cuando se debe desarrollar los procesos de carga de datos,

las rutinas de limpieza, los flujos de cargas de datos, las interfaz de acceso, los

importadores e integradores de datos, los programas de entrada de datos, etc.

3.- Construcción de los reportes analíticos:

Consiste en construir los reportes, tableros de control, dashboard, scorecard, etc .

4.- Construcción de los procesos de prueba:

Se debe construir los programas, reportes, informes que permita probar los

procesos de cargas y los reportes entregados.

Modelo Top Down El modelo Top Down está basado en la estructura de la Data warehouse, la cual se construye a partir de los datos que se puedan obtener de los diferentes sistemas operacionales o externos (datos aislados) a través de un proceso de extracción, transformación y transportación (ETT) Top Down: tiene como base un sistema de Data warehouse para toda la empresa y a partir de este se desarrollan los Data marts para las divisiones o departamentos. Modelo Bottom up En este modelo los Data marts se construyen a partir de los datos dispersos y la Data warehouse se construye a partir de los Data marts existentes, esta construcción se realiza a través de dos procesos diferentes de extracción, transformación y transportación.

Page 70: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 70

En el primer proceso cada Data mart se construye con los datos aislados que son necesarios para satisfacer las funciones del departamento por medio de los procesos de extracción, transformación y transportación. Un segundo proceso de tratamiento de datos (ETT) ocurre en el sentido de los Data marts hacia la Data warehouse. El Modelo Paralelo El diseño del modelo paralelo se basa en dos alternativas, en la primera se tratan los Data marts con entidades independientes de los Data waehouse y en la segunda, esta independencia se trata de forma temporal. En el primer caso se enfoca la construcción de los Data marts como entidades independientes de la Data warehouse, utilizando el modelo de construcción de esta. Consiste en llevar una construcción paralela entre ambas estructuras, sin definir como padre la Data warehouse sobre el Datamart, ni viceversa. Modelo Top down con Retroalimentación. Este modelo incluye la posibilidad de agregar datos que no estén presentes en la Data warehouse y que se requieran para cumplir con los requerimientos de un análisis específico. El uso de la retroalimentación consiste en incluir nuevos datos a los Data marts de la empresa, como una primera fase y consecuentemente estos cambios ocurridos en el Data mart sean integrados a la Data warehouse como la segunda fase. Modelo Bottom up con Retroalimentación Permitir que la integración de los datos e información dada en los Data marts se pueda implementar durante la construcción de la Data warehouse. Modelo Paralelo con Retroalimentación El desarrollo principalmente trabaja con la retroalimentación que tenga el Data mart, ya que su inicio depende de un período de ajuste entre éste y el modelo de datos de la Data warehouse. Mientras las entradas y salidas se estén dando en los Data marts, en la Data warehouse estos mismos se están realizando, dado a las características de paralelismo que existe entre ellos.

3.3.2.1 Análisis. 3.3.2.2 Construcción. 3.3.2.3 Post-producción. 3.3.3 Tecnologías.

Page 71: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 71

Aspect Data Mart es una solución completa de reportes para la empresa, que le

proporciona un mayor entendimiento de las operaciones de sus negocios y reduce

el tiempo que consumen estas tareas. Esta solución consolida datos de múltiples

fuentes para darle una perspectiva de las operaciones del centro de contacto de su

empresa y así poder identificar rápidamente los procesos de cambio necesarios.

Destacados

Consolidación y fácil análisis de datos de múltiples sitios, canales y plataformas.

Perspectiva a nivel empresarial de las operaciones del centro de contacto.

Informe integral que ayuda a dar un servicio al cliente personalizado.

Integración de datos desde el almacén de datos corporativo actual para tener un

panorama completo de sus negocios.

Interfaces customizables para fuentes de datos comunes de centros de contacto.

3.3.3.1 Herramientas frontend.

También conocidas como herramientas de acceso a los datos o herramientas de presentación.

El front-end es la parte del software que interactúa con el o los usuarios

Herramientas ―front-end‖ características:

• Herramientas de consulta: usan consultas predefinidas y las capacidades de información incorporadas para que los usuarios tenga accesos a los datos.

• Aplicaciones de usuarios: Muchos programas de aplicación comunes como Microsoft Excel pueden proporcionar acceso ―front-end‖ a bases de datos de apoyo.

• Herramientas de desarrollos de programas: Muchas instalaciones cliente-servidor necesitan aplicaciones ―front-end‖ especiales personalizados para sus tareas de obtención de datos.

Son esenciales para acceder y analizar los datos en el datamart.

El valor de un datamart es difícil de determinar por la habilidad del usuario para extraer la información más significativa sobre la cual se toman las decisiones del negocio.

Un interfaz de usuario efectivo minimiza el número de acciones de usuario requeridas para obtener el resultado deseado por lo que deberá estar navegando intuitivamente a no ser que el usuario memorice los comandos.

Las herramientas de acceso a la información pueden soportar acceso, análisis, visualización y data mining de los datos de una forma predefinida

Page 72: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 72

Interfaz Front-End. Es una aplicación donde los usuarios interactúan directamente con las funciones del sistema, cubre todas las interfaces con las cuales un usuario interactúa con los sistemas, ya sean locales o remotos, sus funciones principales son:

Diseño de formatos.

Presentación.

Lógica de la aplicación.

Manipulación de datos.

Herramientas de consulta.

Utilerías/menús

3.3.3.2 Herramientas de bases de datos.

Queries Básicas y Reporting:

En este tipo de herramientas el usuario accede directamente a la estructura de las

bases de datos relacionales para construir consultas e informes, vía SQL (estándar

para el acceso a las bases de datos relacionales).

El SQL es un lenguaje muy extendido entre los programadores, pero no tanto entre

los usuarios finales. Aunque estas herramientas escondan en cierta forma los

comandos del SQL, sigue siendo necesario tener claro el modelo relacional en

cuanto se quiere hacer algún informe complejo, por lo que su utilización directa no

está recomendada a usuarios finales.

Queries y Reporting Avanzado:

Estas herramientas aportan una visión temática de las bases de datos relacionales

(visión de negocio), mediante la cual el usuario final tiene una visión menos

―técnica‖ del datamart.

Este tipo de herramientas pone una capa de términos que le son más familiares a

los usuarios finales y establece, las interrelaciones de las tablas del datamart, de

forma que sea más sencillo. Aún así, sigue siendo la estructura relacional básica la

que subyace en estas herramientas.

Cognos: A través de su interfaz simple al estilo de asistente, Cognos integra bases

de datos y aplicaciones de Lotus Notes, el único producto de inteligencia de

Page 73: Apuntes Topicos Avanzados de Bases de Datos Ver 2011B

Instituto Tecnológico El Llano Aguascalientes Licenciatura en Informática

Tópicos Avanzados de Bases de Datos

Mauricio Ramos Dávila 73

negocios que ofrece toda la gama de capacidades de inteligencia de negocios en

una arquitectura única y probada.

3.3.4 Proceso de diseño de consultas del mercado de datos. 3.4 Minería de datos (Data mining).

3.4.1 Definiciones y conceptos. 3.4.2 Aplicaciones de la minería de datos. 3.4.3 Diseño de mineros de datos. 3.4.4 Obtención de información a través de patrones de

búsqueda 3.4.5 Técnicas y herramientas de la minería de datos. 3.4.6 Tendencias en minería de datos.