Tópicos selectos de base de datos

64
INSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS MICHOACÁN. POR: Martin Alejandro Aguilar Lemus ING.SISTEMAS COMPUTACIONALES 41 T MCTC ESTEBAN VALDEZ RAMÍREZ FUNDAMENTOS DE BASE DE DATOS INVESTIGACIÓN UNIDAD VI

Transcript of Tópicos selectos de base de datos

INSTITUTO TECNOLÓGICO DE LÁZARO CÁRDENAS MICHOACÁN.

POR:

Martin Alejandro Aguilar LemusING.SISTEMAS COMPUTACIONALES41 TMCTC ESTEBAN VALDEZ RAMÍREZFUNDAMENTOS DE BASE DE DATOSINVESTIGACIÓN UNIDAD VI

CUIDAD LÁZARO CÁRDENAS MICHOACÁN 05 DE JUNIO DEL 2013

TÓPICOS SELECTOS DE BASE DE DATOS...............................................................................................3

6.1 DEFINICION Y CONCEPTOS DE LAS BASES DE DATOS ORIENTADOS A OBJETOS................................4

6.2 CONCEPTOS DE BASES DE DATOS DISTRIBUIDAS............................................................................5

Calendarizador distribuido..............................................................................................................6Detección de bloqueos y concurrencia.........................................................................................7Distribución de los datos.................................................................................................................8

6.3CONCEPTOS DE BASE DE DATOS EN MALLA.....................................................................................9

6.4 CONCEPTOS DE BASES DE DATOS DIFUSAS...................................................................................12

6.5 APLICACIONES ESPECIALIZADAS DE LOS SISTEMAS DE BASES DE DATOS.......................................16

6.5.1 DATAWAREHOUSE.................................................................................................................... 32

Definiciones de almacén de datos...............................................................................................33Definición de Bill Inmon................................................................................................................33Definición de Ralph Kimball..........................................................................................................33Una definición más amplia de almacén de datos......................................................................33Dimensiones...................................................................................................................................35Variables.........................................................................................................................................35Ejemplos.........................................................................................................................................35Elementos que integran un almacén de datos...........................................................................36Metadatos.......................................................................................................................................36Funciones ETL (extracción, transformación y carga)...............................................................36Middleware.....................................................................................................................................36Viajes e inconvenientes de los almacenes de datos.................................................................38Ventajas..........................................................................................................................................38Inconvenientes...............................................................................................................................38

6.5.2 DATAMINNING......................................................................................................................... 38

6.5.3 SOPORTE A LA TOMA DE DECISIONES........................................................................................43

CONCLUSIÓN..................................................................................................................................... 44

BIBLIOGRAFÍA................................................................................................................................... 45

3

Tópicos selectos de base de datosUn tópico es una idea o un tema en específico, en este caso bases de datos, así que resumiremos los tópicos más importantes, o selectos de bases de datos. Una base de datos es una biblioteca donde a de mantener listas de los libros que posee, de los usuarios que tiene de sus productos, ventas y empleados. A este tipo de información se le llama datos. Un gestor de base de datos es un programa que permite introducir y almacenar datos, ordenarlos y manipularlos. Organizarlos de manera significativa para que se pueda obtener información no visible como totales, tendencias o relaciones de otro tipo. Debe permitir: -Introducir datos-Almacenar datos-Recuperar datos y trabajar con ellosTabla o fichero, registro y campo Un programa de base de datos almacena la información que introducimos en forma de tablas como las que podemos ver, por ejemplo, en una lista telefónica. Registro: es el concepto básico en el almacenamiento de datos. El registro agrupa la información asociada a un elemento de un conjunto y está compuesto por campos. Tabla: conjunto de registros homogéneos con la misma estructura.Tipos de base de datos: planas y relacionalesPara hacer una base de datos que cumpla las funciones de listín telefónico necesitamos una sola tabla, pero puede haber casos en los que necesitemos más de una. A esta forma de organizar la base de datos mediante distintas tablas relacionadas por campos comunes se le llama base de datos relacional.No todos los programas de gestión de base de datos tienen esta capacidad de manejar bases de datos relacionales, por eso, antes de elegir uno deberemos considerar si necesitamos o no esta capacidad. Esta base de datos relacional estará formada por tablas. Con la característica de que las mismas se relacionan entre sí mediante uno o más campos. Se puede decir que cada objeto de la realidad será una tabla en nuestra base de datos y que hay que buscar la manera de reflejar las relaciones antes mencionadas.Para este tipo de bases de datos con múltiples usuarios aparecieron las llamadas bases de datos de red. Estas están situadas en un único ordenador –llamado servidor (generalmente ordenadores de gran potencia)   y se puede acceder a ellas desde terminales u ordenadores con un programa que permita

4

3

el acceso a ella –los llamados clientes–. Los Gestores de bases de datos de este tipo permiten que varios usuarios hagan operaciones sobre ella al mismo tiempo: uno puede hacer una consulta al mismo tiempo que otro, situado en un lugar diferente, está introduciendo datos en la base. Utilidad de una base de datos: Las tres cosas básicas que debe permitir un gestor de base de datos son: introducir datos, almacenarlos y recuperarlos.Al mismo tiempo permiten otra serie de funciones que hacen de ellos herramientas incomparablemente superiores a los métodos tradicionales de almacenamiento de datos: archivadores, carpetas, etc. Cualquier gestor debe permitir: ordenar los datos, realizar búsquedas, mostrar distintas vistas de los datos, realizar cálculos sobre ellos, resumirlos, generar informes a partir de ellos, importarlos y exportarlos. Búsquedas En los antiguos sistemas de archivo de datos si se quería buscar un conjunto determinado de registros era necesario tener los datos ordenados previamente por un criterio determinado (por ejemplo, en los ficheros de biblioteca, por materia o autor). Luego visualmente y a mano, a menudo con gran trabajo y pérdida de tiempo, ir extrayendo los registros de uno en uno. Al terminar de usarlos se tenía que seguir el proceso contrario. En el caso de que se quisiera hacer una búsqueda por un criterio diferente al   del orden del archivo. 

6.1 DEFINICION Y CONCEPTOS DE LAS BASES DE DATOS ORIENTADOS A OBJETOSUna base de datos orientada a objetos es una base de datos inteligente soporta el paradigma orientado a objetos almacenando métodos y datos, y no solamente datos. Está diseñada para ser eficaz, desde el punto de vista físico, para almacenar objetos complejos. Evite el acceso a los datos; esto gracias a los métodos almacenados en ella. Es más segura, ya que no permite tener acceso a los datos (objetos); esto debido a que para poder entrar se tiene que hacer por los métodos que haya utilizado el programador. Un SGBDOO es un SGBD que almacena objetos y por tanto posee todas las ventajas de la orientación a objetos.Las bases de datos orientadas a objetos, se diseñan para trabajar bien en conjunción con los lenguajes de programación orientados a objetos como:

JAVA C++ Visual Basic.Net C#

 Características de un SGBDOO

Persistencia Concurrencia

4

5

Recuperación Gran almacén secundario Consultas Abstracción Encapsulación Modularidad Jerarquía Tipos Genericidad

 En total deben de ser 13 características obligatorias para los SGBDOO, basado en dos criterios:

1. Debe ser un sistema orientado a objetos.2. Debe de ser un sistema gestor de base de datos,

Esto según Atkinson.Y las características son:

1. Debe de soportar objetos complejos. Debe de ser posible construir objetos complejos aplicando constructores a objetos básicos.

2. Identidad del objeto. Todos los objetos deben tener un identificador, el cual es independiente de los valores de sus atributos.

3. Encapsulamiento. Los programadores solo tienen acceso a la especificación de interfaz de los métodos, y los datos e implementación de estos métodos están ocultos en los objetos.

4. Tipos o clases. El esquema de una base de datos orientada a objetos contiene un conjunto de clases o tipos.

5. Tipos o clases deben de ser capaces de heredar de sus supertipos o superclases los atributos y los métodos.

6. La sobrecarga debe ser soportada. Los métodos deben de poder aplicarse a diferentes tipos.

7. El DML debe ser completo. El DML en los sistemas gestores de base de datos orientados a objetos debe ser un lenguaje de programación de propósito general.

8. El conjunto de tipos de datos debe ser extensible. No habrá distinción entre los tipos definidos por el usuario y los tipos definidos por el sistema.

9. Persistencia de datos. Los datos deben mantenerse después de que la aplicación que los creo haya finalizado, el usuario no tiene que hacer copia explícitamente.

10.El SGBD debe de ser capaz de manejar bases de datos grandes.11.El SGBD debe soportar la concurrencia. Debe de disponer del mecanismo para

el control de la concurrencia.12.Recuperación. El sistema gestor debe de proveer mecanismos de recuperación

de la información en caso de fallo del sistema.13.El SGBD debe de proveer de una manera fácil de hacer consultas.

6.2 Conceptos de bases de datos distribuidas

5

6

Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios lógicos (ej. un servidor corriendo 2 máquinas virtuales) e interconectados por una red de comunicaciones. Dichas BDD tienen la capacidad de realizar procesamiento autónomo, esto permite realizar operaciones locales o distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual múltiples sitios de bases de datos están ligados por un sistema de comunicaciones de tal forma que, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la red exactamente como si estos fueran accedidos de forma local.

Un sistema distribuido de bases de datos se almacenan en varias computadoras. Los principales factores que distinguen un SBDD de un sistema centralizado son los siguientes:

Hay múltiples computadores, llamados sitios o nodos. Estos sitios deben de estar comunicados por medio de algún tipo de red de

comunicaciones para transmitir datos y órdenes entre los sitios.Sistema manejador de base de datos distribuida (DDBMS) 

Este sistema está formado por las transacciones y los administradores de la base de datos distribuidos. Un DDBMS implica un conjunto de programas que operan en diversas computadoras, estos programas pueden ser subsistemas de un único DDBMS de un fabricante o podría consistir de una colección de programas de diferentes fuentes.

Administrador de transacciones distribuidas (DTM) 

Este es un programa que recibe las solicitudes de procesamiento de los programas de consulta o transacciones y las traduce en acciones para los administradores de la base de datos. Los DTM se encargan de coordinar y controlar estas acciones. Este DTM puede ser propietario o desarrollado en casa.

Sistema manejador de base de datos (DBMS) 

Es un programa que procesa cierta porción de la base de datos distribuida. Se encarga de recuperar y actualizar datos del usuario y generales de acuerdo con los comandos recibidos de los DTM.

Nodo 

Un nodo es una computadora que ejecuta un DTM o un DBM o ambos. Un nodo de transacción ejecuta un DTM y un nodo de base de datos ejecuta un DBM.

Calendarizador distribuido 

El calendarizador está encargado de ordenar un conjunto de transacciones u operaciones que se deseen realizar sobre una base de datos. Cualquier orden en el que se decidan hacer este conjunto de operaciones se denomina calendarización. Parte del trabajo del calendarizador es realizar estas operaciones de forma que sean serializables y recuperables.

Dos calendarizaciones son serializables (o equivalentes) si

7

6

Cada operación de lectura lee valores de los datos que son producidos por la misma operación de escritura en ambas calendarizaciones (es decir son iguales)

La operación final de escritura en cada elemento de la data es la misma en ambas calendarizaciones

Detección de bloqueos y concurrencia 

Bloqueos 

Un bloqueo en general es cuando una acción que debe ser realizada está esperando a un evento. Para manejar los bloqueos hay distintos acercamientos: prevención, detección, y recuperación. También es necesario considerar factores como que hay sistemas en los que permitir un bloqueo es inaceptable y catastrófico, y sistemas en los que la detección del bloqueo es demasiado costosa.

En el caso específico de las bases de datos distribuidas usar bloqueo de recursos, peticiones para probar, establecer o liberar bloqueos requiere mensajes entre los manejadores de transacciones y el calendarizador. Para esto existen dos formas básicas:

Autónoma: cada nodo es responsable por sus propios bloqueos de recursos.

Una transacción sobre un elemento con n replicas requiere 5n mensajes

Petición del recurso

Aprobación de la petición

Mensaje de la transacción

Reconocimientos de transacción exitosa

Peticiones de liberación de recursos

Copia Primaria: un nodo primario es responsable para todos los bloqueos de recursos

Una transacción sobre un elemento con n copias requiere 2n+3

mensajes

Una petición del recurso

Una aprobación de la petición

n mensajes de la transacción

n reconocimientos de transacción exitosa

Una petición de liberación de recurso

Podemos definir que dos operaciones entran en conflicto que debe ser resuelto si ambas acceden a la misma data, y una de ellas es de escritura y si fueron realizadas por transacciones distintas.

Concurrencia 

El ejemplo más común de un bloqueo mutuo es cuando un recurso A está siendo utilizado por una transacción A que a su vez solicita un recurso B que

7

8

está siendo utilizado por una transacción B que solicita el recurso A. Entre los ejemplos específicos para las bases de datos distribuidas podemos destacar::

Distribución de los datos 

Una de las decisiones más importantes que el diseñador de bases de datos distribuidas debe tomar es el posicionamiento de la data en el sistema y el esquema bajo el cual lo desea hacer. Para esto existen cuatro alternativas principales: centralizada, replicada, fragmentada, e híbrida.

Centralizada 

Es muy similar al modelo de Cliente/Servidor en el sentido que la BDD está centralizada en un lugar y los usuarios están distribuidos. Este modelo solo brinda la ventaja de tener el procesamiento distribuido ya que en sentido de disponibilidad y fiabilidad de los datos no se gana nada.

Replicadas 

El esquema de BDD de replicación consiste en que cada nodo debe tener su copia completa de la base de datos. Es fácil ver que este esquema tiene un alto costo en el almacenamiento de la información. Debido a que la actualización de los datos debe ser realizada en todas las copias, también tiene un alto costo de escritura, pero todo esto vale la pena si tenemos un sistema en el que se va a escribir pocas veces y leer muchas, y dónde la disponibilidad y fiabilidad de los datos sea de máxima importancia.

Particionadas 

Este modelo consiste en que solo hay una copia de cada elemento, pero la información está distribuida a través de los nodos. En cada nodo se aloja uno o más fragmentos disjuntos de la base de datos. Como los fragmentos no se replican esto disminuye el costo de almacenamiento, pero también sacrifica la disponibilidad y fiabilidad de los datos. Algo que se debe tomar en cuenta cuando se desea implementar este modelo es la granularidad de la fragmentación. La fragmentación se puede realizar también de tres formas:

Horizontal: Los fragmentos son subconjuntos de una tabla (análogo a un restringir)

Vertical: Los fragmentos son subconjuntos de los atributos con sus valores (análogo a un proyectar)

Mixto: Se almacenan fragmentos producto de restringir y proyectar una tabla.

Una ventaja significativa de este esquema es que las consultas (SQL) también se fragmentan por lo que su procesamiento es en paralelo y más eficiente, pero también se sacrifica con casos especiales como usar JUNTAR o PRODUCTO, en general casos que involucren varios fragmentos de la BDD.

Para que una fragmentación sea correcta esta debe cumplir con las siguientes reglas:

Debe ser Completa: Si una relación R se fragmenta en R1,R2, ... , Rn, cada elemento de la data de R debe estar en algún Ri.

Debe ser Reconstruible: Debe ser posible definir una operación relacional que a partir de los fragmentos obtenga la relación.

8

9

Los fragmentos deben ser Disjuntos: Si la fragmentación es horizontal entonces si un elemento e está en Ri este elemento no puede estar en ningún Rk (para k distinto a i). En el caso de fragmentación vertical es necesario que se repitan las llaves primarias y esta condición solo se debe cumplir para el conjunto de atributos que no son llave primaria.

Híbrida 

Este esquema simplemente representa la combinación del esquema de partición y replicación. Se particiona la relación y a la vez los fragmentos están selectivamente replicados a través del sistema de BDD.

Criterios para escoger la distribución 

Localidad de la data: la data debería ser colocada donde ésta se accede más seguido. El diseñador debe analizar las aplicaciones y determinar cómo colocar la data de tal forma que se optimicen los accesos a la data locales.

Fiabilidad de la data: Almacenando varias copias de la data en lugares geográficamente apartados se logra maximizar la probabilidad de que la data va a ser recuperable en caso de que ocurra daño físico en cualquier sitio.

Disponibilidad de la data: como en la fiabilidad, almacenar varias copias asegura que los usuarios tengan a su disponibilidad los elementos de la data, aún si el nodo al que usualmente acceden no está disponible o falla.

Capacidades y costos de almacenamiento: a pesar de que los costos de almacenamiento no son tan grandes como los de transmisión, los nodos pueden tener diferentes capacidades de almacenamiento y procesamiento. Esto se debe analizar cuidadosamente para determinar donde poner la data. El costo de almacenamiento se disminuye significativamente minimizando la cantidad de copias de la data.

Distribución de la carga de procesamiento: una de las razones por la cual se escoge un sistema de BDD es porque se desea poder distribuir la carga de procesamiento para hacer este más eficiente.

Costo de comunicación: el diseñador debe considerar también el costo de usar las comunicaciones de la red para obtener data. Los costos de comunicación se minimizan cuando cada sitio tiene su propia copia de la data, por otro lado cuando la data es actualizada se debe actualizar en todos los nodos.

Uso del sistema: debe tomarse en consideración cual será el tipo principal de uso del sistema de BDD. Factores como la importancia en la disponibilidad de la data, la velocidad de escritura y la capacidad de recuperación de daños físicos deben tomarse en cuenta para escoger el esquema correcto.

6.3CONCEPTOS DE BASE DE DATOS EN MALLA

9

10

También conocida como Base de datos espacial (spatial database) es un sistema administrador de bases de datos que maneja datos existentes en un espacio o datos espaciales.

En este tipo de bases de datos es imprescindible establecer un cuadro de referencia (un SRE, Sistema de Referencia Espacial) para definir la localización y relación entre objetos, ya que los datos tratados en este tipo de bases de datos tienen un valor relativo, no es un valor absoluto. Los sistemas de referencia espacial pueden ser de dos tipos: georreferenciados (aquellos que se establecen sobre la superficie terrestre. Son los que normalmente se utilizan, ya que es un dominio manipulable, perceptible y que sirve de referencia) y no georreferenciados (son sistemas que tienen valor físico, pero que pueden ser útiles en determinadas situaciones).

La construcción de una base de datos geográfica implica un proceso de abstracción para pasar de la complejidad del mundo real a una representación simplificada que pueda ser procesada por el lenguaje de las computadoras actuales. Este proceso de abstracción tiene diversos niveles y normalmente comienza con la concepción de la estructura de la base de datos, generalmente en capas; en esta fase, y dependiendo de la utilidad que se vaya a dar a la información a compilar, se seleccionan las capas temáticas a incluir.

La estructuración de la información espacial procedente del mundo real en capas conlleva cierto nivel de dificultad. En primer lugar, la necesidad de abstracción que requieren los computadores implica trabajar con primitivas básicas de dibujo, de tal forma que toda la complejidad de la realidad ha de ser reducida a puntos, líneas o polígonos.En segundo lugar, existen relaciones espaciales entre los objetos geográficos que el sistema no puede obviar; la topología, que en realidad es el método matemático-lógico usado para definir las relaciones espaciales entre los objetos geográficos puede llegar a ser muy compleja, ya que son muchos los elementos que interactúan sobre cada aspecto de la realidad.

DATOS ESPACIALES Un modelo de datos geográfico es una abstracción del mundo real que emplea un conjunto de objetos dato, para soportar el despliegue de mapas, consultas, edición y análisis. Los datos geográficos, presentan la información en representaciones subjetivas a través de mapas y símbolos, que representan la geografía como formas geométricas, redes, superficies, ubicaciones e imágenes, a los cuales se les asignan sus respectivos atributos que los definen y describen.Un dato espacial es una variable asociada a una localización del espacio. Normalmente se utilizan datos vectoriales, los cuales pueden ser expresados mediante tres tipos de objetos espaciales.

PUNTOS

10

11

Se encuentran determinados por las coordenadas terrestres medidas por latitud y longitud. Por ejemplo, ciudades, accidentes geográficos puntuales, hitos.

LÍNEAS Objetos abiertos que cubren una distancia dada y comunican varios puntos o nodos, aunque debido a la forma esférica de la tierra también se le consideran como arcos. Líneas telefónicas, carreteras y vías de trenes son ejemplos de líneas geográficas.

POLÍGONOSFiguras planas conectadas por distintas líneas u objetos cerrados que cubren un área determinada, como por ejemplo países, regiones o lagos.De esta forma la información sobre puntos, líneas y polígonos se almacena como una colección de coordenadas (x, y). La ubicación de una característica puntual, pueden describirse con un sólo punto (x, y). Las características lineales, pueden almacenarse como un conjunto de puntos de coordenadas (x, y). Las características poligonales, pueden almacenarse como un circuito cerrado de coordenadas. La otra forma de expresar datos espaciales es mediante rasterización, la cual, a través de una malla que permite asociar datos a una imagen; es decir, se pueden relacionar paquetes de información a los píxeles de una imagen digitalizada.Los datos espaciales además se caracterizan por su naturaleza georreferenciada y multidireccional. La primera se refiere que la posición relativa o absoluta de cualquier elemento sobre el espacio contiene información valiosa, pues la localización debe considerarse explícitamente en cualquier análisis. Por multidireccional se entiende a que existen relaciones complejas no lineales, es decir que un elemento cualquiera se relaciona con su vecino y además con regiones lejanas, por lo que la relación entre todos los elementos no es unidireccional. Es decir, todos los elementos se relacionan entre sí, pero existe una relación más profunda entre los elementos más cercanos. Como destacaba Tobler: "todo tiene que ver con todo, pero las cosas cercanas están más relacionadas que las cosas lejanas".

LENGUAJES DE CONSULTA ESPACIAL Las bases de datos espaciales no tienen un conjunto de operadores que sirvan como elementos básicos para la evaluación de consultas ya que estas manejan un volumen extremadamente grande de objetos complejos no ordenados en una dimensión. Es por esto que existen algoritmos complejos para evaluar predicados espaciales. Las consultas son realizadas generalmente en SSQL (Spatial SQL), el cual introduce, mediante extensiones, los distintos conceptos del álgebra ROSE dentro del lenguaje SQL estándar, es decir, utiliza las cláusulas SELECT-FROM-WHERE para las tres operaciones en el álgebra relacional (proyección algebraica, producto cartesiano y selección). Las tres

11

12

categorías fundamentales de consultas en un sistema de información espacial son:

Consultas exclusivamente de propiedades espaciales. Ejemplo: "Traer todos los pueblos que son cruzados por un río". Consultas sobre propiedades no espaciales. Ejemplo: "Cuantas personas viven en Valdivia". Consultas que combinan propiedades espaciales con no espaciales. Ej:

"Traer todos los vecinos de un cuadra localizada en Los Angeles". En el lenguaje SSQL, el ejemplo del segundo punto se escribiría de la

siguiente forma. SELECT población FROM ciudades WHERE nombre= "Valdivia"

El otro tipo de consultas, para los datos obtenidos mediante rasterización, es llamado PSQL (Pictoral SQL) donde cada objeto espacial se extiende mediante un atributo loc (localización) el cual es referenciado en la cláusula SELECT para una salida gráfica y una cláusula específica para tratar relaciones espaciales. También se destaca en los lenguajes de modelado de la información espacial a GML que es una estructura para almacenar y compartir datos geográficos. Es una codificación del modelo geométrico de rasgo simple del OGC (Open Geospatial Consortium simple feature) usando XML. Un rasgo geográfico (geographic feature) es definido por el OGC como "una abstracción del fenómeno del mundo real, si éste está asociado con una posición relativa a la Tierra". Por tanto, es posible hacer una representación del mundo real con un conjunto de rasgos. La especificación de un rasgo viene dada por sus propiedades, las que pueden pensarse definidas como un triple (nombre, tipo, valor). Si este rasgo es geográfico entonces la propiedad tendrá un valor geométrico. Por tanto, un rasgo simple del OGC es aquel cuya propiedad geométrica está restringida a una geometría simple en la que sus coordenadas estén definidas en dos dimensiones y en el caso de existir una curva, ésta es sujeta a una interpolación lineal.

6.4 Conceptos de bases de datos difusas1. Introducción.

Este tipo de bases de datos, que se encuadra dentro de la tendencia que pretende tratar con datos y consultas imprecisas, aplica la teoría de conjuntos difusos a las bases de datos. Hay que tener en cuenta que, al fin y al cabo, la mayor parte de información que manejamos es incompleta e incierta.

Una de las características del lenguaje natural, que hace difícil su utilización en sistemas computacionales es su imprecisión. Por ejemplo conceptos como pequeño o grande, tienen significados diferentes de acuerdo al contexto en el que se estén utilizando, e incluso dentro del mismo contexto, pueden significar cosas diferentes para diferentes individuos.

12

13

La teoría de los conjuntos difusos desarrollada por Zadeh, provee una poderosa herramienta para la representación y manejo de la imprecisión por lo que actualmente está siendo utilizada en varios campos para el diseño de sistemas basados en reglas difusas.

La teoría de conjuntos difusos, extiende la teoría clásica de conjuntos al permitir que el grado de pertenencia de un objeto a un conjunto sea representada como un número real entre 0 y 1 en vez del concepto clásico en el que solo se tiene la posibilidad de pertenecer a un conjunto o no pertenecer al mismo; en otras palabras, el grado de pertenencia a un conjunto en la teoría clásica tiene solo dos valores posibles: 0 y 1.

En el sentido más amplio, un sistema basado en reglas difusas es un sistema basado en reglas donde la lógica difusa es utilizada como una herramienta para representar diferentes formas de conocimiento acerca del problema a resolver, así como para modelar las interacciones y relaciones que existen entre sus variables. Debido a estas propiedades, los sistemas basados en reglas difusas han sido aplicados de forma exitosa en varios dominios en los que la información vaga o imprecisa emerge en diferentes formas.

Actualmente, el modelo relacional no permiten el procesamiento de consultas del tipo “Encontrar todos los gerentes cuyo sueldo no sea muy alto” dado que ni el cálculo ni el álgebra relacional, que establecen el resultado de cualquier consulta como una nueva relación, tienen la capacidad de permitir consultas de una manera difusa.

En los últimos años, algunos investigadores han lidiado con el problema de relajar el modelo relacional para permitirle admitir algunas imprecisiones; esto conduce a sistemas de bases de datos que encajan en el campo de la Inteligencia Artificial, ya que permiten el manejo de información con una terminología que es muy similar a la del lenguaje natural. Una solución que aparece recurrentemente en los trabajos de investigación actuales en esta área es la fusión de los sistemas manejadores de bases de datos relacionales con la lógica difusa, lo que da lugar a lo que se conoce como sistemas manejadores de bases de datos difusas o FRDBMS (por sus siglas en inglés, Fuzzy Relational Database Management System).

2. Modelos de Implementación

El problema de la implementación de los sistemas gestores de bases de datos difusas ha sido tratado en dos vertientes principales:

•Iniciar con un sistema gestor de bases de datos relacionales (SGBDR) con información precisa y desarrollar una sintaxis que permita formular consultas imprecisas, lo cual da origen a extensiones SQL, como Fuzzy SQL, con capacidades de manejar la imprecisión.

•Construir un gestor de bases de datos relacionales difusas (SGBDRD) prototipo que implemente un modelo concreto de base de datos relacional

13

14

difusa en el que la información imprecisa pueda ser almacenada. Dentro de esta vertiente existen dos grandes ramas: Los modelos a través de unificación por relaciones de similitud y los modelos relacionales basados en distribuciones de probabilidades.

Particularmente me enfocaré a los trabajos desarrollados en la Universidad de Granada, España por un grupo de investigadores que se encuentran trabajando en esta rama actualmente.

3. Representación de la información

Los elementos relacionados con la manipulación de información difusa pueden tener representaciones diferentes. Por ejemplo, una distribución normalizada de probabilidades puede ser representada por diferentes tipos de funciones (trapezoidal, triangular, intervalar, etc.). Lo más usual, es que se usen funciones de tipo trapezoidal. Lo mismo puede decirse de la forma en la que se modelan los operadores relacionales difusos así como los demás elementos difusos que aparezcan en el sistema.

El criterio empleado para seleccionar la forma de representación de los múltiples elementos difusos del sistema manejador de base de datos, puede afectar de manera determinante la funcionalidad y desempeño de la base de datos, por lo que debería ser uno de los puntos centrales en los que el experto ajuste la arquitectura del FRDBMS al problema específico a tratar mediante el mismo. Puede decirse entonces que este criterio de selección y ajuste constituye un paso entre la formulación de una base de datos relacional difusa y la implementación de un sistema basado en la misma.

La información que se puede manejar en una base de datos difusa puede dividirse en dos tipos principales:

Datos Precisos.

Manejados usualmente mediante la representación provista por la base de datos relacional huésped.

Datos Imprecisos.

Los modelos usualmente consideran dos tipos de representación para los datos imprecisos además de la información desconocida o indeterminada que se maneja mediante los tipos unknown, undefined y null:

*Datos imprecisos sobre dominios ordenados

Este grupo de datos contiene distribuciones de probabilidad definidas en dominios continuos o discretos, pero ordenados.

14

15

Datos con analogías sobre dominios discretos

Este grupo de datos se construye sobre dominios discretos en los que existen definidas relaciones de proximidad entre sus valores.

En este caso se deberá almacenar la representación de los datos además de la representación de las relaciones de proximidad definidas para los valores en el dominio.

Tipo de dato Indefinido (undefined)

Cuando un atributo toma el valor undefined, esto refleja el hecho de que ningún valor de su dominio es permitido.

Por ejemplo: el número de teléfono de alguien que no tiene teléfono.

Tipo de dato desconocido (unknown)

Los datos de este tipo expresan nuestra ignorancia sobre el valor que el atributo toma, sin embargo expresa también que puede tomar uno de los valores del dominio.

Por ejemplo la fecha de nacimiento de alguien, la desconocemos pero tiene que tener alguna.

Tipo de dato nulo (null)

Cuando un atributo toma el valor nulo, esto significa que no tenemos información sobre él, ya sea porque no conocemos su valor o porque es imposible asignarle un valor del dominio. Por ejemplo el email de alguien es null si desconocemos su valor o si lo tiene o no.

3.1 Operaciones relacionales difusas:

Los diferentes operadores de comparación que se uti lizan para representar relaciones en la base de datos son los operadores relacionales. Para que estos funcionen sobre información imprecisa es necesario extender estos

15

16

operadores. La representación adoptada por Medina et al en su modelo de FRDBMS se basa en el trabajo previo de Zadeh [6] y es la siguiente:

Igual a:

Este operador modela el concepto de igualdad para datos imprecisos.

Aproximadamente igual:

Este operador define el grado en el que dos valores numéricos (no difusos) son aproximadamente iguales de acuerdo a si la diferencia de sus valores se encuentra dentro de un límite preestablecido. Y se calcula mediante la siguiente expresión:

A continuación se muestra la representación gráfica para este operador:

6.5 Aplicaciones especializadas de los sistemas de bases de datosUno de los objetivos fundamentales de un sistema de información es contar no sólo con recursos de información, sino también con los mecanismos necesarios para poder encontrar y recuperar estos recursos. De esta forma, las bases de datos se han convertido en un elemento indispensable no sólo para el funcionamiento de los

16

17

grandes motores de búsqueda y la recuperación de información a lo largo y ancho de la Web, sino también para la creación de sedes web, Intranets y otros sistemas de información en los que se precisa manejar grandes o pequeños volúmenes de información. La creación de una base de datos a la que puedan acudir los usuarios para hacer consultas y acceder a la información que les interese es, pues, una herramienta imprescindible de cualquier sistema informativo sea en red o fuera de ella.

Una base de datos es una colección de datos organizados y estructurados según un determinado modelo de información  que refleja no sólo los datos en sí mismos, sino también las relaciones que existen entre ellos. Una base de datos se diseña con un propósito especifico y debe ser organizada con una lógica coherente. Los datos podrán ser compartidos por distintos usuarios y aplicaciones, pero deben conservar su integridad y seguridad al margen de las interacciones de ambos. La definición y descripción de los datos han de ser únicas para minimizar la redundancia y maximizar la independencia en su utilización.

En una base de datos, las entidades y atributos del mundo real, se convierten en registros y campos. Estas entidades pueden ser tanto objetos materiales como libros o fotografías, pero también personas e, incluso, conceptos e ideas abstractas. Las entidades poseen atributos y mantienen relaciones entre ellas.

Los modelos clásicos de tratamiento de los datos son:

 jerárquico: puede representar dos tipos de relaciones entre los datos: relaciones de uno a uno y relaciones de uno a muchos. Este modelo tiene forma de árbol invertido en el que una rama puede tener varios hijos, pero cada hijo sólo puede tener un padre.

 en red: Este modelo permite la representación de muchos a muchos, de tal forma que cualquier registro dentro de la base de datos puede tener varias ocurrencias superiores a él. El modelo de red evita redundancia en la información, a través de la incorporación de un tipo de registro denominado el conector. En el modelo en red se representa el mundo real mediante registros lógicos que representan a una entidad y que se relacionan entre sí por medio de flechas

 relacional:. Desde los años 80 es el modelo más utilizado, ya que permite una mayor eficacia, flexibilidad y confianza en el tratamiento de los datos. La mayor parte de las bases de datos y sistemas de información actuales se basan en el modelo relacional ya que ofrece numerosas ventajas sobre los 2 modelos anteriores, como es el rápido aprendizaje por parte de usuarios que no tienen conocimientos profundos sobre sistemas de bases de dados. En el modelo relacional se representa el mundo real mediante tablas relacionadas entre sí por columnas comunes. Las bases de datos que pertenecen a esta categoría se basan en el modelo relaciones, cuya estructura principal es la relación, es decir una tabla bidimensional compuesta por líneas y columnas. Cada línea, que en terminología relacional se llama tupla, representa una entidad que nosotros queremos memorizar en la base de datos. las características de cada entidad están definidas por las columnas de las relaciones, que se llaman atributos. Entidades con

17

18

características comunes, es decir descritas por el mismo conjunto de atributos, formarán parte de la misma relación.

Ejemplo de base de datos relacional elaborada con Microsoft Access

Hoy también destaca la utilización de bases de datos distribuidas ya que cada vez es más corriente el uso de arquitecturas de cliente-servidor y trabajo en grupo. Los principales problemas que se generan por el uso de la tecnología de bases de datos distribuidas se refieren a la duplicidad de datos y a su integridad al momento de realizar actualizaciones a los mismos. Además, el control de la información puede constituir una desventaja, debido a que se encuentra diseminada en diferentes localizaciones geográficas.

Recientemente han hecho su aparición los modelos de bases de datos orientadas a objetos. En estos, el esquema de la base de datos está representada por un conjunto de clases que definen las características y el comportamiento de los objetos que conformarán la base de datos.La diferencia principal respecto a los modelos anteriores es la no positividad de los datos. Esto es, con una base de datos tradicional, las operaciones que se tienen que efectuar en los datos se les piden a las aplicaciones que los usan. Con una base de datos orientada a objetos sucede lo contrario, los objetos memorizados en la base de datos contienen tanto los datos como las operaciones posibles con tales datos. En cierto sentido, se podrá pensar en los objetos como en datos a los que se les ha dotado de "cierta inteligencia" que les permite saber cómo comportarse, sin tener que apoyarse en aplicaciones externas.

La arquitectura de un sistema de base de datos se basa en 3 niveles distintos:

 nivel físico: es el nivel más bajo de abstracción y el nivel real de los datos almacenados. Este nivel define cómo se  almacenan los datos en el soporte físico, ya sea en registros o de cualquier otra forma, así como

18

19

los métodos de acceso. Este nivel lleva asociada una representación de los datos, que es lo que denominamos Esquema Físico.

 nivel conceptual: es el correspondiente a una visión de la base de datos desde el punto de visto del mundo real. Es decir se trata con la entidad u objeto representado, sin importar como está representado o almacenado éste. Es la representación de los datos realizada por la organización, que recoge los datos parciales de los requerimientos de los diferentes usuarios y aplicaciones parciales. Incluye la definición de los datos y las relaciones entre ellos. Este nivel lleva asociado un Esquema Conceptual.

 nivel de visión: son partes del esquema conceptual. El nivel conceptual presenta toda la base de datos, mientras que los usuarios, por lo general, sólo tienen acceso a pequeñas parcelas de ésta. El nivel visión es el encargado de dividir estas parcelas. Un ejemplo sería el caso del empleado de una organización que tiene acceso a la visión de su nómina, pero no a la de sus compañeros. El esquema asociado a éste nivel es el Esquema de Visión.

Otros autores utilizan la denominación de nivel interno, nivel conceptual y nivel externo, para referirse a estos mismos niveles:

Niveles de la arquitectura de un sistema de base de datos 

Este modelo de arquitectura permite establecer el principio de independencia de los datos, ya se trate de una independencia lógica o física.  La independencia lógica significa que los cambios en el esquema lógico no deben afectar a los esquemas externos que no utilicen los datos modificados; la independencia física significa que el esquema lógico no se va a ver afectado por los cambios realizados en el esquema interno, correspondientes a modos de acceso, etc. 

A la hora de diseñar una base de datos hay que distinguir por un lado el modelo de datos (instrumento) y por otro lado el esquema de datos (el resultado de aplicar ese modelo).

Un modelo de datos es un conjunto de conceptos, reglas y convenciones que nos permiten describir los datos del universo del discurso. Un esquema es la estructura de datos obtenida tras aplicar dicho modelo.

19

20

El  modelo de datos es una cuestión fundamental a la hora de diseñar bases de datos. Jesús Tramullas en Los sistemas de bases de datosrecoge estos 3 modelos fundamentales:

 Modelos lógicos basados en objetos: los dos más extendidos son el modelo entidad-relación y el orientado a objetos. El modelo entidad-relación (E-R) se basa en una percepción del mundo compuesta por objetos, llamados entidades, y relaciones entre ellos. Las entidades se diferencian unas de otras a través de atributos. El orientado a objetos también se basa en objetos, los cuales contienen valores y métodos, entendidos como órdenes que actúan sobre los valores, en niveles de anidamiento. Los objetos se agrupan en clases, relacionándose mediante el envío de mensajes. Algunos autores definen estos modelos como "modelos semánticos".

 Modelos lógicos basados en registros: el más extendido es el relacional, mientras que los otros dos existentes, jerárquico y de red, se encuentran en retroceso. Estos modelos se usan para especificar la estructura lógica global de la base de datos, estructurada en registros de formato fijo de varios tipos. El modelo relacional representa los datos y sus relaciones mediante tablas bidimensionales, que contienen datos tomados de los dominios correspondientes. El modelo de red está formado por colecciones de registros, relacionados mediante punteros o ligas en grafos arbitrarios. el modelo jerárquico es similar al de red, pero los registros se organizan como colecciones de árboles. Algunos autores definen estos modelos como "modelos de datos clásicos".

 Modelos físicos de datos: muy poco usados, son el modelo unificador y el de memoria de elementos. Algunos autores definen estos modelos como "modelos de datos primitivos".

Los objetivos del modelo de datos son , por un lado formalizar y definir las estructuras permitidas para representar los datos, y por otro, diseñar la base de datos.

 En el diseño de una base de datos, hay que tener en cuenta distintas consideraciones, entre las que destacan:

 la velocidad de acceso  el tamaño de la información  el tipo de información  la facilidad de acceso a la información  la facilidad para extraer la información requerida  el comportamiento del sistema de gestión de bases de datos con cada

tipo de información.

Para plasmar los tres niveles en el enfoque o modelo de datos seleccionado, es necesario un programa o aplicación que actúe como interfaz entre el usuario, los modelos y el sistema físico. Esta es la función que desempeñan los Sistemas de Gestión de Bases de Datos. Un Sistema de Gestión de Bases de Datos, también llamado DBMS (Data Base Management System) no es más que un paquete de software, que se ejecuta en un ordenador anfitrión (host) que es quien centraliza los accesos a los datos y actúa de interfaz entre los

20

21

datos físicos y los usuarios. Este sistema es capaz de llevar a cabo funciones como la creación y gestión de la base de datos misma, el control de accesos y la manipulación de datos de acuerdo a las necesidades de cada usuario.

Así pues, las bases de datos pueden ser creadas, mantenidas y gestionadas por una serie de aplicaciones denominadas Sistemas de Gestión de Bases de Datos (SGBD). De esta forma, cualquier usuario puede crear una base de datos siguiendo unos parámetros normalizados que permiten que pueda ser consultada por otros usuarios. Un sistema de gestión de base de datos está formado por personas, máquinas, programas y datos. Estos sistemas de gestión abarcan el conjunto de rutinas de software interrelacionadas cada una de las cuales es responsable de una determinada tarea.

Jesús Tramullas recoge los componentes con los que debe contar un sistema de gestión de bases de datos ideal:

 Un lenguaje de definición de esquema conceptual.  Un sistema de diccionario de datos.  Un lenguaje de especificación de paquetes de entrada/salida.  Un lenguaje de definición de esquemas de base de datos.  Una estructura simétrica de almacenamiento de datos.  Un módulo de transformación lógica a física.  Un subsistema de privacidad de propósito general.  Un subsistema de integridad de propósito general  Un subsistema de reserva y recuperación de propósito general.  Un generador de programas de aplicación.  Un generador de programas de informes.  Un lenguaje de consulta de propósito general. 

Los SGBD tienen dos funciones principales que son:

 La definición de las estructuras para almacenar los datos.  La manipulación de los datos.

Además, los SGBD deben incorporar como herramienta fundamental dos tipos de lenguajes: uno para la definición de los datos, y otro para la manipulación de los mismos. El primero se denomina DLL (Data Definition Language)  y es el que provee de los medios necesarios para definir los datos con precisión, especificando las distintas estructuras. El segundo se conoce como DML (Data Manipulation/Management Language) y es el facilita a los usuarios el acceso y manipulación de los datos.

Antes de la existencia de las bases de datos, los ordenadores trabajaban en lo que se conoce como "Sistemas de procesamiento de Archivos" en los que se guardaban los datos para ser procesados por programas escritos especialmente para cada clase de archivo; esto conducía a un sistema monolítico y de difícil mantenimiento con una serie de inconvenientes como la dificultad de acceso a ciertos datos de información, el aislamiento de datos, la falta de integridad, los problemas de atomicidad en las operaciones, los problemas de acceso concurrente, la falta de seguridad, etc. Para resolver estos problemas se desarrollaron los Sistemas de Gestión de Bases de Datos cuyas características hacen al sistema mucho más eficiente que los sistemas de procesamiento de archivos. Algunas de estas mejoras se basan en  la

21

22

existencia de una sola copia de los datos para que todos los programas trabajen con ella, lo que se denominado obtención de redundancia mínima, para de esta manera poder eliminar la inconsistencia de los datos; o la capacidad de interactuar en un ambiente cliente/servidor donde los clientes o usuarios (ya sea en una intranet o desde Internet) puedan trabajar con un un conjunto único de datos alojados en un servidor y donde varios clientes podrían estar trabajando al mismo tiempo. Estas son sólo algunas de las características con que cuenta el modelo de base de datos relacional y existen diversos motores de base de datos que permiten trabajar ya sea con bases de datos existentes o creando nuevas con todas las capacidades de trabajo en red. Numerosas empresas se han volcado al desarrollo de sistemas de gestión de bases de datos como Oracle, Informix, PostgreSQL, Sybase, Microsoft, etc. y existen tanto soluciones comerciales de pago, como soluciones de acceso libre. Los principales sistemas gestores de bases de datos se relacionan aquí.

En el diseño de una base de datos, el tamaño de la misma es una cuestión fundamental, puesto que éste afecta tanto a la eficiencia en el almacenamiento, como a la agilidad en la búsqueda y recuperación. Como los datos pueden estar en cualquier morfología (texto, imagen, audio, etc.), en algunos casos se deberán utilizar técnicas de compresión de datos con el fin de disminuir el espacio y tamaño de la base, pero estas técnicas de compresión deberán ir acompañadas de las correspondientes técnicas de indización que hagan posible la recuperación de dichos datos.

Tradicionalmente se ha hecho una distinción clara entre 2 tipos de bases de datos:

 Bases de datos referenciales: aquellas bases de datos que ofrecen registros que a su vez son representaciones de documentos primarios, y entre las que cabe distinguir:

o bibliográficas: aquellas cuyo contenido son registros de tipo bibliográfico.

o directorios: aquellas cuyo contenido está referido a la descripción de otros recursos de información, como por ejemplo un directorio de bases de datos.

 Bases de datos fuente: son las que ofrecen el documento completo, no una representación del mismo, y entre las que cabe distinguir:

o numéricas: contienen información de tipo numérico.o textuales: contienen el texto completo de un documento.o mixtas: combinan ambos tipos de información.

Sin embargo, el desarrollo de las aplicaciones multimedia ha dado un vuelco al concepto tradicional de base de datos, que sólo integraba elementos de información textual y numérica. Con el multimedia, han hecho su aparición otro tipo de objetos: gráficos, sonoros y audiovisuales que comparten el mismo entorno que los datos textuales y numéricos. La aparición del CD-ROM y otros soportes ópticos como el DVD con gran capacidad de almacenamiento de datos y alta velocidad de lectura, han hecho posible el desarrollo de las bases de datos multimedia. A la vez, se han ido estandarizando poco a poco los formatos de archivo gráficos, de audio y de vídeo, y se han perfeccionado los métodos de compresión de este tipo de datos, ya que ocupan grandes cantidades de memoria.

22

23

Además, el desarrollo del hipertexto, al permitir la conectividad entre las referencias y los documentos fuente a través de los enlaces, ha roto también las fronteras entre documentos primarios y documentos secundarios, aunando en un mismo espacio datos referenciales y acceso directo al documento fuente.

Hasta épocas recientes, las bases de datos eran productos comerciales desarrollados y mantenidos por ciertas empresas que las comercializaban bien en formato CD-ROM o bien las distribuían para su consulta, previo pago, en línea vía telnet. La mayoría eran bases de datos bibliográficas o de legislación. Las organizaciones también contaban con sus propias bases de datos construidas sobre los sistemas de gestión más conocidos para crear y mantener bases de datos como FileMaker, Knosys, Access, etc. Hoy todos estos programas se han visto obligados a ser compatibles con la Web y a ofrecer  la posibilidad de acceder, buscar y recuperar los datos en línea vía protocolo http. De esta forma, se han desarrollado y comercializado una serie de herramientas y aplicaciones, comúnmente denominadas pasarelas web, que permiten consultar las viejas -o nuevas- bases de datos creadas con estos sistemas de gestión mediante el navegador web, pero también, la existencia de estas herramientas ha favorecido el hecho de que cualquier persona pueda hoy publicar su propia base de datos en su página web, para que pueda ser consultada por cualquier usuario de la red. Estas pasarelas no son más que herramientas de software que permiten la comunicación entre el servidor web y la base de datos.

Así pues, la World Wide Web se ha convertido en sí misma, en una interfaz de acceso a datos que puede ser utilizada por cualquier usuario. Los nodos de un hipertexto no se limitan a incluir texto, imagen o sonido, sino también scripts y otros elementos como APIs (Application Programming interface) o controladores para conectividad de bases de datos e intercambio de información tales como OLE (Open Database Connectivity), CGI (Common Gateway Interface), JDBC (Java Data Base Connectivity), SQL LINKS etc. Todos estos objetos son los que hacen posible la existencia de elementos y documentos dinámicos y los que aportan un verdadero dinamismo al hipertexto. Se trata de componentes que deben ser diseñados en la interfaz de programación para acceso a datos del hipertexto y que comprende tanto el diseño e interfaz de Objetos de Acceso a Datos, como la interfaz de programación de aplicaciones.

Diseñar hoy una web se ha convertido en una labor compleja puesto que se exigen conocimientos de arquitectura de la información en sus distintas facetas y una de ellas, es administrar y gestionar bases de datos. La Web es aquí entendida como interfaz de software que permite una serie de funcionalidades como que el usuario pueda interrogar y consultar de forma directa a la base de datos y obtener las referencias o el acceso directo a los recursos o documentos buscados.

23

24

Los SGBD suelen incluir herramientas de administración que permiten ajustar el rendimiento en función de las necesidades particulares. Muchas empresas cuentan son sus propios administradores de bases de datos, pero también hay muchas otras que no, y lo más probable es que el diseñador web tenga que administrar también las bases de datos. Sin embargo, la complejidad del diseño ha dado lugar al nacimiento de nuevas profesiones que se encargan de llevar a cabo procesos tales como el análisis o minería de datos (data mining) o la distribución de los mismos (data warehouse).

Como se ha afirmado anteriormente, existen  sistemas de gestión de bases de datos tanto de uso libre, como soluciones comerciales de pago. Una de las tendencias más claras en la Web actual es integrar el acceso a datos en los servidores de aplicaciones y esto ha conducido a que casi todos los fabricantes de sistemas de gestión de bases de datos comerciales ofrezcan sus propios servidores de aplicaciones que se integran a bajo nivel con los productos de bases de datos de la misma empresa. Como ejemplos, tenemos Sybase Enterprise Server y Oracle Application Server.

Un servidor de aplicaciones no es más que un cambio de nombre para algunos servidores Web de nueva generación que permiten construir aplicaciones. Suelen asociarse con servidores de alto rendimiento pensados para dar servicio a sitios Web con grandes necesidades para gestionar movimientos de datos, afluencia de visitas, atención de transacciones hacia bases de datos, etc. Generalmente los fabricantes del sector tienen a disposición del público un servidor Web básico y otro con multitud de extensiones integradas al que llaman servidor de aplicaciones.

24

25

Un servidor de aplicaciones clásico se apoya en un modelo cliente/servidor de tres capas:

 Presentación: una interfaz, generalmente gráfica que reside en los clientes. El ejemplo típico es un navegador.

 Lógica de negocio: donde reside el servidor de aplicaciones y el conjunto de programas a los que da soporte.

 Almacenamiento: generalmente una base de datos.

Los servicios añadidos a los servidores de aplicaciones suelen ser: generación de código HTML ó XML, trabajo con bases de datos y gestión de transacciones, funcionamiento multiproceso para atender a distintas peticiones, establecimiento de distintas sesiones para acceso de usuarios, mecanismos de seguridad y autentificación, monitorización para evitar fallos, etc.

De cualquier forma, hay que tener en cuenta que, aparte de cómo se almacenan los datos en la base de datos, una cuestión importante es la interfaz de presentación de esos datos. Las interfaces o presentaciones de una aplicación hacia el usuario han ido evolucionando a través del tiempo y, actualmente se utilizan muchos lenguajes visuales denominados de cuarta generación como son: Visual Fox Pro, Visual Basic, Delphi, etc. También los ambientes Web, se han vuelto una opción viable para las aplicaciones distribuidas en Internet y esto se ha logrado mediante el uso de ciertas herramientas como son: HTML, DHTML y JavaScripts.

Con tecnologías como el scripting y DHTML, los desarrolladores de aplicaciones pueden crear acciones con interfaces de Web funcionales, basadas para la entrada de datos o salida de resultados de búsqueda sin usar controles comunes o applets. La tendencia es que las empresas intenten mejorar la interfaz hacia el usuario para que éste tenga la oportunidad de explotar la mayor cantidad de información, en una única pantalla o ventana del sistema.

25

26

Las interfaces de programación denotan el proceso de acceso y manipulación de los datos a una base de datos, partiendo de la aplicación. El siguiente esquema muestra 4 niveles o interfaces:

 Interfaces de Programación para el acceso a datos.

La primera interfaz corresponde a la de Aplicación, la cual abarca y/o corresponde a cada uno de los programas clientes.

La Interfaz de Objetos de Acceso a Datos, se encuentra como punto medio entre las aplicaciones y las API's que llegan a ser necesarias para el acceso a las bases de datos. Entre las tecnologías que pertenecen a la Interfaz de Objetos de Acceso de Datos encontramos: DAO (Data Access Objects), ADO (ActiveX Data Objects), RDO (Remote Data Object), RDS (Remote Data Service) y MIDAS (Middle-tier Distributed Application Service). Su función es encapsular los componentes que se encuentran en la interfaz que corresponde a la de API's, con la finalidad de reducir el desarrollo de la aplicación y los costos de mantenimiento y deben situarse en todos los equipos que ejecuten la aplicación, ya que se encuentran casi de manera conjunta con la aplicación.

Por su parte, la Interfaz de Programación de Aplicaciones (Application Programming Interface, API), se encarga de mantener el diálogo con la base de datos, para poder llevar a cabo el acceso y manipulación de los datos. Algunos de los componentes que forman parte de esta interfaz son los siguientes: OLE DB, ODBC (Open Database Connectivity), JDBC (Java Data Base Connectivity), ISAPI (Internet Server Application Programming Interface) y CGI (Common Gateway Interface).

La función que tienen las API's, es la de ser una interfaz entre las aplicaciones y las bases de datos, llevando ésta tarea unas veces a través de los clientes y otros a través del servidor de base de datos. Esto quiere decir, que puede darse el caso de que el cliente conste de las tres primeras interfaces o niveles, o que se encuentren las dos últimas en el servidor. La interfaz correspondiente a la base de datos, es donde se encontrará el servidor y toda la información depositada en él.

Para poder accesar y manipular la información de una base de datos, es necesario llevar a cabo la instalación de ciertos API's o controladores, que son indispensables para efectuar la conectividad de los datos externos, y vincularlos a la aplicación para su correcta y adecuada utilización.

Las API's que se describen a continuación, son un claro ejemplo del proceso correspondiente a la conectividad de datos.

26

27

 ODBC (Open Data Base Connectivity): Esta tecnología proporciona una interfaz común para tener acceso a bases de datos SQL heterogéneas. ODBC está basado en SQL (Structured Query Language) como un estándar para tener acceso a datos. ODBC permite la conexión fácil desde varios lenguajes de programación y se utiliza mucho en el entorno Windows. Sobre ODBD Microsoft ha construido sus extensiones OLE DB y ADO. Los OCBD se pueden clasificar en 3 categorías:

o  Los ODBC's que permitan la realización de consultas y actualizaciones.

o  Los ODBC's que mediante ellos se pueda llegar a la creación de tablas en la base de datos.

o  Los ODBC's propios de los DBMS, los cuales se pueden llegar a manipular ciertas herramientas de administración.

  CGI (Common Gateway Interface): es una de las soluciones que se está utilizando más para la creación de interfaces Web/DBMS. Entre las ventajas de la programación CGI, destaca la sencillez, ya que es muy fácil de entender, además de ser un lenguaje de programación independiente, ya que los escritos CGI pueden elaborarse en varios lenguajes. También es un estándar para usarse en todos los servidores Web, y funcionar bajo una arquitectura independiente, ya que ha sido creado para trabajar con cualquier arquitectura de servidor Web. Como la aplicación CGI se encuentra funcionando de forma independiente, no pone en peligro al servidor, en cuanto al cumplimiento de todas las tareas que éste se encuentre realizando, o al acceso del estado interno del mismo. Pero el CGI presenta cierta desventaja en su eficiencia, debido al que el servidor Web tiene que cargar el programa CGI y conectar y desconectar con la base de datos cada vez que se recibe una requisición. Además, no existe un registro del estado del servidor, sino que todo hay que hacerlo manualmente.

 ISAPI (Internet Server Application Programming Interface): Es la interfaz propuesta por Microsoft como una alternativa más rápida que el CGI, y está incluida en el Servidor Microsoft Internet Information (IIS). Así como los escritos CGI, los programas escritos usando ISAPI habilitan un usuario remoto para ejecutar un programa, busca información dentro de una base de datos, o intercambia información como otro software localizado en el servidor. Los programas escritos usando la interfaz ISAPI son compilados como bibliotecas de enlace dinámico (DLL - Dinamic Link Library), ya que son cargados por el servidor Web cuando éste se inicia. Dichos programas se vuelven residentes en memoria, por lo que se ejecutan mucho más rápido que las aplicaciones CGI, debido a que requieren menos tiempo de uso de CPU al no iniciar procesos separados. Uno de los programas ISAPI más usados es el HTTPODBC.DLL que se usa para enviar y/o devolver información hacia y desde las bases de datos, a través de ODBC. Además, ISAPI permite realizar un procesamiento previo de la solicitud y uno posterior de la respuesta, con lo cual manipula la solicitud/respuesta HTTP. Los filtros ISAPI pueden utilizarse para aplicaciones tales como autenticación, acceso o apertura de sesión.

 NSPAI. es la API propuesta por Netscape para extender la funcionalidad de sus servidores.

 DBI (PERL): Perl es uno de los lenguajes más utilizados para programación en la Web y proporciona su propia interfaz de acceso a datos, llamada DBI (DataBase Interface). Es especialmente utilizado

27

28

bajo plataformas Linux/Unix, solucionando las complejidades de ODBC en estos sistemas. DBI actúa como una abstracción para un conjunto de módulos DBD (DataBase Driver). Cada módulo DBD actúa como manejador de un sistema gestor de base de datos distinto. Existen módulos para prácticamente cualquier SGBD (Oracle, Informix, MySQL, etc.) y puentes hacia otras tecnologías como ADO, JDBC ...

 JDBC (Java Data Base Connectivity): se trata del estándar para la conectividad entre el lenguaje Java y un amplio rango de sistemas gestores de bases de datos. Los JDBC pueden desenvolverse tanto en un nivel cliente, esto es, trabajando del lado de la aplicación, o en el servidor directamente relacionado con la base de datos. Cuando se encuentre a nivel cliente, trabajará con la tecnología ODBC para acceso a los datos. Hay diversos tipos de controladores JDBC:

o El puente JDBC-OBDC: fue uno de los primeros controladores disponibles, implementa un enlace para utilizar un controlador ODBC desde Java. Con el tiempo han surgido controladores JDBC específicos para cada base de datos que mejoran el rendimiento del puente JDBC-ODBC.

o Controladores Java parcialmente nativos: usan tanto código Java como binario específico de cada plataforma.

o Controladores JDBC-Net de Java puro: son controladores escritos completamente en Java que entienden un protocolo de red estándar (HTTP, etc.) y permiten comunicarse con un servidor de acceso a bases de datos, que es el que finalmente provee el acceso al SGBD específico (posiblemente con ODBC).

o Controladores de protocolo nativo en Java puro: escritos en Java puro, utilizan el protocolo específico de la marca del SGBD.

 SQL LINKS: se trata de controladores que se encargan de realizar la comunicación remota entre la aplicación y los servidores remotos de bases de datos, permitiendo una comunicación casi directa y muy rápida. Los ha desarrollado la empresa Inprise y permiten conexionescon otros servidores de bases de datos como:

Interase, Oracle, Sybase, Informix, Microsoft   SQL Server , etc.

Las 2 tecnologías más importantes de conectividad a la la base de datos son ADO y JDBC.

ADO:Existen varios niveles o interfaces para lograr la comunicación o acceso a la base de datos a través de la aplicación. El siguiente esquema muestra 2 de los principales niveles, dentro de los cuales se encuentra ADO.

28

29

Por lo general, las interfaces de objetos de datos son más fáciles de usar que las APIS, aunque las APIs ofrecen más funcionalidades. ADO (ActiveX Data Objects) es la interfaz de objetos de datos para OLE DB, y RDO (Remote Data Objects) es la interfaz para el objeto ODBC.

ADO encapsula el API OLE DB en un modelo objeto simple que reduce el desarrollo, mantenimiento y costo de la aplicación. Es muy fácil de usar, utiliza lenguajes de programación como Visual Basic, Java, C++, VBScript y JScript, puede accesar datos desde cualquier recurso OLE DB y además, es extensible. Es la interfaz utilizada por Microsoft.

El modelo ADO, basado en el modelo de objetos, define una jerarquía de objetos programables que pueden ser usados por desarrolladores de páginas Web para acceder a la información almacenada en una base de datos. Una jerarquía es un grupo de objetos relacionados que trabajan juntos para un mismo propósito. Por ejemplo, en la siguiente figura, cada caja representa un objeto, y cada línea representa una asociación directa entre ellos.

ADO está compuesto de siete objetos, algunos de alto nivel como Connection, Command y Recordset, que pueden ser creados y eliminados por el usuario y otros con distintas funcionalidades como designar propiedades de conexión, definir sentencias y ejecutarlas, optimización de consultas, etc. Estos elementos se representan en la siguiente figura:

Cada uno de los objetos anteriores contiene una colección de objetos Property. El objeto Property permite a ADO mostrar dinámicamente las capacidades de un objeto específico.

ADO permite diseñar sitios web que pueden acceder repetidamente a la misma base de datos usando una misma búsqueda u otra similar. Se pueden compartir conexiones y esto significa una menor carga de trabajo para el servidor de la base de datos, un tiempo de respuesta más rápida y más accesos a página con éxito.

Existe un componente llamado RDS (Remote Data Service) que ofrece el ambiente de Acceso Universal a Datos, ya sea desde Internet o la World Wide

29

30

Web, creando un marco de trabajo que permite una interacción fácil y eficiente con los datos fuente OLE DB tanto en Intranets corporativas o en Internet. RDS ofrece la ventaja de obtener por el lado del cliente resultados de datos, actualización y soporte para controles ADO y ofrece el modelo de programación OLE DB/ADO para manipular datos de las aplicaciones del cliente.

JDBC

JDBC o Java Data Base Connectivity, creado por la empresa Sun, es la API estándar de acceso a bases de datos con Java. Sun optó por crear una nueva API en lugar de utilizar ODBC, porque esta última presentaba algunos problemas desde ciertas aplicaciones Java. ODBC es una interfaz escrita en lenguaje C, que al no ser un lenguaje portable, hacía que las aplicaciones Java también perdiesen la portabilidad. Además, ODBC ha de instalarse manualmente en cada máquina, mientras que los controladores (drivers) JDBC que están escritos en Java son automáticamente instalables y portables. El nivel de abstracción al que trabaja JDBC es más alto que el de ODBC y, de esta forma, se pueden crear librerías de más alto nivel,

Para trabajar con JDBC es necesario tener controladores que permitan acceder a las distintas bases de datos. Sin embargo, ODBC sigue siendo hoy en día la API más popular para acceso a Bases de Datos, por lo que: Sun se ha visto obligada a diseñar un puente que permite utilizar la API de JDBC en combinación con controladores ODBC.

Las tecnologías que se emplea para la conectividad entre los datos y la aplicación, se ha convertido en un factor muy importante a la hora de desarrollar un proyecto web que cuente con funcionalidad de acceso a datos. A continuación se muestra un cuadro comparativo de las dos tecnologías más importantes en este sentido: ActiveX Data Objects (ADO) y Java Data Base Connectivity (JDBC).

ADO JDBC

30

31

 Tecnología elaborada por Microsoft  Tiene la principal función de realizar la

solicitud de los datos a la base de datos.

 Esta solicitud la realizará mediante la tecnología OLE DB, la cual estará en contacto de manera directa con la base de datos.

 La tecnología OLE DB sólo se empleará cuando el DBMS pertenece de igual manera a Microsoft, como es SQL Server.

 ADO encapsulará a ciertos objetos de OLE DB, para que de ésta manera se realice la conexión con la base de datos.

 Para realizar la gestión de acceso a bases de datos heterogéneas por parte de ADO, éste hará uso de ciertos objetos de la tecnología RDO (Remote Data Objects).

 RDO dependerá de los ODBC’s para poder efectuar la conexión a la base de datos y con esto el acceso a la información.

 ADO podrá encontrarse trabajando en una página web en conjunto con código HTML; esto será posible mediante un mecanismo de introducción de instrucciones como es el VBscript.

 Los objetos que conforman al ADO, no son compatibles con otros lenguajes, solo por aquellos que pertenecen a la empresa Microsoft como son: Visual C++, Visual Basic, Visual Java, etc.

 Tecnología hecha por Sun Microsistems.

 Tiene la función de ser un gestor para la aplicación con respecto a la base de datos.

 Por primera vez el JDBC fue empleado, tomando como intermediario entre él y la base de datos al ODBC.

 Como modelo cliente/servidor, el JDBC se encontrará trabajando en el equipo cliente, conectándose directamente con la base de datos.

 Como modelo de tres capas, el JDBC se encontrará en una capa intermedia, donde todos los usuarios pasarán por él para poder accesar a la base de datos.

 Existen módulos JDBC que son propios de los fabricantes de DBMS, que son utilizados para el rápido acceso a la información de las bases de datos de los mismos.

 JDBC no se encontrará ligado a trabajar con alguna tecnología en específica, ya que se elaboró con la finalidad de ser portable.

 En aplicaciones Web, JDBC se encontrará laborando en conjunto con código HTML, mediante el mecanismo del Java script.

 JDBC se elaboró con la finalidad de poder ser compatible y portable para poder ser empleado en aplicaciones y para la conexión con bases de datos.

Por último, hay que destacar también una tecnología llamada Web DB utilizada por algunos servidores de bases de datos, con la cual, un usuario puede solicitar la información que requiera y visualizarla a modo de respuesta en una página Web, que será creada y elaborada por el propio servidor de base de datos.

El proceso que comprende desde la solicitud a la visualización de la información, puede ser representado de la siguiente manera:

En este esquema anterior destacan:

31

32

 Navegador (browser): es la aplicación mediante la cual, se tiene acceso libre a los servicios de Internet, y el medio que permite al usuario introducir la solicitud para visualizar la información, empleando el URL para especificar detalladamente el proceso que se desea ejecutar.

 Interfaz de Web: proporciona una interfaz para que un programa que se ejecute en el servidor genere como salida el código HTML, en lugar de leer simplemente un archivo estático de texto. Con ésta interfaz se podrán crear las páginas Web de forma dinámica y/o utilizar la implementación de formularios HTML. Esta interfaz permite tecnologías como los CGI’s o aquellas otras que son propias del servidor de base de datos.

 Agente PL/SQL: es el eslabón final del proceso entre un navegador cliente y el servidor de base de datos. El agente ejecutará una llamada a un procedimiento almacenado en el servidor. Este procedimiento creará una página HTML dinámica como salida, y el agente devolverá dicha salida al cliente a través del navegador empleando de igual manera la Interfaz de Web.

 Base de Datos (BD). En ella se mantendrá almacenada la información; se encargará de proporcionar los datos que le hayan solicitado previamente, al momento de la ejecución de un procedimiento por parte del Agente PL/SQL.

Esta herramienta es una muy buena opción para pequeñas o medianas empresas, en las cuales llegaría a resultar muy costoso la implementación de otro tipo de tecnologías más caras y avanzadas.

6.5.1 DatawarehouseEn 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 sean necesario.

32

33

Definiciones de almacén de datos

Definición de Bill Inmon

Bill Inmon1 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

Ralph Kimball2 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.

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 esos datos, para extraerlos, transformarlos y cargarlos, las técnicas para analizarlos y generar información, 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 extraer, transformar y cargar datos, herramientas para el análisis (inteligencia empresarial) y herramientas para gestionar y recuperar los metadatos.

Función de un almacén de datos

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

33

34

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 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.

Data marts.

Los Data marts son subconjuntos de datos de un data warehouse para áreas específicas.

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.Cubos de información

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.

34

35

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.

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 productovendido, la provincia, el mes del año y si el cliente está casado o soltero (dimensiones). Tendríamos un cubo de 4 dimensiones.

35

36

Elementos que integran un almacén de datos

Metadatos

Uno de los componentes más importantes de la arquitectura de un almacén de datos son los metadatos. Se define comúnmente como "datos acerca de los datos", en el sentido de que se trata de datos que describen cuál es la estructura de los datos que se van a almacenar y cómo se relacionan.

El metadato documenta, entre otras cosas, qué tablas existen en una base de datos, qué columnas posee cada una de las tablas y qué tipo de datos se pueden almacenar. Los datos son de interés para el usuario final, el metadato es de interés para los programas que tienen que manejar estos datos. Sin embargo, el rol que cumple el metadato en un entorno de almacén de datos es muy diferente al rol que cumple en los ambientes operacionales. En el ámbito de los data warehouse el metadato juega un papel fundamental, su función consiste en recoger todas las definiciones de la organización y el concepto de los datos en el almacén de datos, debe contener toda la información concerniente a:

Tablas Columnas de tablas Relaciones entre tablas Jerarquías y Dimensiones de datos Entidades y RelacionesFunciones ETL (extracción, transformación y carga)

Los procesos de extracción, transformación y carga (ETL) son importantes ya que son la forma en que los datos se guardan en un almacén de datos (o en cualquier base de datos). Implican las siguientes operaciones:

Extracción. Acción de obtener la información deseada a partir de los datos almacenados en fuentes externas.

Transformación. Cualquier operación realizada sobre los datos para que puedan ser cargados en el data warehouse o se puedan migrar de éste a otra base de datos.

Carga. Consiste en almacenar los datos en la base de datos final, por ejemplo el almacén de datos objetivo normal.

Middleware

Middleware es un término genérico que se utiliza para referirse a todo tipo de software de conectividad que ofrece servicios u operaciones que hacen posible el funcionamiento de aplicaciones distribuidas sobre plataformas heterogéneas. Estos servicios funcionan como una capa de abstracción de software distribuida, que se sitúa entre las capas de aplicaciones y las capas inferiores (sistema operativo y red). El middleware puede verse como una capa API, que sirve como base a los programadores para que puedan desarrollar aplicaciones que trabajen en diferentes entornos sin preocuparse de los protocolos de red y comunicaciones en que se ejecutarán. De esta manera se ofrece una mejor relación costo/rendimiento que pasa por el desarrollo de aplicaciones más complejas, en menos tiempo.

36

37

La función del middleware en el contexto de los data warehouse es la de asegurar la conectividad entre todos los componentes de la arquitectura de un almacén de datos.

Diseño de almacén de datos

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.

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.

Almacén de datos especial

37

38

Almacén de datos espacial es una colección de datos orientados al tema, integrados, no volátiles, variantes en el tiempo y que añaden la geografía de los datos, para la toma de decisiones. Sin embargo la componente geográfica no es un dato agregado, sino que es una dimensión o variable en la tecnología de la información, de tal manera que permita modelar todo el negocio como un enteholístico, y que a través de herramientas de procesamiento analítico en línea (OLAP), no solamente se posea un alto desempeño en consultas multidimensionales sino que adicionalmente se puedan visualizar espacialmente los resultados.

Viajes e inconvenientes de los almacenes de datos

Ventajas

Hay muchas ventajas por las que es recomendable usar un almacén de datos. Algunas de ellas son:

Los almacenes de datos hacen más fácil el acceso a una gran variedad de datos a los usuarios finales

Facilitan el funcionamiento de las aplicaciones de los sistemas de apoyo a la decisión tales como informes de tendencia, por ejemplo: obtener los ítems con la mayoría de las ventas en un área en particular dentro de los últimos dos años; informes de excepción, informes que muestran los resultados reales frente a los objetivos planteados a priori.

Los almacenes de datos pueden trabajar en conjunto y, por lo tanto, aumentar el valor operacional de las aplicaciones empresariales, en especial la gestión de relaciones con clientes.

Inconvenientes

Utilizar almacenes de datos también plantea algunos inconvenientes, algunos de ellos son:

A lo largo de su vida los almacenes de datos pueden suponer altos costos. El almacén de datos no suele ser estático. Los costos de mantenimiento son elevados.

Los almacenes de datos se pueden quedar obsoletos relativamente pronto. A veces, ante una petición de información estos devuelven una información

subóptima, que también supone una pérdida para la organización. A menudo existe una delgada línea entre los almacenes de datos y los

sistemas operacionales. Hay que determinar qué funcionalidades de estos se pueden aprovechar y cuáles se deben implementar en el data warehouse, resultaría costoso implementar operaciones no necesarias o dejar de implementar alguna que sí vaya a necesitarse.

6.5.2 DataminningDescubriendo Información Oculta

Data Mining, la extracción de información oculta y predecible de grandes bases de datos, es una poderosa tecnología nueva con gran potencial para ayudar a las compañías a concentrarse en la información más importante de sus Bases de Información (Data Warehouse). Lasherramientas de Data Mining predicen futuras tendencias y comportamientos, permitiendo en

38

39

losnegocios tomar decisiones proactivas y conducidas por un conocimiento acabado de la información (knowledge-driven). Los análisis prospectivos automatizados ofrecidos por un producto así van más allá de los eventos pasados provistos por herramientas retrospectivas típicas de sistemas de soporte de decisión. Las herramientas de Data Mining pueden responder a preguntas de negocios que tradicionalmente consumen demasiado tiempopara poder ser resueltas y a los cuales los usuarios de esta información casi no están dispuestos a aceptar. Estas herramientas exploran las bases de datos en busca de patrones ocultos, encontrando información predecible que un experto no puede llegar a encontrar porque se encuentra fuera de sus expectativas.

Muchas compañías ya colectan y refinan cantidades masivas de datos. Las técnicas de Data Mining pueden ser implementadas rápidamente en plataformas ya existentes de software y hardware para acrecentar el valor de las fuentes de información existentes y pueden ser integradas con nuevosproductos y sistemas pues son traídas en línea (on-line). Una vez que las herramientas de Data Mining fueron implementadas en computadoras cliente servidor  de alta performance o de procesamiento paralelo, pueden analizar bases de datos masivas para brindar respuesta a preguntas tales como, "¿Cuáles clientes tienen más probabilidad de responder al próximo mailing promocional, y por qué? y presentar los resultados en formas de tablas, congráficos, reportes, texto, hipertexto, etc.

El Alcance de Data Mining

El nombre de Data Mining deriva de las similitudes entre buscar valiosa información de negocios en grandes bases de datos - por ej.: encontrar información de la venta de un producto entre grandes montos de Gigabytes almacenados - y minar una montaña para encontrar una veta de metalesvaliosos. Ambos procesos requieren examinar una inmensa cantidad de material, o investigar inteligentemente hasta encontrar exactamente donde residen los valores. Dadas bases de datos de suficiente tamaño y calidad, la tecnología de Data Mining puede generar nuevas oportunidades de negocios al proveer estas capacidades:

Predicción automatizada de tendencias y comportamientos. Data Mining automatiza el proceso de encontrar información predecible en grandes bases de datos. Preguntas que tradicionalmente requerían un intenso análisis manual, ahora pueden ser contestadas directa y rápidamente desde los datos. Un típico ejemplo de problema predecible es el marketing apuntado a objetivos (targeted marketing). Data Mining usa datos en mailing promocionales anteriores para identificar posibles objetivos para maximizar los resultados de la inversión en futuros mailing. Otros problemas predecibles incluyen pronósticos de problemas financieros futuros y otras formas de incumplimiento, e identificar segmentos depoblación que probablemente respondan similarmente a eventos dados.

Descubrimiento automatizado de modelos previamente desconocidos.

 Las herramientas de Data Mining barren las bases de datos e identifican modelos previamente escondidos en un sólo paso. Otros problemas de descubrimiento de modelos incluye detectar transacciones fraudulentas de tarjetas de créditos e identificar datos anormales que pueden representar errores de tipeado en la carga de datos.

39

40

Las bases de datos pueden ser grandes tanto en profundidad como en ancho:

Más columnas. Los analistas muchas veces deben limitar el número de variables a examinar cuando realizan análisis manuales debido a limitaciones de tiempo. Sin embargo, variables que son descartadas porque parecen sin importancia pueden proveer información acerca de modelos desconocidos. Un Data Mining de alto rendimiento permite a los usuarios explorar toda la base de datos, sin preseleccionar un subconjunto de variables.

Más filas. Muestras mayores producen menos errores de estimación y desvíos, y permite a los usuarios hacer inferencias acerca de pequeños pero importantes segmentos de población.

Las técnicas más comúnmente usadas en Data Mining son:

Redes neuronales artificiales: modelos predecible no-lineales que aprenden a través del entrenamiento y semejan la estructura de una redneuronal biológica.

Arboles de decisión: estructuras de forma de árbol que representan conjuntos de decisiones. Estas decisiones generan reglas para la clasificación de un conjunto de datos. Métodos específicos de árboles de decisión incluyen Arboles de Clasificación y Regresión (CART: Classification And Regression Tree) y Detección de Interacción Automática de Chi Cuadrado (CHAI: Chi Square Automatic Interaction Detection)

Algoritmos genéticos: técnicas de optimización que usan procesos tales como combinaciones genéticas, mutaciones y selección natural en undiseño basado en los conceptos de evolución.

Método del vecino más cercano: una técnica que clasifica cada registro en un conjunto de datos basado en una combinación de las clases del/de los k registro (s) más similar/es a él en un conjunto de datos históricos (donde k  1). Algunas veces se llama la técnica del vecino k-más cercano.

Regla de inducción: la extracción de reglas if-then de datos basados en significado estadístico.

Muchas de estas tecnologías han estado en uso por más de una década en herramientas de análisis especializadas que trabajan con volúmenes de datos relativamente pequeños. Estas capacidades están ahora evolucionando para integrarse directamente con herramientas OLAP y de Data Warehousing.

Una arquitectura para Data Mining

Para aplicar mejor estas técnicas avanzadas, éstas deben estar totalmente integradas con el data warehouse así como con herramientas flexibles e interactivas para el análisis de negocios. Varias herramientas de Data Mining actualmente operan fuera del warehouse, requiriendo pasos extra para extraer, importar y analizar los datos. Además, cuando nuevos conceptos requieren implementación operacional, la integración con el warehouse simplifica la aplicación de los resultados desde Data Mining. El Data warehouse analítico resultante puede ser aplicado para mejorar procesos de negocios en toda la organización, en áreas tales como manejo de campañas promocionales, detección de fraudes, lanzamiento de nuevos productos, etc.

El punto de inicio ideal es un data warehouse que contenga una combinación de datos de seguimiento interno de todos los clientes junto con datos externos de mercado acerca de la actividad de los competidores. Información histórica

40

41

sobre potenciales clientes también provee una excelente base para prospecting. Este warehouse puede ser implementado en una variedad de sistemas de bases relacionales y debe ser optimizado para un acceso a los datos flexible y rápido.

Un server multidimensional OLAP permite que un modelo de negocios más sofisticado pueda ser aplicado cuando se navega por el data warehouse. Las estructuras multidimensionales permiten que el usuario analice los datos de acuerdo a como quiera mirar el negocio - resumido por línea de producto, u otras perspectivas claves para su negocio. El server de Data Mining debe estar integrado con el data warehouse y el server OLAP para insertar el análisis de negocios directamente en esta infraestructura. Un avanzado, metadata centrado en procesos define los objetivos del Data Mining para resultados específicos tales como manejos de campaña, prospecting, y optimización de promociones. La integración con el data warehouse permite que decisiones operacionales sean implementadas directamente y monitoreadas. A medida que el data warehouse crece con nuevas decisiones y resultados, la organización puede "minar" las mejores prácticas y aplicarlas en futuras decisiones.

Este diseño representa una transferencia fundamental desde los sistemas de soporte de decisión convencionales. Más que simplemente proveer datos a los usuarios finales a través de software de consultas y reportes, el server de Análisis Avanzado aplica los modelos de negocios del usuario directamente al warehouse y devuelve un análisis proactivo de la información más relevante. Estos resultados mejoran los metadatos en el server OLAP proveyendo una estrato de metadatos que representa una vista fraccionada de los datos. Generadores de reportes, visualizadores y otras herramientas de análisis pueden ser aplicadas para planificar futuras acciones y confirmar el impacto de esos planes.

Glosario de Términos de Data Mining

Algoritmos genéticos: Técnicas de optimización que usan procesos tales como combinación genética, mutación y selección natural en un diseño basado en los conceptos de evolución natural.

Análisis de series de tiempo (time-series): Análisis de una secuencia de medidas hechas a intervalos específicos. El tiempo es usualmente la dimensión dominanate de los datos.

Análisis prospectivo de datos: Análisis de datos que predice futuras tendencias, comportamientos o eventos basado en datos históticos.

Análisis exploratorio de datos: Uso de técnicas estadísticas tanto gráficas como descriptivas para aprender acerca de la estructura de un conjunto de datos.

Análisis retrospectivo de datos: Análisis de datos que provee una visión de las tendencias , comportamientos o eventos basado en datos históricos.

Árbol de decisión: Estructura en forma de árbol que representa un conjunto de decisiones. Estas decisiones generan reglas para la clasificaciónde un conjunto de datos. Ver CART y CHAID.

Base de datos multidimensional: Base de datos diseñada para procesamiento analítico on-line (OLAP). Estructurada como un hipercubo con un eje por dimensión.

CART Árboles de clasificación y regresión: Una técnica de árbol de decisión usada para la clasificación de un conjunto da datos. Provee un conjunto de reglas que se pueden aplicar a un nuevo (sin clasificar) conjunto

41

42

de datos para predecir cuáles registros darán un cierto resultado. Segmenta un conjunto de datos creando 2 divisiones. Requiere menos preparación de datos que CHAID .

CHAID Detección de interacción automática de Chi cuadrado: Una técnica de árbol de decisión usada para la clasificación de un conjunto da datos. Provee un conjunto de reglas que se pueden aplicar a un nuevo (sin clasificar) conjunto de datos para predecir cuáles registros darán un cierto resultado. Segmenta un conjunto de datos utilizando tests de chi cuadrado para crear múltiples divisiones. Antecede, y requiere más preparación de datos, que CART.

Clasificación: Proceso de dividir un conjunto de datos en grupos mutuamente excluyentes de tal manera que cada miembro de un grupo esté lo "más cercano" posible a otro, y grupos diferentes estén lo "más lejos" posible uno del otro, donde la distancia está medida con respecto a variable(s) específica(s) las cuales se están tratando de predecir. Por ejemplo, un problema típico de clasificación es el de dividir una base de datos de compañías en grupos que son lo más homogéneos posibles con respecto a variables como "posibilidades de crédito" con valores tales como "Bueno" y "Malo".

Clustering (agrupamiento): Proceso de dividir un conjunto de datos en grupos mutuamente excluyentes de tal manera que cada miembro de un grupo esté lo "más cercano" posible a otro, y grupos diferentes estén lo "más lejos" posible uno del otro, donde la distancia está medida con respecto a todas las variables disponibles.

Computadoras con multiprocesadores: Una computadora que incluye múltiples procesadores conectados por una red. Ver procesamiento paralelo.

Data cleansing: Proceso de asegurar que todos los valores en un conjunto de datos sean consistentes y correctamente registrados.

Data Mining: La extracción de información predecible escondida en grandes bases de datos.

Data Warehouse: Sistema para el almacenamiento y distribución de cantdades masivas de datos

Datos anormales: Datos que resultan de errores (por ej.: errores en el tipeado durante la carga) o que representan eventos inusuales.

Dimensión: En una base de datos relacional o plana, cada campo en un registro representa una dimensión. En una base de datos multidimensional, una dimensión es un conjunto de entidades similares; por ej.: una base de datos multidimensional de ventas podría incluir las dimensiones Producto, Tiempo y Ciudad.

Modelo analítico: Una estructura y proceso para analizar un conjunto de datos. Por ejemplo, un árbol de decisión es un modelo para laclasificación de un conjunto de datos

Modelo lineal: Un modelo analítico que asume relaciones lineales entre una variable seleccionada (dependiente) y sus predictores (variables independientes).

Modelo no lineal: Un modelo analítico que no asume una relación lineal en los coeficientes de las variables que son estudiadas.

Modelo predictivo: Estructura y proceso para predecir valores de variables especificadas en un conjunto de datos.

Navegación de datos: Proceso de visualizar diferentes dimensiones, "fetas" y niveles de una base de datos multidimensional. Ver OLAP.

OLAP Procesamiento analítico on-line (On Line Analitic prossesing): Se refiere a aplicaciones de bases de datos orientadas a array que permite a

42

43

los usuarios ver, navegar, manipular y analizar bases de datos multidimensionales.

Outlier: Un item de datos cuyo valor cae fuera de los límites que encierran a la mayoría del resto de los valores correspondientes de la muestra. Puede indicar datos anormales. Deberían ser examinados detenidamente; pueden dar importante información.

Procesamiento paralelo: Uso coordinado de múltiples procesadores para realizar tareas computacionales. El procesamiento paralelo puede ocurrir en una computadora con múltiples procesadores o en una red de estaciones de trabajo o PCs.

RAID: Formación redundante de discos baratos (Redundant Array of inexpensive disks). Tecnología para el almacenamiento paralelo eficiente de datos en sistemas de computadoras de alto rendimiento.

Regresión lineal: Técnica estadística utilizada para encontrar la mejor relación lineal que encaja entre una variable seleccionada (dependiente) y sus predicados (variables independientes).

Regresión logística: Una regresión lineal que predice las proporciones de una variable seleccionada categórica, tal como Tipo de Consumidor, en una población.

Vecino más cercano: Técnica que clasifica cada registro en un conjunto de datos basado en una combinación de las clases del/de los k registro (s) más similar/es a él en un conjunto de datos históricos (donde k  1). Algunas veces se llama la técnica del vecino k-más cercano.

SMP Multiprocesador simétrico (Symmetric multiprocessor): Tipo de computadora con multiprocesadores en la cual la memoria es compartida entre los procesadores

Terabyte: Un trillón de bytes.

6.5.3 Soporte a la toma de decisionesEl término soporte a la toma de decisiones se ha utilizado de formas muy diversas y se ha definido de diferentes maneras dependiendo del punto de vista del autor.2 Algunas de esas definiciones son:

Un DSS, en términos muy generales, es "un sistema basado en computador que ayuda en el proceso de toma de decisiones" (Finlay3 y otros).

En términos bastante más específicos, un DSS es "un sistema de información basado en un computador interactivo, flexible y adaptable, especialmente desarrollado para apoyar la solución de un problema de gestión no estructurado para mejorar la toma de decisiones. Utiliza datos, proporciona una interfaz amigable y permite la toma de decisiones en el propio análisis de la situación" .

Los DSS son herramientas de mucha utilidad en Inteligencia empresarial (Business Intelligence), permiten realizar el análisis de las diferentes variables de negocio para apoyar el proceso detoma de decisiones de los directivos:

Permite extraer y manipular información de una manera flexible. Ayuda en decisiones no estructuradas.

43

44

Permite al usuario definir interactivamente qué información necesita y cómo combinarla.

Suele incluir herramientas de simulación, modelización, etc. Puede combinar información de los sistemas transaccionales internos de

la empresa con los de otra empresa externa.

Su principal característica es la capacidad de análisis multidimensional (OLAP) que permite profundizar en la información hasta llegar a un alto nivel de detalle, analizar datos desde diferentes perspectivas, realizar proyecciones de información para pronosticar lo que puede ocurrir en el futuro, análisis de tendencias, análisis prospectivo, etc.

Un DSS da soporte a las personas que tienen que tomar decisiones en cualquier nivel de gestión, ya sean individuos o grupos, tanto en situaciones semiestructuradas como en no estructuradas, a través de la combinación del juicio humano e información objetiva:

Soporta varias decisiones interdependientes o secuenciales. Ofrece ayuda en todas las fases del proceso de toma de decisiones -

inteligencia, diseño, selección, e implementación- así como también en una variedad de procesos y estilos de toma de decisiones.

Es adaptable por el usuario en el tiempo para lidiar con condiciones cambiantes.

Genera aprendizaje, dando como resultado nuevas demandas y refinamiento de la aplicación, que a su vez da como resultado un aprendizaje adicional.

Generalmente utiliza modelos cuantitativos (estándar o hechos a la medida).

Los DSS avanzados están equipados con un componente de administración del conocimiento que permite una solución eficaz y eficiente de problemas muy complejos.

Puede ser implantado para su uso en Web, en entornos de escritorio o en dispositivos móviles (PDA).

Permite la ejecución fácil de los análisis de sensibilidad.

CONCLUSIÓN En esta práctica aprendimos a cómo desarrollar de una manera práctica y sencilla como abrir un archivo en ER/Studio para después manipularlo ya después aprendimos a cómo de una manera práctica como crear un modelo físico para ya después que se creó el modelo físico de una manera sencilla, crear el SQL que nos permitirá trabajar con el manejador de base de datos en este caso Access que porque es un sistema que todos tenemos lo trabajemos para demostrar el uso y control del SQL.

En esta práctica aprendimos de una manera sencilla como ingresar datos por comando desde Universal ISQL en lo cual nos dimos a la tarea que son sencillos, así como también las consultas que podemos hacer en el mismo

44

45

programa . Como lo principal que fue como enlazar Universal ISQL con Access de una manera sencilla y práctica.

BibliografíaProgramacion.net. ASP en castellano. http://www.programacion.net/asp/

Programacion.net. Bases de datos en castellano.

http://www.programacion.net/bbdd/

Programacion.net. Java en castellano.http://www.programacion.net/java/

Programacion.net. PHP en castellano. http://www.programacion.net/php/

TRAMULLAS, Jesús. "Sección 3: Los sistemas de bases de datos y los SGBD”. En Introducción a la Documática.http://tek.docunautica.com/

TRAMULLAS, Jesús. "Sección 6: Las bases de datos multimedia". En Introducción a la Documática. http://tek.docunautica.com/

RAZQUIN ZAPE, Pedro. "Las bases de datos multimedia revisadas". Cuadernos de Documentación Multimedia. Núm. 6-7, 1997-1998.http://www.ucm.es/info/multidoc/multidoc/revista/cuad6-7/prazquin.htm

VALLE GASTAMINZA, Félix del. Diseño de Bases de datos. http://www.ucm.es/info/multidoc/prof/fvalle/Disbd.htm

ABADAL, Ernest. "Diseño y creación de una base de datos en un medio de comunicación". En: FUENTES, M. Eulalia (ed.). Manual de Documentación periodística. Madrid, Síntesis, 1995.

ABADAL, Ernest. "Bases de datos documentales en el web: análisis del software para su publicación". Hipertext.net, núm. 3, 2005.http://www.hipertext.net/web/pag255.htm

ABADAL, Ernest. CODINA, Lluís. Bases de datos documentales: características, funciones y métodos. Madrid: Síntesis, 2005.

CARIDAD, Mercedes. "Bases de datos documentales: el acceso a la información". En: López Yepes, José (coord.). Manual de información y documentación. Madrid, Pirámide,1996.

CMS-Spain.com http://www.ecm-spain.com/home.asp

CODINA, L. FUENTES, M. E. "Documentación periodística y bases de datos: elementos para su fundamento como disciplina y propuesta de conjunto nuclear de bases de datos". En: Fuentes, M. E. (dir.). Anuari de biblioteconomía, documentació e informació. Barcelona, COBDC, 1999.

45

46

HORTH, Henry F. SILBERCHATZ, Abraham. Fundamentos de las bases de datos. McGraw Hill, 1998.

LÓPEZ FRANCO, José Manuel. Integración de tecnologías a través de servidores web.http://trevinca.ei.uvigo.es/~txapi/espanol/proyecto/superior/memoria/memoria.html

LÓPEZ YEPES, Alfonso. "Bases de datos documentales multimedia". En: López Yepes, José (coord.). Manual de información y documentación. Madrid, Pirámide, 1996.

LÓPEZ YEPES, José (coord.) Manual de Ciencias de la Documentación. Madrid, Pirámide, 2002.

MARTÍNEZ SAN GERMÁN. Taller de base de datos. http://www.itver.edu.mx/comunidad/material/tallerbd/apuntes/index.html

PALMA, María del Valle. "Bases de datos y servicios de información disponibles en Internet". En: Documentación Digital (CD-ROM). Barcelona: UPF, 1999.

PALMA, María del Valle. "Técnicas y métodos para mejorar la calidad de la indización y su recuperación en bases de datos documentales de ciencias sociales y humanidades". 5es Jornades Catalanes de Documentació: biblioteques, centres de documentació i serveis d’informació.Barcelona: Cobdc; Socadi, 1995.