Bases de Datos II Corregido PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 241

Bases de Datos II – Licenciatura en Sistemas de Información

Bases de Datos II
(Licenciatura en Sistemas de Información)

4º Año, 2º Cuatrimestre

Profesor: Doctor David Luis La Red Martínez

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 1
Bases de Datos II – Licenciatura en Sistemas de Información

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 2
Bases de Datos II – Licenciatura en Sistemas de Información

Índice
 Tema 1: Introducción - Revisión: Conceptos de bases de datos (BD). Criterios de diseño de un
sistema de gestión de BD. Estructuras de BD. Estructuras relacionales. Estructuras jerárquicas.
Estructuras en red. Integridad. Modelos de datos, esquemas e instancias. Arquitectura de un
SGBD e independencia de datos. Lenguajes e interfaces de bases de datos. El entorno del sistema
de bases de datos. Clasificación de los SGBD. Catálogos de SGBD. Información de los catálogos.
Sistemas de diccionario de datos y depósito de datos. Página 4
 Tema 2: Bases de Datos Activas: Introducción. Restricciones de integridad y reglas de
negocio. Transacciones. Bases de datos activas. Conceptos. Gestor Pasivo vs. Activo. Ventajas.
Aplicaciones. Reglas en bases de datos relaciónales. Las reglas de Codd para sistemas gestores
de bases de datos relaciónales. Limitaciones del modelo relacional. Página 22
 Tema 3: Bases de Datos Distribuidas: Bases de datos centralizadas vs. Distribuidas.
Estrategias en el diseño de una base de datos distribuida. Fragmentación y replicación.
Procesamiento y optimización de consultas distribuidas. Integridad de datos en sistemas
distribuidos. Transacciones distribuidas. Página 38
 Tema 4: Bases de Datos Orientadas a Objetos: Introducción. Características de los SGBDOO.
Modelo de datos orientado a objetos. Objetos complejos. Estándar ODMG del modelo de objetos.
Lenguaje de definición de objetos ODL. Lenguaje de consulta de objetos OQL. Diseño conceptual
de bases de datos de objetos. Estándar CORBA para objetos distribuidos. Página 55
 Tema 5: Bases de Datos Objeto-Relacionales: Introducción. Comparación entre BDR y
BDOO. La orientación a objetos en el mundo relacional: BDROO. Arquitectura de un gestor
relacional orientado a objetos. Consideraciones para la definición de nuevos tipos de datos. SQL3.
Página 79
 Tema 6: Bases de Datos Relacionales Extendidas y Otros Tipos Especiales de Bases
datos: Sistemas de tipo extendido. Modelo relacional anidado. Bases de datos temporales. Bases
de datos espaciales y multimedia. Bases de datos para GIS. Página 101
 Tema 7: Calidad en bases de datos: Introducción. Escalabilidad, eficiencia, efectividad,
modelado y calidad de datos. Calidad en bases de datos: calidad del gestor, calidad del modelo
de datos y calidad de los datos. Normas de calidad. Página 109
 Tema 8: De las bases de datos a los almacenes de datos: Finalidades y evolución de los
sistemas de información. Herramientas para la toma de decisiones. Estructuras de datos para la
inteligencia de negocios. Almacenes de datos (Data Warehouses y Data Marts), olap (Proceso
Analítico en Línea) y minería de datos. Página 129
 Tema 9: Almacenes de Datos para Gestión de Datos masivos: Introducción a los almacenes
de datos. Arquitectura de un sistema de almacén de datos. Carga y mantenimiento de un
almacén de datos. Diseño y armado de un almacén de datos. Página 136
 Tema 10: OLAP: Explotación de un Almacén de Datos: Herramientas OLAP. Sistemas ROLAP
y MOLAP. SQL ampliado. Página 156
 Tema 11: Minería de Datos - Introducción: Introducción a la Minería de Datos. El proceso de
KDD. Técnicas de Minería de Datos y Principales Algoritmos. Fase de Selección en Minería de
Datos. Fase de exploración en minería de datos. Fase de limpieza y transformación de datos.
Página 172
 Tema 12: Minería de Datos - Técnicas Predictivas de Modelización: Técnicas de minería de
datos. Técnicas predictivas para la modelización. Modelo de regresión múltiple. Modelos de
elección discreta. Clasificación Ad Hoc: Análisis discriminante. Página 186
 Tema 13: Minería de Datos - Técnicas Descriptivas y Predictivas de Clasificación: El
análisis cluster como técnica descriptiva de clasificación. Los árboles de decisión como técnica
predictiva de clasificación. Análisis de conglomerados y arboles de decisión como métodos de
segmentación. Página 203
 Tema 14: Minería de Datos - Redes Neuronales: Descripción de una red neuronal (red
neuronal). red neuronal y ajuste de modelos de regresión. Aprendizaje en las red neuronal.
Funcionamiento de una red neuronal. El algoritmo de aprendizaje de retro-propagación. Análisis
discriminante a través del perceptrón. Análisis de series temporales mediante red neuronal.
Análisis de componentes principales con red neuronal. Agrupamiento (clustering) mediante red
neuronal. Página 221
 Tema 15: Minería de Datos - Minería Web: Minería Web. Técnicas y principales algoritmos.
Página 235

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 3
Bases de Datos II – Licenciatura en Sistemas de Información

Tema 1: Introducción - Revisión

Conceptos de Bases de Datos (BD)

 Una base de datos (BD) es un método de organización de datos que utiliza:


• Un índice primario.
• Uno o más índices secundarios.
 El uso de índices secundarios (alternativos) permite distintos accesos manteniendo la integridad,
la utilización compartida y el control necesario para los datos compartidos.
 Es una colección de elementos de datos interrelacionados, no redundantes y procesables por una
o más aplicaciones.
 Las BD están relacionadas a los DBMS:
• Data base management system: sistema de gestión de bases de datos (SGBD).
 Un DBMS provee acceso a los datos en un alto nivel de abstracción.
 Las principales funciones de un DBMS son proveer:
• Integridad.
• Seguridad.
• Sharing (compartición) controlado.
• Recuperación.
• Monitoreo.
 Las principales ventajas de un DBMS consisten en asegurar:
• Independencia de datos.
• Redundancia controlada.
• Datos compartidos.
• Uniformidad.
• Flexibilidad.
 Algunas familias de productos DBMS disponibles son:
• Ms SQL Server, Adabas, Oracle, IBM DB2.
 Las BD y los DBMS son una solución para el problema creciente del manejo de datos.
 Los DBMS proveen facilidades para implementar, cambiar y expandir:
• Aplicaciones.
• Datos.
 Los DBMS ayudan a reducir el costo del procesamiento de datos proveyendo la capacidad de:
• Reducir el mantenimiento de programas de aplicación.
• Reducir el tiempo de programación requerido para implementar nuevas aplicaciones.
• Reducir el costo de conversión a nuevos dispositivos de almacenamiento.
• Reducir el número de archivos en los cuales los datos están repetidos.
 En relación a las BD existen conceptos interesantes:
• Sensitividad de datos: cada programa de aplicación ve sólo aquellos datos (de la
estructura) que precisa utilizar.
• Independencia de datos: se pueden agregar datos a las estructuras existentes en BD sin
modificar los programas de uso.
• Independencia de dispositivos: elimina la asociación directa entre:
 El programa de aplicación.
 El almacenamiento físico de los datos.
 Los conceptos precedentes indican que las BD proveen flexibilidad a la organización de datos.
 La solución a estos inconvenientes es:
• Organizar los datos en una colección de elementos de datos interrelacionados que puedan
ser procesados por una o más aplicaciones:
 Organizar las BD, centralizando los datos en ellas y usar un DBMS
multiplataforma.
 Proveer un método de manejo de datos que fácilmente permita adaptarse a los cambios sin
impactar a los programas existentes.
 Los programas acceden a las BD a través de un DBMS:
Los programadores no precisan conocer las características físicas de las BD.
 Cuando se modifican aplicaciones existentes o se agregan nuevas aplicaciones, se pueden
producir las siguientes situaciones:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 4
Bases de Datos II – Licenciatura en Sistemas de Información

• Duplicar datos existentes en múltiples archivos con formatos y aplicaciones diferentes.


• Consumir significativas cantidades de tiempo actualizando programas existentes.
• Modificar programas ya que sería más conveniente esto que mover archivos de un medio
a otro o cambiar de un método de acceso a otro.
• La productividad de los programadores puede verse limitada por escaso conocimiento de
determinado dispositivo o método de acceso.
 Tener que ampliar aplicaciones:
– De modalidad Batch a Online.
– De operación en la Intranet de la organización a operación en
internet.
 La efectividad de las BD y de los DBMS puede ser ilustrada comparando un entorno que no
incluya un enfoque de BD con uno que sí lo incluya:
• En un entorno sin enfoque de BD:
 Los archivos de datos generalmente se diseñan para servir a determinadas
aplicaciones.
 Cada archivo de datos se diseña específicamente para su propia aplicación y se
almacena separadamente.
 Archivos de diferentes aplicaciones contienen los mismos datos, dificultándose su
actualización y consistencia.
 Solución tradicional al manejo de datos:
Empresa

Control de Control de Ingeniería Contabilidad


Producción inventario
Análisis análisis análisis análisis
Y diseño y diseño y diseño y diseño

PROGRAMAS PROGRAMAS PROGRAMAS PROGRAMAS

FICHEROS FICHEROS FICHEROS FICHEROS

FICHEROS FICHEROS FICHEROS FICHEROS

 Solución al manejo de datos utilizando DBMS:

B C
A D

SISTEMA DE GESTIÓN DE BASES DE DATOS

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 5
Bases de Datos II – Licenciatura en Sistemas de Información

Criterios de Diseño de un Sistema de Bases de Datos

 Los sistemas de manejo de datos deben proveer funciones básicas de:


• Control.
• Recuperación.
• Almacenamiento.
 Los sistemas de bases de datos agregan los siguientes criterios de diseño:
• Seguridad e integridad de los datos.
• Disponibilidad y recuperación del sistema.
• Acceso concurrente a los datos.
• Expandibilidad.
• Reconfiguración dinámica y control.
• Facilidades de test / debug (prueba / depuración).
• Funciones multinivel.
• Tiempo de respuesta controlable.
 Seguridad e integridad de los datos:
• Los datos sensitivos deben protegerse de:
 Destrucción inadvertida: integridad de datos.
 Acceso no autorizado: seguridad de datos.
• Se deben adoptar medidas:
 Preventivas.
 De detección y corrección de eventos que conducen a violaciones de seguridad e
integridad.
 Disponibilidad y recuperación del sistema:
• Los sistemas de información deberían estar disponibles un alto porcentaje de tiempo,
cercano al 100%.
• Otros aspectos de la disponibilidad son:
 Operación con degradación de funciones.
 Operación con degradación de performance.
• Deben existir procedimientos de recuperación para cuando el sistema falla parcial ó
totalmente.
• Los procedimientos de recuperación deberían actuar reduciendo mínimamente la
disponibilidad del sistema.
 Acceso concurrente a los datos:
• Significa que muchos usuarios requerirán acceso concurrente a los mismos datos.
• Implica que:
 El sistema deberá proteger a cada usuario de la acción de los demás usuarios.
 La performance no debe verse seriamente afectada.
 Se debe considerar especialmente la posibilidad de la actualización concurrente.
 Expandibilidad:
• Un sistema de información deberá permitir el agregado de nuevas funciones y
aplicaciones sin afectar a las existentes.
• Las BD deberían poder expandirse para incorporar nuevas estructuras de datos sin afectar
a las aplicaciones existentes.
 Reconfiguración dinámica y control:
• La carga de trabajo que debe soportar un sistema de información varía en función del
tiempo.
• Existen picos de actividad horarios, semanales, mensuales, etc.
• La carga de trabajo puede verse afectada por:
 El número de usuarios.
 El tipo de funciones utilizadas.
 Los datos requeridos.
• La irregularidad en la carga de trabajo y la alta disponibilidad requerida exigen cierta
capacidad de reconfiguración dinámica.
• Reconfiguración dinámica es la habilidad del sistema de alterarse a sí mismo para
satisfacer:
 Los requerimientos de carga de trabajo.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 6
Bases de Datos II – Licenciatura en Sistemas de Información

 Los cambios en la configuración.


• El sistema no necesariamente tiene que poder alterarse a sí mismo, pero al menos
debería:
 Proveer estadísticas que indiquen cuándo es necesario un cambio.
 Permitir que los cambios se hagan sin influenciar la disponibilidad del sistema.
 Facilidades de test / debug:
• Es preciso disponer de facilidades poderosas para testeo y depuración de fallas.
• El sistema debe salvaguardar los datos sensitivos de las violaciones de seguridad o
integridad debidas a:
 Fallas de programas.
 Programadores maliciosos.
• Se debe tener presente que muchas violaciones a la seguridad e integridad de los datos
se hacen utilizando facilidades de test / debug.
 Funciones multinivel:
• El sistema debe proveer tiempo de respuesta y funciones consistentes con la naturaleza
del usuario.
• Se debe distinguir entre requerimientos:
 Sistemáticos y esporádicos.
 Decisorios u operacionales.
 Tiempo de respuesta controlable:
• El tiempo de respuesta es en cierta medida controlable mediante:
 La reestructuración de las BD.
 El cambio de modalidad según la cual los usuarios compiten por las facilidades.
 El tiempo de respuesta está estrechamente relacionado con el nivel de servicio.
• Los cambios en el tiempo de respuesta podrían ser utilizados para alentar o desalentar el
uso de ciertas facilidades.
 El desafío principal de la estructuración física de una BD es elegir técnicas de acceso que
satisfagan usos diversos de una manera rápida y eficiente:
• El acceso puede ser primario o secundario.
 Acceso primario:
• Es que el que se realiza cuando se accede a un registro por medio de su clave.
 Acceso secundario:
• Es el que se realiza cuando se accede a un registro por medio de un atributo que actúa
como clave simbólica.
 En el caso del acceso secundario puede ocurrir que existan una o varias ocurrencias para el valor
del atributo.
 La eficiencia de determinado método se puede evaluar según:
• Almacenamiento:
 N° de bytes usados divido n° de bytes asignados.
• Acceso:
 1 dividido n° de accesos necesarios.
• Recuperación:
 N° de bytes requeridos dividido n° de bytes recuperados.
 Las opciones disponibles para relacionar o asociar los registros en las estructuras secundarias
son:
• Contigüidad física.
• Encadenamiento.
• Listas invertidas.
 Los principales modelos de BD son:
• Relacional: basado en tablas.
• Jerárquico: basado en jerarquías.
• En red: basado en redes.

Estructuras relacionales

 La ventaja del modelo relacional es que los datos se almacenan, al menos conceptualmente, de
un modo que los usuarios entienden con mayor facilidad.
 Los datos se almacenan como tablas:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 7
Bases de Datos II – Licenciatura en Sistemas de Información

• Las relaciones entre las filas y las tablas son visibles en los datos.
• Este enfoque permite a los usuarios obtener información de la BD sin asistencia de
sistemas profesionales de administración de información.
 Las características más importantes de los modelos relacionales son:
• Es importante saber que las entradas en la tabla tienen un solo valor (son atómicos):
 No se admiten valores múltiples.
 La intersección de una fila con una columna tiene un solo valor, nunca un
conjunto de valores.
 Todas las entradas de cualquier columna son de un solo tipo:
• Ejemplo: una columna puede contener nombres de clientes, y otra puede tener fechas de
nacimiento.
• Cada columna posee un nombre único, el orden de las columnas no es de importancia
para la tabla, las columnas de una tabla se conocen como atributos.
• Cada atributo tiene un dominio, que es una descripción física y lógica de valores
permitidos.
 No existen dos filas en la tabla que sean idénticas.
 El enfoque relacional es sustancialmente distinto de otros enfoques en términos de:
• Estructuras lógicas.
• Operaciones de entrada / salida.
 Los datos se organizan en tablas llamadas relaciones, cada una de las cuales se implanta como
un archivo.
 Una fila en una relación representa un registro o una entidad; cada columna en una relación
representa un campo o un atributo.
 Una relación se compone de una colección de entidades (o registros) cuyos propietarios están
descritos por cierto número de
 Atributos predeterminados implantados como campos.
 El archivo para los ejemplos es el siguiente:
Dir #empt Nombre #dept #prov

101 1 Juan A X

102 2 Aldo B Y

103 3 José A Z

104 4 Raul A Y

105 5 Luis C Y

106 6 Pedro B Z

107 7 Jorde C X

108 8 Mateo A Z

109 9 Pablo B X

Estructuras Jerárquicas

 Se denomina jerarquía a una relación de uno (padre) a muchos (hijos).


 Puede tener varios niveles:
• Un hijo en un cierto nivel puede a su vez ser padre de otros hijos de nivel menor.
• En todos los niveles se debe verificar que:
 Por cada padre puede haber varios hijos.
 Cada hijo puede tener sólo un padre.
 Al segmento o entidad de máximo nivel se lo llama “super padre” o “raíz”:
• No son hijos de ningún otro tipo de segmento o entidad.
 La clave del padre es siempre atributo lógico de c/u de sus hijos:
• Si el acceso al segmento hijo se realiza sólo a través del padre (no se usa acceso
secundario) la clave del padre se puede suprimir como campo atributo del segmento hijo.
 Las opciones para la implementación física de una jerarquía son:
• Contigüidad física completa.
• Contigüidad física parcial.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 8
Bases de Datos II – Licenciatura en Sistemas de Información

• Encadenamiento.
• Lista invertida.
 Se deben considerar los siguientes aspectos:
• Performance:
 Acceso a un registro entero de la BD.
 Acceso a una entidad de nivel bajo.
 Acceso al segmento raíz.
 Mantenimiento.
 Uso de espacio de almacenamiento.
 Ejemplo de jerarquía:

A1

B2
B1

C3 D3 C4 D3
C2 D2 D4
C1 D1

Estructuras en Red

 Se denomina red a una estructura de BD en la que un hijo puede tener más de un padre.
 Existen tres tipos básicos de redes:
• Entidades con más de un tipo de padre.
• Relación de muchos a muchos.
• Relaciones en bucle (loop).
 Esquemas de tipos de redes:
• Entidades con más de un padre:

COMP PROV

OC PARTE

OC/PARTE

• Relación muchos a muchos.

COMP PROV

• Relación en bucle (loop).

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 9
Bases de Datos II – Licenciatura en Sistemas de Información

PROD
A

SUB COMP
B SUB 1
D

COMP COMP
5 7

SUB
B

Integridad

 Una vez realizado el diseño de la base de datos, se deben considerar los siguientes puntos:
• Integridad de los datos.
• Integridad de dominios.
• Integridad de transiciones.
• Integridad de entidades.
• Integridad referencial.
• Integridad de transacciones.
• Integridad de los datos
 La creación de un modelo de las entidades del espacio del problema y las asociaciones entre ellas
es sólo una parte del proceso de modelización de los datos.
 También se deben captar las reglas que utilizará el sistema de base de datos para asegurar que
los datos físicos que realmente mantiene son, si no correctos, al menos plausibles:
• Se debe modelar la integridad de los datos.
 No puede garantizarse que los datos sean fidedignos:
• Ejemplo: que un pedido sea de 16 unidades o de 8 unidades depende del usuario
introductor de datos:
 Para el sistema las dos posibles entradas serían válidas aunque sólo lo es una de
ellas.
 Pero sí se puede garantizar mediante el diseño de la BD que los datos son conformes a las
restricciones de integridad definidas para ellos.
 Integridad de dominios
 Una restricción de dominio es una regla que define los valores válidos para los datos.
 La elección de los tipos de datos (fecha, texto, etc.) Es el primer paso para la determinación de
las restricciones de dominio de un sistema.
 Otro aspectos a considerar es si al dominio se le permite contemplar valores desconocidos o
inexistentes.
 Integridad de transiciones
 Las restricciones de integridad de transiciones definen los estados por los que una tupla puede
pasar válidamente.
 Ejemplo: solo se permitirá que el saldo de un cliente cambie de “normal” a “preferente” si:
• El límite de crédito del cliente supera un determinado valor, o.
• Lleva al menos un año comerciando con la empresa.
 El requisito del límite de crédito seguramente estará controlado por un atributo de la relación
clientes, pero puede que el tiempo que lleva el cliente trabajando con la empresa no esté
explícitamente guardado en ningún sitio:
 Será necesario calcular el valor de acuerdo con el registro más antiguo en el que figure el cliente
en la relación pedidos.
 Integridad de entidades

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 10
Bases de Datos II – Licenciatura en Sistemas de Información

 Las restricciones de entidades aseguran la integridad de las entidades que son modeladas por el
sistema. En el nivel más simple:
• La existencia de una clave principal es una restricción de entidad que impone la regla
“cada entidad debe estar identificada de forma única”.
 Integridad de transacciones
 Una transacción es una serie de operaciones sobre la BD consideradas como una única operación:
• Cuando se cierra la transacción la base de datos queda en un estado consistente.
• Las restricciones de integridad de transacciones gobiernan las formas en que se puede
manipular la BD.
• Las restricciones de transacción versan sobre el procesamiento y, por tanto, por sí
mismas no son parte del modelo de datos.
 La BD debe respetar todas las restricciones de integridad definidas antes de que comience la
transacción y una vez finalizada ésta:
• Se pueden violar temporalmente algunas de las restricciones durante la transacción.
 Integridad referencial
 “las claves externas no pueden quedar huérfanas”.
 Ningún registro de la tabla externa puede contener una clave externa que no se corresponda con
algún registro de la tabla principal.
 Las tuplas que contienen claves externas que no tienen una correspondiente clave candidata, se
denominan entidades huérfanas.
 Tres de las formas en las que se pueden crear entidades huérfanas son las siguientes:
• Se añade una tupla externa con una clave que no se corresponde con una clave candidata
en la tabla principal.
• La clave candidata de la tabla principal cambia.
• Se elimina en la tabla principal el registro referenciado.
 Las transacciones pueden involucrar a múltiples registros, múltiples relaciones e incluso múltiples
BD.
 Todas las operaciones sobre una BD son transacciones:
• Incluso la actualización de un único registro existente es una transacción.
• Estas transacciones de bajo nivel las realiza el motor de BD de forma transparente y,
normalmente se puede ignorar este nivel de detalle.

Modelos de datos, esquemas e instancias

 Un modelo de datos:
• Es una colección de conceptos que sirven para describir la estructura de una BD.
• Proporciona la abstracción requerida para ocultar detalles del almacenamiento de los
datos.
 La estructura de una BD se refiere a los tipos de datos, los vínculos y las restricciones que deben
cumplirse para esos datos.
 Generalmente los modelos de datos contienen un conjunto de operaciones básicas para
especificar lecturas y actualizaciones de la BD.
 El modelo de datos generalmente incluye conceptos para especificar el aspecto dinámico o
comportamiento de una aplicación de BD:
• Permite especificar operaciones definidas por el usuario.
 Categorías de los modelos de datos
 Los modelos de datos de representación (o de los modelos de datos se pueden clasificar
dependiendo implementación):
 De los tipos de conceptos que ofrecen para describir la ocultan algunos detalles sobre cómo se
almacenan estructura de la BD.
 Los modelos de datos de alto nivel o conceptuales:
• Disponen de conceptos muy cercanos al modo como la mayoría de los usuarios percibe
los datos.
• Utilizan conceptos como entidades, atributos y relaciones.
 Los modelos de datos de bajo nivel o físicos:
• Proporcionan conceptos que describen los detalles sobre como se almacenan los datos en
el ordenador.
 Los modelos de datos de representación (o de implementación):

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 11
Bases de Datos II – Licenciatura en Sistemas de Información

• Ocultan algunos detalles sobe cómo se almacenen los datos.


• Pueden implementarse de manera directa en un sistema de computador.
 Una entidad representa un objeto o concepto del mundo real.
• Ej. un empleado o un proyecto, que se describe en la BD.
 Un atributo representa alguna propiedad de interés queda una descripción más amplia de una
entidad.
• Ej: el nombre o el salario del empleado.
 Un vínculo entre dos o más entidades describe una interacción entre las entidades:
• Ej: la relación <<trabaja en>> entre un empleado y un proyecto.
 Los modelos de datos de representación o de implementación son los más utilizados en la SGBD
tradicionales:
• Modelo de datos relacional.
• Modelos de red.
• Modelo jerárquico.
 Los modelos de datos de representación:
• Representan datos mediante estructuras de registro.
• Se les denomina modelos de datos basados en registros.
 Los modelos de datos orientados a objetos:
• Son una nueva familia de modelos de implementación de alto nivel más próxima a los
modelos conceptuales.
• Se utilizan como modelos conceptuales de alto nivel en la ingeniería del software.
 Los modelos de datos físicos:
• Describen cómo se almacenan los datos en el ordenador mediante la representación de
información de información:
 Ej. Formatos de registro, ordenaciones de registros y caminos de acceso.
 Un camino de acceso es una estructura que realiza la búsqueda de determinados registros de la
BD eficientemente.
 Esquema, instancias y estado de la BD.
 La descripción de la BD se conoce como esquema de la BD:
• Se especifica durante el diseño de la BD y no se modifica frecuentemente.
• Generalmente se representa mediante un diagrama de esquema:
 Presenta la estructura de todos los tipos de registro pero no las instancias reales
de los registros.
 A cada uno de los objetivos del esquema, como alumno o curso, se le denomina
elemento del esquema.
 Diagrama del esquema de una BD:

Alumno
Nombre Código alumno Año Especialidad

Curso
Nombre curso Código curso Créditos Departamento

Requisito
Código curso Número requisito

Sección
Identificador sección Código alumno Semestre Año Profesor

Informe_calificaciones
Código alumno Identificador sección Calificación

 El estado de la BD, conjunto actual de ocurrencias o instantánea son los datos que la BD contiene
en un determinado momento:
• Cada elemento del esquema tiene su propio conjunto actual de instancias:
 Ej, el elemento alumno contendrá como instancias el conjunto de entidades de
alumno individuales (-(registros).
 Siempre que se actualice la BD se tendrá otro estado.
 El SGBD almacena las descripciones de los elementos del esquema y las restricciones (también

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 12
Bases de Datos II – Licenciatura en Sistemas de Información

llamadas meta-datos) en su catálogo.


 Al esquema se le intensión a un estado de la BD extensión del esquema.
 Un camino del esquema se denomina evolución del esquema:
• Ej: los requerimientos de una aplicación cambian y es necesario almacenar un nuevo
elemento de datos para cad registro.
 Hay tres características importantes inherentes al enfoque de las BD:
 La separación entre los programas y los datos (independencia entre programas y datos, y entre
programas y operaciones).
 El soporte de múltiples vistas de usuario.
 El empleo de un catálogo para almacenar la descripción (esquema) de la BD.
 Se presentará una arquitectura para los sistemas de BD denominada arquitectura de tres
esquemas.
 Se analizará el concepto de independencia de datos.
 Arquitectura de tres esquemas
 El objetivo es separar las aplicaciones del usuario y la BD física.
 Se definen esquemas en los tres siguientes niveles:
• Interno.
• Conceptual.
• Externo.
 El nivel interno tiene un esquema interno:
• Describe la estructura física de almacenamiento de la BD.
• Emplea un modelo de datos físico.
• Describe todas los detalles para su almacenamiento y los cambios de acceso para la BD.
 El nivel conceptual tiene un esquema conceptual:
• Describe la estructura de la BD completa para una comunidad de usuarios.
• Oculta los detalles de las detalles en las estructuras físicas de almacenamiento y se
concentra en describir entidades, tipos de datos, vínculos, operaciones de los usuarios y
restricciones.
• Se puede usar un modelo de datos de alto nivel o uno de implementación.
 El nivel externo o de vistas:
• Incluye varios esquemas externos o vistas de usuario.
• Cada esquema externo describe la parte de la BD que interesa a un grupo de usuarios
determinado, y oculta a ese grupo el resto de la BD.
• Se puede usar un modelo de datos de alto nivel o uno de implementación.
 Arquitectura de tres esquemas:

Usuarios finales

Nivel VISTA VISTA


Externo EXTERNA EXTERNA

Correspondencia
Externo/conceptual

Nivel ESQUEMA CONCEPTUAL


Conceptual

Correspondencia interno/conceptual
ESQUEMA INTERNO

Nivel interno

Base de datos almacenada

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 13
Bases de Datos II – Licenciatura en Sistemas de Información

 Los tres esquemas son descripciones de los datos.


 Los datos reales están en el nivel físico.
 Cada grupo de usuarios hace referencia exclusivamente a su propio esquema externo:
• El SGBD debe transformar una solicitud expresada en términos de un esquema externo
en una solicitud expresada en términos del esquema conceptual y luego en una solicitud
en el esquema interno que se procesará sobre la BD almacenada.
• Si la solicitud es una obtención de datos, será preciso modificar el formato de la
información extraída de la BD almacenada para que coincida con la vista externa del
usuario.
• El proceso de transformar solicitudes y resultados de un nivel a otro se denomina
correspondencia o transformación (mapping).
 Independencia de datos
 Se la puede definir como la capacidad para modificar el esquema en un nivel del sistema de BD
sin tener que modificar el esquema el esquema del nivel inmediato superior.
 Se definen dos tipos de independencia de datos:
• Lógica.
• Física.
 Independencia lógica de los datos:
• Es la capacidad de modificar el esquema conceptual sin tener que alterar los esquemas
externos ni los programas de aplicación.
• Se puede modificar el esquema conceptual para:
 Añadir un nuevo tipo de registro o un elemento de datos.
 Eliminar un tipo de registro o un elemento de datos:
 La eliminación no deberá afectar a los esquemas externos que solo se
refieran los datos restantes.
• La independencia física de los datos:
 Es la capacidad de modificar el esquema interno sin tener que alterar el esquema
conceptual (o los externos).
 Tal vez sea preciso modificar el esquema interno por la necesidad de reorganizar
ciertos archivos físicos para mejorar el rendimiento de las operaciones de
recuperación y actualización.
 Si la BD aún contiene los mismos datos no será necesario modificar el esquema
conceptual.
 El SGBD de múltiples niveles debe incluir en su catálogo información sobre cómo establecer la
correspondencia entre las solicitudes y los datos entre los diversos niveles.
• Utiliza software adicional para realizar estas correspondencias.
 La independencia de datos se logra porque al modificarse el esquema en algún nivel:
• El esquema del nivel inmediatamente superior permanece sin cambios.
• Solo se modifica la correspondencia entre los dos niveles y no es preciso modificar los
programas de aplicación que hacen referencia al esquema del nivel superior.

Lenguajes e interfaces de BD

 Un SGBD debe ofrecer lenguajes e interfaces apropiados para cada categoría de usuarios.
 Lenguajes del SGBD
 Si no se mantiene una separación estricta de niveles, el ABD (administrador de BD) y los
diseñadores de la BD utilizan un mismo lenguaje para definir los esquemas conceptual e interno:
• El lenguaje de definición de datos (LDD).
• El SGBD tendrá un compilador de LDD para procesar las sentencias escritas en el LDD
para identificar las descripciones de los elementos de los esquemas y almacenar la
descripción del esquema en el catálogo del SGBD.
 Si en los SGBD se separan claramente los niveles conceptual e interno:
• El LDD servirá sólo para especificar el esquema conceptual.
• Para especificar el esquema interno se utiliza el lenguaje de definición de almacenamiento
(lda).
• Las correspondencias entre los dos esquemas se pueden especificar en cualquiera de los
dos lenguajes.
 Para una arquitectura de tres esquemas se precisa además el lenguaje de definición de vistas

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 14
Bases de Datos II – Licenciatura en Sistemas de Información

(LDV).
• Para especificar las vistas del usuario y sus correspondencias con el esquema conceptual.
 Las operaciones de manipulación más comunes son la recuperación, la inserción, la eliminación y
la modificación de los datos:
• El SGBD dispone de un lenguaje de manipulación de datos (LMD) para estos fines.
 En los actuales SGBD los tipos de lenguajes mencionados no se consideran lenguajes diferentes:
• Se utiliza un amplio lenguaje integrado que cuenta con elementos para definir esquemas
conceptuales, definir vistas, manipular datos y definir su almacenamiento.
 La definición del almacenamiento normalmente se mantiene separada ya que se utiliza para
definir las estructuras físicas de almacenamiento.
 El lenguaje de BD relacionales SQL representa una combinación de LDD, LDV, y LMD, y sentencias
para especificación de restricciones y evolución del esquema.
 Hay dos tipos principales de LMD:
• De alto nivel.
• De bajo nivel.
 De alto nivel o de no procedimiento:
• Se pueden utilizar de manera independiente para especificar operaciones complejas de
BD en forma concisa desde un terminal o embebidas en un lenguaje de programación.
• Se les llama LMD de conjunto por conjunto u orientados a conjuntos (pueden recuperar
conjuntos de registros con una instrucción).
 De bajo nivel o de procedimiento:
• Deben estar embebidos en un lenguaje de programación.
• Se los conoce como LMD de registro por registro u orientados a registro (pueden
recuperar un registro con una instrucción).
 El SQL es un LMD de alto nivel.
 Interfaces del SGBD
 Entre las interfaces amigables generalmente están las siguientes:
• Interfaces para navegación basados en menús.
• Interfaces basadas en formularios.
• Interfaces gráficas de usuario.
• Interfaces de lenguaje natural.
• Interfaces para usuarios paramétricos.
• Interfaces para el ABD.
 Interfaces para navegación basados en menús:
• Presentan al usuario listas de opciones (menús) que lo guían para formular una solicitud.
• Los menús permiten confeccionar la solicitud paso a paso mediante la elección de las
diferentes opciones.
• Permiten ojear los contenidos de una BD usando una forma de exploración no
estructurada.
 Interfaces basadas en formularios:
• Presentan un formulario al usuario:
 Puede rellenar todas las entradas para insertar nuevos datos.
 Puede rellenar sólo algunos de ellos: el SGBD obtendrá los datos que coincidan
con los que se han especificado.
• Los formularios suelen diseñarse y programarse como interfaces de transacciones
programadas.
• Generalmente los SGBD cuentan con los lenguajes de especificación de formularios.
 Interfaces gráficas de usuario (GUI):
• Suelen presentar los esquemas en forma de diagrama y se puede especificar una consulta
manipulando el diagrama.
• Generalmente las GUI se combinan con menús y formularios.
 Interfaces de lenguaje natural:
• Aceptan solicitudes escritas en inglés o en otro idioma e intentan «entenderlas».
• Suelen tener su propio «esquema», similar al esquema conceptual de la BD.
• Si la interfaz interpreta la solicitud genera una consulta de alto nivel que corresponde a la
solicitud en lenguaje natural y la envía al SGBD para su procesamiento.
• Si no interpreta la solicitud se inicia un diálogo con el usuario para esclarecer la solicitud.
 Interfaces para usuarios paramétricos:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 15
Bases de Datos II – Licenciatura en Sistemas de Información

• Los usuarios paramétricos (ej. Los cajeros de un banco) frecuentemente tienen un


conjunto pequeño de operaciones que deben realizar repetidamente.
• Se les diseña e implementa una interfaz especial con un conjunto reducido de
instrucciones abreviadas:
 Ej.: se pueden programar las teclas de función de una terminal para que inicien
las diversas instrucciones.
 Interfaces para el ABD:
• La mayoría de los SGBD contienen instrucciones privilegiadas que sólo el personal del
ABD puede utilizar:
 Crear cuentas, establecer los parámetros del sistema, otorgar autorizaciones a las
cuentas, modificar los esquemas y reorganizar la estructura de almacenamiento
de una BD.

El entorno del sistema de BD

 Los SGBD son sistemas de software muy complejos.


 Se analizarán los tipos de componentes del SGBD y los tipos de software del sistema de
computador con los cuales interactúa el SGBD:
• Módulos componentes del SGBD.
• Utilidades del sistema de BD.
• Herramientas, entornos de aplicación y recursos de comunicación.
 Módulos componentes del SGBD
 Módulos componentes de un SGBD típico. Las líneas punteadas indican accesos que están bajo el
control del gestor de datos almacenados:
Programadores
De aplicaciones

PROGRAMAS DE
Personal de ABD usuarios usuarios
APLICACIONES
Ocasionales paramétricos

SENTENCIAS Precompilador
INSTRUCCIONES CONSULTA
LDD PRIVILEGIADAS INTERACTIVA Compilador del
Lenguaje anfitrión

Compilador de Sentencias de TRANSACCIONES


consultas LMD COMPILADAS
(PROGRAMAS)
Catálogo del
Compilador E Sistema / a
de LDD Diccionario Compilador de
De Datos B LMD
C ejecución

Procesador
Ejecución de base de ejecución
datos en tiempo
de ejecución

Gestor
D Subsistema de control de Concurrencia
de datos
/ Respaldo / Recuperación
almacenado

BASES DE DATOS ALMACENADA

 La BD y el catálogo del SGBD casi siempre se almacenan en disco.


 El gestor de datos almacenados del SGBD controla el acceso a la información del SGBD
almacenada en el disco:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 16
Bases de Datos II – Licenciatura en Sistemas de Información

 Las líneas punteadas y los círculos rotulados A, B, C, D y E ilustran accesos que están bajo el
control de este gestor de datos almacenados.
 El compilador de LDD:
• Procesa las definiciones de esquemas especificadas en el LDD.
• Almacena las descripciones de los esquemas (metadatos) en el catálogo del SGBD.
 El catálogo contiene:
• Los nombres de los ficheros y de los elementos de datos.
• Los detalles de almacenamiento de cada fichero.
• La información de correspondencia entre los esquemas y las restricciones.
• Otros tipos de información necesaria para el SGBD.
 El procesador de BD en tiempo de ejecución:
• Se encarga de los accesos durante la ejecución.
• El acceso al disco se tiene mediante el gestor de datos almacenados.
 El compilador de consultas:
• Maneja las consultas de alto nivel que se introducen interactivamente.
• Analiza la sintaxis y compila la consulta o la interpreta.
• Crea el código de acceso a la BD.
• Genera llamadas al procesador en tiempo de ejecución para ejecutar dicho código.
 El precompilador:
• Extrae instrucciones en LMD de un programa de aplicación escrito en un lenguaje de
programación anfitrión.
• Las instrucciones se envían al compilador de LMD para convertirlas en código objeto para
el acceso a la BD.
• El resto del programa se envía al compilador del lenguaje anfitrión.
• El código objeto de las instrucciones en LMD y el del resto del programa se enlazan
(linkeditan), formando una transacción programada cuyo código ejecutable incluye
llamadas al procesador de la BD durante el tiempo de ejecución.
 Utilidades del sistema de BD
 Generalmente los SGBD cuentan con utilidades de BD que ayudan al ABD a gestionar el sistema.
Las utilidades efectúan los siguientes tipos de funciones:
• Carga.
• Copia de seguridad.
• Reorganización de archivos.
• Control del rendimiento.
 Carga:
• Se utiliza para cargar archivos de datos ya existentes en la BD.
• Modifica automáticamente el formato de los datos y los almacena en la BD.
 Copia de seguridad (Backup):
• Crean una copia de seguridad de la BD.
• La copia puede servir para restaurar la BD en caso de un fallo catastrófico.
• En las copias de seguridad en niveles sólo se registran los cambios habidos desde la
anterior copia de seguridad.
 Reorganización de archivos:
• Puede servir para pasar de una organización de los archivos de la BD a otra con el fin de
mejorar el rendimiento.
 Control del rendimiento:
• Supervisan la utilización de la BD y proporcionan datos estadísticos al ABD, el cual los
utiliza para decidir, por ejemplo, si conviene reorganizar los ficheros con el fin de mejorar
el rendimiento.
 Puede haber utilidades para ordenar archivos, comprimir datos, supervisar los accesos de los
usuarios y efectuar otras funciones.
 Herramientas, entornos de aplicación y recursos de comunicación.
 Las herramientas CASE (Computer Aided Software Engineering) se utilizan en la fase de diseño
de los sistemas de BD.
 Otra herramienta útil en las organizaciones grandes es el sistema de diccionario de datos
extendido (o repositorio de datos):
• Almacena la información del catálogo sobre esquemas y restricciones.
• Almacena las decisiones de diseño, la utilización de normas, la descripción de programas

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 17
Bases de Datos II – Licenciatura en Sistemas de Información

de aplicación, e información del usuario.


• Se denomina también repositorio de información.
 Los entornos de desarrollo de aplicaciones incluyen facilidades para ayudar en muchas facetas de
los sistemas de BD:
• El diseño de la BD.
• El desarrollo de GUI.
• Consultas y actualizaciones.
• El desarrollo de programas de aplicación.
 El SGBD también interactúa con software de comunicaciones que permite a los usuarios remoto
acceder a la BD:
• El sistema integrado del SGBD y comunicación de datos se denomina sistema DB/DC
(Database/Data Communications).

Clasificación de los sistemas de gestión de BD

 Existen varios criterios para clasificar los SGBD.


 El principal criterio es el modelo de datos en que se basan.
 Los dos modelos de datos utilizados en la mayoría de los SGBD comerciales actuales son:
• Modelo de datos relacional.
• Modelo de datos orientado a objetos.
 Muchas aplicaciones heredadas (antiguas) ejecutan sobre sistemas de BD basados en:
• Modelo de datos jerárquico.
• Modelo de red.
 Los SGBD relacionales están evolucionando y han los SGBD incorporado muchos de los conceptos
que se desarrollaron en las BD orientadas a objetos:
• SGBD objetos-relacionales.
 Otro criterio para clasificar los SGBD es el número de usuarios a los que da servicio el sistema:
• Monousuario: sólo atienden a un usuario a la vez.
• Multiusuario: atienden a varios usuarios al mismo y tienen cierto grado de autonomía
local.
 Otro criterio es el número de sitios en los que está distribuida la base de datos:
• Centralizado: los datos están almacenados en un sólo sitio.
• Distribuido (SGBDD): la BD real y el software del SGBD pueden estar distribuidos en
varios sitios, conectados por una red de computadores.
 Los SGBDD homogéneos utilizan el mismo software de SGBD en múltiples sitios.
 La tendencia es tener acceso a varias BD autónomas preexistentes almacenadas en SGBD
heterogéneos:
• Aparecen los SGBD federados (o sistemas multibase de datos).
• Los SGBD participantes están débilmente acoplados y tienen cierto grado de autonomía
local.
• Muchos SGBDD emplean una arquitectura cliente-servidor.
 Otro criterio es el costo del SGBDD:
• Los sistemas monousario más económicos para PC cuestan entre 100 y 3000 dólares.
• Los paquetes muy complejos cuestan más de 100000 dólares
 Otra clasificación se basa en los tipos de caminos de acceso para almacenar los archivos:
• Frecuentemente se usan archivos invertidos.
 Los SGBD pueden ser de propósito general o de propósito especial:
• Cuando el rendimiento tiene gran importancia se puede diseñar y construir un SGBD de
propósito especial para una aplicación específica:
 Ej.: sistemas de reservas de líneas aéreas y de directorios telefónicos que
pertenecen a la categoría de sistemas de procesamiento de transacciones en línea
(OLTP: On-Line Transaction Processing).

Catálogos de los sistemas de gestión de BD.

 Se considerarán los catálogos para los SGBD relacionales.


 La información almacenada en el catálogo de un SGBD relacional incluye:
• Descripciones de los nombres de las relaciones.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 18
Bases de Datos II – Licenciatura en Sistemas de Información

• Nombres de los atributos.


• Dominios (tipos de datos) de los atributos.
• Descripciones de las restricciones (claves primarias, y claves secundarias, claves
externas, nulo/no nulo, y otros tipos de restricciones), vistas, estructuras de
almacenamiento e índices.
 Información de seguridad y autorización:
• Especifica los permisos que tienen los usuarios para acceder a las relaciones y vistas de la
BD, y quiénes son los creadores o propietarios de cada relación.
 En los SGBD relacionales es habitual almacenar el propio catalogo como relaciones y usar el
software del SGBD para consultarlo, actualizarlo, actualizarlo y mantenerlo.
 Diagrama del esquema para la BD relacional “empresa”; las claves primarias están subrayadas:

Empleado
Nombre Inic Apellido Nss Fecha_ncto Dirección Sexo Salario Nss_superv Nd

Departamento
Nombred Númerod Nss_jefe Fecha_inic_jefe

Localizaciones_dept
Númerod Localizaciond

Proyecto
Nombrep Númerop Localizaciónp Numd

Trabaja_en
Nsse Np Horas

Dependiente
Nsse Nombre_dependiente Sexo Fecha_ncto Parentesco

 Ejemplo de una relación de catálogo básica para describir los esquemas de la relación de la figura
anterior.

Rel_and_attr_catalog
Rel_name Attr_name Attr_type Memeber_of_pk Member_of_fk Fk_relation

Empleado Nombre Vstr15 No No


Empleado Inic Char No No
Empleado Apellido Vstr15 No No
Empleado Nss Str9 Si No
Empleado Fecha_ncto Str9 No No
Empleado Dirección Vstr30 No No
Empleado Sexo Char No No Empleado
Empleado Salario Integer No No
Empleado Nss_superv Str9 No Si Departamento
Empleado Nd Integer No Si Empleado
Departamento Nombred Vstr10 No No Departamento
Departamento Númerod Integer Si No Departamento
Departamento Nss_jefe Str9 No Si
Departamento Fecha_inic_jefe Str10 No No Empleado
Localizaciones_dept Númerod Integer Si Si Proyecto
Localizaciones_dept Localizaciónd Vstr15 Si No Empleado
Poyecto Nombrep Vstr10 No No
Poyecto Númerop Integer No No
Poyecto Localizaciónp Vstr15 Si No
Poyecto Numd Integer No Si
Trabaja_en Nsse Str9 Si Si
Trabaja_en Np Integer Si Si
Trabaja_en Horas Real No No
Dependiente Nsse Str9 Si Si
Dependiente Nombre_dependiente Vstr15 Si No
Dependiente Sexo Char No No
Dependiente Fecha_ncto Str9 No No

 Otras posibles relaciones del catálogo para un sistema relacional. (a) posible relación del catálogo
para almacenar información general de las claves. (b) posible relación del catálogo para

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 19
Bases de Datos II – Licenciatura en Sistemas de Información

almacenar información de índices. (c) posibles relaciones del catálogo para almacenar
información de vistas:
(a) relation_keys
Rel_name Key_number Member_attr

(b) relation_keys
Rel_name Index_name Member_attr Index_type Attr_no Asc_desc

(c) view_queries
View_name Query

View_attributes
View_name Attr_name Attr_num

Información de los catálogos

 Los módulos del SGBD usan y leen el catálogo frecuentemente:


• Es importante implementar el acceso al catálogo de la forma más eficiente posible.
 Son diferentes las formas en que algunos módulos de software del SGBD usan y leen el catálogo:
• Compiladores de LDD (y LDA).
• Analizador sintáctico y verificador de consultas y LMD.
• Compilador de consultas y de lmd.
• Optimizador de consultas y del lmd.
• Comprobación de autorización y seguridad.
• Correspondencia externa-conceptual de las consultas y comandos de instrucciones del
LMD.
 Compiladores de LDD (y LDA):
• Procesan y verifican la especificación de un esquema de BD en el lenguaje de definición
de datos (LDD) y almacenan esa definición en el catálogo.
• Las construcciones y restricciones del esquema en todos los niveles (conceptual, interno y
externo) se extraen de las especificaciones de LDD y de LDA (lenguaje de definición de
almacenamiento) y se introducen en el catálogo.
• Estos módulos de software realmente pueblan (cargan) la minibase de datos (o meta-
base de datos) con datos que son las descripciones de los esquemas de la BD.
 Analizador sintáctico y verificador de consultas y LMD:
• Analizan sintácticamente las consultas, las sentencias de recuperación del lmd y las
sentencias de actualización de BD.
• Examinan el catálogo para verificar que todos los nombres de esquema a los que se hace
referencia en todas estas sentencias sean válidos:
 Ej. Verificaría que todos los nombres de relación especificados en la consulta
existan en el catálogo y que los atributos especificados pertenezcan a las
relaciones apropiadas y tengan el tipo apropiado.
 Compilador de consultas y de LMD:
• Convierten consultas de alto nivel e instrucciones del lmd en instrucciones de acceso a
archivos de bajo nivel.
• Se tiene acceso a la correspondencia entre el esquema conceptual y las estructuras de
ficheros del esquema interno.
 Ej: el catálogo debe incluir una descripción de cada fichero y de sus campos, y de
las correspondencias entre los campos y los atributos del nivel conceptual.
 Optimizador de consultas y del LMD:
• Accede al catálogo para obtener información sobre caminos de acceso, implementación y
estadísticas de datos para determinar la mejor manera de ejecutar una consulta o
instrucción del lmd:
 Ej: el optimizador tiene acceso al catálogo para verificar que campos de una
relación tienen acceso por direccionamiento calculado o por indices, antes de
decidir cómo ejecutar una condición de selección o de reunión sobre esa relación.
 Comprobación de autorización y seguridad:
• El ABD cuenta con instrucciones privilegiadas para actualizar la porción de autorización y
de seguridad del catálogo.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 20
Bases de Datos II – Licenciatura en Sistemas de Información

• El SGBD comprueba, accediendo al catálogo todos los accesos de un usuario a una


relación, verificando si el usuario posee la autorización necesaria.
 Correspondencia externa-conceptual de las consultas y comandos de instrucciones del LMD:
• Las consultas e instrucciones del lmd que se especifican haciendo referencia a una vista o
esquema externo deben transformarse de modo que hagan referencia al esquema
conceptual, antes de que el SGBD las pueda procesar.
• Esto requiere el acceso a la descripción de la vista en el catálogo para poder efectuar la
transformación.

Sistemas de diccionario de datos y depósito de datos

 Los diccionarios de datos y depósitos de datos son una utilidad del software más general que el
catálogo.
 Pueden interactuar con los módulos del SGBD.
 Los utilizan principalmente los diseñadores, usuarios y administradores de un sistema de
computador para la gestión de los recursos de información.
 Sirven para mantener información de configuraciones hardware y software del sistema, la
documentación, las aplicaciones y los usuarios e informaciones relevantes para la administración
del sistema.
 Si sólo los usan diseñadores, usuarios y administradores y no el software del SGBD, se llama
diccionario de datos pasivo.
 En caso contrario se denomina diccionario de datos activo o directorio de datos.
 Interfaces de software y humanas para un diccionario de datos:

Administradores programadores usuarios


De bases de datos de aplicaciones finales

Interfaces humanas
DICCIONARIO DE DATOS
Interfaces del SGBD
Y software

Subsistema optimizador
De seguridad de consultas

Compiladores/ programas de aplicación subsistema que


Precompiladores /generación de informes hace cumplir las
Restricciones de seguridad

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 21
Bases de Datos II – Licenciatura en Sistemas de Información

Tema 2: Bases de Datos Activas

Introducción.

 El modelo de datos relacional fue introducido por Ted Codd, de IBM, en 1970.
 Se basa en los conceptos de:
• Relación matemática.
• Teoría de conjuntos.
• Lógica de predicados de primer orden.

ALMACENAR
CONTROLAR

CONSULTAR

INFORMACIÓN ACTUALIZAR

DATOS
RELACIONES
RESTRICCIONES

Conceptos iniciales

 Dato operativo:
• Todo elemento de información que necesita una organización para su funcionamiento.
 Independencia física:
• El almacenamiento físico de los datos debe ser independiente del diseño lógico de la BD a
todos los niveles.
 Independencia lógica:
• La percepción que cada programa tiene de la estructura lógica de la BD (vista de usuario)
debe permanecer inmutable a nivel lógico en dicha estructura.
 Entidades:
• Una entidad se define como un objeto que existe y que es distinguible de los demás:
 Ej.: Un empleado, un libro, un departamento.
 Atributos:
• Son las propiedades que caracterizan un conjunto de entidades.
 Dependencia existencial:
• Sean a y b dos conjuntos de entidades. Se dice que b depende existencialmente de a si
cumple:
 ∃ t ∈ a x b /  b ∈ b → ∃ a ∈ a / (a, b) ∈ t.
 Es imposible identificar a b sin identificar previamente a a.
 Asociaciones o relaciones:
• Una relación es una conexión semántica entre dos o más conjuntos de entidades.
 Especialización:
• Se dirá que el conjunto de entidades a es una especialización del conjunto de entidades b
si  a ∈ a → a ∈ b. El conjunto de entidades a está incluido en el conjunto de entidades b.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 22
Bases de Datos II – Licenciatura en Sistemas de Información

PROGRAMA A PROGRAMA B PROGRAMA C


INF. PROCESOS

INF. CONTROL

INF. REST.

INF. DATOS

FICHEROS

DATOS

Sistemas orientados a procesos

PROGRAMA A PROGRAMA B PROGRAMA C


INF. PROCESOS

INF. CONTROL

INF. REST.

BASE DE DATOS

INF. DATOS
DATOS

Bases de datos clásicas

PROGRAMA A PROGRAMA B PROGRAMA C


INF. PROCESOS

INF. CONTROL

BASE DE DATOS

INF. RESTRICCIONES
INF. DATOS
DATOS

Bases de datos semánticas

PROGRAMA A PROGRAMA B PROGRAMA C

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 23
Bases de Datos II – Licenciatura en Sistemas de Información

INF. PROCESOS

INF. CONTROL

BASE DE DATOS
INF. CONTROL
INF. RESTRICCIONES
INF. DATOS
DATOS

Bases de datos activas

PROGRAMA A PROGRAMA B PROGRAMA C


INF. PROCESOS

INF. CONTROL

BASE DE DATOS
INF. PROCESOS
INF. CONTROL
INF. RESTRICCIONES
INF. DATOS
DATOS

Bases de datos orientados a objetos

Restricciones de integridad y reglas de negocio

 SQL permite incorporar la definición de restricciones en la definición de la tabla:


• El sistema controlará la integridad de los datos que se carguen.
• Las restricciones pueden ser.
 De integridad de entidad y referencial.
 Específicas.
• Ej.: Restricción de clave primaria para la columna dni de la tabla alumnos:
Create table alumnos (
Dni char (8) primary key,
Nom alum varchar2 (35),
Fecha nac date,
Direccion varchar2 (30),
Provincia varchar2 (20),
Beca varchar2 (2)
);
 Ej.: restricciones de integridad asociadas a la tabla para un conjunto de columnas:
Create table matriculas (
Cod asig char (4),
Cod grup char (4),
Tipo char (1),
Dni char (8),
Convocatoria number,
Calificación number,
Primary key (cod asig, cod grup, tipo, dni,
Convocatoria));
 Ej.: restricción de rango de valores permitidos en una columna:
Create table aulas (
Cod aula char (4) primary key,
Capacidad number check (capacidad between 0 and 150)
);
 Ej.: restricción de valores nulos:
Create table profesores (

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 24
Bases de Datos II – Licenciatura en Sistemas de Información

Nrp char (8) primary key,


Nom prof varchar2 (35) not null,
Categoria char (4),
Area varchar2 (20),
Cod dep char (4)
);
 Ej.: restricción de unicidad de los valores de una columna:
Create table asignaturas (
Cod asig char (4) primary key,
Nom asig varchar2 (30) unique,
Creditos number (4, 1),
Caracter char (2),
Curso number
);
 Ejemplos: definición de claves externas para relacionar columnas de distintas tablas (integridad
referencial):
Create table matriculas (
Cod asig char (4),
Cod grup char (4),
Tipo char (1),
Dni char (8) references alumnos (dni),
Convocatoria number,
Calificacion number,
Primary key (cod asig, cod grup, tipo, dni,
Convocatoria),
Foreing key (cod asig, cod grup, tipo) references
Grupos (cod asig, cod grup, tipo)
);
Create table grupos (
Cod asig char (4),
Cod grup char (4),
Tipo char (1) check (tipo in (‘t’, ‘p’)),
Nrp char (4),
Max al int check (max al between 10 and 150),
Primary key (cod asig, cod grup, tipo),
Foreing key cod asig references asignaturas (cod asig),
Foreing key nrp references profesores (nrp),
);
 Ej.: definición de valores por defecto:
Create table matriculas (
Cod asig char (4),
Cod grup char (4),
Tipo char (1),
Dni char (8) references alumnos (dni),
Convocatoria number default 1, calificacion number constraint restric-rangocalif check
((calificacion>=0) and (calificacion<=10)),
Primary key (cod asig, cod grup, tipo, dni,
Convocatoria),
Foreing key (cod asig, cod grup, tipo) references
Grupos (cod asig, cod grup, tipo)
);

El lenguaje SQL: definición de datos. Ejemplo.


Create database gestion;
Create table propietarios
(dni char(10) not null constraint pk_prop primary key,
Nombre char(25) not null,
Direccion char(30)
);
Create table locales
(codigo char(5) not null constraint pk_loc primary key,
Dni char(10) not null,
Ubicacion char(4) not null,
Superficie dec(8,2) not null,
Constraint fk_loc foreign key (dni) references propietarios (dni));
);

Propietarios

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 25
Bases de Datos II – Licenciatura en Sistemas de Información

Dni Nombre Direccion

Localidad
Codigo Dni Ubicacion Superficie

El lenguaje SQL: manipulación


Manipulación de datos. Ejemplos

PROPIEDADES Insertar una nueva fila en la tabla propietarios.


Insert into propietarios(dni, nombre, direccion)
Values ('13234567r','sanz, luis', 'gran vía 26')
DNI
NOMBRE Encontrar los locales con superficie mayor que 200 y su propietario.
DIRECCION Select codigo, ubicacion, nombre, direccion
From locales, propietarios where locales.dni=propietarios.dni and
LOCALES Superficie > 200

Modifican la dirección del propietario cuyo dni es: 20333444f


CODIGO Update propietarios
DNI Set direccion = 'alta 87'
UBICACIÓN Where dni = '20333444f'
SUPERFICIE
Borrar el local de código l-234
Delete from locales where codigo = 'l-234'

Otras restricciones:
• Valores requeridos.
• Valor por defecto.
• Dominio de valores.
Create table jugadores
(dni char(10) not null,
Nombre char(26) not null,
Direccion char (30) not null.
Telefono char(15),
Sexo char(1) check (sexo in ('m', 'f') not null,
Fe_alta date default today not null,
Estatura dec(3, 2)
Constraint valor_estatura check (estatura > 1,75)
Primary key (dni));

Mediante la instrucción create domain se pueden definir un tipo de dato de usuario a partir de un tipo de dato estándar (no la incluyen
todos los gestores).
Create domain estatura dec(3,2)
Constraint valor_estatura check (estatura > 1,75)

Reglas de negocio
DNI CODIGO
Ejemplo para cada fila de la tabla NOMBRE DNI_PROPIETARIO
Locales, los valores de dni_propietario DIRECCION DNI_ARRENDATARIO
Y dni_arrendatario no pueden ser iguales.
UBICACIÓN
SUPERFICIE
Alter table locales with nocheck add
Constraint ok_locales check (dni_propietario <> dni_arrendatario)

Los triggers son procesos predefinidos que entran en acción en respuesta a eventos específicos de manipulación de datos.
Update locales set dni_propietario = ''60601602
Where dni_propietario = '40401402'
Codigo Dni_propietario Dni_arrendatario Ubicación Superficie

L-31 50501502 60601602 Alta 236 220

L-234 40401402 50501502 Bailén 46 350

L-9 30301302 70701702 Cuesta 2 280

L-302 40401402 60601602 Becedo 10 255

Transacciones.

 Transacción es un conjunto de operaciones de manipulación de datos que deben ser consideradas

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 26
Bases de Datos II – Licenciatura en Sistemas de Información

como una unidad:


• Es una unidad atómica de trabajo que se realiza por completo o bien no se efectúa en
absoluto.
 El gestor de recuperación del SGBD debe mantenerse al tanto de las siguientes operaciones:
• Begin transaction (inicio de transacción):
 Marca el principio de la ejecución de la transacción.
• Read (leer) o write (escribir):
 Especifican operaciones de lectura o escritura de elementos de la BD que se
ejecutan como parte de la transacción.
 End transaction (fin de transacción):
• Especifica que las operaciones de leer o escribir de la transacción han terminado y marca
el fin de la ejecución de la transacción.
• Puede ser necesario verificar:
 Si los cambios introducidos se pueden aplicar permanentemente a la BD
(confirmar).
 Si la transacción puede abortar porque viola la seriabilidad o por alguna otra
razón.
 Commit transaction (confirmar transacción):
• Señala que:
 La transacción terminó con éxito.
 Las actualizaciones ejecutadas se pueden confirmar sin peligro en la BD y que no
se desharán.
 Rollback (restaurar) o abortar (abortar):
• Indican que:
 La transacción terminó sin éxito.
 Cualquier cambio o efecto que pueda haberse aplicado a la BD se debe deshacer.
 Propiedades deseables de las transacciones.
 Son las propiedades ACID (iniciales en inglés):
• Atomicidad:
 Una transacción es una unidad atómica (indivisible) de procesamiento.
• Conservación de la consistencia:
 Se conserva la consistencia si la ejecución completa de la transacción lleva la BD
de un estado consistente a otro también consistente.
• Aislamiento:
 La ejecución de una transacción no debería interferir con otras transacciones que
se ejecuten concurrentemente.
• Durabilidad o permanencia:
 Los cambios aplicados a la BD por una transacción confirmada deben perdurar en
la BD.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 27
Bases de Datos II – Licenciatura en Sistemas de Información

Inicio de transacción

K=1

Bloqueo de datos afectado por la instrucción K

¿Se puede ejecutar


K=K+1 la insrucción K?

Apunte de la instrucción en el dispositivo LOG

¿K=n?

Ejecución de las instrucciones en el dispositivo LOG

Desbloqueo de Datos

Fin de la transacción
(Sin error)

Bases de Datos Activas: Conceptos

 Las BD convencionales se consideran muertas o pasivas:


• No pueden manejar ciertas situaciones.
• Ej.: actualizar las rutas de un autobús escolar con cada incorporación de nuevos alumnos
a la escuela:
 Supervisar cada matrícula nueva.
 Comprobar periódicamente las direcciones de los alumnos matriculados.
• Son necesarias las BD activas:
 Incorporan comportamiento activo:
 Comportamiento activo = cuándo + qué.
 Ej. De comportamiento activo:
• Gestión de stocks:
 Cuando item < 10 entonces solicitar nuevo item al proveedor.
• Productos perecederos:
 Cuando producto.caduca - fecha actual < 7 entonces reducir el precio del
producto.
• Gestión de autobuses:
 Cuando autobús lleno y falte más de una semana para el viaje entonces poner
autobús adicional.

Gestor Pasivo vs. Activo: Ventajas

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 28
Bases de Datos II – Licenciatura en Sistemas de Información

 Comportamiento activo en aplicaciones que acceden a BD:

APLICACION APLICACION
Gestion
Sistema
Campus A
Matriculación

CUANDO... SGBD
ENTONCES...

Datos Alumnos
Datos Titulaciones
APLICACION Gestion Datos Autobús
Campus B ...

CUANDO...
ENTONCES...
CUANDO...
ENTONCES...

 Esto ocasiona:
• Pérdida de modularidad
• Semántica distribuida.
 Comportamiento activo en una aplicación específica:

APLICACION
APLICACION
Gestion Sistema
Campus A Matriculación

SGBD

Datos Alumnos
APLICACION Datos Titulaciones
Gestion Datos Autobús
Campus B ...

CUANDO... APLICACIÓN
ENTONCES... SONDEO

 Esto ocasiona:
• Mejora la modularidad
• ¿frecuencia de sondeo?.

 Comportamiento activo en la propia BD activa:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 29
Bases de Datos II – Licenciatura en Sistemas de Información

APLICACION
APLICACION
Gestion Sistema
Campus A Matriculación

SGBD

Datos Alumnos
APLICACION Datos Titulaciones
Gestion Datos Autobús
Campus B …

CUANDO...
ENTONCES...

 Esto ocasiona:
• La mejora de modularidad.
• Reacción inmediata.
 Manifiesto de las bases de datos activas (1996):
• Características de un SGBD activo:
 Tiene un modelo de reglas ECA.
 Soporta la gestión de reglas y la evolución de la base de datos.
• Características de ejecución de reglas ECA.
 El SGBD tiene un modelo de ejecución.
 Ofrece diferentes modelos de acoplamiento.
 Implementa modos de consumo.
 Gestiona la historia de eventos.
 Implementa la resolución de conflictos.
• Características de aplicación y usabilidad:
 Posee un entorno de programación.
 Es ajustable.
 SGBD activo:
 Los SGBD activos proporcionan mecanismos para:
• Definir el qué y el cuándo.
 Modelo de conocimiento.
• Realizar un seguimiento del cuándo y gestionar el qué.
 Modelo de ejecución.
 Modelo de conocimiento:
• Describe la situación y la reacción correspondiente (reglas eca).
 Modelo de ejecución:
• Realiza un seguimiento de la situación y gestiona el comportamiento activo (cómo se
comportan las reglas en tiempo de ejecución).
 SQL y las BD activas:
 Constraints:
• Especificaciones del LDD que se aplican a columnas o tablas.
• Conviene darles nombre.
• Pueden usar unique, not null, references, check.
Alter table dept_tab add primary key (deptno)

Alter table dept_tab add primary key (deptno)


References dept_tab (deptno);
 Aserciones (assertions):
• Restricción que no tiene porqué estar asociada a una única tabla.
 Triggers (disparadores):
• Aserciones con acciones asociadas.
 Ventajas:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 30
Bases de Datos II – Licenciatura en Sistemas de Información

• Mayor productividad.
• Mejor mantenimiento.
• Reutilización de código.
• Reducción del tráfico de mensajes.

Aplicaciones de los SGBD activos

 Internas:
• Clásicas de la utilización o administración de BD.
• Control de integridad (on update cascade).
• Mantenimiento de datos derivados (vistas).
• Administración de copias (monitorizar y registrar cambios).
• Seguridad y auditoría.
• Gestión de versiones.
 Externas:
• Reglas de negocio (ej.: rutas de autobús).
 Notificación cuando ocurren ciertas condiciones.
 Reforzar las restricciones de integridad:
• Los disparadores son más inteligentes y más potentes que las restricciones.
 Mantenimiento de datos derivados:
• Actualización automática de datos derivados evitando anomalías debidas a la
redundancia:
 Ejemplo: un disparador actualiza el saldo total de una cuenta bancaria cada vez
que se inserta, elimina o modifica un movimiento en dicha cuenta.
 Modelo del conocimiento:
• Definir qué y cuándo.
 Reglas eca → evento – condición – acción:
• Evento: qué dispara la acción.
• Condición: estado que debe darse.
• Acción: qué se hace.

¿cuándo? ¿qué?

Reservar viaje → ¿lleno a más de 1 semana? → viajar


Evento condición acción

 Evento
 Fuente: ¿qué ocasiona la ocurrencia de un evento?:
 Una instrucción del lmd (antes o después):
• Insert, delete, update, select.
 Una instrucción para la gestión de transacciones:
• Commit, abort.
 Una excepción:
• Violación de autorizaciones, bloqueos, etc.
 El reloj:
• El 28 de mayo a las 19:30h.
 La aplicación (externo a la BD).
 Granularidad: ¿qué cambios considera una ocurrencia del evento?:
• Cambios en sólo una tupla (disparadores a nivel de fila):
 1 tupla : 1 evento.
• Cambios en todas las tuplas (disparadores a nivel de sentencia):
 0..n tuplas : 1 evento.
 Condición y acción
 Condición:
• Un predicado sobre la BD: consulta.
• Puede ser opcional (si no se incluye se considera que la condición es siempre cierta).
 Acción
• ¿Qué se puede incluir en la reacción?.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 31
Bases de Datos II – Licenciatura en Sistemas de Información

• Operación en la BD (órdenes de SQL, insert, delete, ...).


• Comandos de SQL extendido (ej.: Pl/SQL).
• Llamadas externas (envío de mensajes).
• Abortar la transacción.
• Hacer en lugar de (instead-of).
Ejemplo: “Ningún empleado debe ganar más que su jefe”

SGBD
SGBD
INSERT Suekdo >
o Empleado UPDATE
Sueldo Jefe Empleado
UPDATE

Temporalidad: after insert o update on Empleado

Condición: if new.sueldo > (select B.sueldo from Empleado B where B.nombre = new nombreJefe)

Acción: do update Empleado set sueldo = new.sueldo where nombre = new.nombreJefe

Fuente
de
Eventos

Señalar 5 fases
Ocurrencia
de
Eventos r
ta

Disparar
u
ec
Ej

Reglas
Disparadas Reglas
Seleccionadas

Reglas
Planificar

Evaluadas
r
ua
al
Ev

 Ejecución
 En general, la forma en que se ejecutan dichas fases depende de dos modos de acoplamiento:
• Evento vs condición.
• Condición vs acción.
 Para ambos modos las opciones son:
• Inmediato (inmediate):
 La condición se evalúa inmediatamente después del evento.
 La acción se ejecuta inmediatamente después de la condición.
• Diferido (deferred):
 La condición se evalúa al final de la transacción.
 La acción se ejecuta al final de la transacción.
• Desprendido (detached):
 La condición se evalúa en una transacción diferente.
 La acción se ejecuta en una transacción diferente.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 32
Bases de Datos II – Licenciatura en Sistemas de Información

Ejemplo:
Modos de acoplamiento
¿Cuándo se evalúa la condición?

Nombre Tipo Sueldo

Juan Empleado 1000

Sara Directiva 1050 Jefa de Juan

UPDATE EMPLEADO
SET SUELDO = SUELDO * 1.10

Nombre Tipo Sueldo

Juan Empleado 1100

Sara Directiva 1050 Nombre Tipo Sueldo

Juan Empleado 1100

Nombre Tipo Sueldo Sara Directiva 1155

Juan Empleado 1100

Sara Directiva 1100 Nombre Tipo Sueldo

Juan Empleado 1100

Nombre Tipo Sueldo Sara Directiva 1155

Juan Empleado 1100 Solución:


Diferir comprobación de restricciones.
Sara Directiva 1200

• Modelo de acoplamiento inmediato:

INICIO
de
TRANSACCIÓN

EVALUACIÓN CONDICIÓN EJECUCIÓN ACCIÓN

EVENTO

FIN
de
TRANSACCIÓN

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 33
Bases de Datos II – Licenciatura en Sistemas de Información

• Modelo de acoplamiento diferido:

INICIO
de
TRANSACCIÓN

EVENTO

EVALUACIÓN CONDICIÓN EJECUCIÓN ACCIÓN


FIN
de
TRANSACCIÓN

 Disparador (Trigger)
 Está asociado a una única tabla base.
 Es el concepto clave para implementar BD activas.
 Tiene tres partes:
• Un evento: indica la acción sobre la tabla base que causará que se active el disparador:
 Insert, delete, o update.
• Un tiempo de acción: indica cuándo se activará el disparo:
 Before => antes del evento.
 After => después del evento.
• Una acción: se llevan a cabo si ocurre el evento. Puede ser de dos tipos:
 Una sentencia SQL ejecutable (SQL executable statement).
 Un bloque atómico de sentencias SQL ejecutables.
 Ejemplo de SQL 2003: Granularidad de fila.
CREATE TRIGGER Ejemplo_fila
AFTER DELETE ON tabla1
REFERENCING OLD ROW AS v
FOR EACH ROW
WHEN ((v.nombre = 'pepe') OR (v.edad > 35))
BEGIN ATOMIC
DELETE FROM tabla2 WHERE tabla2.cod=v.cod;
END;

 Ejemplo de SQL 2003: Granularidad de sentencia (tabla).


CREATE TRIGGER Ejemplo_sentencia
AFTER DELETE ON tabla1
REFERENCING OLD ROW AS anterior
BEGIN ATOMIC
DELETE FROM tabla2 WHERE
tabla2.cod=anterior.cod;
END;

Las reglas de Codd para SGBD relacionales

 Regla 0: Regla básica.


• Cualquier sistema que se anuncie como sistema gestor de BD relacionales, SGBDR, debe
ser capaz de gestionar por completo las BD utilizando sus capacidades relacionales.
• Un SGBDR no debe recurrir a operaciones no relacionales para completar sus capacidades
de gestión de datos.
 Regla 1: Representación de la información.
• Toda información almacenada en una BD relacional debe ser representada de forma
explícita y única a nivel lógico, por medio de valores en tablas.
• Toda la información de las BD debe estar almacenada en forma de relaciones:
 Se refiere al nivel lógico.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 34
Bases de Datos II – Licenciatura en Sistemas de Información

• La información necesaria para el funcionamiento de la BD se representa mediante tablas:


 Constituye el catálogo del sistema.
 Regla 2: Acceso garantizado.
• Todo dato (valor atómico) debe ser accesible mediante la combinación de un nombre de
tabla, un valor de su clave y el nombre de una columna.
• Los datos no se referencian por su posición física. Se hace especial hincapié en la
importancia de las claves primarias (o de las claves candidatas en general).
 Regla 3: Tratamiento sistemático de valores nulos.
• Se ofrece el valor nulo para dar soporte a la representación de información desconocida o
inaplicable de forma sistemática, independientemente del tipo de dato.
• Los valores nulos representan el desconocimiento de un valor.
 Regla 4: Catálogo dinámico en línea basado en el modelo relacional.
• La descripción de la BD se debe representar en el nivel lógico de la misma manera que
los datos ordinarios, de forma que los usuarios autorizados puedan consultarla utilizando
el mismo lenguaje relacional que usan para acceder a los datos normales.
• Una BD relacional debe ser autodescriptiva.
• El modelo de datos para los metadatos debe ser relacional.
 Regla 5: Sublenguaje de datos completo.
• El sistema relacional debe incluir, al menos, un lenguaje que permita expresar los
siguientes elementos: definición de datos, definición de vistas, manipulación de datos
(interactiva y programada), restricciones de integridad, autorizaciones y control de
transacciones.
• El lenguaje SQL aporta todas estas funciones.
 Regla 6: Actualización de vistas.
• Toda vista teóricamente actualizable debe poder actualizarse en el sistema.
• Las vistas se presentan al usuario como tablas virtuales.
• Se debe poder actualizar las vistas de igual manera que las tablas.
 Regla 7: Inserción, modificación y eliminación de alto nivel.
• La capacidad de manejar una relación o una vista como operando único debe existir, no
sólo al recuperar la información, sino también en la inserción, la actualización y el
borrado de datos.
• Todas las operaciones de manipulación de datos deben operar sobre conjuntos de filas.
 Regla 8: Independencia física de los datos.
• Los programas de aplicación y las actividades terminales de la BD deben mantenerse
inalterados desde el punto de vista lógico, sean cuales sean los cambios que se
introduzcan en los mecanismos de almacenamiento y acceso de la BD.
• El acceso lógico a los datos debe mantenerse incluso cuando cambien los métodos de
acceso o la forma de almacenamiento.
 Regla 9: Independencia lógica de los datos.
• Los programas de aplicación y las actividades terminales de la BD no deben verse
afectadas por aquellos cambios que preserven la información y que, desde el punto de
vista teórico, estén permitidos.
• No habrá que modificar los programas de aplicación aunque se realicen cambios sobre las
tablas, siempre que esos cambios mantengan la información que en ellas hubiese.
 Regla 10: Independencia de la integridad.
• Las reglas de integridad de una BD determinada deben ser definibles por medio del
sublenguaje de datos relacional y han de almacenarse en el catálogo de la BD, no en los
programas de aplicación.
• Las restricciones de integridad deben formar parte del catálogo.
 Regla 11: Independencia de la distribución.
• Debe existir un sublenguaje de datos que pueda soportar BD distribuidas sin que haya
que alterar los programas de aplicación cuando se distribuyen los datos por primera vez o
se redistribuyen estos con posterioridad.
• Se debe presentar los datos al usuario final como si estos estuvieran centralizados en una
máquina.
• Si el sistema puede trabajar con BD distribuidas el lenguaje de manipulación de datos no
debe verse afectado por ello.
 Regla 12: Regla de la no subversión

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 35
Bases de Datos II – Licenciatura en Sistemas de Información

• Si un SGBD soporta un lenguaje de bajo nivel que permite el acceso fila a fila, éste no
puede utilizarse para saltarse las reglas de integridad y las restricciones expresadas por
medio del lenguaje de más alto nivel.
• El SGBD debe controlar todos los accesos a la BD para que no se pueda comprometer la
integridad de la misma.
 Clasificación de las doce reglas de Codd:
¿Cómo de
Básicas relacional
----------------------- es este Independencia
sistema? ----------------------------
(12) No subversión
(8) Independencia física
De los datos

(9) Independencia lógica


Estructura De los datos
-----------------------
(11) Independencia de
(1) Representación de distribucuón
información

(5) Actualización de
vistas Integridad
--------------------------- Manipulación
----------------------------
(3) Tratamiento automático
De los valores nulos (2) Acceso garantizado

(10) Independencia de (4) Catálogo dinámico en


La integridad Línea basado en
El modelo relacional

(5) Sublenguaje de datos


Completo

(7) Inserción, actualización


Y borrado de bajo nivel

Limitaciones del Modelo Relacional

 El modelo relacional tiene dificultades en aplicaciones que manejan gran variedad de tipos de
datos de cierta complejidad, por ej.:
• Textos en aplicaciones de generación de publicaciones.
• Imágenes en aplicaciones que analizan información visual (ej.: predicciones
meteorológicas).
• Datos complejos no convencionales en aplicaciones de diseño (ej.: CAD/CAM).
• Información multimedia en general.
 Algunas de las limitaciones del modelo relacional son:
• Objetos completos: pobre forma de representación de objetos complejos debido a:
 Primera forma normal – uso exclusivo de valores atómicos en los atributos de las
relaciones.
 Falta de relaciones anidadas.
• Estructuración: no ofrece un soporte adecuado cuando en el esquema aparecen:
 Estructuras recursivas o anidadas.
 Colecciones de datos que correspondiendo al mismo tipo de entidad tienen un
tipo similar pero no idéntico.
• Datos altamente relacionados: la descomposición en múltiples tablas complica su
recuperación y la enlentece.
• Creación de tipos: la capacidad de creación de tipos de datos está muy limitada:
 La gestión de objetos multimedia es muy primitiva (ej.: objetos grandes en
binario: BLOB).
 El soporte para información semi-estructurada es deficiente (ej.: texto o páginas
web).

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 36
Bases de Datos II – Licenciatura en Sistemas de Información

 El usuario no puede definir su propio sus propios tipos de datos.


 No se pueden construir tipos abstractos de datos.
 Abstracción: existe un gran salto conceptual entre el modelo de datos de la BD y la gestión de
datos en los programas de aplicación.
 Reutilización: ausencia de mecanismos de reutilización.
• Como alternativas al modelo relacional y para superar sus limitaciones se han
desarrollado otros modelos:
 Gestores de BD orientados a objetos.
 Gestores de BD objeto-relacionales.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 37
Bases de Datos II – Licenciatura en Sistemas de Información

Tema 3: Bases de Datos Distribuidas

Bases de Datos Centralizadas vs. Distribuidas

 En la actualidad:
• La mayoría de los sistemas de información se encuentran en sistemas centralizados.
• Las redes de comunicación son rápidas y con gran capacidad.
• Entorno globalizado, empresas distribuidas geográficamente.
• Abren una nueva alternativa que permiten tener los datos allí donde se gestionan.
 Motivación de las bases de datos distribuidas:
• Necesidad de Integración + Distribución
 Las bases de datos y las redes de ordenadores conforman las bases de datos
distribuidas.
 Integración:
• Problemas derivados del desarrollo de BD independientes.
 Datos redundantes,
 SGBD distintos.
 Plataformas variadas (PC's, Workstations).
• Consecuencias:
 Inconsistencias en los datos.
 Dificultad de interoperatividad.
 Aislamiento de los distintos grupos de usuarios.
• Necesidad de sistemas de información integrados que respondan a los objetivos globales
de la empresa.
 Distribución:
• Finalidad:
 Acercar la informática a los usuarios.
 Compartiendo.
 Optimizando.
• Necesidad de sistemas de información distribuidos que doten de autonomía a los usuarios
y que consigan mayor eficiencia.
 No obstante: Integración es distinto que Centralización.
 Definición de bases de datos distribuidas:
• Un sistema de base de datos distribuido consiste en un conjunto de bases de datos
lógicamente relacionadas y distribuidas sobre una red de ordenadores.
• Un SGBD-D es el software que gestiona BDD y suministra mecanismos de acceso que
hace la distribución transparente al usuario.
 Definición de Bases de datos distribuidas (BDD): Colección de múltiples bases de datos,
lógicamente interrelación, distribuidas sobre una red de ordenadores.
 Definición de Sistema de gestión de BDD (SGBDD): Producto software capaz de gestionar una
BDD, suministrando mecanismos de acceso que hacen transparente la distribución.
 Sistema de BDD = BDD + SGBDD.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 38
Bases de Datos II – Licenciatura en Sistemas de Información

Bases de Datos Distribuidas.

ORDENADOR ORDENADOR BD
BD
Local SGBDD SGBDD Local

RED DE
COMUNICACIONES

ORDENADOR ORDENADOR BD
BD
Local SGBDD Local
SGBDD

Visión General. Ejemplo de BD Distribuida:

NODO EUI NODO EUIT

Alumnos Alumnos
RED

Comunicación a
NODO EUIT
través de la red

Alumnos

 Visión general.
• Nodos de las escuelas: [DNI | Escuela | Nombre | Nota Ingreso | Beca]
• Nodo del rectorado: Escuela | Situación | Número Alumnos
• Nuevo alumno en la secretaría del centro: Transacción local.
• Nuevo alumno en el rectorado: Transacción global.
 Este sistema será distribuido si cumple que:
• Los distintos nodos están informados sobre los demás.
• Aunque algunas tablas estén almacenadas sólo en algunos nodos, éstos comparten un
esquema global común.
• Cada nodo proporciona un entorno de ejecución de transacciones, tanto local, como
global.
• Generalmente, los nodos ejecutan el mismo software de gestión distribuida. En caso
contrario se dice que el sistema es heterogéneo.
 Características de las BDD.
• Los datos deben estar físicamente en más de un ordenador (distintas sedes).
• Las redes deben estar interconectadas mediante una red (cada sede es un nodo de red).
• Los datos han de estar lógicamente integrados(recuperación y actualización) tanto en
local como remoto (esquema lógico global y único).
• En una única operación se puede acceder (recuperar o actualizar) datos que se
encuentran en más de una sede (acceso a datos locales o remotos).
• Todas las acciones que necesiten realizarse sobre más de una sede serán transparentes al

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 39
Bases de Datos II – Licenciatura en Sistemas de Información

usuario (transparencia de distribución para el usuario).


 Las 12 reglas:
• Autonomía local.
• No dependencia de una sede local.
• Operación continua.
• Independencia respecto a la localización.
• Independencia respecto a la fragmentación.
• Independencia de réplica.
• Procesamiento distribuido de consultas.
• Manejo distribuido de transacciones.
• Independencia con respecto al equipo
• Independencia respecto al s. O.
• Independencia respecto a la red.
• Independencia respecto al SGBD.
 Ventajas:
• Integración no centralización:
 Los datos se almacenan donde se gestionan.
 Refleja la organización de la empresa.
• Mejora en la fiabilidad y disponibilidad.
• Facilidad de expansión.
• Compartir los datos pero con control local.
• Organizativas:
 Adaptación a la organización de la institución (unión de compañías /
descentralización), respondiendo a cambios.
 Almacenar los datos donde so generados y/o usado, la mayor parte locales.
 Proporcionar autonomía local, controlándose desde cada nodo. Política general
contra política local.
• Económicas:
 Costes de comunicación y de creación de pequeños sistemas.
 Inconvenientes:
• Solución más compleja:
 Diseño del modelo de datos.
 Coordinación entre sedes.
 Políticas de seguridad.
 Dependencia de más elementos.
• Aumento de costes.
• Falta de estándares.
 Desventajas de las BDD:
• Complejidad del sistema, desarrollo de software más costoso, problemas de
sincronización, dificultas para conocer la corrección de los algoritmos paralelos, detección
de caídas de nodos.
• Dependencia de la red de comunicaciones sobrecarga de procesamiento de mensajes.
• Dificultad de diseño, fases adicionales.
• Poca madurez de los productos comerciales, orientados a replicación.
• Funciones de administración compleja, sincronización compleja, sincronización y
coordinación.
• Dificultad de cambio, inexistencia de metodologías.
• Personal especializado.
 Componentes de una BDD:
• BD locales.
• SGBDD.
• Red de comunicaciones.
• Diccionario o director global.
 El sistema gestor de bases de datos distribuidos.
• Las responsabilidades del SGBDD serán:
 Transparencia de red.
 Transparencia de fragmentación.
 Transparencia de copias o duplicación.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 40
Bases de Datos II – Licenciatura en Sistemas de Información

 Propagación de actualizaciones.
 Procesamiento de consultas distribuidas, definición de estrategias.
 Mantener un diccionario integrado.
 Control de concurrencia, integridad de la BDD, consistencia entre las múltiples
copias de los datos.
 Fiabilidad de los SGBDD, capaz de recuperar y devolver a las bases de datos
implicadas en el fallo un estado consistente y estable.
 Soporte de sistema operativo.
 Bases de datos heterogéneas, mecanismos de traducción.
• Un SGBDD tiene, conceptualmente, tres componentes principales:
 Procesador de datos locales (PDL).
 Gestión de datos local.
 Procesador de aplicaciones distribuidas (PAD).
 Responsable de las funciones de distribución.
 Software de comunicaciones.
 Suministra las primitivas y los servicios de comunicaciones que necesita
el PAD.
• Cada sede puede tener un PDL y un PAD o bien sólo uno de ellos.
 Topología de las BDD:
• Según el grado de homogeneidad de los SGBD locales:
 SGBDD homogéneos: Todos los SGBD locales son iguales.
 SGBDD heterogéneos: Los SGBD locales son distintos.
• Según el grado de autonomía funcional:
 SGBDD federados: Total autonomía funcional (multibase de datos).
 SGBDD sin autonomía funcional local.
• Según el grado de autonomía organizativa:
 Autonomía total: las decisiones se toman a nivel local.
 Organización centralizada.
 Esquemas de una BDD:

Esquema
Esquema Esquema Local N
Local 1 Local 2

Esquema global
(integrado)

• Esquemas locales y esquema global


• Diccionario global integrado
 Mercado Comercial:
• SQL Server 2000:
 Réplicas “publicar-suscribir”. Permite la gestión distribuida por medio del uso de
servidores vinculados (OLE-DB). Dispone de Servidor de transacciones
distribuidas.
• Oracle:
 Réplica (“instantáneas”) y transacciones distribuidas con compromiso en 2 fases.
• DB2:
 Data Propagator (gestión de réplicas). Data Joiner (optimizador de consultas

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 41
Bases de Datos II – Licenciatura en Sistemas de Información

global), transacciones distribuidas con compromiso de 2 fases.

Estrategias en el Diseño de una Base de Datos Distribuida

 Aspectos a tener en cuenta:

Administración
Del catálogo

Procesamiento de Diseño de BD Fiabilidad y


Consultas Distribuidas Disponibilidad

Control de
Concurrencia

• Diseño de BD distribuidas:
 Fragmentación y replicación.
• Procesamiento de consultas:
 Decidir la estrategia de ejecutar cada “query” sobre la red de la forma más
eficiente. Los factores a considerar son la distribución de datos, el coste de
comunicación y la falta de suficiente información disponible localmente.
• Administración del catálogo:
 Información del esquema relacional más información de control para ofrecer la
independencia respecto a la localización, la fragmentación y la réplica.
Soluciones: centralizado. Réplicas completas, dividido o combinación de
centralizado y divido.
• Control de concurrencia:
 Integridad y consistencia de todas las copias.
 Control de acceso concurrente.
 Gestión de transacciones.
• Fiabilidad y disponibilidad:
 Mecanismos para asegurar la consistencia de la base de datos, detectar fallos y
recuperarse de ellos.
 Clasificación de BD Distribuidas

BD Distribuidas

Multi - DBMS
Single - DBMS

No Federados Federados
(Homogéneos) (Heterogéneos)

Ligeramente Fuertemente
Acoplados Acoplados

Esquema Esquema
simple múltiple

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 42
Bases de Datos II – Licenciatura en Sistemas de Información

 Modelo para SGBD federados:

Esquema Esquema Esquema


Externo Externo Externo

Esquema Esquema Sólo uno en


Global Global single-DBMS

Esquema de Esquema de Esquema de Esquema de


Exportación Exportación Exportación Exportación

Esquema de Esquema de Esquema de No en homogéneos


Componente Componente Componente multi-DBMS

Esquema Esquema Esquema


Local Local Local

• Por lo general, consta de:


 Cada servidor se encarga de la gestión de datos:
 Procesado de 'queries' transacciones y almacenamiento.
 El software cliente se encarga de las funciones de distribución.
 El software de comunicaciones proporciona las primitivas de comunicación
(no toma parte del SGBDD,ODBC, JDBC).
 Componentes de un multi-DBMS

USUARIO

Respuestas Requerimientos globales

GTP GUI GQP

GS GRM GQO

Procesador de Interfaz de Componentes Procesador de Interfaz de Componentes


(CIP) (CIP)

Interfaz de Administ. De Interfaz de Administ. De


Usuario Transacciones Usuario Transacciones
D D
B Procesador de B Procesador de
Programador Programador
M Consultas M Consultas
S Optimizador de Administ. De S Optimizador de Administ. De
Consultas Recuperaciones Consultas Recuperaciones

Procesador de tiempo de ejecución sup. Procesador de tiempo de ejecución sup.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 43
Bases de Datos II – Licenciatura en Sistemas de Información

 Diseño de BDD – Estrategias.


• Top-Down (descendiente).
 En un principio el diseño no existe.
 Diseñador necesita identificar tablas, pero también su ubicación y la necesidad de
replicación.
• Bottom-Up (ascendente).
 Cuando existen diseños previos.
 Integración de esquemas existentes (ELL) al esquema global (ELG).

Fragmentación y replicación

 Diseño de BD Distribuidas:
• Fragmentación:
 Vertical.
 Horizontal.
 Mixta.
• Replicación (disponibilidad, rapidez en consultas, tiempo extra en actualizaciones)
 Total.
 Parcial.
 Almacenamiento distribuido.
• Dada una relación R.
 Replica: copia de R en emplazamiento diferente.
 Fragmentación: R dividida en fragmentos diferentes almacenados en sitios
diferentes.
 Replica y fragmentación: R dividida en fragmentos que sin replicados en sitios
diferentes.
 Fragmentación ¿Por qué?.
• Utilización. Generalmente las aplicaciones trabajan con vistas en vez de con relaciones
completas.
• Eficiencia. Los datos se almacenan dónde más se utilizan.
• Paralelismo. Las transacciones pueden dividirse en subconsultas que operan con
fragmentos.
• Seguridad. Los datos no necesarios localmente no se almacenan y se evita su uso por los
usuarios no autorizados.
• Pero:
 Consultas más lentas al tener que buscar datos de diferentes fragmentos en
distintas sedes.
 Aumenta la complejidad para garantizar la integridad.
 Reglas para la fragmentación.
• Integridad → No pérdida de información.
 Si una relación R es descompuesta en fragmentos R 1, R2, …, Rn cada dato que
pueda ser encontrado en R también debe ser encontrado en una o más relaciones
Ri's.
• Reconstrucción → Preservar dependencias.
 Si una relación R es descompuesta en fragmentos R 1, R2, …, Rn debe ser posible
posible definir el operador relacional ∂ tal que:
 R = ∂ Ri =  Ri  Fr
 El operador ∂ diferirá según el tipo de fragmentación realizada.
• Desacoplamiento:
 Si R es descompuesta verticalmente, su PK debe estar en todos los fragmentos.
Si R es descompuesta horizontalmente en fragmentos R 1, R2, …, Rn y el dato di
está en Rj, no debe haber otro fragmento que lo contenga Rk (k≠J)
 Métodos para fragmentación:
• Navathe(80´s)
 Método de fragmentación vertical cuyo fin es crear fragmentos minimizando el
número de operaciones de unión que han de realizarse.
 Ventajas de este método:
 Simplicidad

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 44
Bases de Datos II – Licenciatura en Sistemas de Información

 No requiere gran cantidad de variables de entrada.


Inconvenientes:

 No considera el efecto del índice (PK), se añade al final.
 No considera la red (fiabilidad, velocidad, coste, etcétera).
 No permite obtener un esquema fragmentado y replicado.
• FURD (Fragmentación, Ubicación y Reubicación Dinámica de Datos) (2005)
 Minimizar la función objetivo:
coste estatura coste actualización

min z = ΣΣf ΣΣq kj kj lkm cji wjmi + Σ Σ f' Σ Σ q'


kj kj l'k cji xmi
k j m i k j m i

+ ΣΣΣc ji dmi w'jmi + Σ Σ CA B i m xmi


j m i m i

coste de replicación almacenamiento


 Replicación:
• Razones para replicar:
 Mejorar el rendimiento en la recuperación de consultas globales.
• Desventajas:
 Actualización de réplicas.
• Estrategias:
 Replicación total.
 Asignación no redundante.
 Replicación parcial.
• Resultado: esquema de replicación.
 Descripción de la replicación de los fragmentos.
• Enfoques:
 Consultas de los datos en múltiples sitios: se replica.
 Número de actualizaciones elevado: no se replica.
Fragmentación horizontal: Ejemplo
DNI Escuela Nombre Nota Ingreso Beca

87633483 EUI Rosa Queta 5.6 No

99855743 EUI Josechu Letón 7.2 Si

33887293 EUIT Oscar Romato 6.1 Si

05399075 EUI Bill Gates 5.0 No

44343234 EUIT Pepe Pótamo 8.0 No

44543324 EUI Maite Clado 7.5 Si

66553234 EUI Ernesto Mate 6.6 No


Fragmento de EUI: σEscuela=”EUI”(T)
DNI Escuela Nombre Nota Ingreso Beca

87633483 EUI Rosa Queta 5.6 No

99855743 EUI Josechu Letón 7.2 Si

05399075 EUI Bill Gates 5.0 No

44543324 EUI Maite Clado 7.5 Si

66553234 EUI Ernesto Mate 6.6 No


Fragmento de EUIT: σEscuela=”EUIT”(T)
DNI Escuela Nombre Nota Ingreso Beca

33887293 EUIT Oscar Romato 6.1 Si

44343234 EUIT Pepe Pótamo 8.0 No

Fragmentación Vertical: Ejemplo

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 45
Bases de Datos II – Licenciatura en Sistemas de Información

Departamento Infraestructura

Escuela Situación

Πescuela, Situación(R) EUI Campus Sur

EUIT Campus Sur

Topografía Campus Sur

Datos de Rectorado (R) ETSIT Ciudad Universitaria

Escuela Situación Número Alumnos FI Campus Montegancedo

EUI Campus Sur 3000 Departamento Ordenación Académica

EUIT Campus Sur 2800 Escuela Número Alumnos

Topografía Campus Sur 800 EUI 3000

ETSIT Ciudad Universitaria 2500 EUIT 2800

FI Campus Montegancedo 2100 Topografía 800

ETSIT 2500

FI 2100
Πescuela, Número_Alumnos(R)

Fragmentación mixta: Ejemplo.

DNI Escuela Nombre Nota Ingreso

87633483 EUI Rosa Queta 5.6

99855743 EUI Josechu Letón 7.2

05399075 EUI Bill Gates 5.0

DNI Escuela Nombre Nota Ingreso Beca

87633483 EUI Rosa Queta 5.6 No

99855743 EUI Josechu Letón 7.2 Si

05399075 EUI Bill Gates 5.0 No

44543324 EUI Maite Clado 7.5 Si DNI Escuela Nombre Nota Ingreso

87633483 EUI Rosa Queta 5.6

99855743 EUI Josechu Letón 7.2

05399075 EUI Bill Gates 5.0

Procesamiento y optimización de consultas distribuidas

 Procesador global de consultas (GQP)


• El objetivo es procesar las consultas globales para lo cual debe elegir a qué sede solicita
las subconsultas y recoger los datos devueltos por todas las fuentes.
• El LQP es el responsable de ejecutar las subconsultas indicadas por GQP.
• Crear planes de ejecución:
 Traducir la consulta global a los esquemas exportados y de ahí al lenguaje propio
del gestor.
 Coste de ejecución en cada sede (estadísticas).
 Coste de transferencia (volúmen de datos / BW).

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 46
Bases de Datos II – Licenciatura en Sistemas de Información

 Coste de la combinación de resultados.


• Seleccionar el de menor coste.
 Gestor de transacciones globalización.
• Su papel es:
 Mantener la consistencia en múltiples réplicas.
 Recuperarse ante fallos propios (de la sede) o debido a la red. Sincronización.
 Gestionar transacciones distribuidas.
Ejemplo de consulta distribuida
Nodo1: Empleado
Nombre Apellido COD. Dir. Sexo Sueldo Fecha Nac. Dpto

• 10.000 tuplas.
• Cada tupla tiene 100 bytes de longitud.
• El campo cod tiene 9 bytes de longitud.
• El campo dpto tiene 4 bytes de longitud.
• El campo nombre tiene 15 bytes de longitud.
• El campo apellido tiene 15 bytes de longitud.
• Tamaño de la relación: 100 * 10.000 = 106 bytes
Nodo 2: Departamento
NombreDpto NDepto Responsable Edificio

• 100 tuplas.
• Cada tupla tiene 35 bytes de longitud.
• El campo nombredpto tiene 10 bytes de longitud. El campo ndpto tiene 4 bytes de longitud.
• El campo responsable tiene 9 bytes de longitud.
• Tamaño de la relación: 35 * 100 = 3500 bytes
• “Por cada empleado, obtener el nombre del empleado y el nombre del departamento al que
pertenece”
• Q1 (1): πNombre, Apellido, NombreDpto(EMPLEADO*DEPARTAMENTO)
• La consulta se lanza desde el nodo 3 {nodo respuesta) que no tiene datos implicados en la
consulta.
• El resultado de ésta consulta constará de 10.000 tuplas. Cada tupla resultante será de una
longitud de 40 bytes. El tamaño del resultado será por tanto de 400.000 bytes.
• Existen tres alternativas para resolver la consulta.
(1)
Query (Q): identificador de consulta
• Primera alternativa:
◦ Transferir, tanto la relación empleado, como la relación departamento al nodo respuesta
(nodo 3) y realizar allí mismo la operación de join. En éste caso se transfieren:
◦ 1.000.000 + 3.500 = 1.003.500 bytes.
• Segunda alternativa:
◦ Transferir la relación empleado al nodo 2, ejecutar el join en este nodo y enviar el resultado al
nodo 3. Esto implicaría transferir:
◦ 1.000.000 + 400.000 (resultado) = 1.400.000 bytes
• Tercera alternativa:
◦ Transferir la relación departamento al nodo 1, ejecutar el join en este nodo y enviar el
resultado al nodo 3. En este caso, los bytes transferidos serán:
◦ 3.500 + 400.000 (resultado) = 403.500 bytes.
• “Para cada departamento, obtener el nombre del departamento y el de su director”
• Q2 (1): πNombreDpto, Nombre, Apellido(EMPLEADO*DEPARTAMENTO)
• La consulta se lanza desde el nodo 3. El resultado de ésta consulta constará de 100 rupias (4.000
bytes).
• Opción 1: transferimos las relaciones departamento y empleado al nodo 3. Se transfieren:
◦ 3.500 + 1.000.000 = 1.003.500 bytes.
• Opción 2: transferimos la relación empleado al nodo 2 y enviamos el resultado del join al nodo 3.
Se transfieren:
◦ 1.000.000 + 4.000 = 1.004.000 bytes.
• Opción 3: transferimos la relación departamento al nodo 1 y enviamos el resultado del join al

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 47
Bases de Datos II – Licenciatura en Sistemas de Información

nodo 3. Se transfieren en este caso:


◦ 3.500 + 4.000 = 7.500 bytes.
• Nuevo supuesto: las consultas anteriores se lanzan desde el nodo 2.
◦ Opción 1: transferir la relación empleado al nodo 2. realizar el join y presentar el resultado al
usuario del nodo 2. De ésta manera se transferirán el mismo número de bytes para la
consulta Q1 y la Q2: 1.000.000 bytes. "
◦ Opción 2: transferir la relación departamento al nodo 1, realizar el join y enviar el resultado
al nodo 2. En este caso se transfieren:
▪ Para la consulta Q1: 3.500 de departamento y 400.000 de resultado = 403.500 bytes.
▪ Para la consulta Q2: 3.500 de departamento y 4.000 de resultado = 7,500 bytes.
• La segunda opción es la mejor.
• Proceso distribuido de consultas utilizando semijoin
• Reducción de el número de tuplas antes de ser transferidas a otro nodo.
• Se envía la columna con la que se va a realizar el join de una relación r al nodo donde se
encuentra la otra relación, allí se realiza el join con la otra relación s
• Se envían las columnas implicadas en el resultado al nodo inicial y se vuelve a realizar el join con
r.
• Sólo se transfieren las columnas de r que intervienen en la realización del join en una dirección y
el subconjunto de columnas de s resultantes en la otra.
• Semijoin de las consultas Q1 y Q2. Paso 1
• Consulta Q1: proyección en departamento sobre atributos que van a intervenir en la operación de
join y transferencia al nodo 1.
◦ F1: πNDepto(DEPARTAMENTO)
◦ Tamaño resultante: 4 bytes del atributo Ndpto por 100 tuplas de departamento = 400 bytes
transferidos.
• Consulta Q2: F2: πNDepto(DEPARTAMENTO)
◦ Tamaño resultante: 9 bytes del atributo responsable por 100 tuplas de departamento = 900
bytes transferidos
• Semijoin de las consultas Q1 y Q2:
• Paso 2.
• Consulta Q1: realización del join de los tuplas transferidas en el paso anterior. Transferencia del
resultado del join de nuevo ni nodo 1. Se transfieren sólo los atributos necesarios para realizar el
join final:
◦ R1: πDpto, Nombre,apellido(F*EMPLEADO)
◦ Tamaño: (4 + 15 + 15) * 10.000 = 340.000 bytes transferidos.
• Consulta Q2: R2: πResponsable,Nombre,apellido(DEPARTAMENTO)
◦ Tamaño: (9+ 15 + 15) * 100 = 3900 bytes transferidos.
• Total transferido: 340.400 bytes para Q1 y 4.800 bytes para Q2.

Integridad de datos en sistemas distribuidos

 Control semánticos de los datos.


• Requisito del SGBD.
 Actualización en vistas.
 Control de seguridad.
 Control de integridad semántica.
• Mediante reglas que gestione el SGBD.
 Si se violan, se rechaza transacción.
 Se almacenan en catálogo del sistema.
 Parte distribuida, parte replicada en todos los nodos.
• Coste elevado en sistemas distribuidos.
 Problemas de los SGBDD.
• Optimización:
 Estrategia global, seguida de optimización en cada sede.
• Propagación de actualizaciones en caso de replicación:
 Solución por medio de copia primaria.
• Gestión de concurrencia:
 Coste de las técnicas de bloqueo.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 48
Bases de Datos II – Licenciatura en Sistemas de Información

Solución por copia primaria.


Aparición de interbloqueo global (más de un nodo involucrado).
• Gestión del diccionario:
 Replicación y ubicación.
• Optimización de consultas:
 Objetivo:
 Reducir la cantidad de transferencia de datos por la red.
 Aplicar una estrategia local de optimización.
Ejemplo (para la realización de estrategia de optimización global).
 Empleado(  Departamento(
• NSS:char(9) • NombreD:char(4)
• Nombre:char(15) • NombreD:char(10)
• Apellido:char(15) • NSSGTE:char(9)
• ND:char(4) • Fecha: char(12))
• Direccion:char(57))  1000 registros (35 bytes)
 10000 registros (100 bytes)
Ejemplo (Estrategia de optimización global)
πNombre,apellido,NombreD(Empleado θ Departamento)
• Estrategias simples
Sede 1 Sede 2 • Solución 1: Sede 1 + Sede 2 > Sede 3
Empleado Departamento • 1.000.000 + 3.500 = 1.003.500 bytes.
• Solución 2: Sede 1 > Sede 2
▪ Sede 2 > Sede 3
• 1.000.000 + 10.000 reg. * 40 = 1.400.000 bytes
Sede 3 • Solución 2: Sede 2 > Sede 1
Consulta ▪ Sede 1 > Sede 3
• 3.500 + 10.000 reg. * 40 = 403.500 bytes

πNombre,apellido,NombreD(Empleado θNSS Departamento)


• Estrategia por semireunión (E D)

X
Sede 1 1. Transferimos la P(Departamento) por NSSGTE a la
Empleado sede 1
▪ F tiene un tamaño 100 reg * 9 bytes.
2. Hacemos la combinación de F en I sede 1. La
proyección (como estrategia local). Transferimos a la
sede 2.
▪ R tiene un tamaño 100 reg * 39 bytes.
Sede 2 • En total: 900 + 3.900 = 4.800 bytes
Departamento

• Técnicas control distribuido:


 Control de concurrencia distribuido basado en una copia distinguida de cada
elemento de información.
 Existe una copia de cada elemento de información como copia distinguida
en una sola sede (generalmente el coordinador de transacciones) y este
se encarga del bloqueo y desbloqueo.
 Confirmación distribuida (Distribuited Commit).
 Se solicita bloqueo a todas las sedes con réplica del elemento y cada sede
realiza el bloqueo y decide si da permiso o no. Si la mayoría bloquea se
informa al resto y prosigue.
 Protocolos: Two-Phase Commit y Three-Phase Commit.
 Cada sede tiene:
– Gestor de transacciones: administra la ejecución de las
transacciones (o Subtransaccciones) que acceden a datos de esa
sede (puede ser una local o parte de una global).
– Coordinador de transacciones: coordina la ejecución de las
diferentes transacciones iniciadas en ese sede (locales o
globales).
 El gestor de transacciones se encarga de:
– Mantener un “log” para la recuperación.
– Participar en un esquema de control de concurrencia apropiado
para coordinar la ejecución concurrente de las transacciones que

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 49
Bases de Datos II – Licenciatura en Sistemas de Información

se ejecuten en esa sede.


 El coordinador de transacciones debe:
– Iniciar la ejecución de la transacción.
– Dividir la transacción para enviar a las sedes correspondientes
para su ejecución (subtransacciones).
– Coordinar el fin de la transacción, ya que se queda ejecutada o se
aborte.

Transacciones Distribuidas

 Propagación de transacciones.
• En el caso de replicación de actualizaciones:
 A) propagación inmediata: copia instantánea a todas las sedes replicadas.
 B) propagación diferida: copia primaria.
 B.1) sede primaria → resto de las sedes.
 B.2) sede primaria → sede siguiente.
 Sana gana en autonomía local.
 Aumentan las consistencias temporales.
 La eliminación de inconsistencias lleva consigo la pérdida de autonomía local.
 Gestión de actualizaciones que involucran varias sedes.
• Transacción:
 Secuencia de operaciones elementales entre estados consistentes.
 Se realizan todas o ninguna.
• Una transacción debe soportar las siguientes propiedades:
 Atomicidad (todo o nada).
 Consistencia (perservar las restricciones de integridad).
 Aislamiento (cambios invisibles hasta la confirmación).
 Persistencia (una vez confirmada).
 Begin transaction → Commit → Rollback.
 Protocolo de compromiso en dos fases (Two Phase Commit Protocol)
1. El coordinador envía una solicitud de voto (vote request) a los nodos participantes en
la ejecución de la transacción.
2. Cuando los participantes reciben la solicitud de voto, responden enviando al
coordinador un mensaje con su voto (si o no). Si un participante vota no, la transacción
se aborta (abort).
3. El coordinador recoge los mensajes con los votos de todos los participantes. En otro
caso, el coordinador decide abandonar y envía un mensaje abort a todos los participantes
que han votado afirmativamente.
4. Cada participante que ha votado sí, espera del coordinador un mensaje Commit o
Abort para terminar la transacción de forma normal o abortarla.
 Two-Phase Commit (2PC)
SEDE 1
?
arado
¿Prep
OK
¿Preparado?
COORDINADOR OK SEDE 2
¿Pre
para
do?
OK
Protocolo de confirmación ...
de dos fases.
SEDE N

Fase I

SEDE 1
it)
omm
a li z ar (C
Re
Facultad de Ciencias Exactas y Naturales y Agrimensura
Universidad Nacional del Nordeste Página 50
Bases de Datos II – Licenciatura en Sistemas de Información

COORDINADOR Realizar (Commit) SEDE 2


Reali
zar (
Com
mit)
...

SEDE N

Fase II

SEDE 1
?
arado
¿Prep
O K
¿Preparado?
COORDINADOR OK SEDE 2
¿Pre
para
do? ...
OK
Terminación
con fallo
SEDE N

Fallo (o expira plazo)

SEDE 1
ck)
ollba
ta (R
Abor

COORDINADOR Aborta (Rollback) SEDE 2

...

SEDE N

Coordinador Participante

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 51
Bases de Datos II – Licenciatura en Sistemas de Información

Inicie Inicie

AR
P AR
PRE
Escribir
write_commit Escribir No ¿Preparado para
En log Abortar en log confirmar?
R
TA
OR
-AB
TO
VO Si
VOTO-CONFIRMAR Escribir
Espere
Listo en log

Si ABORTAR-GLOBAL
¿No? Escribir
Abortar en log Listo

M AR
NFIR
Escribir O -CO
CONFIRMAR VOT
En log No ¿Preparado para
confirmar?

ACK Escribir
Abortar Abortar en log Si
Confirmar
Escribir
ACK
Listo en log

• Problemas en 2PC (Two-Phase Commit)


 Funciona bien si no falla ningún servidor ni hay problemas de red (pérdida de
mensajes).
 La información en las sedes puede quedar bloqueada si se inicia en el proceso y
luego el gestor de transacciones falla. Se suele resolver con un time-out o
esperando a que se recupere.
 A pesar de ello se ha sido implementado en Oracle y Sybase exitosamente.
 3 Phase Commit resuelve el problema de bloqueo porque añade una fase
intermedia en el que se obtiene y distribuye el resultado del voto antes de enviar
el comando Commit. Más coste y peor rendimiento.
 Three-Phase Commit

P P
P

P P
P
C C
C C
P P
P

P P
P

¿Pre/confirmar?
| ¿Listo? | Si/No | ¿Pre/abortar? | Si/No | Confirmar/Abortar | Ack
 Recuperación distribuida.
• En cada sede, el gestor de transacciones deberá ser capaz de recuperarse ante fallos
leyendo los ficheros de log.
• La gestión de la recuperación se dificulta con los protocolos 2pc y 3pc ya que deberían ser
capaces de conectarse a otras sedes para saber qué acciones se tomaron en
transacciones en las que ellos fallaron.
 Control de concurrencia.
• Nuevos problemas (que no se dan un SGBD centralizados)
 Múltiples copias, consistentes entre sí.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 52
Bases de Datos II – Licenciatura en Sistemas de Información

 Fallo de sitios individuales, operando el resto → posteriormente se pone al día.


 Fallo de enlaces de comunicaciones → búsqueda de rutas alternativas.
 Confirmación distribuida.
 Interbloqueo distribuido.
• Solución: extensión de las técnicas utilizadas en BD centralizadas:
 Técnicas de bloqueo:
 Designar una copia distinguida: solicitudes de bloqueo y desbloqueo se
envían al sitio que contiene la copia distinguida (coordinador).
– Sitio primario.
– Sitio primario con sitio de respaldo.
– Copia primaria.
 Método de votación.
• Copia distinguida:
 Sitio primario:
 Un único sitio como coordinador para todos los elementos de la base de
datos.
 Ventajas:
– Simple extensión del enfoque centralizado:
 Desventajas:
– Todas las solicitudes de bloqueo se envían a un mismo sitio
(sobrecarga y cuello de botella).
– Fallo del sitio primario paraliza el sistema.
 Sitio primario con sitio con sitio de respaldo:
 Se designa un sitio de respaldo por si ocurre fallo en sitio primario.
 Información de bloqueo se mantiene tanto en sitio primario como en sitio
de respaldo.
 Ventajas:
– Simplicidad, basta con elegir un nuevo sitio de respaldo.
 Desventajas:
– El proceso de adquisición de bloqueos se hace más lento.
– Sobrecarga del sitio primario y de respaldo.
 Copia primaria.
 Copias distinguidas de diferentes elementos de información almacenadas
en diferentes sitios.
 Ventaja:
– Fallo en un sitio sólo afecta a transacciones con bloqueos
concedidos en dicho sitio. El resto de las transacciones no
resultan afectadas.
 Método de votación:
 Solicitudes de bloqueo se envían a todos los sitios con copia del elemento
de información (no hay copia distinguida).
 Cada copia puede conceder o rechazar la solicitud.
 Transacción obtiene bloqueo si la mayoría de las copias lo conceden.
 Si no recibe mayoría de votos de concesión en un tiempo, cancelará su
solicitud.
 Mayor complejidad por el número de mensajes y los tratamiento de fallo.
 Gestión de diccionario.
• En el diccionario de la BDD se guardará información sobre la utilización de los datos,
sobre los fragmentos de cada relación y sobre la duplicación de los datos.
• Base de datos con metadatos de fragmentación y replicación.
 Centralizado: global en una única sede, cuello de botella. Falta de autonomía
local.
 Dividido: local en la correspondiente sede, búsqueda no local costosa o bien falta
de transparencia.
 Replicado: global en cada sede, muy redundante. Costoso de mantener. Se pierde
autonomía local.
 Centralizado / dividido: global en una única sede y local en cada sede.
Redundancia. Dependencia de una sede central en accesos a la BDD.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 53
Bases de Datos II – Licenciatura en Sistemas de Información

 Maestro centralizado y locales en cada serie: redundancia. Dependencia de una


sede central de accesos a la BDD.
 Maestro y locales en cada sede: cierta redundancia.
 Buscando soluciones:
• Ante los problemas específicos de las BDD, necesidad de buscar una solución de
compromiso entre:
 Minimizar el número y volúmen de mensajes.
 Conseguir el máximo de autonomía funcional en los nodos.
 Mantener la integridad de la BDD.
 Lograr la máxima disponibilidad de los datos.
 Proporcionar a los usuarios la máxima transparencia.
 No aumentar demasiado la sobrecarga de los nodos.
 Mantener, a un nivel adecuado, los tiempos de respuesta.
 Actividades y decisiones relativas a:
• Las BD locales.
 Definición de esquemas lógicos locales.
 Definición de esquemas externos locales.
 Autorizaciones a usuarios de las BDL y de la BDD en cada sede.
 Esquemas de exportación.
• La BDD
 Definición del esquema lógico global.
 SGBD.
 Red de comunicaciones.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 54
Bases de Datos II – Licenciatura en Sistemas de Información

Tema 4: Bases de Datos Orientadas a Objetos

Introducción.

 SGBD-R:
• Modelo de datos sencillo. Arquitectura en 3 niveles (programas y datos separados).
• Bases teóricas sólidas:
 Relaciones n-arias R  D1 x D2 x ... X Dn.
 Soporte matemático: álgebra y cálculo relacional.
 Dependencias funcionales (semántica de la relación).
• Tecnología madura:
 Optimización de consultas.
 Indexación.
 Administración de la concurrencia y de transacciones (ACID).
 Seguridad en el funcionamiento: recuperación.
 Lenguaje estándar SQL (SQL3).
 Pero .... ... Son sólo adecuados para aplicaciones tradicionales de BD.
 En la actualidad hay más necesidades:
• Gestión de sistemas multimedia, sistemas de información médica o sistemas gis que
requieren manipular información más compleja.
 Problemas:
• Convertir objetos y relaciones al modelo relacional supone descomponer los objetos en
gran número de tablas errores.
• Gran número de joins para su recuperación → rendimiento.
 Solución: SGBD relacionales de objetos.
 Los modelos de datos y las estructuras de datos de los lenguajes de programación están
desacoplados:
• Solución: SGBDOO y lenguajes OO siguen el mismo paradigma:
 Datos + Comportamiento. Lenguaje OQL.

1° Generación 2° Generación 3° Generación

En Red Relacional Orientada a Objetos

BD
BDOO
OO

Características de los SGBDOO.

 Un SGBDOO es un SGBD que soporta un modelo basado en el paradigma orientado a objetos:


• Almacena objetos y su esquema (persistencia).
• Lenguaje para definición y manipulación.
• Por ser gestor:
 Incluye mecanismos para optimizar el acceso (indexación y clustering), el control
de concurrencia, seguridad y gestión de usuarios, facilidad de consulta y
recuperación ante fallos.
• Por ser OO:
 Características de identidad, encapsulación, herencia, polimorfismo y control de
tipos.
 Kent (1990)

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 55
Bases de Datos II – Licenciatura en Sistemas de Información

• | Aplicaciones | Código de aplicación


• | SGBO | Operación de datos DBD
Modelo conceptual → Modelo de datos de aplicación

• | Aplicaciones | Código de aplicación Modelo conceptual


• | SGBO | Operación de datos DBD Modelo de datos de aplicación
• Estructuras de Datos
 Tipos de SGBD con objetos.
Arquitectura de SGBO
Friedman(1993)
Lenguajes SQL OQL

Modelo de Datos

Maquinaria de Indexación Agrupamiento


Implementación Gestión de Memoria E/S

MODELO OO SGBDR CON SGBO PURO


FRONTAL OO

MODELO SGBDR PURO SGBO CON


RELACIONAL FRONTAL SQL

MAQUINARIA MAQUINARIA
RELACIONAL OO

Evolución en el sector de los SGBD


SGBDR CON
FRONTAL OO
MODELO OO SGBO PURO

MODELO SGBO CON


RELACIONAL FRONTAL SQL
SGBDR PURO

MAQUINARIA MAQUINARIA
RELACIONAL OO

• SGBD extendidos “tercera generación” objeto relacional.


 Oracle, IBM DB2, MS SQL Server, Informix, Sybase, CA.
 SQL (1993 – 2003).

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 56
Bases de Datos II – Licenciatura en Sistemas de Información

• SGBD Orientados a Objetos “Puros” SGB de Objetos


 ObjectStore, O2, ONTOS, VERSANT, POET, GEMSTONE,...
 ODMG 3.0
Mercado SGBD en 2003
$ 14200 millones
SGBD-OO 4%

ORACLE 39,8%
IBM 31,3%
Microsoft 12,1%

SGBD-OR + SGBDR 96%

 Manifiesto de los SGBD de 3º generación: (stonebraker, et. Al. 1990).


• 1º principio: “Además de los servicios tradicionales de gestión de datos, los SGBD-3g
proporcionarán gestión de objetos y reglas más ricos”.
 1.1 – un SGBD-3G debe tener un rico sistema de tipos.
 1.2 – la herencia es aconsejable.
 1.3 – las funciones (procedimientos y métodos) y el encapsulamiento son
acosejables.
 1.4 – los OID's para los registros deberían asignarse por el SGBD sólo si no se
dispone de una clave primaria.
 1.5 – las reglas se convertirán en una característica primordial de los sistemas
futuros.
• 2º principio: “los SGBD-3G deben subumir a los SGBD-2G”
 2.1 – tener un lenguaje de acceso declarativo y de alto nivel..
 2.2 – dos formas de especificar colecciones: enumeración de sus miembros o
mediante un lenguaje de consultas.
 2.3 – las vistas seden ser actualizables,
 2.4 – los indicadores de resultado no deben aparecer en los datos.
• 3º principio: “los SGBD-3G deben estar abiertos a otros subsistemas”
 3.1 – los SGBD-3G deben ser accesibles desde múltiples lenguajes de alto nivel.
 3.2 – soportar la persitencia de variables.
 3.3 – el SQL es una forma intergaláctica de expresión de datos,
 3.4 – las consultas y las respuestas resultantes deben ser el nivel más bajo de
comunicación entre un cliente y un servidor.
 Manifiesto de los SGBD-OO: (Atkinson, et. Al. 1990).
• Reglas de oro:
 Objetos complejos.
 Identidad de objetos.
 Encapsulación.
 Tipos o clases.
 Herencia de tipos o clases (jerarquías).
 Vinculación dinámica (sobrecarga de métodos).
 LMD computacionalmente completo.
 Extensibilidad de tipos de datos.
 Persistencia.
 Gestión de BD grandes.
 Concurrencia.
 Recuperación.
 Facilidad de consulta “Ad Hoc”.
• Características opcionales:
 Herencia múltiple.
 Validación e inferencia de tipos.
 Distribución.
 Transacciones de diseño.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 57
Bases de Datos II – Licenciatura en Sistemas de Información

 Versiones.
• Opciones abiertas a los fabricantes:
 Paradigmas de programación.
 Sistema de representación.
 Sistema de tipos.
 Uniforman.
 MITOS sobre los SGBD-OO
 Son entre 10 y 1000 veces más veloces que los SGBDR.
 Eliminan la necesidad de un LMD específico.
 Eliminan la necesidad de las combinaciones.
 La identidad de los objetos elimina la necesidad de claves.
 No pueden tener un lenguaje de consulta no procedimental.
 El procesamiento de consultas viola el encapsulamiento.
 Son sólo una reencarnación de los SGBD en red.
 No soportan versiones y transacciones de larga duración.
 Soportan directamente los datos multimedia.
 No tienen un fundamento teórico.
 No sirven para aplicaciones importantes.
 No son escalables.
 No se usan en aplicaciones de producción.
 No se pueden consultar.
 BD orientadas a objetos puras:
• Ventajas:
 Capacidades de modelado enriquecidas.
 Extensibilidad.
 Eliminación del desajuste de impedancia.
 Lenguaje de consulta más expresivo.
 Soporte para la evolución de esquemas.
 Soporte para transacciones de larga duración.
 Apto para aplicaciones de BD avanzadas.
 Rendimiento mejorado.
• Desventajas:
 Falta de un modelo de datos universal.
 Falta de experiencia.
 Falta de estándares.
 Competencia.
 La optimización de consultas hace peligrar la encapsulación.
 Bloqueos a nivel de objeto pueden perjudicar el rendimiento.
 Complejidad.
 Sin soporte para vistas.
 Sin soporte para seguridad.
 Ventajas de las BD orientadas a objeto puras.
• Capacidad de modelado enriquecidas: el modelo OO permite que el “mundo real” sea
mejor modelado. El objeto, que encapsula el estado y el comportamiento, es una manera
más natural y real de representar objetos del “mundo real”.
• Extensibilidad: permiten que se puedan definir nuevos tipos a partir de los tipos
existentes.
• Eliminación del desajuste de impedancia: una sola interfaz entre e lmd y el lenguaje de
programación. Este elimina muchas de las ineficiencias que ocurrían al querer
corresponder un lenguaje declarativo como SQL y un lenguaje de programación como c.
• Lenguaje de consulta más expresivo: el acceso navegacional es más adecuado para
manejar consultas recursivas, etcétera. Sin embargo, se argumenta que la mayoría de los
SGBDOO están ligados a un lenguaje de programación, que en general no es demasiado
fácil de usar para los usuarios finales. Por ello el estándar ODMG especifica un lenguaje
declarativo basado en una versión OO de SQL.
• Soporte para la evolución de esquemas: el estrecho acoplamiento entre aplicaciones y
datos permite que la evolución sea más viable. La generalización y la herencia permite
que los esquemas estén mejor estructurados, que usan más intuitivos, y que capturen

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 58
Bases de Datos II – Licenciatura en Sistemas de Información

más la semántica de la aplicación.


• Soporte para transacciones de larga duración: los SGBD actuales obligan la serialización
de transacciones concurrentes, para mantener la consistencia. Eso no es útil para t
transacciones de larga duración, por ello algunos SGBDOO usan otros protocolos para
manejar transaccionas de larga duración.
• Apto para aplicaciones de BD avanzadas: las capacidades de modelo enriquecida en los
SGBDOO, hacen que sean adecuados para aplicaciones como cad, case, multimedia, ois,
etcétera.
• Rendimiento mejorado: existen varios estudios que manifiestan la mejora en rendimiento
con respecto a los SGBDR. Aunque algunos argumentan que tienen mejor rendimiento
para aplicaciones más adecuadas a la OO, pero que en aplicaciones tradiciones de SGBD
(OLTP) son mejores los SGBDR.
 Desventajas:
• Falta de un Modelo de Datos universal: no existe un modelo de datos universal y la
mayoría carece de fundamentos teóricos. Aunque ODMG ha propuesto un modelo de
objetos que se ha convertido en el estándar de facto en los SGBDOO.
• Falta de experiencia: en comparación con los SGBDR el uso de los SGBDOO es todavía
limitado. Por ello, no se tiene demasiada experiencia en ellos.
• Falta de estándares: como no existe un modelo de dato estándar, tampoco existe un
lenguaje de consulta estándar. Aunque ODMG ha propuesto un lenguaje de consultas OO,
que se ha convertido en de facto.
• Competencia: los SGBDR y los SGBDOR están más difundidos y existen muchas más
herramientas desarrolladas para ayudar a los usuarios finales.
• La optimización de consultas hace peligrar la encapsulación: la optimización de consultas
requiere un entendimiento de la implementación subyacente para acceder a la BD
eficientemente, eso puede comprometer el concepto de encapsulamiento.
• Bloqueos a nivel de objeto pueden perjudicar el rendimiento: muchos SGBDOO usan el
bloqueo como la base de los protocolos de concurrencia. Sin embargo, si el bloqueo se
aplica a nivel de objeto, el bloqueo de una jerarquía de herencia puede ser problemática,
así como también su rendimiento.
• Complejidad: la gran funcionalidad que proveen los SGBDOO, hace que sean más
complejos, y esto lleva a productos más difíciles de usar y más caros.
• Sin soporte para vistas: las vistas proveen muchas ventajas, como personalización,
seguridad, reducción de la complejidad, etcétera.
• Sin soporte para seguridad: actualmente los SGBDOO no proporcionan mecanismos
adecuados de seguridad.
 SGBDOO:
• Gemstone es un sistema de gestión orientado a objetos que combina los conceptos del
Smalltalk con funciones de gestión de bases de datos:
 El lenguaje de definición y manipulación de datos es OPAL que se deriva de
Smalltalk. ODMG.
• Objectstore desarrollado a partir del lenguaje C++ añadiéndole a sus objetos
persistencia. ODMG.
• POET. Extensión de C++. ODMG.
• O2.
• Jasmine.

Modelo de Datos Orientado a Objetos.

 No hay un estándar pero sí acuerdo sobre un modelo que se fundamenta en 5 conceptos:


• Cada entidad del mundo real es un objeto. Cada objeto es asociado con un identificador
único (OID).
• Cada objeto tiene un conjunto de atributos y métodos. El valor de un atributo puede ser
un objeto o conjunto de objetos (Set, List, Multiset) del que guardará su OID
(agregación).
• Los valores de los atributos representan el estado del objeto. El estado de un objeto se
conoce y/o modifica enviando mensajes, que invocan los métodos correspondientes del
objeto.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 59
Bases de Datos II – Licenciatura en Sistemas de Información

• Los objetos que comparten la misma estructura y comportamiento se agrupan en clases.


• Una clase se puede definir como una especialización (subclase) de una o más clases
(herencia).
 Ejemplo UML:
Movie Studio President
0..N 1.. 1 name 1.. 1 1.. 1 name
title
year address address
length
FilmType
{color, blackAndWhite}
Float lengthInHours()
Void starNames(out Set Star
<String>) 1.. N 1.. N name
Void otherMovies (in Star Addr{street, city}
, out Set <Movie>) Phones(set)
Void enrolled_in (in Star s,
N Movie m)
0.. Void drop_enrolled_in
(in Star s, Movie m)
N
0..
MurderMistery Cartoon
weapon name
address

MurderMistery
weapon

Constructores:
void Movies()
void drop_Movie()
get y set methods para asignar y leer valores.

 Modelo de objetos – Orígenes.

SGBD Tradicionales
Modelos Semánticos
-Persistencia.
-Generalización
-Compartición.
-Agregación.
-Transacciones.
-Control de
Concurrencia.
-Recuperación. Modelo
-Seguridad. de
-Integridad. Objetos
-Consultas. Programación OO
-Identidad de
Objetos.
-Encapsulación.
Otros -Herencia.
-Versionado. -Tipos y clases.
-Evolución de -Métodos.
esquemas. -Objetos
complejos.
-Polimorfismo
-Extensibilidad
 Modelo de objetos – Conceptos.
Ejemplo de Objeto
nombre= Martin P.
cambiar_profesion
fecha_nac=27/6/72
sueldo=150.000
asignar_dept
Profesión= Informatico

calcular_edad

aumentar_sueldo Servicios
….

Atributos

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 60
Bases de Datos II – Licenciatura en Sistemas de Información

 Ventajas:
• La utilización de objetos permite representar de forma más natural el problema de
información → mejorar la comunicación entre los usuarios, los diseñadores y los analistas.
• Datos y comportamiento en un mismo lenguaje → facilita el desarrollo de aplicaciones.
Extensión de los SGBDR incluyendo el paradigma
• Permite definir nuevos tipos de datos a partir de tipos existentes.
• Lenguaje navegacional.
• Soporte a esquema evolutivo: el estrecho acoplamiento entre datos y aplicaciones en un
SGBDOO hace más abordable el esquema evolutivo.
 Desventajas:
• Falta de un modelo de datos universal: como es el modelo relacional.
• Falta de experiencia: uso reducido de SGBDOO.
• Falta de estándares: OQL de ODMG es estándar de facto.
• Extensión de los SGBDR: incluyendo el paradigma OO.
• Son más complejos de diseñar y mantener.
• Falta de soporte a vistas (views) y restricciones declarativas → dependen de los métodos
definidos.
• Falta de soporte a la seguridad: no pueden conceder derechos de acceso a objetos o
clases por usuario.
• La optimización de consultas compromete la encapsulación.
• Los bloqueos a nivel de objeto, utilizados en protocolos de control de concurrencia
pueden afectar al rendimiento.
 Diseño de BDOO
Esquema
Esquema
Intermedio
Conceptual
En ODL
En UML

Esquema
Físico en
SGBDOO

Objetos complejos.

 Hay dos tipos principales de objetos complejos:


• No estructurado:
 Generalmente es de un tipo de datos que requiere una gran cantidad de
almacenamiento:
 Ejemplo: un tipo de datos que representa una imagen o un objeto textual
extenso.
• Estructurado:
 Está constituido por componentes.
 Se define aplicando recurrentemente, en diversos niveles, los constructores de
tipos disponibles.
• Objetos complejos no estructurados y extensibilidad de tipos.
• Una facilidad del SGBD permite el almacenamiento y recuperación de objetos de gran tamaño.
• Ejemplos: las imágenes de mapa de bits y las cadenas de texto largas (por ejemplo,
documentos):
◦ Se conocen como objetos binarios extensos o BLOB (Binary Large Object).
• Estos objetos son no estructurados en el sentido de que el SGBD no sabe qué estructura tienen:
◦ Sólo la aplicación que usa los objetos puede interpretar su significado.
• Los objetos se consideran complejos porque:
◦ Necesitan un área de almacenamiento sustancial.
◦ No forman parte de los tipos de datos estándar de los SGBD.
• En un SGBDOO se puede:
◦ Definir un nuevo tipo de datos abstracto para los objetos no interpretados.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 61
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Suministrar los métodos para seleccionar, comparar y mostrar tales objetos.


• Un SGBDOO permite a los usuarios crear nuevos tipos:
◦ Un tipo incluye tanto estructura como operaciones.
◦ Un SGBDOO tiene un sistema de tipos extensibles.
• Objetos complejos estructurados
• La estructura del objeto está definida y el SGBDOO la conoce.
• Ejemplo:
◦ Representación del objeto complejo departamento como gráfico.

LEYENDA Objeto

Tupla

Conjunto

I8: O8
Tupla

NOMBRED NÚMEROD JF LOCALIDADES EMPLEADOS PROYECTOS

O5 O4 O9 O7 O O
I5: I4: I9: I7: I10: 10 I11: 11
Átomo Átomo Tupla Conjunto Conjunto Conjunto

v5 v4 v9 v7 v10 v11

● ● ● ●
Investigación 5

O1 O2 O3
I 1: I2: I3: I15: ... I16: ... I17: ...
Tupla Tupla Tupla

v1 v2 v3

Houston Beltaire Sugarland


JEFE FECH-INIC_JEFE

I6: O6
Átomo
● ●
v6

1988-05-22 I 13: ... I12: ...


Tupla Tupla
O
I 12: 12
Tupla

NOMBRE INC APELLIDO DEPT

I15: ... I16: ... I17: ...

• El objeto departamento tiene:


◦ En el primer nivel una estructura de tupla con seis atributos: nombred, numerod, JF,
localizaciones, empleados y proyectos.
◦ Dos de estos atributos (nombred y numerod) tienen valores básicos.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 62
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Cuatro tienen valores complejos y constituyen el segundo nivel de la estructura del objeto
complejo:
▪ Uno (JF) tiene estructura de tupla.
▪ Tres (localizaciones, empleados, proyectos) tienen estructura de conjunto.
◦ En el tercer nivel, para un valor de tupla de JF, hay un atributo básico (fecha_inic_jefe) y un
atributo (jefe) que hace referencia a un objeto empleado, que tiene una estructura de tupla.
◦ Para un conjunto localizaciones hay un conjunto de valores básicos.
◦ Para los conjuntos empleados y proyectos hay conjuntos de objetos con estructura de tupla.
• Existen dos tipos de semántica para la referencia entre un objeto complejo y sus componentes en
cada nivel:
◦ Semántica de propiedad: se aplica cuando los subobjetos de un objeto complejo están
encapsulados dentro de este y se consideran parte de él.
◦ Semántica de referencia: se aplica cuando los componentes del objeto complejo son ellos
mismos objetos independientes, pero pueden ser referenciados desde el objeto complejo.
• Ejemplo:
◦ Se considera que los atributos nombred, numerod, JF y localizaciones son propiedad de un
departamento.
◦ Empleados y proyectos son referencias porque hacen referencia a objetos independientes.
• Los SGBDOO deben ofrecer opciones de almacenamiento para agrupar los objetos componentes
de un objeto complejo en el almacenamiento secundario:
◦ Para aumentar la eficiencia de las operaciones que tienen acceso al objeto complejo.

Estándar ODMG del Modelo de Objetos

• ODMG: Object Database Management Group.


• Grupo de desarrollo de SGBD orientados a objetos, ligado a OMG (Object Management Group):
◦ Object Design, Sun Microsystems, ONTOS, 02, Technology / Ardent Soft., Objectivity, Versant,
Gemstone, Computer Associates, Objectstore, Inters y Stems Cache, etc.
◦ Creado a mediados de 1991 para definir los estándares de las BD orientadas a objetos:
▪ Asegurar una portabilidad sobre los diferentes productos de estas compañías.
▪ Normalizar el modelo de datos a objetos y los lenguajes.
• Aparición de “The ODMG-93 Standard”:
◦ Revisiones ODMG 95, 97, 99 (ODMG 3.0 + Java). Consolidado:
▪ Object Model.
▪ Object Data Definition Language (ODL).
▪ Object Manipulation Language (OML).
▪ Object Query Language (OQL).
▪ Interfaces con C++, Smalltalk, Java.
• Historia:
◦ 1991: Reunión de vendedores.
◦ 1993: ODMG-93.
◦ 1995: ODMG-93 v1.2.
◦ 1997: ODMG-93 v2.0.
◦ 1998: Revisión para JDK 1.2.
◦ 2000: ODMG-93 v3.0.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 63
Bases de Datos II – Licenciatura en Sistemas de Información

Declaraciones Código fuente de


En ODL o PL ODL La aplicación en PL

Preprocesador de Compilador PL
declaración

metadatos CODIGO
Runtime
BINARIO
SGBDOO
APLICACIÓN

Enlazador
BD

APLICACIÓN
EN
EJECUCIÓN

ODMG: Object – Class:


Object: un objeto es una instancia de una clase. OID:
Estado:
Definido por un conjunto de valores que el objeto lleva en sus propiedades (atributos, y / o varios otros
objetos).
Los valores de las propiedades pueden cambiar a lo largo del tiempo.
Comportamiento: definido por un conjunto de operaciones ejecutables sobre el objeto (métodos).
Class: colección de objetos con las mismas propiedades.
Ejemplo E/R:
title
year filmTypes
stars
address
length 1..N 1.. N
Movie Star

0.. N name

owns
name
1.. 1
Studio phones

address

• ODMG: Classes:
• Una clase se especifica por :
◦ Los atributos (abstractos).
◦ Las relaciones con otros tipos de objetos.
◦ Las operaciones.
Class Movie { Class Star {
attribute String title; attribute String name;
attribute integer year; attribute Struct Addr {String street, String city} address
attribute integer length; attribute set <String> phone;
attribute Enum Film {color, blackAndWhite} filmType; };
};

• ODMG: types:
• Atributos:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 64
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Tipo estructurado es un tipo con un número fijo de elementos que pueden ser de diferente
tipo:
▪ Tipos atómicos: integer, float, character, string, boolean and enumerations.
▪ Tipos predefinidos: date, time, interval, timestamp.
◦ Colección: conjunto de elementos del mismo tipo (set, bag, list, array, dictionary, table).
Pueden ser de tipo básico o estructurado.
• Relaciones:
◦ Tipos interfaz, representan las clases. Generalmente se usan en relaciones (relationship).
• ODMG: Relationship:
• Un objeto puede relacionarse con otros objetos a través de relationship.
• Relaciones binarias y bi-direccionales 1-1, 1-n, n-m.
• Establecer inverse para conexión bidireccional en ambas interfaces.
• En ODL no se puede expresar la integridad referencial.
• Ejemplo:

Class Movie { Class Star {
attribute String title; attribute String name;
attribute integer year; attribute Struct Addr {String street, String city} address
attribute integer length; attribute set <String> phone;
attribute Enum Film {color, blackAndWhite} filmType; relationship Set <Movie> starredin inverse Movie::stars
relationship Ser <Star> stars inverse Star:: starredin; };
};
N:M

Class Star { Class Studio {


attribute String name; attribute String name; 1:N
attribute Struct Addr {string street, string city} address; attribute String address;
attribute set <string> phone; relationship Set <Movie> owns inverse Movie:: ownwdBy;
relationship Set <Movie> starredIn inverse Movie_stairs; relationship President hasPres inverse President::: isPresOF;
}; };

Class Movie { Class President { 1:1


attribute String title; attribute String name;
attribute integer year; relationship Studio isPresOf inverse Studio :: hasPres;
attribute integer length; };
attribute Enum Film {color, blackAndWhite} filmType;
relationship Set <Star> stairs inverse Star:: starredin;
relationship Studio ownedBy inverse Studio :: owns;
};

• ODMG: Key:
◦ Atributo o conjunto de atributos que identifica unívocamente cada objeto de un tipo.
◦ Similar al key del relacional.
◦ Previene la duplicidad pero admite nulos.
• Ejemplos:

Class Star (key (name)){ Class Studio (keys(name),(address)){


attribute String name; attribute String name; 1:N
attribute Struct Addr {string street, string city} address; attribute String address;
attribute set <string> phone; relationship Set <Movie> owns inverse Movie:: ownwdBy;
relationship Set <Movie> starredIn inverse Movie_stars; relationship President hasPres inverse President::: isPresOF;
}; };

Class Movie (key (title, year)){ Class President (key (name))


attribute String title; { 1:1
attribute integer year; attribute String name;
attribute integer length; relationship Studio isPresOf inverse Studio :: hasPres;
attribute Enum Film {color, blackAndWhite} filmType; };
relationship Set <Star> stairs inverse Star:: starredin;
relationship Studio ownedBy inverse Studio :: owns;
};

• Establecer keys para entidades débiles:


◦ No puede haber dos trabajadores con el mismo número que trabajen para el mismo estudio.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 65
Bases de Datos II – Licenciatura en Sistemas de Información

Class Studio (keys(name),(address))


{
attrbute String name;
attribute String address;
relationship Set <Movie> owns inverse Movie::ownedBy;
relationship President hasPres inverse President::isPresOf;
relationship Set <Crew> crewsOf nverse Crew::partOf;
};

Class Crew (keys(number.partOf))


{
attrbute String number;
attribute String address;
relationship Studio partOf inverse Studio::crewsOf;
};
• ODMG: Object Model:
◦ Subtipos (Subtypes) y herencia (Inheritance):
▪ ODL provee dos clases de herencia:
• Is A: Define la herencia de comportamiento entre dos tipos de objetos (interfaces o
clases) y se representa por una coma.
• Extends: Define la herencia de estado que sólo aplica a las clases.
▪ ODL soporta herencia simple y múltiple.
• Especificación de tipos
• Comportamiento abstracto Estado abstracto
• Interfaz-Clase-Literal
• ODMG: Subclasses:
◦ Las subclases heredan los atributos de su superclase.
Class movie (key (title, year)) {
Attribute string title;
attribute integer year;
attribute integer length:
Attribute enum film {color, biackandwhite} filmtype;
relationship Set <Star> stars inverse Star::starred in; class Star {
relationship Studio ownedBy inverse Studio:: owns; attribute String name;
}; attribute Struct Addr {String street, String city} address;
relationship Set <Movie> starredin inverse Movie::stairs;
class Cartoon extends Movie { relationship Set <Cartoon> speaksin inverse Cartoon::voices;
relationship Set <Star> voices inverse Star:: speksIn; }
}

Class movie (key (title, year)) {


Attribute string title;
title
attribute integer year; year
attribute integer length:
address
Attribute enum film {color, biackandwhite} filmTypes
filmtype; length
relationship Set <Star> stars inverse
Movie Star
Star::starred in;
relationship Studio ownedBy inverse Studio:: owns;
};
name
class Cartoon extends Movie { isa isa
relationship Set <Star> voices inverse Star:: speksIn; voices
}
weapon Murder- Cartoon
class MurderMystery extends Movie {
Mystery
attribute String weapon;
}
Adults
isa isa
class CartoonMurderMystery extends Cartoon : MurderMystery { only
attribute integer adulsonly;
}
CartoonMurderMystery

• ODMG: Methods:
◦ En ODL un método es una función asociada a una clase.
◦ Los métodos se declaran mediante el concepto de signature que no es más que el nombre de
dicho método junto con los tipos de sus argumentos de entrada y el tipo de salida.
• El código de un método no forma parte de la declaración y se supone que se escribirá en el

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 66
Bases de Datos II – Licenciatura en Sistemas de Información

lenguaje de implementación.
• La sintaxis de la declaración es similar a la de funciones en c con dos importantes añadidos:
◦ Los parámetros de la función se pueden especificar como in, out, inout según sea de entrada,
salida o de entrada/salida.
◦ Las funciones pueden manejar excepciones que son respuestas especiales:
▪ Una excepción indica habitualmente una condición anormal que a su vez se tratará
mediante otro método.
▪ En ODL una declaración de función puede ser seguida por la palabra raises, seguida por
una lista de una o más excepciones que la función puede tratar.
• Ejemplo de methods:
Class Movie {
attribute string title;
attribute integer year;
attribute integer length;
Attribute Enum Film {color, blackandwhite} filmtype;
relationship Set <Star> stars inverse star:: starredIn;
relationship Studio ownedBy inverse Studio::owns;
Void movie();
void drop_movie();
Float lengthlnHours() raises (noLengthFound);
void starNames (out Set <String>};
Void otherMovies (in Star, out Set <Movie>) raises(noSuchStar);
}

• ODMG: Extents:
◦ Cuando se define una clase se hace necesario diferenciar su definición, del conjunto de
objetos que existe de esa clase en la base de datos.
◦ En ODL, esta distinción se realiza de forma explícita dando a la clase y a su extent distintos
nombres.
◦ En general la clase recibe el nombre en singular y el extent en plural.
Class Movie (extent Movie key (title, year)) {
attribute string title;
attribute integer year;
attribute integer length;
Attribute Enum Film {color, blackandwhite} filmtype;
relationship Set <Star> stars inverse star:: starredIn;
relationship Studio ownedBy inverse Studio::owns;
};
• ODMG: Interfaces:
◦ Las interfaces son básicamente definiciones de clases que no tienen extent asociados (es
decir, sin objetos).
◦ Son útiles si se necesitan mantener en la base de datos varios conjuntos de objetos que
tienen el mismo tipo (interfaz) pero pertenecen a distinta clase.
Interface business (...)
<<interface>>
{ ...
Bussiness
String getTaxPayerld(...);
getTaxPayerID
void setTaxPlayerld(...);
SetTaxPayerID <<persistent>>
integer calcTotalncome(...) ;}
calcTotalIncome Person
class Person (...){...}

class Company: Business ( ...){ ...}


<<persistent>> <<persistent>>
class SetEmployedPerson extends Person: Business (…) {…} Company setEmployedPerson

• Jerarquía de herencia de las interfaces predefinidas del modelo de objetos:

Object

Iterator Collection Date Time Interval

TimeStamp

Set List Bag Array Dictionary

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 67
Bases de Datos II – Licenciatura en Sistemas de Información

• OML:
◦ Lenguaje para construir programas que permitan realizar las siguientes operaciones en la BD:
▪ Crear objetos.
▪ Modificar objetos.
▪ Borrar objetos.
▪ Identificar objetos.
◦ ODMG no propone que sea estándar, solo una extensión del lenguaje de programación: C++,
Java y Smalltalk...

Lenguaje de Definición de Objetos ODL

• ODL no es un lenguaje de programación completo, es un lenguaje de definición independiente


para especificar objetos.
• Extiende el lenguaje IDL (Interface Definition Language) desarrollado por OMG como parte de
CORBA (Common Object Request Broker Architecture).
• Define el objeto con sus atributos y prototipos de métodos, no su implementación.
• No está ligado a la sintaxis concreta de un lenguaje de programación:
◦ Define tipos que pueden implementarse en varios lenguajes de programación.
• Un esquema de datos de objeto especificado en ODL puede ser soportado por cualquier SGBDOO
que cumpla el estándar ODMG.
Notación:
<definición de tipo>::=
INTERFACE <nombre del tipo>(:<lista de supertipos>)
{ (<lista de propiedades del tipo>)
(dista de propiedades>)
(dista de operaciones-*) }

<propiedad del tipo>::=


{ EXTENT <nombre de la extensión>
| KEY(S) <lista de claves> }

<propiedad>::=
<especificación de atributo>
| especificación de interrelación>
| < especificación de operación> }

<especificación del atributo>::=


ATTRIBUTE <tipo de dominio> <tamaño> <nombre del atributo>

<especificación de interrelación>::=
RELATIONSHIP <destino del camino> <nombre del camino>
INVERSE <camino inverso>
[ ORDER BY <lista de atributos> ]
<especificación de operación>::=
<tipo devuelto> <nombre de la operación>
(<lista de argumentos>)
[ RAISES (<lista de excepciones>) ]
<argumento>::=
<rol> [<nombre del argumentos>:] <tipo del argumento>

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 68
Bases de Datos II – Licenciatura en Sistemas de Información

• Ejemplo 1:

Class course (extent courses)


{
Attribute string name;
attribute string number;
Relationship list<section> has_section
inverse section::is_section_of;
relationship set<course> has_prerequisites
inverse course::is_prerequisite_for;
relationship set<course> is_prerequisite_for
inverse course::has_prerequisites;
Boolean offer (in unsigned short semester)
raises (already_offered);
boolean drop (in unsigned short semester)
raises (not_offered)};
Class section (extent sections) Class salary {
{ attribute float base;
Attribute string number; attribute float overtime;
Relationship professor is_taught_by attribute float bonus;
inverse professor::teaches; };
relationship TA has_TA
inverse TA::assists; Class Employee (extent employees)
relationship course is_section_o {
inverse attribute string name;
course::has_sections; attribute short id;
relationship Set<Student> attribute Salary annual_salary;
is_taken_by
inverse student::takes; void hire()
}; void fire()
raises (no:such_employee)
};

Class Professor extends Employee (extent proffesors)


{
attribute enum Rank {full, associate, assistant} rank;

relationship set <Section> teaches


inverse Section::is_taught_by;

short grant_tenure()
raises (ineligible_for_tenure)
};

Interface student-if
{struct address {string college, string roon_number}
attribute string name;
attribute string student_id;
attribute address dorm_address;
Relationship set<section> takes
Inverse section::is_taken_by;
Boolean register_for_course (in unsigned short course,
In unsigned short section)
raises (unsatisfied_prerequisites, section_full, course_full);

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 69
Bases de Datos II – Licenciatura en Sistemas de Información

boolean drop_course (in unsigned short course)


raises (not_registered_for_that_course)
void assign_mayor (in unsigned short Departament);
short transfer (in unsigned short old section,
in unsigned short new_section)
raises (section_full, not_registered_in_section)};

Class TA extends Employee:Student-IF Class Student:Student-IF


(extent Employee) (extent Students)
{ {
Relationship Section assists
Inverse section::has_TA; attribute String name;
attribute String student_id;
attribute String name; attribute Address dorm_address;
attribute String student_id;
attribute Address dorm_address; relationship Set<Section>< takes
inverse Section::is_teken_by;
relationship Set<Section>< takes };
inverse Section::is_teken_by;
};

• Ejemplo 2:

Class persona
(extent personas key dni)
{
/* definición de atributos */
Attribute struct nom_persona {string nombre_pila, string apellido1,
string apellido2} nombre;
attribute string dni;
attribute date fecha_nacim;
attribute enum genero{F,M} sexo;
Attribute struct dirección {string calle, string cp, string ciudad}
dirección;
/* definición de operaciones */
float edad();
}

Class profesor extends Persona


(extent profesores)
{
/* definición de atributos */
attribute string categorìa;
attribute float salario;
attribute string despacho;
attribute string telefono;
/* definición de relaciones */
Relationship departamento trabaja_en
Inverse departamento::tiene_profesores;
relationship set<estudiantegrad> tutoriza
inverse estudiantegrad::tutor;
relationship set<estudiantegrad> en_comite
inverse estudiantecrad::comité;
/* definición de operaciones */
Void aumentar_salario(in float aumento);
void promocionar(in string nueva_categoria);
};

Class Estudiante extends Persona


(extent Estudiantes)
{
/* definición de atributos */
attribute string titulación;
/* definición de relaciones */
Relationship set<calificacion> ediciones_cursadas
inverse calificación::estudiante;
Relationship set<edicionactual> matriculado
Inverse edicionactual::estudiantes_matriculados;
/* definición de operaciones */
float nota_media();
Void matricularse (in short num_edic) raises (edicion_no_valida, edicion_llena);
void calificar(in short num_edic; in float nota) raises (edicion_no_valida, nota_no_valida);
};

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 70
Bases de Datos II – Licenciatura en Sistemas de Información

Class Calificación
(extent calificaciones)

/* definición de atributos */
attribute float nota;
/* definición de relaciones */
Relationship edición edición inverse edición::estudiantes;
Relationship estudiante estudiante
Inverse estudiante::ediciones_cursadas;

Class estudianteGrad extends Estudiante


(extent estudiantes_graduados)
{
/* Definición de atributos */
Attribute Set<Titulo> titulos;
/* Definición de relaciones */
Relationship profesor tutor inverse profesor::tutoriza;
Relationship set<profesor> comité inverse profesor::en_comite;
/* Definición de operaciones */
Void asignar_tutor(in string apellido1; in string apellido2)
raises (profesor_no_valido);
void asignarjniembro_comite(in string apellidol; in string apellido2)
raises (profesor_no_valido) ;
};

Class titulo
{
/* definición de atributos */
attribute string escuela;
attribute string titulo;
attribute string año;
};

Class departamento
(extent departamentos key nombre)
{
/* definición de atributos */
attribute string nombre;
attribute string telefono;
attribute string despacho;
attribute string escuela;
attribute profesor director;
/* definición de relaciones */
Relationship set<profesor> tiene_profesores
inverse profesor::trabaja_en;
Relationship set<curso> oferta
Inverse curso::ofertado_por;
};

Class Curso
(extent cursos key num_curso)

/* definición de atributos */
attribute string nombre;
attribute string num_curso;
attribute string descripción;
/* definición de relaciones */
Relationship Set <Edicion> tiene_ediciones
inverse edición::de_curso;
relationship departamento ofertado_por
inverse departamento::oferta;
};

Class edición
(extent ediciones)
{
/* definición de atributos */
attribute short num_edic
attribute string año;
attribute enum semestre{primero,segundo} semestre;
/* definición de relaciones */
Relationship set<calificacion> estudiantes
inverse calificación::edición;
};
Relationship curso de_curso

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 71
Bases de Datos II – Licenciatura en Sistemas de Información

inverse curso::tiene_ediciones;

Class edicionActual
extends edición (extent ediciones_actuales)
(
/* definición de relaciones */
Relationship set<estudiante> estudiantes_matriculados
inverse estudiante::matriculado;
/* definición de operaciones */
Void matricular_estudiante(in string dni)
Raises(estudiante_no_valido ,edicion_llena);
}

Lenguajes de consulta de objetos OQL

• Lenguaje de consultas sobre un modelo de datos en ODL.


• Características:
◦ Sintaxis similar a SQL.
◦ Pueden invocarse métodos.
◦ No proporciona operadores explícitos para la modificación, se basa en las operaciones que
para ese fin se hayan definido sobre los objetos.
◦ Se consulta sobre el extent no la clase.
• Formato del SELECT:
SELECT [DISTINCT] <expresión>
FROM < lista from>
[WHERE <expresión> ]
[GROUP BY <atributo1:expresión1, ....>]
[HAVING <predicado>]
[ORDER BY <expresión>]
Donde
<lista from> :: =
{ <nombre de variable> IN <expresión> | <nombre de variable> IN <expresión> , <lista from>
<expresión> AS <nombre de variable> | <expresión> AS <nombre de variable> , <lista from> }
• Ejemplo:

SELECT m.year, s.name SELECT m.name


FROM Movies m, m.Stars s FROM Movies m
WHERE m.title = 'Sea inside' WHERE m.lengthInHours()>2

SELECT stdo, yr, sumLength; SUM(select


p.m.length FROMpartition p)
FROM Movies m
GROUP BY

• Obtener los nombres de los departamentos de la escuela de ingeniería:


SELECT d.nombre
FROM d in departamentos
WHERE d.escuela = 'ingeniería’;
◦ Recuperar los nombres y apellidos de los estudiantes tutorizados por el director del dpto. De
informática y los títulos que tiene cada uno:
SELECT struct(nombre:struct(ape1: e.nombre.apellido1,
ape2: e.nombre.apellido2,
nom: e.nombre.nombre_pila),
títulos:(SELECT struct(tit: t.titulo,
Año: t.año,
esc: t.escuela)
FROM t IN e.titulos)
FROM e IN departamentoinf.director.tutoriza;

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 72
Bases de Datos II – Licenciatura en Sistemas de Información

Persona _
atributo nombre
atributo fech_nac
atributo salario
operación edad

subordinados
Empleado _
operación antiguedad

SELECT DISTINCT x.edad


FROM x IN personas ← ¿Edades de todas las personas llamadas “Ana”?
WHERE x.nombre = “Ana”

Devuelve un literal del tipo Set <Integer>

SELECT DISTINCT STRUCT (a:x.edad, s:x.salario


¿Edad y salario de todas las personas llamadas “Ana”? → FROM x IN personas
WHERE x.nombre = “Ana”

Devuelve un literal del tipo Set <Struct(a:integer, s:integer)>

SELECT DISTINCT STRUCT (a:x.nombre, smp:


¿nombre de cada empleado
(SELECT y
y sus subordinados que tienen
FROM y IN x.subordinados
un salario mayor de 3000 €? →
WHERE y.salario>300000)
FROM x IN empleados

Devuelve un literal del tipo Set <Struct(a:integer, s:integer)>


Utilización del SELECT dentro de la cláusula FROM:

SELECT STRUCT (a:x.edad, s:x.salario)


FROM x IN ← ¿Edad y salario con empleados justo con 10 años de antgüedad?
(SELECT y
FROM y IN empleados
WHERE y.antiguedad = 10

Devuelve un literal del tipo Bag <Struct(a:integer, s:integer)>


• Efecto del uso de DISTINCT:
◦ SELECT → Bag (con repetición).
◦ SELECT DISTINCT → Set (sin repetición).

Diseño Conceptual de Bases de Datos de Objetos

• Diferencias entre el diseño conceptual de una BOO y una BDR.


• Una de las diferencias principales reside en la forma en la que se tratan las relaciones.
• En BOO las relaciones se suelen establecer mediante propiedades de relación o atributos de
referencia
• Que incluyen OID (identificadores de objetos) de los objetos relacionados:
◦ Pueden considerarse referencias OID a los objetos relacionados.
◦ Se permiten tanto las referencias únicas como las colecciones de referencias.
◦ Las referencias de una relación binaria pueden declararse en una única dirección, o en ambas
direcciones.
• En BDR las relaciones entre las tuplas (registros) se especifican mediante atributos con valores
coincidentes:
◦ Pueden considerarse referencias de valores y se especifican mediante claves externas:
▪ Que son valores de atributos de clave primaria repetidos en tuplas de la relación que le
hace referencia.
◦ Estas referencias están limitadas a tener un único valor en cada registro ya que los atributos
multivaluados no se permiten en el modelo relacional básico.
• La correspondencia de relaciones binarias que contienen atributos no resulta sencilla en las BOO:
◦ El diseñador debe elegir la dirección en la que deberían incluirse los atributos.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 73
Bases de Datos II – Licenciatura en Sistemas de Información

• Si los atributos se incluyen en ambas direcciones habrá redundancia en el almacenamiento y


puede dar lugar a datos inconsistentes:
◦ A veces es preferible emplear el método relacional de creación de una tabla distinta,
generando una clase diferente para representar la relación.
• Otra diferencia entre el diseño de BDO y BDO es el modo de abordar la herencia:
◦ En una BDO, estas estructuras se incorporan al modelo y la correspondencia se consigue
mediante la utilización de los constructores de herencia
◦ En el diseño relacional hay varias opciones ya que no existe ningún elemento predefinido para
la herencia en el modelo relacional básico.
• Otra diferencia importante es que en el diseño de BDO es necesario especificar las operaciones al
comienzo del diseño ya que forman parte de las especificaciones de las clases.
• Esto puede retrasarse en el diseño de una BDR dado que ello no es estrictamente necesario hasta
la fase de implementación.

Estándar CORBA para Objetos Distribuidos

• ¿Que es CORBA?
• CORBA: Common Object Request Broker Architecture.
◦ Es una herramienta que facilita el desarrollo de aplicaciones distribuidas en entornos
heterogéneos (HW y SW).
▪ Distintos sistemas operativos (Unix, Windows, MacOS, OS/2).
▪ Distintos protocolos de comunicación (TCP/IP, IPx, ...)
▪ Distintos lenguajes de programación (Java, C, C++, ...).
◦ Define la infraestructura para la arquitectura OMA (Object Management Architecture):
▪ Especifica los entándares necesarios para la invocación de métodos sobre objetos en
entornos heterogéneos.
• ¿Para qué sirve?
• Permitir invocación de métodos de un objeto por objetos que residen en diferentes máquinas en
entornos heterogéneos:
◦ Los objetos pueden estar desarrollados en diferentes lenguajes.
◦ Los equipos pueden tener diferente:
▪ Hardware.
▪ Sistema operativo.
◦ Los equipos pueden estar conectados entre sí usando distintos protocolos de comunicación.
• Facilitar el desarrollo de aplicaciones distribuidas.
• Historia
• OMG (Object Management Group):
◦ Consorcio creado en 1989, primer “producto”: CORBA. Inicialmente 8 empresas (SUN, HP,
3COM,...):
◦ Hoy: más de 800 socios:
▪ Proveedores de software y equipos, operadores de Telecomunicaciones,
◦ Universidades,...
• Http ://www. Omg. Org/
• OMA(Object Management Archictecture):
◦ Inicial: 1990.
• CORBA (Common Object Request Broker Architecture) :
◦ CORBA 1: 1991.
◦ CORBA 2: 1995.
◦ CORBA 3: 2002.
• Características
• Orientado a objetos:
◦ Encapsulación.
◦ Herencia.
◦ Late binding & polimorfismo.
• Comunicación por invocación de métodos remotos:
◦ Más fácil de programar que IPC, sockets, RPC, etc.
◦ Stub:
▪ Representante local del objeto remoto.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 74
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Encargado de la comunicación con el objeto remoto.


◦ Skeleton:
▪ Encargado de la comunicación con el cliente.
◦ Cliente-servidor de grano fino:
▪ Interacciones son de tipo cliente-servidor.
▪ Papeles: misma entidad puede actuar como cliente o servidor.
◦ Separación interfaz-implementación:
▪ La interfaz define un contrato.
▪ Corba IDL (interface definition language)
▪ Multi-lenguaje: mapeo idl -► lenguajes de programación.
◦ Referencia de objeto: identificador único de un objeto:
▪ Como un puntero:
• Puede ser NIL: no apunta a ningún objeto.
• Puede estar colgando: apunta a un objeto inalcanzable o que no existe.
▪ Puede ser transient o persistent.
▪ Puede convertirse entre forma interna y forma cadena.
◦ CORBA 2 IOR (Interoperable Object Reference):
▪ Para evitar conflictos entre implementaciones de diferentes vendedores.
◦ Protocolo estándar:
▪ IIOP: Internet Inter-ORB Protocol (Implementación del GIOP).
▪ Implementado encima de TCP/IP.
◦ Modos de comunicación:
▪ Síncrona:
• Invocación de métodos remotos normal.
• Repuesta puede ser de tipo void.
▪ Asíncrona:
• Invocación de métodos definidos como oneway.
▪ CORBA 3: añade servicio de mensajería (patrón publisher-subscriber).
◦ Uso de envolturas (Wrappers):
▪ Permite integrar los sistemas heredados.
▪ Normalmente, una sola instancia de cada clase.
◦ ORB (Object Request Broker):
▪ Núcleo de CORBA: un bus de software.
▪ Oculta la heterogeneidad a las dos partes.
▪ Oculta los detalles de la comunicación a las dos partes.
▪ Proporciona transparencia de localización vía referencias de objeto:
• Interpreta las referencias de objeto.
• Canaliza las invocaciones del cliente al objeto remoto correcto.
• Canaliza las respuestas del objeto remoto al cliente.
▪ Proporciona transparencia de distribución:
• Comportamiento igual en centralizado o distribuido.
▪ Se ocupa de la activación y desactivación de objetos.
▪ Proporciona servicios para construir peticiones dinámicamente.
• ¿Cómo funciona?
◦ El servidor:
▪ Crea objetos remotos.
▪ Hace accesibles referencias a objetos remotos.
▪ Espera a que los clientes invoquen a estos objetos remotos o a sus métodos.
◦ El cliente:
▪ Obtiene una referencia de uno o más objetos remotos en el servidor.
▪ Invoca a sus métodos.
• Elementos de la arquitectura:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 75
Bases de Datos II – Licenciatura en Sistemas de Información

Cliente Implementación de Objetos

Invocación Stubs Interface Estadísiticas Skeleton Adaptador


Dinámica IDL ORB IDL Skeleton Dinámico de
Objeto

Núcleo ORB

Interface idéntica para todas las implementaciones ORB.


Puede haber varios adaptadores de objetos.
Hay stubs y un esqueleto para cada tipo de objeto.
Interfaz dependiente de ORB.

Interfaz de llamada ascendente.

Interfaz de llamada normal.

Cliente

Stubs
Resp

Resp

Invocación
Dinámica IDL
ue
uest

sta
a

Núcleo ORB

Implementación de Objetos

Interface Estadísiticas Skeleton Adaptador


ORB IDL Skeleton Dinámico de
Objeto

Núcleo ORB

• ¿Cómo se usa?

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 76
Bases de Datos II – Licenciatura en Sistemas de Información

Proceso de desarrollo
1. Definir los objetos del servidor mediante IDL.
2. Cargar la información de idl en el interface repository
3. Pre-compilar el idl para generar stubs y esqueletos.
4. Escribir el código del servidor, heredando de los esqueletos (y
siguiendo el ejemplo)
5. Compilar los ficheros servidores.
6. Registrar los objetos en tiempo de ejecución en el implementation
repository
7. Instanciación de los sirvientes (por el adaptador, normalmente bajo
demanda)
8. Escribir el código del cliente, (incluye los stubs generados)
9. Compilar el cliente
10. Ejecutar servidor, luego cliente

• Object management architecture.


• Modelo de objetos.
◦ Un sistema de objetos de servicios a clientes:
◦ Cliente: entidad capaz de hacer petición de un servicio (a un objeto).
◦ Objeto: entidad identificable y encapsulable que da servicios.
◦ Petición: evento que tiene asociado operación, parámetros, target object, contexto:
▪ Formato de una petición se define por:
• Un lenguaje de “Binding”.
• Por una llamada de invocación dinámica.
◦ Referencia de un objeto: nombre que denota a un objeto en particular.
◦ Parámetros: identificados por posición (pueden ser de tipo entrada, salida o entrada-salida).
• Distribuidos
• Object management architecture
• Arquitectura del modelo de referencia:

Facilidades de
Facilidades de
CORBA Vertical
Aplicación Facilidades de
CORBA Vertical Facilidades de
de Objetos CORBA Vertical CORBA Horizontal

Agente de Solicitud de Objetos

Servicios CORBA

• Arquitectura CORBA:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 77
Bases de Datos II – Licenciatura en Sistemas de Información

• Adaptadores de objetos estandarizados


◦ Basic Object Adapter (BOA, 1990):
▪ Sub-especificado el API ofrecido depende del vendedor del ORB.
◦ Portable Object Adapter (POA, 1998):
▪ Propósito principal: Portabilidad:
• Código del servidor independiente de la implementación del ORB.
▪ Estandariza un control más fino del entorno de ejecución del servidor:
• Acercar el adaptador de objetos a la noción de contenedor.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 78
Bases de Datos II – Licenciatura en Sistemas de Información

Tema 5: Bases de Datos Objeto-Relacionales

Introducción

• Necesidad de nuevos tipos de datos.

Nuevos campos de aplicación Tipos de datos más complejos

Orientación de Modificaciones binarias especiales


Objetos Métodos específicos de tratamiento

1° Alternativa de Gestión de Datos.

Object-Oriented DataBase Inconvenientes


Manager Systems
• Los Sistemas Administradores de Bases de Datos
Relacionales (RDBMS) son el soporte de la mayoría de los
Centros de datos.
• Más costosos de desarrollar y mantener que los que siguen
El modelo relacional.
•Ausencia de un lenguaje de definición y manipulación de
Datos como el SQL, con respuesta de muy alto nivel.

• Respuesta comercial.
◦ Ampliar las prestaciones de los RDBM, adoptando ciertas características de OO manteniendo
su funcionalidad, fiabilidad y escalabilidad.
▪ → Sistemas Administradores de Bases de Datos Objeto-Relacionales (ORDBMS).
◦ Técnicas de almacenamiento y de creación de índices adecuados a cada estructura de datos.
◦ Procedimientos especiales de localización de objetos.
◦ Técnicas eficientes de recuperación de los objetos seleccionados.
◦ Soporte a las características relacionales (key, constraints, index, referenciabilidad...) y
orientadas a objetos (classes, types, methods,...) según SQL3.
• Bases de datos objeto relacionales
• El término BD objeto-relacional se usa para describir una BD que ha evolucionado desde el
modelo relacional hasta una BD híbrida que contiene ambas tecnologías:
◦ Relacional y de objetos.
• Durante muchos años ha habido debates sobre cómo será la siguiente generación de la tecnología
de BD
• De uso común:
◦ Las BD orientada a objetos.
◦ Una BD basada en SQL con extensiones orientadas a objetos.
• Razones a favor de la segunda opción (modelo objeto -relacional):
◦ Las BD objeto - Relacionales (ej.: Oracle 8i) son compatibles en sentido ascendente con las
BD relacionales actuales (que además son familiares a los usuarios):
▪ Los usuarios pueden pasar sus aplicaciones actuales sobre BD relaciones al nuevo modelo
sin tener que reescribirlas.
▪ Posteriormente se pueden ir adaptando las aplicaciones y BD para que utilicen las
funciones orientadas a objetos.
◦ Las primeras BD orientadas a objetos puras no admitían las capacidades estándar de consulta
ad hoc de las BD SQL:
▪ Esto hace problemático realizar la interfaz entre las herramientas SQL estándar y las BD
orientadas a objetos puras.

Comparación entre BDR y BDOO

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 79
Bases de Datos II – Licenciatura en Sistemas de Información

• Comparaciones
• Ambos tipos de BD se encuentran disponibles en el mercado.
• Los puntos fuertes de los varios tipos de sistemas de BD pueden resumirse de la manera
siguiente:
◦ Sistemas relacionales: tipos de datos sencillos, lenguajes de consulta potentes, protección
elevada.
◦ Bases de datos orientadas a objetos basadas en lenguajes de programación persistentes:
tipos de datos complejos, integración con los lenguajes de programación, elevado
rendimiento.
◦ Sistemas relacionales orientadas a objetos: tipos de datos complejos, lenguajes de consulta
potentes, protección elevada.
• Estas descripciones son validas en general:
◦ Algunos sistemas de BD no respetan estas fronteras.
• Ejemplo: algunos sistemas de BD orientados a objetos se implementan sobre sistemas de BD
relacionales.
• Puede que estos sistemas proporcionen menor rendimiento que los sistemas de BD orientados a
objetos construidos directamente sobre los sistemas de almacenamiento.
• Proporcionan en parte las garantías de protección más estrictas propias de los sistemas de BD
relacionales.
• Comparación entre modelo de datos OR y OO.
Característica Objeto-Relacional (SQL) Orientado a Objetos Puro (ODMG)

Identidad de Objetos (OID) Soportada mediante el tipo REF Soportada


Encapsulación Soportada a través de UDTs Soportada pero se rompe para las
consultas

Herencia Soportada (jerarquías separadas para los Soportada


UDTs y tablas)

Polimorfismo Soportada Soportada

Objetos complejos Soportada mediante UDTs Soportada

Interrelaciones Soporte completo con restricciones de Soportada (por ejemplo, usando bibliotecas
integridad referencial definidas por usuario de clases)

• Comparación entre acceso a datos OR y OO.


Característica Objeto-Relacional (SQL) Orientado a Objetos Puro (ODMG)

Creación y acceso a Datos Persistentes Soportada pero no de forma transparente Soportada, pero el grado de transparencia
depende del producto concreto.

Facilidad de Consulta “Ad Hoc” Sí, soportada complemente Soportada a través de ODMG.

Navegación Sí (mediante tipo REF) Sí, soportada complemente

Restricciones de Seguridad Sí, soportada complemente No soportada

Evolución de Esquemas Soportada mediante UDTs Soportada, pero el grado de soporte


depende del producto concreto.

• Comparación entre compartición de datos OR y OO.


Característica Objeto-Relacional (SQL) Orientado a Objetos Puro (ODMG)

Transacciones ACID Si, soportada completamente Si

Encapsulación Si, soportada completamente Si, pero el grado de soporte depende del
producto concreto

Herencia No Si, pero el grado de soporte depende del


producto concreto

Polimorfismo Si, soportada completamente Sí, pero con limitaciones

• Conclusiones:
◦ El modelo relacional permite un modelado sencillo, consultas potentes y una protección
elevada.
◦ El modelo orientado a objetos es más adecuado para la gestión de tipos de datos complejos,
permite la integración con otros lenguajes y presenta un buen rendimiento.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 80
Bases de Datos II – Licenciatura en Sistemas de Información

◦ El modelo relacional de objetos conjuga ambos, permite definición de tipos de datos


complejos, lenguajes de consulta potentes y protección elevada.
◦ En la actualidad están más implantados los ORDBMS que OODBMS

La Orientación a Objetos en el Mundo Relacional: BDROO

• BD objeto-relacionales:
◦ Ventajas:
▪ Resuelven muchas de las debilidades de BD relaciónales ya conocidas.
▪ Reutilización y compartición.
▪ Mejora significativa de la productividad.
▪ Preservar el significativo cuerpo de conocimientos y experiencia alcanzado con las BD
relaciónales.
◦ Inconvenientes:
▪ Mayor complejidad.
▪ Mayores costes.
▪ Los partidarios del modelo relacional creen que la simplicidad y pureza de éste se ha
perdido.
▪ Todo el esfuerzo asociado con la extensión objeto-relacional puede que sólo sea útil, al
final, para un porcentaje muy pequeño de las aplicaciones.
▪ Los puristas de la OO siguen rechazando cualquier idea de extensión (evolución).
▪ Ahora el SQL se ha vuelto extremadamente complejo (SQL-2003 ocupa más de 2000
páginas).
• Los objetos han entrado en el mundo de las BD relacionales:
◦ En forma de dominios.
◦ Como tablas de objetos.
• En forma de dominios, actuando como el tipo de datos de una columna. Las implicaciones de
utilizar una clase como un dominio son:
◦ Es posible almacenar múltiples valores en una columna de una misma fila ya que un objeto
suele contener múltiples valores:
▪ Si se utiliza una clase como dominio de una columna, en cada fila esa columna sólo
puede contener un objeto de la clase (se sigue manteniendo la restricción del modelo
relacional de contener valores atómicos en la intersección de cada fila con cada columna).
◦ Es posible almacenar procedimientos en las relaciones porque un objeto está enlazado con el
código de los procesos que sabe realizar (los métodos de su clase).
• Construyendo tablas de objetos:
◦ Cada fila es un objeto.
• Un sistema objeto-relacional es un sistema relacional que permite almacenar objetos en sus
• Tablas:
◦ La BD sigue sujeta a las restricciones que se aplican a todas las BD relacionales.
◦ La BD conserva la capacidad de utilizar operaciones de concatenación (join) para implementar
las relaciones “al vuelo”.
• Productos software:
◦ DB2 Universal Database de IBM (Http://www.ibm.com)
◦ Universal Server de Informix (ahora de IBM) (http://www.infomix.com)
◦ Ingres II, computer associates (http://www.ingres.com)
◦ Oracle, de Oracle Corporation (http://www.oracle.com)
◦ Sybase, de Sybase (http://www.sybase.com)
• Oracle

Relacional Objeto-Relacional
Tabla
De Vista de
Contenidos Objetos
Tipos
Tabla Vista Def.
Usuarios
Tipos
Predefinidos Tablas
De
Tipos Vistas Tablas
Tablas Vistas de Objetos
Predefinidos
Vistas Objetos

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 81
Bases de Datos II – Licenciatura en Sistemas de Información

• Tipos predefinidos:
• Carácter (CHAR, VARCHAR2, NCHAR, NVARCHAR2, LONG).
• Numéricos (NUMBER, INTEGER, FLOAT)
• DATE
• ROWID
• LOB (CLOB, BLOB, BFILE)
• …
• Tipos definidos por el usuario:
◦ Tipos distintos (como en SQL).
◦ Tipos estructurados tipos de objeto.
◦ Tipo REF (referencia).
◦ Tipos colección.
• Tipos estructurados
CREATE OR REPLACE type dirección (
Calle VARCHAR2 (30),
Ciudad VARCHAR2 (20),
Provincia VARCHAR2 (2),
Codigop VARCHAR2 (5));
CREATE OR REPLACE TABLE persona (
nombre VARCHAR2(30),
vive_en dirección,
foto BLOB);
• Tipos Objeto y Tipos REF
CREATE OR REPLACE TYPE Empleado AS OBJECT
( Dni NUMBER,
Nombre VARCHAR2 (30),
Fecha_nac DATE,
Pertenece_a REF Departamento,
MEMBER FUNCTION Edad RETURN NUMBER);
CREATE TABLE Tabla_Empleado OF Empleado
• Tipos Colección: VARRAY (vectores SQL)
CREATE OR REPLACE TYPE Telefono AS VARRAY(3) OF VARCHAR(10);
CREATE TABLE Empleado
(DNI NUMBER,
Nombre VARCHAR2(30),
Telefonos_contacto telefono);
INSERT INTO Empleado VALUES ('9876543', 'Pepe', telefono('914445566','606445566','934445566'))
• Tipos colección: Nested Table (tablas anidadas)
C1 C2 Tabla_C

C' C''

C' C''

Proyecto Plano
<<Persistent>> <<Persistent>>
<<PK>> Proyecto_ID <<PK>> Plano_ID
<<AK>> Nombre <<MA>> Arquitecto

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 82
Bases de Datos II – Licenciatura en Sistemas de Información

CREATE TYPE plano AS OBJECT


(Plano_ID NUMBER,
Numero_f¡guras NUMBER,
Arquitectos tipo_nombre);
CREATE TABLE t_plano OF plano (PRIMARY KEY (plano_ID));
CREATE OR REPLACE TYPE lista_planos AS TABLE OF ref plano;

CREATE TYPE proyecto AS OBJECT


(Proyecto_ID NUMBER,
Nombre VARCHAR(30),
Tiene_plano lista_planos);

CREATE TABLE t_proyecto OF proyecto


(PRIMARY KEY (proyecto_ID),
UNIQUE (nombre))
NESTED TABLE tiene_plano STORE AS tabla_planos;

INSERT INTO t_plano VALUES (1,5,NULL);


INSERT INTO t_plano VALUES (2,4,NULL);
DECLARE p1_ref REF piano; p2_ref REF piano;
BEGIN
SELECT REF(t_plano) iNTO p1_ref FROM t_plano WHERE plano_id=1;
SELECT REF(t_plano) iNTO p2_ref FROM t_plano WHERE plano_id=2;
INSERT INTO t_proyecto VALUES (1, 'MIDAS',lista_planos(p1_ref,p2_ref));
END;
• Tipos colección: Nested Table vs. Varray
Varray Nested Table

Tamaño máximo Si No

Borrado de elementos independientes No Si

Almacenamiento de datos In-Line Out-Of-Line

Mantenimiento del orden Si No

Arquitectura de un Gestor Relacional Orientado a Objetos

• Arquitectura
Respuestas específicas para cada campo de aplicación mediante
módulos independientes que interactúen con el Sistema
Administrador de Bases de Datos Relacional (RDBMS). Módulo
Específico 1
Se incorpora el Used-Defined Data Type Manager (UDTM) que
hace e interfaz entre cada uno de los módulos y el RDBMS. Módulo
Específico 2 Used-Defined
Gestor
Se van incorporando los Módulos específicos necesarios. Data Type
Relacional
Módulo Manager
El conjunto constituye el Sistema Administrador de ases de Datos Específico 3
Relacional de Objetos (ORDBMS).
Módulo
El ORDBMS actuará sobre las Bases de Datos. Específico 4

Con ello, se tiene el sistema de Bases de Datos completo. Gestor Objeto-Relacional

Bases de Datos

• Arquitectura de Oracle.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 83
Bases de Datos II – Licenciatura en Sistemas de Información

Procesos Demonios

System Global Area

Procesos
servidores

Archivos de Archivos de
Datos Datos

Usuarios

Archivos de
Control
• Arquitectura de la System Global Area de Oracle.

• Procesos demonios de Oracle:


◦ System monitor (SMON).
◦ Database tiritera (DBWR)
◦ Log writer (LGWR).
◦ Checkpoint (CKPT).
◦ Process monitor (PMON).
◦ Archiver (ARCH).
◦ Recoverer (RECO).
◦ Dispatcher (DNNN).

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 84
Bases de Datos II – Licenciatura en Sistemas de Información

Estructuras de datos manejadas por Oracle.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 85
Bases de Datos II – Licenciatura en Sistemas de Información

• Arquitectura de DB2: Espacios para tablas.

Sistema

Instancia

Base de Datos

Grupo de Particiones de Base De Datos

Espacios para Tablas:


● Tablas
● Índices
● Datos largos

• Arquitectura de DB2: Espacios para tablas.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 86
Bases de Datos II – Licenciatura en Sistemas de Información

• Contenedores y espacios de tablas en DB2:


Bases de Datos de Objetos o Conceptual Objetos físicos equivalentes

Instancia

Base de Datos

Contenedores
Grupo de Particiones de Base De Datos

Espacios para Tablas: Espacio de Sistema Administrado


● Tablas (SMS)
● Índices
● Datos largos
Espacio de Base de Datos Administrado
(DMS)

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 87
Bases de Datos II – Licenciatura en Sistemas de Información

• Contenedores y Bases de Datos en DB2.


Bases de Datos

HUMANRES
Espacio de tablas

EMPLOYEE
Tabla

DEPARTMENT
Tabla

PROJECT
Tabla

D:\DBASE1 E:\DBASE1 F:\DBASE1


Contenedor 0 Contenedor 1 Contenedor 2

G:\DBASE1 H:\DBASE1
Contenedor 3 Contenedor 4

• Tipos de espacios de Tablas en DB2.


Bases de Datos

Espacio regular de tablas Espacio temporal de tablas Espacio de tablas larga

Tablas: Tablas:
● Sistema de espacios
● Los datos del usuario ● Objetos multimedia u
temporales de tablas.
Son almacenados aquí. Otros datos de objetos
● Usuario de espacios largos.
temporales de tablas.

• Vistas (tablas virtuales) en DB2.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 88
Bases de Datos II – Licenciatura en Sistemas de Información

• Índices en DB2.
Columna

Índice A Tabla A

17 Fila 47 ABC

19 17 QRS

47 85 FCP

81 81 MLI

85 93 CJP

87 87 DJS

93 19 KMP

Consideraciones para la Definición de Nuevos Tipos de Datos

• SQL: 1999 – Modelo Objeto-Relacional


• Se extiende el SQL-92 incorporando:
• Tipos Abstractos de Datos (TAD):
▪ Estructuras de Datos:
• Tipos de Objetos Grandes, LOB (Large Objects).
• Tipos definidos por el usuario (distintos y estructurados).
• Tipos fila (ROW) y referencia (REF).
• Tipos colección (Sets, List y MultiSets).
▪ Métodos (Comportamento):
• Procedimientos y funciones almacenadas definidas por el usuario.
• Beneficios de la extensión:
◦ Tipos de Datos Abstractos: gestión de información más compleja (datos y comportamiento).
◦ Mayor capacidad expresiva para modelar conceptos y asociaciones.
◦ Reusabilidad, propio de la orientación a objetos.
◦ Integración de lenguajes: relacional, de objetos, XML, etc.
◦ Mayor capacidad de consulta (consultas anidadas, recursivas, almacenadas, etc.

SQL3

• Aspectos de objetos en SQL


• Las partes del estándar SQL actual que incluyen aspectos directamente relacionados con la
extensión objeto – relacional:
◦ 1- Framework: introducción con el marco de trabajo conceptual general.
◦ 2- Foundation: define nuevos tipos de datos y constructores, tipos definidos por el usuario,
rutinas definidas por el usuario, etc., incluyendo la sintaxis detallada en SQL.
◦ 4- Persistent stored modules (SQL/PSM): documenta los procedimientos almacenados, tanto
los expresados en SQL como los externos en otros lenguajes. Aporta la completitud
computacional necesaria para escribir rutinas (estructuras de control, etc.).
◦ 11- Information and Definition Schemas (SQL/Schemata): establece las estructuras y
contenido del definition_schema, es decir, los metadatos internos.
• Añadidos objetuales en SQL: 1999 y SQL-2003
◦ Identidad de objetos (Identity column type)
◦ Objetos grandes (Large Objects, LOBs)
▪ Binarios (BLOB)
▪ Carácter (CLOB)
◦ Tipos definidos por el usuario (user-defined types, UDTs)
▪ Tipos distintos (Distinct types)
▪ Tipos estructurados (Structured Types)
◦ Constructores de tipos
▪ Tipos de Filas (Row Types)

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 89
Bases de Datos II – Licenciatura en Sistemas de Información

▪ Tipos por referencia (Reference Types)


◦ Tipos colección (Collections)
▪ Vectores (Arrays)
▪ Multiconjuntos (Multisets)
• Funciones y procedimientos (y métodos) definidos por el usuario
◦ Functions, procedures
• Jerarquías de tablas y de vistas
◦ Sub/supertables, sub/superviews
• Principales beneficios de la extensión objeto-relacional
• Extensibilidad: capacidad de ampliar el sistema de tipos para dar soporte a las nuevas
necesidades de las aplicaciones.
◦ Nuevos tipos de datos que representen mejor el dominio de la aplicación.
◦ Nuevas operaciones para soportar el comportamiento de los tipos.
• Poder de expresión: necesidad de soportar objetos y relaciones complejas.
• Reusabílídad: capacidad de compartir librerías de tipos existentes.
• Integración: de los modelos relacional y objetos en un solo lenguaje.
• Nuevas consultas más potentes: recursivas, multimedia, etc.
• Identidad de objetos
• Una tabla base puede incluir una columna identidad.
◦ Desempeñan una funcionalidad similar al OID.
◦ El tipo de la columna identidad debe ser un numérico exacto con escala empezando en 0
(Integer, etc.).
◦ Cada columna identidad tiene los siguientes valores:
◦ Valor inicial, incremento, valor máximo. Valor mínimo, y opción de ciclo.
◦ Al añadir una fila a una tabla, el valor de la columna identidad es generado siempre por el
sistema (GENERATED ALWAYS) o sólo en caso de que el usuario no lo facilite (GENERATED BY
DEFAULT).
• Ejemplo:
CREATE TABLE piezas (
Num_pieza INTEGER
GENERATED ALWAYS AS IDENTITY (
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 10000
NO CYCLE),
descripción VARCHAR(100),
cantidad INTEGER)
• Clasificación de los tipos de datos en SQL-2003:
◦ Predefinido (PREDEFINED):
▪ Numéricos, caracteres, booleano, datetime, intervalos, XML.
◦ Construido (CONSTRUCTED):
▪ Atómico
• Tipo referencia (REFERENCE TYPE)
▪ Compuesto
• Colecciones
◦ Vector (ARRAY), multiconjunto (MULTISET)
• Tipo fila (ROW TYPE)
◦ Definido por el usuario (USER-DEFINED)
▪ Distinto (DISTINCT)
▪ Estructurado (STRUCTURED)
• Objetos grandes
• Large object (LOB)
◦ Tipos de datos predefinidos de longitud variable con gran capacidad de almacenamiento
(hasta gigabytes).
◦ Dos tipos LOB:
▪ Binarios (BLOB): Binary Large Object (audio, imagen, vídeo)
▪ Carácter (CLOB): Character Large Object (texto)

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 90
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Se mantienen directamente en la BD, no en ficheros externos.


◦ El tamaño máximo se puede indicar en la definición (KB, MB o GB).
• Ejemplo:
CREATE TABLE libro (
Título VARCHAR (200),
Id_libro INTEGER,
Resumen CLOB (32K),
Texto_lib CLOB (20M),
Película BLOB (2G)
);
• Los tipos LOB pueden ser insertados, actualizados y recuperados como cualquier otro tipo. Para
ello es necesario definir buffers de tamaño suficiente.
• Los locators facilitan la manipulación de los LOBs grandes (GB) por las aplicaciones.
• Los LOBs están excluidos de algunas operaciones y restricciones:
◦ GREATER THAN, LESS THAN.
◦ PRIMARY KEY, FOREIGN KEY, UNIQUE.
◦ GROUP BY, ORDER BY.
◦ UNION, INTERSECT, EXCEPT.
◦ JOINS (como columnas del JOIN).
• Algunas operaciones soportadas por los LOBs:
◦ Recuperar un valor (o parte de el).
◦ Reemplazar un valor.
◦ Predicado LIKE.
◦ Concatenación.
• Y algunas funciones: SUBSTRING, POSITION, LENGH, TRIM.
• Tipos definidos por el usuario: User-Defined Type (UDT)
• Junto con los métodos que tienen asociados, aportan la funcionalidad de las clases de objetos en
programación OO.
◦ Entonces, ¿para que siguen siendo necesarias las tablas?
◦ Para dar persistencia a los UDTs.
• Son de dos tipos:
◦ Distintos (DISTINCT)
◦ Estructurados (STRUCTURED).
• Una definición de un UDT consta de:
◦ Una o más definiciones de atributos.
◦ Cero o más declaraciones de métodos (rutinas).
◦ Cero o más declaraciones de operadores.
• Los métodos más significativos son:
◦ Observador (observer), para retornar el valor actual.
◦ Mutador (mutator), para asignar valor. SET().
◦ Constructor (constructor), para crear nuevas instancias. GET().
• Tipos Definidos por el Usuario – Distintos: Tipos Distintos (Distinct)
• Son UDTs basados en algún tipo predefinido.
• Se basan en el renombrado de tipos:
◦ Comparten los mismos valores y la misma representación que el tipo predefinido.
◦ Tienen distinto comportamiento.
◦ El tipo distinto no es comparable con el tipo fuente.
• Ejemplo:
CREATE TYPE DNI AS VARCHAR(9) FINAL;
• Operaciones definidas sobre los tipos distintos:
◦ Operadores de comparación.
◦ Operadores de cast (conversión de tipo).
◦ Métodos y funciones.
◦ No existe herencia entre tipos distintos.
SQL: 1992 no es fuertemente tipado
CREATE TABLE sala (
IdSala CHAR(10),
LongSala LONG,

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 91
Bases de Datos II – Licenciatura en Sistemas de Información

AnchoSala INTEGER,
AreaSala INTEGER,
PerimSala INTEGER));

UPDATE Sala SET AreaSala = LongSala;


¡¡¡Misma representación de INTEGER pero de distinto COMPORTAMIENTO!!!
SQL:1999/2003 sí es fuertemente tipado
CREATE TYPE tiposala AS CHAR(10) FINAL;
CREATE TYPE tipometros AS INTEGER FINAL;
CREATE TYPE tipometroscuad AS INTEGER FINAL;
CREATE TABLE sala (
IdSala tiposala,
LongSala tipometros,
AnchoSala tipometros,
AreaSala tipometroscuad,
PerimSala tipometros));
UPDATE sala SET AreaSala = LongSala;

Error
UPDATE sala SET AnchoSala = LongSala;

Correcto
• Tipos definidos por el usuario: Tipos Estructurados (Structured Types)
◦ Son UDTs con nombre, formados por una lista de atributos.
◦ Cada atributo tiene un tipo de dato y un valor por defecto.
◦ Cada valor de un tipo estructurado contiene los valores de sus atributos.
◦ Los valores de los atributos están encapsulados => sólo son accesibles invocando su función
observador (observer).
• Herencia:
◦ Un tipo estructurado puede heredar (ser definido a partir de) otro tipo estructurado.
▪ Subtipo (subtype)
▪ Supertipo (supertype)
◦ Un subtipo hereda todos los atributos de su supertipo y puede tener atributos adicionales
propios.
◦ Sustitución: un subtipo puede aparecer en cualquier lugar donde alguno de sus supertipos
está permitido.
• Tipos estructurados no instanciables
◦ Son supertipos que no pueden admitir instancias salvo a través de alguno de sus subtipos (no
admiten el método constructor).
◦ Aportan la funcionalidad de las clases abstractas.
CREATE TYPE PERSON AS
(name VARCHAR (30),
address ADDRESS,
sex CHAR(1))
NOT INSTANTIABLE NOT FINAL
• Generalización de Tipos:
◦ Es posible crear jerarquías de tipos múltiples.
CREATE TYPE persona … NOT FINAL
CREATE TYPE universitario UNDER persona ... NOT FINAL
CREATE TYPE profesor UNDER universitario ... NOT FINAL
CREATE TYPE alumno UNDER universitario ... NOT FINAL
CREATE TYPE becario UNDER alumno ... NOT FINAL
• Los tipos estructurados se pueden usar como:
◦ Tipos de columnas:
▪ Permiten modelar atributos de las entidades
▪ Ej: dirección, coordenadas, fecha, ...
▪ Permiten mejorar el soporte para objetos multimedia (SQL/MM)
• Tipos de fila (row types):

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 92
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Permiten modelar entidades con relaciones y comportamiento


◦ Ej: empleado, departamento, alumno...
◦ Permiten mejorar el soporte para objetos de negocio
◦ Una tabla declarada con un tipo estructurado como su tipo fila se llama tabla tipada (typed
table).
▪ Las columnas de una tabla tipada corresponden en nombre y tipo a los atributos del tipo
estructurado declarado como su tipo fila.

• Se pueden usar en cualquier sitio donde se pueda usar un tipo predefinido:


◦ Atributos de otros tipos estructurados
◦ Parámetros de funciones, métodos y procedimientos
◦ Variables SQL
◦ Dominios o columnas
CREATE TYPE dirección AS (
Calle CHAR (30),
Ciudad CHAR (20),
Provincia CHAR (2),
Codigop CHAR (5));
CREATE TYPE bitmap AS BLOB FINAL;
CREATE TYPE finca AS (
Propietario REF (persona),
Precio dinero,
Habitaciones INTEGER,
Tamaño DECIMAL (8,2),
Ubicación dirección,
Imagen bitmap) NOT FINAL
También se pueden usar para definir tablas y vistas (tipadas).
CREATE TABLE propiedades OF finca
• Inserción:
BEGIN
DECLARE u libro_udt; → Declaración de la variable
SET u libro(); → Constructor
SET u = u.titulo ('la perla');
SET u = u.prec¡o_compra(10.00); Funciones mutador
SET u = u.precio_venta(20.00);
INSERT INTO libro VALUES (u,'111');
END;
• ¿Por qué no usar directamente una asignación así?
• u.títle = ’la perla’;
• Porque se viola el encapsulamiento (sólo los métodos pueden acceder a los atributos).
• Creación e inserción:
INSERT INTO libro VALUES
(NEW libro.udtforca1, 12.50, 14.50), '222');
• New invoca al método constructor e implícitamente a los métodos mutadores.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 93
Bases de Datos II – Licenciatura en Sistemas de Información

• Selección:
SELECT libro_columna, codigo
FROM libro;
SELECT codigo, libro_columna.titulo() Funciones observador
FROM libro WHERE libro_columna.precio_venta() > 20;
• Tipos definidos por el usuario - tablas tipadas
• Las tablas tipadas o referenciables están basadas en UDTs:
◦ No se les pueden agregar atributos adicionales ejemplo:
◦ CREATE TABLE libro OF libro_udt;
• No se requieren las funciones mutador ni observador:
◦ INSERT INTO libro VALUES('klng kong en china’,30,40);
◦ SELECT * FROM book;
◦ SELECT titulo, beneficio() AS beneficio FROM libro WHERE titulo LIKE '%día%';
• Tipos construidos – filas: Tipo Fila (Row Type)
◦ Secuencia de uno o más campos (fields).
◦ Campo: un par (nombre de campo, tipo de dato).
◦ Se utiliza la nomenclatura de punto.
◦ Son el tipo asociado a una tabla tipada.
CREATE TABLE empleado (
id_emp INTEGER,
nombre ROW (
N_de_pila VARCHAR(30),
apellido VARCHAR(30)),
dirección ROW (
Calle VARCHAR(50),
Ciudad VARCHAR(30),
Provincia CHAR(2),
Salario REAL);
SELECT E.nombre.apellido
FROM empleado E;
• Tipos construidos - referencia
• Tipo referencia (reference type)
◦ Sus valores referencian (apuntan) a una fila de una tabla tipada (similar a punteros en C).
◦ El tipo fila de la tabla referenciada se llama tipo referenciado.
◦ Los tipos referencia se pueden utilizar donde los demás tipos.
• Tres maneras de asignar valores:
◦ Generados por el usuario REF USING <tipo predefinido>
▪ CREATE TYPE propiedades AS (.........)
▪ NOT FINAL REF USING INTEGER
◦ Generados por el sistema REF IS [<columna>] SYSTEM GENERATED REF IS SYSTEM
GENERATED.
◦ Derivados de un conjunto de atributos REF (<atributos>)
▪ CREATE TYPE persona AS (nss INTEGER, nombre CHAR(20), ...)
▪ NOT FINAL REF (nss)
• Tipos referencia vs integridad referencial
◦ Las referencias no tienen la misma semántica que la restricción de integridad referencial.
◦ La integridad referencial implica una dependencia de inclusión y las referencias no.
◦ La integridad referencial no soporta la noción de tipado fuerte: se comprueba que el valor es
el mismo pero no se obliga a que ambos tipos de datos sean exactamente el mismo.
• Utilidad de los Tipos de Referencia.
• Combinaciones sin necesidad de usar JOIN
SELECT f.precio, f.propietario->nombre
FROM finca f
WHERE ciudad=”Madrid"
• Llamada a métodos
SELECT e.nombre, e.departamento->num_empleados () FROM empleado E
• Obtención de datos a los que se referencia
SELECT e.nombre, DEREF(e.departamento)

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 94
Bases de Datos II – Licenciatura en Sistemas de Información

FROM empleado E
WHERE E.nombre=”J. Pérez”
• Los tipos referencia

• Tipos construidos - referencia


• Ejemplo - libro vs capítulo
◦ Tabla libro
▪ CREATE TABLE libro OF libro_udt;
◦ Tabla capítulo
CREATE TABLE capitulo (
Libro_ref REF(libro_udt) NOT NULL
scope libro REFERENCES ARE CHECKED
ON DELETE CASCADE,
resumen VARCHAR(100),
fcontenido VARCHAR(2000),
nro_capitulo INTEGER
);
• Añadir capítulo:
◦ INSERT INTO capitulo SELECT mi_ref, ‘historia de cantabria', '...y los romanos ocuparon el
paso...', 1 FROM libro WHERE titulo = 'historia universal extraña';
• Listar el título de cada libro y el contenido de sus capítulos ordenados por número de capítulo
◦ SELECT libro_ref —> titulo, contenido FROM capitulo
ORDER BY libro_ref titulo, nro_capitulo;
• Listar el resumen del primer capítulo de cada libro, su título y su beneficio, ordenados por título
◦ SELECT resumen AS resumen, (libro_ref —> titulo) AS titulo, (libro_ref —> beneficio()) AS
beneficio
FROM capitulo
WHERE nro_capitulo = 1
ORDER BY titulo
• Tipos construidos - colecciones
• Colecciones (collections)
◦ Cero o más elementos de un tipo especificado, conocido como tipo Elemento.
◦ Permiten representar columnas multivaluadas, es decir, que en cada celda de la tabla puede
haber más de un valor (violando la primera forma normal).
◦ También permiten generar tablas anidadas, es decir, tablas donde alguna columna contiene
otra tabla.
• Hay dos clases:
◦ Vector (array)
▪ Colección ordenada de valores no necesariamente diferentes, cuyos elementos se
referencian por su posición ordinal.
◦ Multiconjunto (multiset)
▪ Colección no ordenada de valores no necesariamente distintos.
• Vectores (arrays)
◦ Características:
▪ Diferencia entre la longitud máxima y la actual (como el char varying)
▪ Pueden definirse sobre cualquier tipo (excepto array).
▪ Pueden definirse arrays en "cualquier sitio".
• Operaciones:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 95
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Acceso a los elementos por un número ordinal.


◦ Cardinalidad (N° de elementos).
◦ Comparación.
◦ Constructores.
◦ Asignación.
◦ Concatenación (||).
◦ Conversión explícita (CAST).
◦ Facilidades de selección declarativa sobre arrays (por contenido o por posición,
transformación implícita de un array en una tabla...).
Ejemplo
Vectores
Create table libro {
Título varchar (200),
Id_librointeger,
Autoresvarchar (15) array [20],
Resumen clob (32k),
Texto_lbro clob (20m),
Película blob (2g));
Insert into libro (título, idjibro, autores)
Values (“a guide to the SQL standard”, 15, [‘date’, ‘darweiv])
Select id, autores[1] as nombre from libro
• Multiconjuntos (multisets)
◦ Características:
▪ Colección de elementos homogéneos, sin orden, y que permite elementos repetidos.
▪ Permiten definir columnas que contengan colecciones de elementos (=> no cumplen con
la 1FN).
▪ Se pueden definir por enumeración o por una expresión de consulta:
• MULTISET [1, 2, 3, 4]
• MULTISET (SELECT nombre FROM provincias)
◦ Operaciones:
▪ Eliminar duplicados (SET).
▪ Unión (UNION).
▪ Intersección (INTERSECT).
▪ Diferencia (EXCEPT).
▪ Convertir en tabla virtual (UNNEST).
▪ Extraer un elemento (ELEMENT).
• Ejemplo:
Multiconjuntos
Create table película {
Título varchar (200),
Id_película integer,
Actores varchar (15) multiset,
Resumen clob (32k),
Película blob (2g));
Insert into película (título, id_película, actores)
Values (“top gun", 3, multiset [tom cruise /kelly mcgillis ,'val kilmer’]);
• Módulos y rutinas
• Módulos (modules)
◦ Contienen una o varias rutinas (routines).
◦ Los que forman parte de un esquema SQL se llaman módulos de servidor SQL (SQL-server
module).
◦ Los rutinas pueden estar escritas en SQL o no, y ser invocadas desde SQL o desde otro
lenguaje (cuatro posibilidades).
◦ Las rutinas invocables desde SQL son de tres clases (SQL-invoked routine):
▪ Funciones SQL (SQL functions).
• Métodos (methods): funciones definidas para un udt específico.
▪ Procedimientos SQL (SQL procedures).
▪ Funciones y procedimientos externos (no escritos en SQL).

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 96
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Un "SQL-server module" sólo puede incluir "SQL-invoked routines".


◦ Sobrecarga: dos o más rutinas con el mismo nombre.
▪ Se ejecuta la rutina cuya signatura encaje mejor con los argumentos de la invocación.
• Métodos (METHOD)
◦ Una función SQL asociada a un UDT.
◦ La signatura se define en el esquema dentro de la definición del UDT (CREATE TYPE ...
METHOD ...).
◦ El cuerpo se define aparte, bien en el esquema directamente o en un módulo (CREATE
METHOD ... BEGIN ... END).
Create type empleado as ( id integer,
Nombre varchar (20) salario_base decimal (9,2) bono decimal (9,2)
Instantiable not final
Method salario() returns decimal (9,2));
Create method salario(...) For empleado
Begin
......RETURN (coste - gastossociales);
End;
Se invocan utilizando la notación "punto":
Select e.salario()
From empleado e
• Un método puede ser:
◦ Original (original), si es heredado sin más del supertipo)
◦ Sobrecargado (overriding), si se define en el subtipo con el mismo nombre que un método
heredado de algún supertipo).
▪ La asignación se hace mediante vinculación dinámica.
Create type empleado as { id integer,
Nombre varchar (20),
salario_base decimal (9,2),
bono decimal (9,2))
Instantiable not final
Method salario() returns decimal (9,2);
Create type manager under empleado as ( stock_option integer)
Instantiable not final
Overriding method salarioq returns decimal (9,2),
method original1() returns integer
• Métodos vs resto de funciones
◦ Los métodos están asociados a un solo udt; el resto de funciones no.
◦ El UDT de un método es el tipo del argumento distinguido para el método (el primero, que no
se declara); el resto de funciones no tiene argumentos distinguidos.
◦ La vinculación o asignación de una entre varias funciones cuando existen varias posibles a
elegir en una invocación, es diferente:
▪ Métodos: dinámica (en tiempo de ejecución).
▪ Resto de funciones: estática (en tiempo de compilación).
◦ Un método debe ser almacenado en el mismo esquema en el cual se almacena la definición
de su UDT; las funciones no están limitadas a un determinado esquema.
◦ Ambos pueden ser escritos en SQL gracias a la completitud computacional que proporciona
SQL/PSM.
• Jerarquías de tablas y vistas
• Una tabla TB1 es subtabla de otra TB2 si
◦ TB1 es una tabla tipada con tipo estructurado asociado TS1.
◦ TB2 es una tabla tipada con tipo estructurado asociado tS2.
◦ TS1 es un subtipo de TS2.
• Una tabla TB1 es supertabla de otra TB2 si
◦ TB2 es subtabla de TB1.
• Las subtablas heredan las propiedades de las supertablas:
◦ Atributos, restricciones, disparadores, métodos, referencias, ...
• Las subvistas (subviews) y supervistas (subviews) se definen de forma equivalente.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 97
Bases de Datos II – Licenciatura en Sistemas de Información

CREATE TYPE tpersona AS … NOT FINAL


CREATE TYPE tpropiedad AS dueño REF (tpersona) … NOT FINAL
CREATE TYPE tterreno UNDER tpropiedad AS … FINAL
CREATE TYPE tcasa UNDER tpropiedad AS … FINAL

CREATE TABLE Personas OF tpersona (...)

• Consultas con jerarquías de tablas/vistas:


• Las consultas sobre la supertabla, devuelven también las filas de las subtablas
◦ SELECT * FROM propiedades WHERE ....
• Pero se puede restringir el resultado a sólo las filas de la supertabla.
◦ SELECT * FROM ONLY (propiedades) WHERE …

Resumen – Tipo de Datos

• Resumen – Objetos del Sistema

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 98
Bases de Datos II – Licenciatura en Sistemas de Información

• El esquema está compuesto por cuatro tablas


◦ Customers, con seis columnas simples (una de ellas es una columna identidad y otra una
columna generada) y una columna compleja.
◦ Music_distributors, que es tipada.
◦ Movie_stars, con seis columnas simples.
◦ Movies, con tres columnas simples y una compleja (con un tipo estructurado asociado).
• También incluye la definición de claves primarias, restricciones de unicidad, claves ajenas,
restricciones de tabla, tipos distintos, tipos colección, tipos fila, etc.
• Igualmente hay restricciones, columnas generadas e identidad, una aserción y una definición de
vista.
• Ejemplo:
CREATE SCHEMA video_and_music CREATE INSTANCE METHOD zipcode() CREATE TABLE music_distributors OF
AUTHORIZATION as_s_entreprises RETURNS CHARACTER VARYING(10) music_distributors (
DEFAULT CHARACTER SET 'Latin_1' FOR US_address REF IS dist_ref SYSTEM GENERATED,
BEGIN distributor_id WITH OPTIONS
CREATE DOMAIN price DECIMAL (7,2) IF SELF zip.plus4 IS NULL CONSTRAINT
CHECK (VALUE IS NOT 0); THEN RETURN CAST (SELF zip.basic AS music_distributors_distributor_id_not_null
CHARACTER VARYING(5)); NOT NULL,
CREATE DISTINCT TYPE money AS ELSE RETURN CAST (SELF zip.basic AS distributor_name WITH OPTIONS,
DECIMAL (9,2); CHARACTER VARYING(5)) CONSTRAINT
CAST(SELF zip.basic AS music_distributors_distributor_name_not_n
CREATE TYPE movie AS( CHARACTER VARYING(4)) ull NOT NULL);
movie_id INTEGER, ENDIF;
title CHARACTER VARING(100), END; CREATE TABLE customers (
languages MULTISET('English', 'French', nr_of_costumer INTEGER GENERATED
'Spanish', 'Portuguese','Italian'), CREATE TABLE movies ( ALWAYS AS IDENTITY (START WITH 1
genre CHARACTER VARING(20) stock_number CHARACTER(10), INCREMENT BY 1MINVALUE 1),
ARRAY(10), CONSTRAINT cust_last_name CHARACTER(35)
run_time INTEGER) movies_stock_number_not_null NOT NULL, CONSTRAINT
INSTANTIABLE movie_spec movie, customer_last_name_not_null NOT NULL,
NOT FINAL tapes_in_stock INTEGER, cust_first_name CHARACTER(35)
METHOD length_interval() CONSTRAINT movies_primary_key, CONSTRAINT
RETURNS INTERVAL HOURS(2) TO MINUTE PRIMARY KEY (stock_number)); customer_first_name_not_null NOT NULL,
cust_complete_name GENERATED ALWAYS
CREATE INSTANCE METHOD CREATE TABLE movie_stars ( AS (cust_first_name

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 99
Bases de Datos II – Licenciatura en Sistemas de Información

length_interval() movie_title CHARACTER(30), || cust_last_name),


RETURNS INTERVAL HOURS(2) TO MINUTE CONSTRAINT cust_address US_address,
FOR MOVIE movies_stock_number_not_null NOT NULL, cust_current_charges money,
RETURN CAST (CAST (SELF run_time AS movie_year_released DATE, number_of_problems SMALLINT);
INTERVAL(4)) movie_number CHARACTER(10),
AS INTERVAL HOUR(2) TO MINUTE); actor_last_name CHARACTER(35), CREATE VIEW problem_customers (last,
CONSTRAINT first) AS
CREATE TYPE music_distrib AS ( movies_stock_number_not_null NOT NULL, SELECT cust_last_name, cust_first_name
distributor_id CHARACTER(15), actor_first_name CHARACTER(25), FROM customers
distributor_name CHARACTER(25)); CONSTRAINT WHERE number_of_problems > 0.5 *
movies_stock_number_not_null NOT NULL, (SELECT MAX(number_of_problems)
CREATE TYPE address AS ( actor_middle_name CHARACTER(25), FROM costumers);
street CHARACTER VARYING (35), CONSTRAINT movies_stars_unique,
city CHARACTER VARYING (45), UNIQUE (movie_title, actor_last_name, CREATE ASSERTION
country CHARACTER (3)); actor_first_name, actor_middle_name) limit_total_movie_stock_value
NOT DEFERRABLE CHECK ((SELECT COUNT(*)
CREATE TYPE US_address UNDER address CONSTRAINT movies_stars_&_movies FROM customers
AS ( FOREIGN KEY (movie_number) WHERE number_of_problems > 5
state CHARACTER(2), REFERENCES movie (stock_number) AND cust_current_changes>150.00
zip ROW (Basic INTEGER, Plus4 SMALLINT ON DELETE CASCADE AND cust_current_changes<1000.00)
)) ON UPDATE CASCADE;
<10);
METHOD zipcode() RETURNS CHARACTER
VARYING (10);

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 100
Bases de Datos II – Licenciatura en Sistemas de Información

Tema 6: Bases de Datos Relacionales Extendidas y Otros Tipos Especiales de Bases de Datos

Sistemas de Tipo Extendido

• La implementación del soporte de un Sistema de Tipo Extendido (SGBDOR) con sus funciones
asociadas (operaciones) presenta las siguientes cuestiones:
◦ El SGBDOR debe enlazar (link) dinámicamente una función definida por el usuario (para
operar con datos espaciales de dos o tres dimensiones, imágenes, texto, etc.) En su espacio
direccionable sólo cuando se requiera:
▪ Para ahorrar espacio de direccionamiento.
▪ El enlazado dinámico está disponible en Oracle y DB2.
◦ Los problemas del entorno cliente-servidor consisten en la ubicación y activación de
funciones:
▪ Si el servidor necesita ejecutar una función, es mejor hacerlo en el espacio de
direccionamiento del SGBD que de forma remota, debido a la sobrecarga.
▪ Puede haber sobrecarga en el servidor:
• Puede enviar la función a otra máquina.
◦ Sería posible ejecutar consultas dentro de funciones:
▪ Una función debe operar de la misma forma cuando se utiliza desde una aplicación
usando la interfaz del programa de aplicación (API), o cuando el SGBD la invoca como
parte del código SQL ejecutable, con la función insertada entre las sentencias SQL.
◦ Debido a la variedad de tipos de datos y sus operadores asociados es importante un
almacenamiento y acceso eficiente de los datos:
▪ Para los datos espaciales o multidimensionales pueden utilizarse estructuras
de almacenamiento especiales (ej.: Árboles R).
▪ Se debe poder definir nuevos tipos de datos con nuevas estructuras de acceso.
• El diseño de la BD objeto-relacional es complicado:
◦ Se deben tener en cuenta las consideraciones subyacentes de la semántica de la aplicación y
dependencias en el modelo relacional.
◦ La naturaleza orientada a objetos de los recursos que se utilizarán.
• Procesamiento y optimización de consultas:
◦ El SQL se amplía con funciones y reglas y resulta más complejo optimizar las consultas.
• Interacción de reglas con transacciones:
◦ El procesamiento de reglas en SQL3 es más amplio y complejo que los disparadores de los
SGBDR.
• Consideraciones para el Diseño Objeto - Relacional
Diseño Lógico
Diseño Conceptual Diseño Diseño Estándar
UML SQL-92 (BDR) Conceptual SQL: 2003/UML
ODMG (BO) En Notación
SQL: 2003 (BDOR) UML

Diseño específico
BDOR
(Oracle, DB2, ...)

Análisis Diseño Implementación

Diseño Lógico Estándar Diseño Lógico Específico

UML UML
+ +
UML Estereotipos Producto
Estereotipos SQL:2003
Diagrama de Clases
Diseño Físico

Implementación
Especificación Especificación en Producto con
SQL: 2003 En Producto Optimización

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 101
Bases de Datos II – Licenciatura en Sistemas de Información

Modelo Relacional Anidado

• Propone el uso de tablas anidadas o relaciones en forma no normal.


• Elimina la restricción de la primera forma normal del modelo relacional básico (modelo relacional
plano):
◦ Al modelo anidado se lo llama también modelo relacional no-1FN, no en primera forma
normal (NFNF).
• El modelo relacional básico requiere que los atributos:
◦ Sean mono valuados.
◦ Tengan dominios atómicos.
• El modelo relacional anidado permite atributos compuestos y multivaluados:
◦ Las tuplas son complejas y de estructura jerárquica.
• Ejemplo de relación anidada.
• Esquema de Dept:
EMPLEADOS PROYECTOS LOCALIZACIONES
DNO DNOMBRE JEFE
DEPENDIENTES
ENOMBRE PNOMBRE PLOC DLOC
DNOMBRE EDAD
• Ejemplo de una tupla de Dept no-1FN:
4 Administración Wallace Zelaya Thomas 8 Nuevos beneficios Stafford Stafford

Jennifer 6 Computación Stafford Greenway

Wallace Jack 18 Sistema telefónico Greenway

Robert 15

Mary 10

Jabbar

• Representación en árbol del esquema de DEPT:


DEPT

DNO DNOMBRE JEFE EMPLEADOS PROYECTOS LOCALIZACIONES

ENOMBRE DEPENDIENTES PNOMBRE PLOC DLOC

• Definición del esquema de DEPT:


DEPT = (DND, DNOMBRE, JEFE, EMPLEADOS, PROYECTOS, LOCALIZACIONES)
EMPLEAODS = (ENOMBRE, DEPENDIENTES)
PROYECTOS = (PNOMBRE, PLOC)
LOCALIZACIONES = (LOC)
DEPENDIENTES = (DNOMBRE, EDAD)
• En la definición de una relación anidada:
◦ Todos los nombres de atributos deben ser diferentes.
◦ Un atributo anidado normalmente es un atributo compuesto multivaluado (ej.: Proyectos):
▪ Hay un vínculo anidado dentro de cada tupla.
◦ Un atributo anidado puede ser un atributo simple multivaluado (ej.: Localizaciones).
◦ Un atributo anidado puede ser un atributo compuesto monovaluado.
• En el ej.:
◦ Es relación exterior: DEPT.
◦ Son relaciones interiores: empleados, proyectos, localizaciones, dependientes.
• Los atributos simples aparecen en el nivel de hoja y no están anidados.
• Las extensiones para relaciones anidadas del álgebra relacional, del cálculo relacional y del SQL
incluyen las operaciones:
◦ Nest:
▪ Crea una versión anidada de una relación plana.
◦ Unnest:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 102
Bases de Datos II – Licenciatura en Sistemas de Información

▪ Es la inversa de nest.
• Estas operaciones realizan la conversión entre relaciones anidadas y relaciones planas.

BD Temporales

• Las BD temporales abarcan las aplicaciones de BD que requieren algún aspecto de tiempo a la
hora de organizar la información.
• Ejemplos de aplicaciones en los que es necesario un determinado aspecto de tiempo para
mantener la información en una BD:
◦ Asistencia médica: se tienen que guardar los historiales de los pacientes.
◦ Seguros: se necesitan los historiales de reclamaciones y partes de accidentes así como la
información sobre los períodos en los que están en vigor las pólizas de seguros.
◦ Sistemas de reservas en general (hoteles, compañías aéreas, alquiler de coches, trenes,
etc.): Se requiere información sobre fechas y períodos de tiempo en los que tendrán validez
las reservas.
◦ BD científicas: los datos recogidos en los experimentos incluyen el período de tiempo en el
que se mide cada dato.
• Representación del tiempo y dimensiones del tiempo
• Para las BD temporales el tiempo se considera una secuencia ordenada de puntos de cierta
granularidad determinada por la aplicación:
◦ Ej.: Se supone que una aplicación temporal determinada nunca requiere unidades de tiempo
inferiores a un segundo.
◦ Entonces, cada punto de tiempo representa un segundo empleando esta granularidad.
• Cada segundo es una duración de tiempo (corta), no un punto. Se emplea el término crono en
lugar de punto para describir su granularidad mínima para una aplicación concreta.
• La consecuencia principal de elegir una granularidad mínima (ej.: Un segundo) es que los eventos
que tengan lugar dentro del mismo segundo se consideraran eventos simultáneos, aunque en
realidad puede que no lo sean.
• Información sobre eventos frente a información sobre duración (o estado)
• Una BD temporal almacenará información acerca de:
◦ Cuándo se producen determinados eventos, o.
◦ Cuándo se considera que determinados hechos son verdaderos.
• Existen diferentes tipos de información temporal.
• Los eventos o hechos de punto se asocian generalmente en la BD con un punto de tiempo único
de determinada granularidad:
◦ Ej.: Un evento de depósito bancario puede asociarse con la marca de tiempo en la que se
realizó el depósito.
• Los eventos o hechos de duración se asocian con un período de tiempo específico en la BD.
◦ Ej.: Un empleado puede haber trabajado en una empresa desde el 15 de agosto de 1993
hasta el 20 de noviembre de 1998.
◦ Un período de tiempo se representa mediante sus puntos de tiempo de inicio y final [tiempo-
inicio, tiempo-final].
• Dimensiones de tiempo válido y de tiempo de transacción
• Si se tiene un evento o hecho concreto que está asociado a un punto de tiempo o período de
tiempo determinado en la BD, la asociación puede interpretarse para indicar aspectos diferentes.
• Generalmente se interpreta que el tiempo asociado es el tiempo en el que ocurrió el evento o el
período de tiempo durante el cual el hecho se consideró verdadero en el mundo real:
◦ Una BD temporal que emplee esta interpretación se denomina BD de tiempo válido.
• Si el tiempo asociado hace referencia al tiempo en el que la información fue realmente
almacenada en la BD el tiempo asociado se denomina tiempo de transacción:
◦ Una BD que emplee esta interpretación será una BD de tiempo de transacción.
• Si en una BD se utilizan ambas dimensiones de tiempo se dice que es una BD bitemporal.
• Incorporacion del tiempo en BD relacionales empleando versiones de tuplas
• Relaciones de tiempo válido
• Se quiere incluir el historial de cambios, a medida que estos ocurren en el mundo real.
• La granularidad es el día.
• Se utilizan relaciones de tiempo válido añadiendo los atributos VST (valid start time: tiempo de
inicio valido) y VET (Valid end time: tiempo final valido) cuyo tipo de datos es Date.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 103
Bases de Datos II – Licenciatura en Sistemas de Información

• En emp_tv cada tupla v representa una versión de la información de un empleado que es válida
(en el mundo real) sólo durante el período de tiempo [V.VST, V.VET].
• Cada tupla de empleado representa únicamente el estado actual o la versión actual de cada
empleado.
• En emp_tv la versión actual de cada empleado tiene normalmente un valor especial, ahora, como
tiempo final válido:
◦ Ahora es una variable temporal que representa implícitamente el tiempo actual a medida que
progresa el tiempo.
• Diferentes tipos de BD relacionales temporales:
◦ (a) esquema de BD de tiempo valido.
◦ (b) esquema de BD de tiempo de transacción.
◦ (c) esquema de BD bitemporal.

(a) EMP_TV
NOMBRE NSS SALARIO ND NSS_SUPERV VST VET

TV_DEPT
NOMBRED ND SAL_TOTAL NSS_JEFE VST VET

(b) TT_EMP
NOMBRE NSS SALARIO ND NSS_SUPERV TST TET

TT_DEPT
NOMBRED ND SAL_TOTAL NSS_JEFE TST TE

(c) ST_EMP
NOMBRE NSS SALARIO ND NSS_SUPERV VST VET TST TET

ST_DEPT
NOMBRED ND SAL_TOTAL NSS_JEFE VST VET TST TET

• Algunas versiones de tuplas en las relaciones de tiempo válido TV_EMP y DEPT_TV:

TV_EMP

NOMBRE NSS SALARIO ND NSS_SUPERV VST VET

Smith 123456789 25000 5 333445555 1997-06-15 1998-05-31


Smith 123456789 30000 5 333445555 1996-06-01 AHORA
Wong 333445555 25000 4 999887777 1994-08-20 1996-01-31
Wong 333445555 30000 5 999887777 1996-02-01 1997-03-31
Wong 333445555 40000 5 888665555 1997-04-01 AHORA
Brown 222447777 28000 4 999887777 1996-05-01 1997-08-10
Narayon 666884444 38000 5 333445555 1998-08-01 AHORA

DEPT_VT

NOMBRED ND NSS_JEFE VST VET

Investigación 5 888665555 1996-09-20 1997-03-31


Investigación 5 333445555 1997-04-01 AHORA

• Las relaciones de tiempo valido llevan la cuenta de la historia de cambios a medida que van
teniendo validez en el mundo real.
• Si se aplican todos los cambios del mundo real la BD guarda una historia de los estados del
mundo real que se representan.
• Relaciones de tiempo de transacción
• Cada vez que se aplica un cambio a la BD, se registra la marca de tiempo real de la transacción
que aplicó el cambio.
• Resulta útil cuando se aplican cambios simultáneamente en la mayoría de los casos:
◦ Ej.: El comercio de mercancías en tiempo real o las transacciones bancarias.
• Aparecen las relaciones de tiempo de transacción

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 104
Bases de Datos II – Licenciatura en Sistemas de Información

• Añadiendo los atributos TST (transaction start time: tiempo inicial de transacción) y TET
(transaction end time: tiempo final de transacción).
• El tipo de datos es normalmente timestamp.
• En TT_EMP cada tupla v representa una versión de la información de un empleado que fue creada
en tiempo real V.TST y fue eliminada en tiempo real V.TET.
• En TT_EMP la versión actual de cada empleado se caracteriza por tener un valor especial, uc
(until changed: hasta cambiar), como su tiempo final de transacción:
◦ Indica que la tupla representa la información correcta hasta que se cambia debido a otra
transacción.
• Una BD de tiempo de transacción también se denomina BD de restauración (rollback):
◦ El usuario puede retroceder lógicamente al estado de la BD real en cualquier punto de tiempo
pasado T recuperando todas las versiones de tuplas V cuyo período de tiempo de transacción
[V.TST, V.TET] incluya el punto de tiempo T.
• Relaciones bitemporales
• Algunas aplicaciones requieren tanto el tiempo válido como el tiempo de transacción:
• Aparecen las relaciones bitemporales.
• Las tuplas cuyo tiempo final de transacción tet es uc son las que representan la información
válida actualmente.
• Las tuplas cuyo tet es una marca de tiempo absoluta
• Son tuplas que fueron válidas hasta (justo antes) de la marca de tiempo.
• El atributo de tiempo inicial de la transacción tst de cada tupla es la marca de tiempo de la
transacción que creó esa tupla.
• Algunas versiones de tuplas en las relaciones bitemporales bt emp tv dept.

TV_EMP

NOMBRE NSS SALARIO ND NSS_SUPERV VST VET TST TET

V1: Smith 123456789 25000 5 333445555 1997-06-15 ahora 1997-05-08, 13:05:08 1998-06-04, 06:56:12
v2: Smith 123456789 25000 5 333445555 1997-06-15 1998-05-31 1998-06-04, 08:56:12 uc
v3: Smith 123456789 30000 5 333445555 1998-06-01 ahora 1998-06-04, 08:56:12 uc
v4: Wong 333445555 25000 4 999887777 1994-08-20 ahora 1994-08-20, 11:18:23 1996-01-07. 14:33:02
v5: Wong 333445555 25000 4 999887777 1994-08-20 1998-01-31 1996-01-07, 14:33:02 uc
v6: Wong 333445555 30000 5 999887777 1996-02-01 ahora 1996-01-07, 14:33:02 1997-03-28, 09:23:57
v7: Wong 333445555 30000 5 999887777 1996-02-01 1997-03-31 1997-03-26, 09:23:57 uc
v8: Wong 333445555 40000 5 888665555 1996-04-01 ahora 1997-03-26, 09:23:57 uc
v9: Brown 222447777 28000 4 999887777 1996-05-01 ahora 1996-04-27, 16:22:05 1997-06-12, 10:11:07
v10: Brown 222447777 28000 4 999887777 1996-05-01 1997-08-10 1997-08-12, 10:11:07 uc
v11: Narayon 666884444 38000 5 333445555 1996-08-01 ahora 1996-07-28, 09:25:37 uc
...

TV_DEPT

NOMBRED ND NSS_JEFE VST VET TST TET


V12: Investigación 5 888665555 1996-09-20 AHORA 1996-09-15, 14:52:12 1996-03-28, 09:23:57
v13: Investigación 5 888665555 1996-09-20 1997-03-31 1997-03-28, 09:23:57 UC
v14: Investigación 5 333445555 1997-01-01 AHORA 1997-03-28, 09:23:57 UC

...

Bases de Datos Espaciales y Multimedia

• Bases de datos espaciales


• Proporcionan conceptos para seguir la pista de los objetos en un espacio multidimensional:
◦ Ej.: Las BD cartográficas que almacenan mapas incluyen descripciones espaciales
bidimensionales de sus objetos, desde países y estados a ríos, ciudades, carreteras, mares,
etc.
• Se emplean en muchas aplicaciones:
◦ Ej.: En la gestión medioambiental, de emergencias y de combates.
• Las BD meteorológicas son tridimensionales ya que las temperaturas y otras informaciones
meteorológicas están relacionadas con puntos espaciales tridimensionales.
• Una BD espacial almacena objetos que tienen características espaciales que los describen.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 105
Bases de Datos II – Licenciatura en Sistemas de Información

• Las principales extensiones que se necesitan para las BD espaciales son modelos que pueden
interpretar características espaciales.
• Se necesitan estructuras especiales de indexación y almacenamiento para mejorar el
rendimiento.
• Se considerarán algunas de las extensiones del modelo para BD espaciales bidimensionales.
• Las extensiones básicas necesarias son las de incluir conceptos geométricos bidimensionales:
◦ Ej.: Puntos, líneas y segmentos de línea, círculos, polígonos y arcos.
◦ Para especificar las características espaciales de objetos.
• Se necesitan:
◦ Operaciones espaciales para operar con las características espaciales de los objetos (ej.:
Calcular la distancia entre dos objetos).
◦ Condiciones booleanas espaciales (ej.: Verificar si dos objetos se solapan espacialmente).
• Las siguientes categorías muestran los tres tipos característicos de consultas espaciales:
◦ Consulta de rango: encontrar los objetos de un tipo concreto que están dentro de un área
espacial determinada o de una distancia concreta a partir de una localización determinada.
◦ Consulta de vecindad más cercana: encontrar un objeto de un tipo concreto que está más
cercano a una localización dada.
◦ Reuniones o superposiciones espaciales: reunir los objetos de dos tipos basados en una
condición espacial determinada, como la intersección o coincidencia de objetos espacialmente
o que se encuentren a una determinada distancia entre sí.
• Se necesitan técnicas especiales para la indexación espacial.
• Una de las técnicas más conocidas es el empleo de árboles R y sus variantes:
◦ Los árboles R agrupan, en los mismos nodos hoja de un índice estructurado en árbol, los
objetos que se hallan en proximidad física espacial cercana.
• Bases de datos multimedia
• Permiten almacenar y consultar diferentes tipos de información multimedia, que incluye
imágenes, video clips, audio clips, y documentos.
• Los principales tipos de consultas que se necesitan incluyen:
◦ Localización de fuentes multimedia que contengan determinados objetos de interés, por ej.
Una persona determinada.
◦ Localización de video clips que estén basadas en determinadas actividades, por ej. Que se
marque un gol en un partido de fútbol por un jugador o equipo determinado.
• Estos tipos de consultas se conocen con el nombre de recuperación basada en contenido:
◦ Se está recuperando la fuente multimedia basándose en determinados objetos o actividades
que contiene.
• La BD multimedia debe emplear algún modelo para organizar e indexar las fuentes multimedia
• Basándose en su contenido.
• La identificación del contenido de las fuentes multimedia resulta una tarea ardua y que lleva
mucho tiempo.
• Un método se basa en el análisis automático de las fuentes multimedia para identificar ciertas
características matemáticas en sus contenidos:
◦ Usa técnicas diferentes dependiendo del tipo de fuente multimedia.
• Otro método se basa en la identificación manual de los objetos y actividades de interés de cada
fuente multimedia y en emplear esta información para indexar las fuentes:
◦ Puede aplicarse a todas las fuentes multimedia, pero requiere una fase de procesamiento
manual.
• Se utilizan descriptores de configuración de Imágenes.
• Para identificar objetos de interés en una imagen, se la divide en segmentos homogéneos
empleando un predicado de homogeneidad
• Una consulta típica sería encontrar las imágenes que sean similares a una imagen determinada:
• La imagen determinada podría ser un segmento aislado que contenga, por ej., Un patrón de
interés, y la consulta es la de localizar otras imágenes que contengan el mismo patrón.
• Un método emplea una función de distancia para comparar la imagen dada con las imágenes
almacenadas y sus segmentos.
• Otro método, denominado el método de transformación, mide la similitud de imagen mediante un
pequeño número de transformaciones. Las transformaciones incluyen rotaciones, traslaciones y
cambios de escala.
• Los objetos y actividades identificados en cada segmento de video pueden emplearse para

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 106
Bases de Datos II – Licenciatura en Sistemas de Información

indexar los segmentos.


• Una técnica de indexación de video es la de arboles de segmentos de cuadros.
• El índice incluye objetos y actividades:
◦ Ej.: Dos personas hablando.
• Una fuente de texto/documento es básicamente el texto completo de un determinado artículo,
libro o revista:
◦ Están indexadas mediante palabras clave que aparecen en el texto y sus frecuencias
relativas.
• Las fuentes audio incluyen mensajes grabados almacenados:
◦ Se pueden emplear transformaciones discretas para identificar las principales características
de la voz de una persona determinada.
◦ Se hacen indexaciones y recuperaciones basadas en similitudes.

BD para GIS

• Los sistemas de información geográfica (GIS) se emplean para recoger, modelar, almacenar y
analizar información que describe las propiedades físicas del mundo geográfico.
• Los GIS abarcan dos tipos de datos:
◦ Datos espaciales, procedentes de mapas, imágenes digitales, fronteras administrativas y
políticas, carreteras, redes de transporte; datos físicos tales como ríos, características del
suelo, regiones climáticas, elevaciones del terreno.
◦ Datos no espaciales como cómputos del censo, datos económicos e información sobre ventas
o marketing.
• Clasificación posible de las aplicaciones GIS:
Aplicaciones GIS

Aplicaciones para el Aplicaciones de objetos


Cartográficas modelado digital de terreno geográficos

Irrigación Estudios de recursos de Sistemas de navegación de


las ciencias de la tierra. vehículos
Análisis del
rendimiento Evolución Análisis del mercado
de cosechas de la ingeniería geográficos
civil y militar
Evaluación Distribución y consumo
del término Análisis del suelo de servicios públicos

Planificación Estudios de la Análisis económico


y gestión contaminación de productos y servicios
de instalaciones del aire y del agua para el consumidor

Estudios del paisaje Control de inundaciones

Análisis de la estructura Gestión de recursos hídricos


del tráfico.

• Las dos primeras categorías requieren una representación basada en campos.


• La tercera categoría precisa de una basada en objetos.
• Las aplicaciones de tipo cartográfico usan funciones especiales:
◦ Pueden incluir la superposición de varias capas de mapas para combinar datos de atributos.
◦ Permitirán, por ejemplo, la medición de distancias en un espacio tridimensional y la
reclasificación de datos en el mapa.
• El modelado digital de terrenos requiere una representación digital de partes de la superficie
terrestre utilizando elevaciones del terreno en puntos de muestreo que se interconectan:
◦ Se genera un modelo de superficie como, por ejemplo, una red tridimensional (líneas
conectadas en 3D) que muestre la superficie del terreno.
• Se precisan:
◦ Funciones de interpolación entre los puntos observados.
◦ Funciones de visualización.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 107
Bases de Datos II – Licenciatura en Sistemas de Información

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 108
Bases de Datos II – Licenciatura en Sistemas de Información

Tema 7: Calidad en Bases de Datos

Introducción

• La calidad de la información es un reto al que se enfrentan las organizaciones.


• El análisis de buena información es la base para el éxito de las organizaciones.
• Las BD son el núcleo donde reside la información.
• La calidad en el proceso del diseño y desarrollo de las BD resulta esencial.
• Concepto de calidad
DRAE Propiedad o conjunto de propiedades inherentes a algo, que permiten juzgar su valor.

Crosby, P. Conformance to requirements.

Juran, J. M. Fitness for purposes.

ISO The totality of features and characteristics of a product or service that bear on its ability
to satisfy specified or implied needs.

English, l. Consistently meeting customers' expectations.

• Concepto de Calidad (Gillies, 1992)


• El concepto de calidad no es absoluto.
• Hay distintas perspectivas.
• Está sujeto a restricciones.
• Los criterios de calidad no son independientes.
• Se trata de tomar compromisos aceptables.

Funcionalidad

e
st
Co
Oportunidad

• Vistas de la calidad (Garvin, 1984)


• Trascendental:
◦ Calidad = excelencia innata que las personas Perciben.
• Basada en usuario:
◦ Adecuación al propósito (Juran).
• Basada en fabricante:
◦ Conforme con los requisitos (Crossby).
• Basada en producto:
◦ Atributos medibles.
• Basada en valor:
◦ Equilibrio entre tiempo, esfuerzo y coste.
• Calidad del software.
• Resulta difícil de medir:
◦ Conclusión de los trabajos de (Fenton & Pfleeger, 1996), (Genuchten, 1991), (Gillies, 1992),
(Basili & Rombach, 1988), (Heemstra, 1989).
◦ El software es abstracto: sólo su funcionalidad puede apreciarse.
◦ El software es complejo: los módulos tienen muchas líneas de código, caminos distintos,
situaciones producibles...
◦ El software es flexible: comparado con otros productos, es fácilmente cambiable lo que puede
llevar a productos que no cumplan con lo especificado.
◦ Las características del software son difíciles de medir: ISO 9126.
• Objetivo de la calidad
• Calidad en el desarrollo de sistemas de información:
◦ Satisfacer al cliente.
◦ Asegurar la calidad del producto:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 109
Bases de Datos II – Licenciatura en Sistemas de Información

▪ Cumple los objetivos.


▪ Técnicas y actividades orientadas a verificar el producto (iso 9126).
◦ Mejorar la productividad en el proceso de desarrollo:
▪ Acciones planificadas y sistemáticas para garantizar que el producto cumplirá los
requisitos de calidad. Ciclo de vida del software (ISO 9001:2000, ISO 15504, CMM).
• La calidad no es algo que ocurre por casualidad, ni puede ser agregada a posteriori (Gilb, 1994),
(Humphrey, 1989).
• Calidad en Sistemas de Información:

Calidad de información

Calidad de BD Calidad de aplicación

Calidad del Calidad del Calidad de


SGBD Modelo Datos

Escalabilidad, Eficiencia, Efectividad, Modelado y Calidad de Datos

• Es la propiedad deseable de un sistema, una red, una BD o un proceso, que indica su habilidad
para:
◦ Extender el margen de operaciones sin perder calidad.
◦ Manejar el crecimiento continuo de trabajo de manera fluida.
◦ Estar preparado para hacerse más grande sin perder calidad en los servicios ofrecidos.
◦ Cambiar su tamaño o configuración para adaptarse a las circunstancias cambiantes.
• Un sistema cuyo rendimiento es mejorado después de haberle añadido más capacidad hardware,
proporcionalmente a la capacidad añadida, se dice que pasa a ser un “sistema escalable”.
◦ La escalabilidad puede ser clasificada en:
▪ Escalabilidad en carga:
• Esta cae dentro de los sistemas distribuidos, ya que hacen ampliar o disminuir los
recursos para acomodar las cargas más pesadas o ligeras según lo que se requiera.
▪ Escalabilidad geográfica:
• Es cuando un sistema no se ve afectado por las distancias geográficas que puedan
haber entre los usuarios.
▪ Escalabilidad administrativa:
• Esta debe de manejarse con facilidad sin importar las organizaciones que necesiten
compartir un solo sistema distribuido.
• Ejemplo:
◦ Un sistema de procesamiento y transacción en línea o un sistema administrador de base de
datos escalable se puede actualizar para procesar más servicios sumándole dispositivos y
almacenamiento, que pueden implementarse con facilidad por medio de los procesadores
nuevos.
• Escalabilidad vertical y horizontal:
◦ Vertical:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 110
Bases de Datos II – Licenciatura en Sistemas de Información

▪ Agregar más recursos a un mismo nodo.


◦ Horizontal:
▪ Distribuir el volumen de datos y carga de trabajo entre múltiples servidores que
administran el balanceo de carga.
▪ Existe la posibilidad de agregar o quitar servidores para aumentar o disminuir la
capacidad de procesamiento.
▪ Mediante la distribución de la carga de trabajo los recursos de procesamiento se reparten
entre múltiples servidores.
• Escalabilidad en un BD relacional:
◦ Significa que se puede incrementar el número de atributos, entidades y relaciones entre las
entidades para actualizar los requerimientos.
• Etimología: del latín efficientia
• Eficiencia es el estado o cualidad de ser eficiente, de tener la capacidad de producir cierto
resultado o efecto.
• Eficiencia es la capacidad de hacer un trabajo minimizando el consumo de recursos.
• Eficacia: hacer las cosas bien, con los mejores métodos posibles para lograr el objetivo.
• EMC y Oracle apoyan a las organizaciones de tecnologías de la información (ti) para que
• Implementen una infraestructura de la información óptima a fin de equilibrar tres objetivos:
◦ La reducción de costos.
◦ La moderación de riesgos.
◦ La generación de valor.
• Los principales desafíos para lograr la eficiencia (según EMC y Oracle):
◦ Control del costo del crecimiento:
▪ Según estudios estadísticos, una vez implementadas, las BD crecen a un ritmo superior al
30% anual.
▪ El aprovisionamiento y la planificación adecuados de la capacidad resultan fundamentales
para garantizar un rendimiento consistente a escala.
▪ Se debe proyectar el camino de crecimiento actual o futuro de la implementación de la
BD y evaluar si está aprovechando la consolidación y la virtualización en pos de la
eficiencia.
◦ Maximización del rendimiento:
▪ Después de la implementación las BD generalmente requieren un ajuste continuo.
▪ Se debe comprender los tiempos de respuesta deseados y los niveles de servicio
requeridos para cada implementación.
▪ Se debe implementar las mejores herramientas para garantizar la colaboración entre los
administradores de almacenamiento y los administradores de BD a medida que
monitorean, ajustan y optimizan la infraestructura de la información del SGBD.
◦ Garantía de la continuidad completa del negocio:
▪ Mantener en funcionamiento las aplicaciones de negocios implica más que simplemente
replicar los archivos de las BD.
▪ Debe comprender los objetivos de tiempo de recuperación y de punto de recuperación de
cada aplicación implementada en la infraestructura del SGBD.
▪ Cuando se planee usar la replicación, se debe comprender los casos de uso y el impacto
de garantizar la consistencia de transacciones durante la replicación de la BD.
▪ Al implementar la recuperación de desastres en sitios remotos se debe asegurar que las
soluciones puedan proteger los archivos de BD, las aplicaciones y el middleware, a fin de
garantizar un reinicio del negocio rápido y eficiente.
◦ Protección interna y externa de la infraestructura de TI:
▪ Las BD y las aplicaciones que soportan suelen alojar información corporativa confidencial.
▪ Se debe determinar si se está en posición de manejar la autenticación de usuarios
internos y externos, y de encriptar datos “en reposo”.
▪ Se debe determinar si puede establecer de manera eficiente políticas de acceso seguro en
la organización para las distintas aplicaciones de BD.
◦ Optimización de Data Warehousing frente a OLTP (Proceso de Transacciones en Línea):
▪ La implementación de un SGBD en ambientes de Data Warehouse frente a OLTP
tradicional requiere diversos enfoques respecto de la infraestructura de la información.
▪ Es necesario optimizar redes, servidores y almacenamiento de manera exclusiva para
cada enfoque.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 111
Bases de Datos II – Licenciatura en Sistemas de Información

▪ Esto se aplica especialmente si el data warehouse será una extensión de un ambiente de


producción existente o si se implementará como una configuración de dispositivo
independiente.
• Efectividad
◦ Es la capacidad o habilidad que puede demostrar una persona, un animal, una máquina, un
dispositivo o cualquier elemento para obtener determinado resultado a partir de una acción.
◦ Es equivalente a eficacia (del latín efficacia).
◦ La eficiencia es la capacidad de lograr el efecto en cuestión con el mínimo de recursos
posibles viables.
• Diseño y rendimiento en BD
• Se puede mejorar notablemente el rendimiento si se diseña correctamente la aplicación y la BD.
• Algunas técnicas que pueden aplicarse para mejorar el rendimiento son:
◦ Utilizar la desnormalización de la BD.
◦ Columnas de longitud fija o variable.
◦ Crear longitudes de fila menores.
◦ Utilizar longitudes de clave menores.
• Utilizar la desnormalización de la BD:
◦ Una BD normalizada impide las dependencias funcionales de los datos para que el proceso de
actualización de la BD sea fácil y eficiente.
◦ La realización de consultas en la BD puede requerir la combinación de varias tablas para unir
la información.
◦ A medida que el número de tablas combinadas crece, el tiempo de ejecución de la consulta
aumenta considerablemente.
◦ El uso de una BD normalizada no es siempre la mejor alternativa.
◦ Una BD con la medida justa de desnormalización reduce el número de tablas que deben
combinarse sin dificultar en exceso el proceso de actualización.
• Columnas de longitud fija o variable:
◦ El diseño de las tablas permite comprender las ventajas e inconvenientes del uso de
columnas de longitud fija y de longitud variable.
◦ Las columnas de longitud variable reducen el tamaño de la BD porque solamente ocupan el
espacio necesario para almacenar el valor real.
◦ Las columnas de longitud fija siempre ocupan el espacio máximo definido por el esquema,
aunque el valor real esté vacío.
◦ El inconveniente de las columnas de longitud variable radica en que algunas operaciones no
son igual de eficaces que en las columnas de longitud fija:
▪ Ej.: Si una columna de longitud variable es inicialmente pequeña y crece
considerablemente después de una actualización, es posible que el registro deba
reubicarse.
• Ej.: Si se realizan actualizaciones con frecuencia, las páginas de datos se fragmentan
más con el paso del tiempo:
◦ Es recomendable el uso de las columnas de longitud fija cuando la longitud de los
datos no varía demasiado y cuando se realizan actualizaciones con frecuencia.
• Crear longitudes de fila menores:
◦ El número de filas que una página puede contener depende del tamaño de cada fila.
◦ Una página podrá contener más filas si éstas son pequeñas.
◦ Una sola operación de disco realizada en una tabla con filas compactas recuperará más filas
y, de este modo, la operación será más efectiva.
◦ La caché del motor de almacenamiento tiene capacidad para más filas, lo que permite
aumentar potencialmente la tasa de visitas.
◦ Las filas compactas también contribuyen a reducir el espacio desaprovechado en las páginas
de datos.
• Utilizar longitudes de clave menores:
◦ Un índice es un subconjunto ordenado de la tabla en la que se ha creado.
◦ Permite realizar las búsquedas de intervalos y los criterios de ordenación con mayor rapidez.
◦ Las claves de índice más pequeñas ocupan menos espacio y son más efectivas que las claves
más grandes.
◦ Por lo general, es aconsejable que la clave principal sea compacta porque se suele hacer
referencia a ella a menudo como una clave externa en otras tablas.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 112
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Si originalmente no existe una clave principal compacta, se puede utilizar una columna de
identidad implementada como un entero.
◦ Un índice con una o sólo algunas columnas de claves se denomina un índice estrecho.
◦ Un índice con varias columnas de claves se denomina un índice ancho.
◦ Los índices anchos suelen estar asociados con las longitudes de clave grandes.
• Modelado y calidad de datos - ISO 9126:
◦ Evaluación de productos de software.
◦ Características de calidad y lineamientos para su uso.

FIABILIDAD
Madurez
Tolerancia a fallos
FUNCIONALIDAD Recuperación USABILIDAD
Adecuación Conforme Comprensible
Exactitud Fácil de usar
Interoperabilidad Atractivo
Seguridad Conforme
Conformidad

CALIDAD EFICIENCIA
PORTABILIDAD Temporal
Adaptabilidad Recursos
Facilidad de instalación Conforme
Coexistencia
Reemplable
Conforme MANTENIBILIDAD
Estabilidad
Posibilidad de cambio
Facilidad de prueba
Capacidad de Diagnóstico
Conforme

• ISO 9126
◦ Funcionalidad: capacidad del producto software para proporcionar funciones que satisfagan
las necesidades especificadas e implícitas.
◦ Fiabilidad: capacidad del producto software para mantener un nivel especificado de
rendimiento.
◦ Usabílídad: la capacidad del producto software de ser entendido, aprendido, utilizado y
atractivo al usuario.
◦ Eficiencia: la capacidad del producto software para proporcionar el rendimiento apropiado,
relativo a la cantidad de recursos utilizados.
◦ Mantenibilidad: la capacidad del producto software para ser modificado. Las modificaciones
pueden incluir correcciones, mejoras o adaptación del software a cambios en el entorno, en
los requisitos o en las especificaciones funcionales.
◦ Portabilidad: la capacidad del producto software de ser transferido de un entorno a otro.

Calidad en Bases de Datos: Calidad del Gestor. Calidad del Modelo de Datos y Calidad de los
Datos

• Calidad del gestor de BD


• Un DBMS de calidad debe permitir de manera eficiente lo siguiente:
◦ Control de la redundancia.
◦ Restricción del acceso no autorizado.
◦ Almacenamiento persistente para los objetos del programa.
◦ Suministro de estructuras de almacenamiento para un procesamiento eficiente de las
consultas.
◦ Copia de seguridad y recuperación.
◦ Suministro de varias interfaces de usuario.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 113
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Representación de relaciones complejas entre los datos.


◦ Implementación de las restricciones de integridad.
◦ Inferencia y acciones usando reglas.
◦ Potencial para implementar estándares.
◦ Reducción del tiempo de desarrollo de aplicaciones.
◦ Flexibilidad.
◦ Disponibilidad de la información actualizada.
◦ Economías de escala.
• Rendimiento de un DBMS:
◦ Se estudia mediante benchmarks (sistemas para realizar pruebas).
◦ Las principales áreas de evaluación son las siguientes:
▪ Búsquedas.
▪ Agregaciones.
▪ Uniones.
▪ Uso intensivo de CPU.
▪ Indices.
• Los criterios de Huppler para un buen benchmark son:
◦ Ser relevante, repetible, justo, no sofisticado, verificable y económico.
• Ejemplo de Benchmark:
◦ Scan Queries:
▪ ST - Large Table Scan.
▪ SI - Matching Insert/Select.
▪ SN - Non-Matching Insert/Select.
▪ SU - Scan/Update 4% of the Rows.
▪ SP - Scan/Update 20% of the Rows.
◦ Aggregate queries:
▪ AR - Row Count.
▪ AD - Distinct Count.
▪ AS - 15-Group Aggregate.
▪ AM - Thousand Group Aggregate.
▪ AL - Hundred Thousand Group Aggregate.
◦ Join queries:
▪ JI - In-Place Join.
▪ JF - PK/FK Join.
▪ JA - Ad-Hoc Join.
▪ JL - Large/Small Join.
▪ JX - Exclusion Join.
◦ Cpu intensive queries:
▪ CR - Rollup Report.
▪ CF - Floats & Dates.
◦ Index queries
▪ IP - Primary Range Search.
▪ IR - Secondary Range Search.
▪ IL - Like Operator.
▪ IB - Between Operator.
▪ II - Multiple Index Access.
▪ IC - Count By Index.
▪ IM - Multi-Column Index -- Leading Value Only.
▪ IT - Multi-Column Index -- Trailing Value Only.
• Ejemplo:

Sistema Sistema
Consultas/Categorías A B A/B

ST - Large Table Scan 95.9 18.6 5.1


Media geométrica
SI - Matching Insert/Select 48.0 8.7 5.5 Para la categoría
SN - Non-Matching Insert/Select 174.6 25.0 7.0

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 114
Bases de Datos II – Licenciatura en Sistemas de Información

SU - Scan/Update 4% of the Rows 191.5 58.4 3.3

SP - Scan/Update 20% of the Rows 906.3 244.1 3.7

Escaneos 283.2 71.0 4.8

AR - Row Count 0.8 0.3 3.0


AD – Count Distinct Values 112.3 29.8 3.8

AS - 15-Group Aggregate 51.5 14.4 3.6

AM - Thousand Group Aggregate 30.2 9.7 3.1 Promedio simple de las


categorías
AL - Hundred Thousand Group Aggregate 61.1 16.6 3.7

Agregaciones 51.1 14.2 3.4

JI - In-Place Join 372.8 123.3 3.0

JF - PK/FK Join 2441.5 340.5 7.2

JA - Ad-Hoc Join 891.9 191.9 4.6

JL - Large/Small Join 0.1 0.0 11.0

JX - Exclusion Join 21.3 19.6 1.1

Uniones 745.5 135.1 3.2

CR - Rollup Report 312.3 75.2 4.2

CF - Floats & Dates 96.4 16.5 5.9

Uso Intensivo de CPU 204.3 45.8 4.9

IP - Primary Range Search 3.1 1.0 3.3

IR - Secondary Range Search 10.7 0.3 42.7

IL - Like Operator 29.0 7.7 3.8

IB - Between Operator 14.1 0.6 22.1

II - Multiple Index Access 29.0 7.5 3.9

IC - Count By Index 6.5 1.8 3.6

IM - Multi-Column Index -- Leading Value Only 1.9 0.3 5.6

IT - Multi-Column Index -- Trailing Value Only 1.7 0.2 7.3

Operaciones Indexadas 12.0 2.4 7.1

Ovarall Scores 236.2 48.5 4.9

Media geométrica
Para la categoría
Promedio simple de las categorías
• Calidad del modelo de datos
• No hay criterios sobre calidad aceptados universalmente en la comunidad de expertos.
• El diseño de un modelo de datos se basa en la experiencia práctica y en el estudio de casos.
• No hay métricas objetivas para evaluar la calidad de un modelo de datos:
◦ Existen aproximaciones.
Aproximaciones para evaluar la calidad en modelos de datos:
Autor(es) Propósito Características Tipo Enfoque

Lindland, Sandre y Entender la calidad en el Base lingüística. Marco de referencia. Teórico.


Solvberg (1994). modelado conceptual. Separación de objetivos y
Krogtie, Lindland y medios.
Sandre (1995).

Pohl (1994). Definir objetivos y Especificación, Marco de referencia. Teórico.


dimensiones para representación y
modelado de acuerdo.
requerimientos.

Moody and Shanks Evaluar la calidad de Factores de calidad, Marco de referencia. Práctico.
(1994). modelos E/R. estrategias y métodos de
Moody (1998). evaluación.

Simsion (1994). Definir características de Diseño y evaluación de Lista. Práctico.


calidad para esquemas esquemas alternativos.
E/R.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 115
Bases de Datos II – Licenciatura en Sistemas de Información

Batini, Ceri and Navathe Mejorar la calidad de un Características de calidad Lista. Práctico.
(1992) esquema de bases de de un buen esquema,
datos. transformaciones de
esquemas.

Roman (1982). Definir propiedades para Propiedades asociadas a Lista. Teórico.


especificaciones de su utilización en el
requisitos. proceso de diseño

Boman et al. (1997). Construir modelos Características de un Lista. Práctico.


conceptuales de calidad. buen esquema.
• Factores de calidad (Moody, 1998):

Usuario Usuario Usuario Usuario

Compleción Integridad Flexibilidad Comprensión

Modelo de
Calidad

Corrección Simplicidad Integración Implementación

Analista Analista Amin. De Datos Desarrollador

• Las métricas propuestas para los distintos factores son las siguientes:
◦ Factor de calidad correctitud:
▪ Número de violaciones a los estándares de Modelado de datos.
▪ Número de instancias de redundancia de Entidad.
▪ Número de instancias de redundancia de Relaciones.
▪ Número de instancias de redundancia de atributo.
◦ Factor de calidad completitud:
▪ Número de requerimientos omitidos.
▪ Número de requerimientos superfluos.
▪ Número de requerimientos definidos incorrectamente.
▪ Número de inconsistencias con el modelo de procesos.
◦ Factor de calidad integridad:
▪ Número de reglas de negocio omitidas.
▪ Número de reglas de negocio incorrectas.
▪ Número de reglas de negocio inconsistentes con el modelo de procesos.
▪ Número de reglas de negocio redundantemente definidas en reglas del modelo de
procesos.
◦ Factor de calidad flexibilidad:
▪ Número de elementos del modelo de datos que están sujetos a cambios.
▪ Probabilidad ajustada del costo de cambio.
▪ Impacto estratégico del cambio.
◦ Factor de calidad comprensibilidad:
▪ Tasa (%) de comprensibilidad del usuario.
▪ Errores de interpretación del usuario.
▪ Tasa de comprensibilidad del desarrollador de la aplicación.
▪ Relación área sujeto - entidad.
▪ Relación entidad - atributo.
◦ Factor de calidad simplicidad:
▪ Número de entidades (e).
▪ Complejidad del sistema (e + r).
▪ Complejidad total (aE + bR + cA); se utilizan coeficientes de ponderacion.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 116
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Factor de calidad integración:


▪ Número de conflictos de datos con el modelo de datos de la organización.
▪ Número de conflictos de datos con sistemas existentes.
▪ Número de ítems de datos duplicados en sistemas o proyectos existentes.
▪ Rating (%) de habilidad para cubrir las necesidades de la organización.
◦ Factor de calidad implementabilidad:
▪ Costo estimado de desarrollo.
▪ Rating (%) de riesgo técnico.
• Requisitos del modelo de datos (west):
◦ Recoger los requisitos del problema de información (completitud).
◦ Ser claro, correcto y no ambiguo (no sólo para los autores).
◦ Velar por la integridad de la información (restricciones).
◦ Ser flexible para adaptarse a los cambios en la organización y a los cambios en los requisitos
de los datos.
◦ Ser reutilizable por otros (considerar el contexto global).
◦ Ser consistente con otros modelos que cubren el mismo objetivo.
◦ Ser capaz de integrar datos de diferentes modelos de datos de forma sencilla y eficaz
(considerar la reducción de costos).
• Causas de la poca calidad en los modelos de datos:
◦ Las reglas del negocio referidas a cómo las cosas se hacen en un lugar, se plasman en el
modelo de datos:
▪ Esto hace que cambios en la organización afecten a los sistemas de información.
◦ Las entidades no se identifican correctamente:
▪ Produce replicación e inconsistencia de datos.
◦ Falta de una estandarización de modelos de datos para sectores productivos:
▪ Dificulta la comunicación electrónica:
• Ej.: Comercio electrónico.
• Buenas prácticas en los modelos de datos:
◦ Las entidades deben identificarse con códigos artificiales y no modificables por el usuario
final:
▪ No usar las relaciones como parte del identificados
◦ Las entidades deben representar la naturaleza del objeto y no el rol que juega en el contexto:
▪ Ej.: Alumno, profesor, ayudante -► persona.
◦ Las actividades, asociaciones y eventos deben modelizarse como entidades y no como
atributos o relaciones:
▪ Ej.: Profesor contratado en universidad, recogerse en la entidad contrato.
◦ Las relaciones deben expresar la participación de las entidades en las actividades y
asociaciones:
▪ Ej.: 1:n, n:n, 1:1.
◦ Los atributos pueden ser candidatos a relaciones, abstracciones:
▪ Ej.: Características de un vehículo.
• Ejemplo:

Coche Valores posibles


Coche
CocheID ValorCarcID Grupo
CocheID
N° de Bastidor CódigoID Características
N° de Bastidor
Valor CocheID
Color
Potencia ValorCarcID
Puertas
Tipo
Radio
Aire Carc_Coche
Climatizador... CocheID Característica
ValorCarcID CocheID
Descripción

• Calidad de los datos


• Los datos deben ser precisos, completos, actualizados y consistentes.
• Se debe evitar:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 117
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Códigos con significado.


◦ Valores por defecto en campos obligatorios con información relevante (ej.: Código postal,
país, etc.).
◦ Campos multipropósito.
◦ Dominios crípticos (ej.: 1, 2, 3).
◦ Valores nulos (¿qué significan?).
◦ Reutilizar los campos -► cambios de significado.
• Importancia de la calidad de los datos:
◦ La mitad del costo total de implementar un almacén de datos (data warehouse) puede
deberse a una pobre calidad de datos (Celko, 1995).
◦ La pobre calidad de datos ha sido una de las causas de fracaso más importantes en los
proyectos de reingeniería (Gartner Group).
◦ Las empresas deben gestionar la información como un producto importante, capitalizar el
conocimiento como un activo principal y, de esta manera, sobrevivir y prosperar en la
economía digital (Huang et al., 1999).
• Si los datos no tienen suficiente calidad se pueden convertir en fuentes de problemas (Strong et
al., 1997):
◦ Datos no usados.
◦ Barreras en la accesibilidad de los datos.
◦ Dificultades en la utilización de los datos y de la información.

• Política de calidad de los datos (Redman, 1996):


◦ Todos los empleados de la empresa / organización deben asumir que los datos y los procesos
de negocio que los crean, almacenan, procesan y utilizan:
▪ Son propiedad de la empresa / organización.
▪ Su utilización dentro de la empresa / organización, así como con terceros, deberá estar
cometida a consideraciones legales o de privacidad.
◦ El director de informática será el responsable de mantener un inventario actualizado de

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 118
Bases de Datos II – Licenciatura en Sistemas de Información

datos, de su disponibilidad, así como de informar sobre la calidad de los mismos.


◦ Los suministradores y creadores de datos deben:
▪ Comprender quién usa los datos y con qué propósitos.
▪ Implementar las medidas de calidad de datos para asegurar que se satisfacen los
requisitos de los usuarios.
▪ Implementar la gestión del proceso para los datos que crean.
◦ Los que almacenan y procesan datos (analistas y desarrolladores) deben:
▪ Proporcionar arquitecturas y BD que minimicen la redundancia innecesaria.
▪ Salvaguardar los datos de daños o accesos no autorizados.
▪ Diseñar las nuevas tecnologías con el fin de promover la calidad de los datos.
◦ Los usuarios deben:
▪ Trabajar con los suministradores de datos.
▪ Proporcionar retro alimentación.
▪ Asegurar que los datos se interpretan correctamente.
▪ Asegurar que los datos se utilizan sólo para propósitos empresariales / organizacionales
legítimos.
▪ Proteger los derechos de los clientes, empleados, etc. Sobre privacidad.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 119
Bases de Datos II – Licenciatura en Sistemas de Información

Proceso Producto Efecto del producto

Influye Influye Influye


Calidad Calidad Calidad Contextos
Calidad
Calidad
Calidad
De proceso interna externa de uso
EnEnuso
Enuso
uso
Depende de Depende de Depende de

Proveedor Usuario

Modelo de calidad (McCall et al., 1977):


Visión de usuario Visión de la dirección Visión del desarrollador
Operabilidad. (1).
Facilidad de uso. (1). Familiarización. (1).
Seguridad (Integridad). (2). Comunicatividad. (1).
Operación del producto Eficiencia. (3). Volumen y tasa de E/S. (1).
Corrección (Exactitud). (4). Datos comunes. (1) (11).
Fiabilidad. (5). Control y auditoría de acceso. (2).
Integridad de datos. (2).
Eficiencia de almacenamiento. (3).
Eficiencia de ejecución. (3).
Facilidad de mantenimiento. (6). Compleción. (4).
Trazabilidad. (4).
Revisión del producto Facilidad de prueba. (7). Consistencia. (4) (6).
Precisión. (5).
Flexibilidad. (8). Tolerancia a errores. (5).
Simplicidad. (5) (7).
Concisión. (5).
Autodescriptividad. (6 – 11).
Capacidad de reutilización. (9) Modularidad. (6 - 11).
Instrumentación. (7)
Transición del producto Transportabilidad. (10) Capacidad de ampliación. (8).
Generalidad. (8) (9).
Interoperabilidad. (11). Independencia de Máquina. (9) (10).
Independencia de Software de Máquina. (9)
(10).
Comunicaciones Comunes. (11).

Normas de Calidad

• Norma ISO 9000-3 - Calidad del Software


• ISO 9000 proporciona un conjunto de estándares para la gestión de la calidad en cualquier
actividad relacionada con el proceso de producción.
• ISO 9000 se ha especializado en todo lo referente a la producción del software en la iso 9000-3.
• Características de ISO 9000-3:
◦ El control de calidad debe ser aplicado a todas las fases de la producción de software, incluido
el mantenimiento y tareas posteriores a su implantación.
◦ Debe existir una estricta colaboración entre la organización que adquiere el software y el
proveedor del mismo.
◦ El proveedor del software debe definir su sistema de calidad y asegurarse que toda la
organización ponga en práctica este sistema.
• Clausulas especificas de ISO 9000-3:
◦ 4.1 Administración de la responsabilidad.
◦ 4.2 Sistema de calidad.
◦ 4.3 Auditorías internas del sistema de calidad.
◦ 4.4 Acción correctora.
◦ 5.1 General.
◦ 5.2 Revisión del contrato.
◦ 5.3 Especificación de los requerimientos de la organización.
◦ 5.4 Planificación del desarrollo.
◦ 5.5 Planificación de la calidad.
◦ 5.6 Diseño e implementación.
◦ 5.7 Testeo y validación.
◦ 5.8 Aceptación.
◦ 5.9 Generación, entrega e instalación.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 120
Bases de Datos II – Licenciatura en Sistemas de Información

◦ 5.10 Mantenimiento.
◦ 6.1 Administración de la configuración.
◦ 6.2 Documentos de control.
◦ 6.3 Calidad de los archivos.
◦ 6.4 Medidas.
◦ 6.5 Reglas y convenciones.
◦ 6.6 Herramientas y técnicas.
◦ 6.7 Compra.
◦ 6.8 Productos de software incluidos.
◦ 6.9 Formación.
• Relación de ISO 9000-3 con otros estándares:
◦ El ISO 9001 y el IEEE 730 son los que se relacionan más directamente con el ISO 9000-3.
◦ El ISO 9001 especifica requerimientos para garantizar la calidad de los sistemas , incluye los
procesos que dan cobertura al ciclo de vida.
◦ El IEEE 730 es el puente entre la gestión de la calidad y la ingeniería del software.

ISO 9001

ISO 9000-3

ISO 10013 ISO 10005 ISO 10007

IEEE 730

• Revisión de la norma ISO 9000-3:


◦ Surge debido a relación confusa entre la ISO 9001 y la ISO 9000-3.
◦ Se sustituye la IEEE 730 por la ISO/IEC 12207.
◦ Se simplificó la relación entre la ISO 9001 y los procesos existentes en la ingeniería del
software.
◦ La ISO 9000-3 proporciona una guía útil que sirve para detectar y corregir una serie de
problemas de los productos software:
▪ Permite mejorar la calidad de los mismos.
• Norma ISO 9001 - Sistema de Gestión de la Calidad
• Las organizaciones deben establecer, documentar, implementar y mantener un sistema de gestión
de la calidad con el cual mejorar continuamente su eficacia:
◦ Identificar los procesos necesarios para el sistema de gestión de la calidad y su aplicación a
través de la organización.
◦ Determinar la secuencia e interacción de estos procesos.
◦ Determinar los criterios y métodos necesarios para asegurarse de que tanto la operación
como el control de esos procesos sean eficaces.
◦ Asegurar la disponibilidad de recursos e información necesarios para apoyar la operación y el
seguimiento de estos procesos.
◦ Realizar el seguimiento, la medición y el análisis de estos procesos.
◦ Implementar las acciones necesarias para alcanzar los resultados planificados y la mejora
continua de estos procesos.
• Norma ISO 15288 - Plan de Gestión de Calidad de un Sistema de Información
• Objetivos de calidad:
◦ ¿Cuáles?:
▪ La organización los define de manera que sean medibles.
◦ ¿Cómo se consiguen?:
▪ Normas, prácticas, convenios y métricas.
◦ ¿Cómo se evalúan?:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 121
Bases de Datos II – Licenciatura en Sistemas de Información

▪ Procedimientos, pruebas, documentación.


◦ ¿Cómo se vigilan?:
▪ Auditorías internas y externas.
◦ Planificación de actividades de ensayo y de validación y verificación incluyendo calendarios,
recursos y grupos de trabajo.
◦ Responsabilidades específicas para las actividades de:
▪ Revisiones y ensayos.
▪ Gestión de la configuración y control de cambio.
▪ Control de defectos y acción correctiva.
• Norma ISO / IEC 9126 - Calidad del Software
◦ Parte 1: modelo de calidad.
◦ Parte 2: métricas externas.
◦ Parte 3: métricas internas.
◦ Parte 4: métricas de calidad en uso.
• Modelo de calidad para calidad interna y externa:

Calidad externa
E interna

Funcionalidad Fiabilidad Usabilidad Eficiencia Mantenibilidad Portabilidad

Adecuación Capacidad para Capacidad para


Madurez Adaptabilidad
Exactitud Ser entendido Comportamiento Ser analizado
Tolerancia a Instabilidad
Interoperabilidad Capacidad para Temporal Capacidad para
Fallos Coexistencia
Seguridad de Ser aprendido Utilización de Ser cambiado
Capacidad de Capacidad para
Acceso Capacidad para Recursos Estabilidad
Recuperacón Ser reemplazado
Ser operado Capacidad para
Complimiento Capacidad de Cumplimiento de Ser operado
Cumplimiento Cumplimiento de
De la Atracción La eficiencia Cumplimiento de
De la fiabilidad La portabilidad
Funcionalidad Cump. Usabilidad La mantenibilidad

Funcionalidad:
◦ Adecuación:
▪ Capacidad del producto software para proporcionar un conjunto apropiado de funciones
para tareas y objetivos de usuario especificados.
◦ Exactitud:
▪ Capacidad del producto software para proporcionar los resultados o efectos correctos o
acordados, con el grado necesario de precisión.
◦ Interoperabilidad:
▪ Capacidad del producto software para interactuar con uno o más sistemas especificados.
◦ Seguridad de acceso:
▪ Capacidad del producto software para proteger información y datos de manera que las
personas o sistemas no autorizados no puedan leerlos o modificarlos, al tiempo que no se
deniega el acceso a las personas o sistemas autorizados.
◦ Cumplimiento funcional:
▪ Capacidad del producto software para adherirse a normas, convenciones o regulaciones
en leyes y prescripciones similares relacionadas con funcionalidad.
• Fiabilidad:
◦ Madurez:
▪ Capacidad del producto software para evitar fallar como resultado de fallos en el
software.
◦ Tolerancia a fallos:
▪ Capacidad del software para mantener un nivel especificado de prestaciones en caso de
fallos software o de infringir sus interfaces especificados.
◦ Capacidad de recuperación:
▪ Capacidad del producto software para reestablecer un nivel de prestaciones especificado y
de recuperar los datos directamente afectados en caso de fallo.
◦ Cumplimiento de la fiabilidad:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 122
Bases de Datos II – Licenciatura en Sistemas de Información

▪ Capacidad del producto software para adherirse a normas, convenciones o regulaciones


relacionadas con al fiabilidad.
• Usabilidad:
◦ Capacidad para ser entendido:
▪ Capacidad del producto software que permite al usuario entender si el software es
adecuado y cómo puede ser usado para unas tareas o condiciones de uso particulares.
◦ Capacidad para ser aprendido:
▪ Capacidad del producto software que permite al usuario aprender sobre su aplicación.
◦ Capacidad para ser operado:
▪ Capacidad del producto software que permite al usuario operarlo y controlarlo.
◦ Capacidad de atraccion:
▪ Capacidad del producto software para ser atractivo al usuario.
◦ Cumplimiento de la usabilidad:
▪ Capacidad del producto software para adherirse a normas, convenciones, guías de estilo o
regulaciones relacionadas con la usabilidad.
• Eficiencia:
◦ Comportamiento temporal:
▪ Capacidad del producto software para proporcionar tiempos de respuesta, tiempos de
proceso y potencia apropiados, bajo condiciones determinadas.
◦ Utilización de recursos:
▪ Capacidad del producto software para usar las cantidades y tipos de recursos adecuados
cuando el software lleva a cabo su función bajo condiciones determinadas.
◦ Cumplimiento de la eficiencia:
▪ Capacidad del producto software para adherirse a normas o convenciones relacionadas
con la eficiencia.
• Mantenibilidad:
◦ Capacidad para ser analizado:
▪ Es la capacidad del producto software para serle diagnosticadas deficiencias o causas de
los fallos en el software, o para identificar las partes que han de ser modificadas.
◦ Capacidad para ser cambiado:
▪ Capacidad del producto software que permite que una determinada modificación sea
implementada.
◦ Estabilidad:
▪ Capacidad del producto software para evitar efectos inesperados debidos a modificaciones
del software.
◦ Capacidad para ser probado:
▪ Capacidad del producto software que permite que el software modificado sea validado.
◦ Cumplimiento de la Mantenibilidad:
▪ Capacidad del producto software para adherirse a normas o convenciones relacionadas
con la mantenibilidad.
• Portabilidad:
◦ Adaptabilidad:
▪ Capacidad del producto software para ser adaptado a diferentes entornos especificados,
sin aplicar acciones o mecanismos distintos de aquellos proporcionados para este
propósito por el propio software considerado.
◦ Instalabilidad:
▪ Capacidad del producto software para ser instalado en un entorno especificado.
◦ Coexistencia:
▪ Capacidad del producto software para coexistir con otro software independiente, en un
entorno común, compartiendo recursos comunes.
◦ Capacidad para reemplazar:
▪ Capacidad del producto software para ser usado en lugar de otro producto software, para
el mismo propósito, en el mismo entorno.
◦ Cumplimiento de la portabilidad:
▪ Capacidad del producto software para adherirse a normas o convenciones relacionadas
con la portabilidad.
• Modelo de calidad para calidad en uso:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 123
Bases de Datos II – Licenciatura en Sistemas de Información

Calidad en
Uso

Seguridad de
Efectividad Productividad Satisfacción
Acceso

◦ Efectividad:
▪ Capacidad del producto software para permitir a los usuarios alcanzar objetivos
especificados con exactitud y completitud, en un contexto de uso especificado.
◦ Productividad:
▪ Capacidad del producto software para permitir a los usuarios gastar una cantidad
adecuada de recursos con relación a la efectividad alcanzada, en un contexto de uso
especificado.
◦ Seguridad física:
▪ Capacidad del producto software para alcanzar niveles aceptables del riesgo de hacer
daño a personas, al negocio, al software, a las propiedades o al medio ambiente en un
contexto de uso especificado.
◦ Satisfacción:
▪ Capacidad del producto software para satisfacer a los usuarios en un contexto de uso
especificado.
• Norma ISO / IEC 9126 - Calidad del software

Eficiencia
Funcionalidad Portabilidad

CALIDAD DE SOFTWARE

Confiabilidad Usabilidad
Mantenibilidad

Mantenibilidad

Comprensibilidad Modificabilidad Analizabilidad Estabilidad Testabilidad Conformidad

Complejidad

Henderson – Sellers (1994)

Complejidad

Computacional Psicológica Representacional

Producto o
Problema Complejidad
Complejidad
Complejidad Cognitiva
Estructural

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 124
Bases de Datos II – Licenciatura en Sistemas de Información

• Norma ISO 14598 - Evaluación del producto software

• Proceso de evaluación

Establecer propósito de la evaluación (7.1)


Establecer
Requisitos de
Evaluación Identificar los tipos de productos (7.2)

Especificar el modelo de calidad (7.3) 9126-1 Características de


Calidad

Seleccionar métricas (8.1)


Especificar 9126-2 Métricas Externas
evaluación 9126-3 Métricas Internas
Establecer niveles para las métricas (8.2)

Establecer criterios para la valoración (8.3)

Diseñar
evaluación Producir plan de evaluaciión (9.1)

Tomar medidas (10.1)

Comparar con criterios (10.2)


Ejecutar
evaluación
Valroar resultados (10.3)

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 125
Bases de Datos II – Licenciatura en Sistemas de Información

• Identificación de los tipos de productos a ser evaluados

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 126
Bases de Datos II – Licenciatura en Sistemas de Información

• Establecer niveles de puntuación para las métricas

Excede los requisitos

Nivel planeado

Satisfactorio
Valor medido
Rango objetivo

Nivel Actual

Mínimamente aceptable

El caso peor
Insatisfactorio

Inaceptable

• Metodología TQDM (Total Quality Data Management, English, 1999)


• Identificar un grupo de información que tenga un impacto significativo con el fin de aportar un
mayor valor agregado.
• Establecer objetivos y medidas para evaluar la calidad de la información:
◦ Ej.: Tiempo que pasa desde que se conoce un dato hasta que se encuentra disponible para un
determinado proceso.
• Identificar la cadena de valor y de costos de la información:
◦ Comprenderá todos los archivos, documentos y BD procesos de negocio, programas y roles
que tengan relación con el grupo de datos.
• Determinar los archivos o procesos a evaluar.
• Identificar las fuentes de validación de datos para evaluar la precisión.
• Extraer muestras de datos aleatorias, aplicando las técnicas estadísticas adecuadas.
• Medir la calidad de la información para determinar su nivel de fiabilidad y descubrir los defectos.
• Interpretar e informar sobre la calidad de la información.
• Norma ISO 15504 - Spice: software process improvement and capability determination
• Propósito:
◦ Estándar de evaluación de procesos de software para:
▪ Mejora continua.
▪ Evaluación de la capacidad.
▪ Como base para el comercio internacional de software.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 127
Bases de Datos II – Licenciatura en Sistemas de Información

• Alcance:
◦ Ejecutar, planificar, gestionar, controlar y mejorar los procesos de:
▪ Adquisición.
▪ Suministro.
▪ Desarrollo.
▪ Operación.
▪ Soporte.
• Estructura de ISO 15504:

Parte 1 Parte 9
Conceptos y guía introducción Vocablo

Parte 7 Parte 8
Guía para usar en Guía para usar en
un proceso de mejora La determinación de la
capacidad de un proveedor

Evaluación de Procesos

Parte 4 Parte 5 Parte 6


Guía para realizar Un modelo de evaluación Guía sobre la competencia
evaluaciones Y una guía de indicadores De los evaluadores

Parte 3 Parte 2
Realizar una Un modelo de referencia
evaluación De procesos y de
Capacidad de los procesos

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 128
Bases de Datos II – Licenciatura en Sistemas de Información

Tema 8: De las BD a los Almacenes de Datos (DW)

Finalidades y Evolución de los Sistemas de Información.

• La información reduce nuestra incertidumbre (sobre algún aspecto de la realidad) y, por tanto,
nos permite tomar mejores decisiones.
• Inicialmente la finalidad de los si era recopilar información sobre una porción del mundo para
ayudar en la toma de decisiones:
◦ Recuentos de cereales en babilonia, censos civiles y militares romanos o chinos, libros
contables de árabes o sefardíes, etc.
• Actualmente, con la informatización de las organizaciones y la aparición de aplicaciones software
operacionales sobre el si, la finalidad principal de los sistemas de información es dar soporte a los
procesos básicos de la organización:
◦ Ventas, producción, personal, etc.
• Primero se busca satisfacer la necesidad de tener un soporte informático para los procesos
básicos de la organización:
◦ Sistemas de información para la gestión.
• Luego las organizaciones exigen nuevas prestaciones de los sistemas de información:
◦ Sistemas de información para la toma de decisiones.
• Los principales aspectos en la evolución efectuada son los siguientes:
◦ 60’s: informes batch:
▪ La información es difícil de encontrar y analizar.
▪ Son poco flexibles.
▪ Es necesario reprogramar cada petición diferente.
◦ 70's: primeros DSS (decision support systems) y EIS (executive information systems):
▪ Basados en terminal.
▪ No integrados con el resto de herramientas.
◦ 80’s: acceso a datos y herramientas de análisis integradas (conocidas como intelligent
business tools):
▪ Herramientas de consultas e informes, hojas de cálculo, interfaces gráficos e integrados,
fáciles de usar.
▪ Acceden a las bases de datos operacionales.
◦ 90’s: almacenes de datos y herramientas olap.
◦ 00’s: herramientas de minería de datos y simulación.

Herramientas para la Toma de Decisiones

• Han aparecido diferentes herramientas de negocio o dss que coexisten:


◦ EIS, OLAP, consultas & informes, minería de datos, etc.
• Esto lleva a una serie de interrogantes, por ej.:
◦ ¿Cuál es la diferencia entre EIS y OLAP?.
◦ ¿Cuál es la diferencia entre informes avanzados y OLAP?.
◦ ¿Cuál es la diferencia entre OLAP y minería de datos?.
◦ ¿Qué interrelaciones existen entre todas estas herramientas?.
• ¿Cual es la diferencia entre EIS y OLAP?:
◦ Un EIS (Executive Information System) es un sistema de información y un conjunto de
herramientas asociadas:
▪ Proporciona a los directivos acceso a la información de estado y sus actividades de
gestión.
▪ Está especializado en analizar el estado diario de la organización (mediante indicadores
clave) para informar rápidamente sobre cambios a los directivos.
▪ La información solicitada suele ser, en gran medida, numérica (ventas semanales, nivel
de stocks, balances parciales, etc ) y representada de forma gráfica al estilo de las hojas
de cálculo.
◦ Las herramientas OLAP (On-Line Analytical Processing) son más genéricas:
▪ Funcionan sobre un sistema de información (transaccional o almacén de datos).

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 129
Bases de Datos II – Licenciatura en Sistemas de Información

▪ Permiten realizar agregaciones y combinaciones de los datos de maneras mucho más


complejas y ambiciosas, con objetivos de análisis más estratégicos.
• ¿Cual es la diferencia entre informes avanzados y OLAP?:
◦ Los sistemas de informes o consultas avanzadas:
▪ Están basados, generalmente, en sistemas relacionales u objeto-relacionales.
▪ Utilizan los operadores clásicos:
• Concatenación, proyección, selección, agrupamiento, etc. (en SQL y extensiones).
▪ El resultado se presenta de una manera tabular.
◦ Las herramientas OLAP:
▪ Están basadas, generalmente, en sistemas o interfaces multidimensionales.
▪ Utilizan operadores específicos (además de los clásicos):
• DRILL, ROLL, PIVOT, SLICE & DICE, etc.
▪ El resultado se presenta de una manera matricial o híbrida.
• ¿Cuál es la diferencia entre OLAP y mineria de datos?:
◦ Las herramientas OLAP:
▪ Proporcionan facilidades para “manejar” y “transformar” los datos.
▪ Producen otros “datos” (más agregados, combinados).
▪ Ayudan a analizar los datos porque producen diferentes vistas de los mismos.
◦ Las herramientas de minería de datos:
▪ Son muy variadas: permiten “extraer” patrones, modelos, descubrir relaciones,
regularidades, tendencias, etc.
▪ Producen “reglas” o “patrones” (“conocimiento”).
• ¿Qué interrelaciones existen entre herramientas?:
◦ Se indican en la gráfica.
◦ Algunas herramientas han hecho manera de trabajar de otras.

Estructuras de Datos para la Inteligencia de Negocios

• La Inteligencia de Negocios o Business Intelligence (BI) es el término que caracteriza una amplia
variedad de tecnologías, plataformas de software, especificaciones de aplicaciones y procesos.
• El objetivo primario de la inteligencia de negocios es:
◦ Contribuir a tomar decisiones que mejoren el desempeño de la empresa u organización.
◦ Promover su ventaja competitiva.
• La inteligencia de negocios faculta a la organización a tomar mejores decisiones más rápidas.
• La inteligencia de negocios se caracteriza por:
◦ Buscar hechos cuantitativos medibles y objetivos acerca de la empresa u organización.
◦ Usar métodos y tecnologías para el análisis de hechos.
◦ Desarrollar modelos que expliquen la causa-efecto de las relaciones entre:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 130
Bases de Datos II – Licenciatura en Sistemas de Información

▪ Las acciones operacionales.


▪ Los efectos que estas han alcanzado.
◦ Experimentar con aplicaciones alternativas.
◦ Supervisar los resultados que sirven de retro alimentación.
• El ciclo de la inteligencia de negocios (BI)
• El ciclo se compone de las siguientes etapas:
◦ Análisis:
▪ Determinar los Datos a Recopilar.
◦ Reflexión:
▪ Implica el estudio minucioso de los hechos y de la situación, además de considerar el
rumbo que puede tomar el caso de estudio.
◦ Acción:
▪ Proceso de toma de decisiones, en donde las acciones se suceden como resultado de las
decisiones.
◦ Medición:
▪ Evaluar los resultados al compararlos contra los estándares cuantitativos y las
expectativas planteadas originalmente.
• Interrogantes en entornos de BI:
◦ ¿Cuáles son las condiciones dentro de una organización que ameritan tomar decisiones?.
◦ ¿Cómo interpretar una situación que requiere atenderse a través de la toma de decisiones?.
◦ ¿Cuál es el conocimiento requerido para tomar decisiones y cómo representarlo?.
◦ ¿Cuál es la inferencia que se aplica al elegir una decisión y cómo sistematizarla?.
◦ ¿Qué información se requiere para evaluar una situación y tomar decisiones?.
◦ ¿Cómo extraer y depurar dicha información?.
◦ ¿Se pueden usar las BD y sistemas para alimentar la información apropiada?.
◦ ¿Cómo integrar la inteligencia artificial, ingeniería de sistemas y las BD?.
◦ ¿Cómo crear un sistema administrador de conocimiento para la toma de decisiones?.
• Desafíos de la inteligencia de negocios:
◦ La complejidad técnica, al combinar la informática, computación e inteligencia artificial.
◦ El escepticismo que existe en torno a la utilidad de los sistemas basados en conocimiento,
debido a la dificultad para representar e inferir conocimiento.
◦ La escasez de aplicaciones comerciales que integren los elementos tecnológicos de las citadas
disciplinas.
◦ El empleo de nuevas plataformas de BD como son los almacenes de datos (DW).
◦ La falta de asesores especializados en todas las tecnologías involucradas en el proyecto.
◦ La inversión en un ambiente robusto de recursos de cómputo necesarios para crear el
sistema.
• Metas de la inteligencia de negocios:
◦ Explotar los conceptos de los sistemas basados en conocimiento para representar los criterios
que los responsables emplean al diagnosticar y tomar decisiones.
◦ Implementar almacenes de datos que accedan, depuren y presenten la información
proveniente de los sistemas y BD tradicionales.
◦ Integrar las disciplinas de la inteligencia artificial, informática y computación en un proyecto.
◦ Ofrecer un modelo de solución que aproveche las tecnologías de información en el mercado,
bajo la plataforma de BD, almacenes y sistemas basados en conocimiento.
• El proceso de toma de decisiones

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 131
Bases de Datos II – Licenciatura en Sistemas de Información

• Modelo de nivel jerárquico en una organización o empresa

• Marco de trabajo y componentes del Data Warehouse.

• Procedimiento para la construcción de un data warehouse.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 132
Bases de Datos II – Licenciatura en Sistemas de Información

• El Data Warehouse para la inteligencia de negocios.


Herramientas/Programas Visualización
Extracción Explotación de BALANCED SCORECARD / SIE
Transformación y Diseño Información Consolidaciones y
Carga y elaboración Análisis financieros
Tecnología de BD Multidimensionales Herramientas de
Inteligencia de
Necgocios

BD
ETL

Estrella

Sistemas Datawarehouse /
Transaccionales Datamarts

ARQUITECTURA

Almacenes de datos, OLAP y Minería de Datos.

• El almacén de datos, Datawarehouse ó DW, es ahora el sistema de información central en todo


este proceso.
• Un almacén de datos:
◦ Es una colección de datos:
▪ Orientada a un dominio.
▪ Integrada.
▪ No volátil.
▪ Variable en el tiempo.
◦ Debe servir para ayudar en la toma de decisiones.
• Actualmente los DW y las técnicas olap son las maneras más efectivas y tecnológicamente más
avanzadas para:
◦ Integrar, transformar y combinar los datos para facilitar al usuario o a otros sistemas el
análisis de la información.
• La tecnología OLAP generalmente se asocia a los almacenes de datos, aunque:
◦ Se puede tener almacenes de datos sin olap y viceversa.
• Servicio de transformación de datos (DTS)

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 133
Bases de Datos II – Licenciatura en Sistemas de Información

• Modelo de un ambiente OLAP.

• La minería de datos, data mining ó DM es un Conjunto de técnicas de análisis de datos que


permiten:
◦ Extraer patrones, tendencias y regularidades para describir y comprender mejor los datos.
◦ Extraer patrones y tendencias para predecir comportamientos futuros.
• Debido al gran volumen de datos este análisis:
◦ Ya no puede ser manual (ni incluso facilitado por herramientas de almacenes de datos y
olap).
◦ Ha de ser (semi-)automático.
• La minería de datos (DM) se diferencia claramente del resto de herramientas en el sentido de
que:
◦ No transforma y facilita el acceso a la información para que el usuario la analice más
fácilmente.
◦ La minería de datos “analiza” los datos.
• La minería de datos es solo una etapa del proceso de extracción de conocimiento a partir de
datos. Es un proceso que:
◦ Consta de varias fases:
▪ Preparación de datos (selección, limpieza, y transformación), minería de datos,
evaluación, difusión y uso de modelos.
◦ Incorpora muy diferentes técnicas:
▪ Árboles de decisión, regresión lineal, redes neuronales artificiales, técnicas bayesianas,
máquinas de soporte vectorial, etc.
◦ De campos diversos:
▪ Aprendizaje automático e I.A., Estadística, bases de datos, etc.
◦ Aborda una tipología variada de problemas:
▪ Clasificación, categorización, estimación / regresión, agrupamiento, etc.
• ¿Es necesario tener DataWarehouse para realizar Minería de ?:
◦ Los almacenes de datos no son imprescindibles para hacer extracción de conocimiento a
partir de datos:
▪ Se puede hacer minería de datos sobre un simple fichero de datos.
◦ Las ventajas de organizar un almacén de datos para realizar minería de datos se amortizan
sobradamente a medio y largo plazo cuando:
▪ Tenemos grandes volúmenes de datos, o
▪ Éstos aumentan con el tiempo, o
▪ Provienen de fuentes heterogéneas, o

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 134
Bases de Datos II – Licenciatura en Sistemas de Información

▪ Se van a combinar de maneras arbitrarias y no predefinidas.


• Alcance de un sistema basado en conocimiento

• Arquitectura de un sistema basado en conocimiento

• Conclusión:
◦ Las organizaciones requieren gestionar no sólo datos, sino información y también
conocimiento.
◦ El objetivo final es mejorar la toma de decisiones
◦ En un mundo cada vez más competitivo.
◦ Algunas de las posibles soluciones son las que utilizan DataWarehouse y Data Marts.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 135
Bases de Datos II – Licenciatura en Sistemas de Información

Tema 9: Almacenes de Datos para Gestión de Datos Masivos

• El objetivo es el análisis de datos para el soporte en la toma de decisiones.


• Generalmente, la información que se quiere investigar sobre un cierto dominio de la organización:
◦ Se encuentra en bases de datos y otras fuentes muy diversas.
◦ Las fuentes pueden ser tanto internas como externas.
• Muchas de estas fuentes son las que se utilizan para el trabajo diario:
◦ Bases de datos operacionales.
• Sobre estas mismas BD de trabajo ya se puede extraer conocimiento:
◦ Visión tradicional.
• La BD transaccional se utiliza para varios cometidos:
◦ Se mantiene el trabajo transaccional diario de los sistemas de información originales:
▪ Conocido como OLTP, On-Line Transactional Processing.
◦ Se hace análisis de los datos en tiempo real sobre la misma BD:
▪ Conocido como OLAP, On-Line Analytical Processing.
• El uso de la BD transaccional para varios cometidos presenta algunos problemas:
◦ Perturba el trabajo transaccional diario de los sistemas de información originales (“killer
queries”):
▪ Se debe hacer por la noche o en fines de semana.
◦ La BD está diseñada para el trabajo transaccional, no para el análisis de los datos:
▪ Generalmente no puede ser en tiempo real (era ap (proceso analítico) pero no olap
(proceso analítico en línea)).
• Se desea operar eficientemente con esos datos:
◦ Los costes de almacenamiento masivo y conectividad se han reducido drásticamente en los
últimos años.
• Parece razonable recoger los datos (información histórica) en un sistema separado y específico:
◦ Nace el Data-Warehousing.
◦ Data Warehouses (DW): almacenes o bodegas de datos.
Almacenes de Datos (AD) (Data WareHouse)
 Motivación
Disponer de sistemas de
Información de apoyo
a la toma de decisiones.
DSS: Decision Support Systems

Disponer de bases de datos que permitan extraer el conocimiento de
la información histórica almacenada en la organización

Análisis de la Previsiones de Diseño


Organización Evolución de Estrategias

Almacenes de Datos (AD)



Base de Datos diseñada con un objetivo
de explotación distinto que el de las bases de datos
de los sistemas operacionales.

Sistema Operacional (OLTP)  BD Orientada al Proceso

Sistema de Almacén de Datos  BD Orientada al Análisis

Almacenes de Datos
 Definición
Colección de datos diseñada
para dar apoyo a los procesos

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 136
Bases de Datos II – Licenciatura en Sistemas de Información

de toma de decisiones.

Orientada hacia Integrada Variable en No volátil


la información * el tiempo
relevante de la
orientación
* Subject oriented, not process oriented

• Un AD (almacén de datos) o Data Warehouse esta orientado hacia la información relevante de la


organización:
◦ Se diseña:
◦ Para consultar eficientemente información relativa a las actividades básicas de la
organización:
▪ Ventas, compras, producción, etc.
◦ No para soportar los procesos que se realizan en la organización:
▪ Gestión de pedidos, facturación, etc.

Bases de Datos
Transaccionales

PAIS GAMA
CURSO ... ...
...
Información
VENTA Necesaria
REUNION ...
...
PRODUCTO
PROTOTIPO ...
...

• Un Almacén de Datos (Data Warehouse) es integrado:


◦ Integra datos recogidos de:
▪ Diferentes sistemas operacionales de la organización.
▪ Y/o fuentes externas.

Fuente de Fuente de
Datos 3 Fuente de
Datos 1
Bases de Datos Texto HTML Datos 2
Transaccional 1

Fuentes
Externas
Fuentes
Bases de Datos Internas
Transaccional 2

Almacén
de Datos

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 137
Bases de Datos II – Licenciatura en Sistemas de Información

• Un almacén de datos es variable en el tiempo:


◦ Los datos son relativos a un periodo de tiempo y deben ser incrementados periódicamente.
◦ Los datos son almacenados como fotos (snapshots) correspondientes a periodos de tiempo.

• Un almacén de datos es no volátil:


◦ Los datos almacenados no son actualizados, sólo son incrementados.
◦ El periodo de tiempo cubierto por un ad varía entre 2 y 10 años.

Carga

Bases de Datos Opracionales Almacén de Datos

INSERT READ READ


UPDATE
DELETE

• Un almacén de datos provee ventajas para las organizaciones:


◦ Rentabilidad de las inversiones realizadas para su creación.
◦ Aumento de la competitividad en el mercado.
◦ Aumento de la productividad de los técnicos de dirección.
• Un almacén de datos genera problemas para las organizaciones:
◦ Infravaloración del esfuerzo necesario para su diseño y creación.
◦ Infravaloración de los recursos necesarios para la captura, carga y almacenamiento de los
datos.
◦ Incremento continuo de los requisitos de los usuarios.
◦ Privacidad de los datos.
Sistema Operacional (OLTP) Almacén de Datos (AD)
• Almacena datos actuales. • Almacena datos históricos.
• Almacena datos de detalle. • Almacena datos de detalle y datos
• Bases de datos medianas (100MB – 1GB). agregados a distintos niveles.
• Los datos son dinámicos (actualizares). • Bases de datos grandes (100GB – 1TB).
• Los procesos (transacciones) son • Los datos son estáticos.
repetitivos. • Los procesos no son previsibles.
• El numero de transacciones es elevado. • El número de transacciones es bajo o

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 138
Bases de Datos II – Licenciatura en Sistemas de Información

• Tiempo de respuesta pequeño (segundos). medio.


• Dedicado al procesamiento de • Tiempo de respuesta variable (segundos-
transacciones. horas).
• Orientado a los procesos de la • Dedicado al análisis de datos.
organización. • Orientado a la información relevante.
• Soporta decisiones diarias. • Soporta decisiones estratégicas.
• Sirve a muchos usuarios (administrativos). • Sirve a técnicos de dirección.

Almacenes de Datos para Gestión de Datos Masivos

• La arquitectura de un almacén de datos viene determinada por su situación central como fuente
de información para las herramientas de análisis.

• Los componentes son los siguientes:


◦ Sistema ETL (Extraction, Transformation, Load).
◦ Repositorio propio de datos.
◦ Interfaces y gestores de consulta.
◦ Sistemas de integridad y seguridad.
• Sistema ETL (Extraction, Transformation, Load):
◦ Realiza las funciones de extracción de las fuentes de datos (transaccionales o externas),
transformación (limpieza, consolidación, etc.) Y la carga del almacén de datos, realizando:
▪ Extracción de los datos.
▪ Filtrado de los datos:
• Limpieza, consolidación, etc.
▪ Carga inicial del almacén:
• Ordenación, agregaciones, etc.
▪ Refresco del almacén:
• Operación periódica que propaga los cambios de las fuentes externas al almacén de
datos.
• Repositorio propio de datos:
◦ Información relevante, metadatos.
• Interfaces y gestores de consulta:
◦ Permiten acceder a los datos y sobre ellos se conectan herramientas más sofisticadas:
▪ OLAP, EIS, Minería de Datos.
• Sistemas de integridad y seguridad:
◦ Se encargan de un mantenimiento global, copias de seguridad, etc.
• La organización (externa):
◦ Las herramientas de explotación de los almacenes de datos han adoptado un modelo
multidimensional de datos:
▪ Se ofrece al usuario una visión multidimensional de los datos que son objeto de análisis.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 139
Bases de Datos II – Licenciatura en Sistemas de Información

• Ejemplo:
◦ Organización: cadena de supermercados.
◦ Actividad objeto de análisis: ventas de productos.
◦ Información registrada sobre una venta: “del producto “tauritón 33cl” se han vendido en el
almacén “almacén nro.l” el día 17/7/2003, 5 unidades por un importe de 103,19 euros”.
◦ Para hacer el análisis no interesa la venta individual (ticket) realizada a un cliente sino las
ventas diarias de productos en los distintos almacenes de la cadena.

Marca
Descripción Semana
Producto

Categoría

Tiempo
Departamento Mes
Nro_producto Día Terrestre
Tipo Año

as
nt
Ve
Importe
Unidades
Almacén

Ciudad
Tipo

Almacén
Región

Dimensiones (puntos de
Vista) desde los que
se puede analizar la
actividad

Marca
Descripción Semana
Producto

Tiempo

Categoría
Departamento Mes
Nro_producto Día Terrestre
Tipo Año

as
e nt
V
Importe
Unidades
Almacén

Ciudad
Tipo
Dimensiones (puntos de
Almacén

Región
Vista) desde los que
se puede analizar la actividad

• Modelo multidimensional:
◦ En un esquema multidimensional se representa una actividad que es objeto de análisis
(hecho) y las dimensiones que caracterizan la actividad (dimensiones).
◦ La información relevante sobre el hecho (actividad) se representa por un conjunto de
indicadores (medidas o atributos de hecho).
◦ La información descriptiva de cada dimensión se representa por un conjunto de atributos
(atributos de dimensión).

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 140
Bases de Datos II – Licenciatura en Sistemas de Información

Marca
Descripción Semana
Producto

Categoría

Tiempo
Departamento Mes
Nro_producto Día Terrestre
Tipo Año

as
nt
Ve
Importe
Unidades
Almacén Dimensión

Medidas Ciudad
Tipo

Almacén
Región

Atributos

Entre los atributos de una dimensión se definen jerarquías.

Producto

Nro. Producto Categoría Departamento

Almacén

Ciudad Regiión
Almacén

Tipo

Tiempo

Día Mes Trimestre Año

Semana

• Este esquema multidimensional recibe varios nombres:


◦ Estrella: si la jerarquía de dimensiones es lineal.
Tiempo Proyecto

PERSONAL

Equipo

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 141
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Estrella jerárquica o copo de nieve: si la jerarquía no es lineal.

Tiempo

VENTAS
Producto

Lugar
• Se pueden obtener hechos a diferentes niveles de agregación:
◦ Obtención de medidas sobre los hechos parametrizadas por atributos de las dimensiones y
restringidas por condiciones impuestas sobre las dimensiones.
◦ Un nivel de agregación para un conjunto de dimensiones se denomina cubo.
◦ Ejemplo de hecho:
▪ “El primer trimestre de 2004 la empresa vendió en valencia por un importe de 22.000
euros del producto tauritón 33 CL”.
Ventas en MILES de EUROS

LUGAR: Ciudad
Murcia
Alicante
Zaragoza
Madrid
Barcelona
Valencia
17
Zumo Piña 1L
57
Cola 33 CL.
PRODUCTO:
Artículo

93
Jabón Saitre

Zumo Piña 1L 22

5
Zumo Piña 1L
12
Zumo Piña 1L

• ¿Se puede recopilar toda la información necesaria en un único esquema estrella o copo de nieve?:
◦ No: necesidad de varios esquemas.
◦ Cada uno de estos esquemas se denomina datamart.
◦ El siguiente es un ejemplo de un almacén formado por cuatro datamarts.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 142
Bases de Datos II – Licenciatura en Sistemas de Información

• El almacén de datos puede estar formado por varios datamarts y, opcionalmente, por tablas
adicionales:
◦ El datamart es un subconjunto de un almacén de datos, generalmente en forma de estrella o
copo de nieve.
◦ Los datamarts se definen para satisfacer las necesidades de un departamento o sección de la
organización.
◦ Un datamart contiene menos información de detalle y más información agregada.

Carga y Mantenimiento de un Almacén de Datos

• El sistema encargado del mantenimiento del almacen de datos es el sistema E.T.T. (extracción
-transformación -transporte) o E.T.L. (extracción -transformación - load (carga)):
◦ La construcción del sistema E.T.T. es responsabilidad del equipo de desarrollo del almacén de
datos.
◦ El sistema Extracción, Transformación y Transporte es construido específicamente para cada
almacén de datos. Aproximadamente 50% del esfuerzo.
◦ En la construcción E.T.T. se pueden utilizar herramientas del mercado o programas diseñados
específicamente.
• Las funciones del sistema Extracción, Transformación y Transporte Son:
◦ Carga inicial (initial load).
◦ Mantenimiento o refresco periódico: inmediato, diario, semanal, mensual,... (refreshment)..
• El almacenamiento intermedio permite:
◦ Realizar transformaciones sin paralizar las BD operacionales y el almacén de datos.
◦ Almacenar metadatos.
◦ Facilitar la integración de fuentes externas.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 143
Bases de Datos II – Licenciatura en Sistemas de Información

• La “calidad de los datos” es la clave del éxito de un almacén de datos.


• Es necesario definir una estrategia de calidad:
• Actuación sobre los sistemas operacionales:
• Modificar las reglas de integridad, los disparadores y las aplicaciones de los sistemas
operacionales.
• Documentación de las fuentes de datos.
• Definición de un proceso de transformación.
• Nombramiento de un responsable de calidad del sistema (data quality manager).
• Almacenes de datos para gestión de datos masivos
• Extracción:
◦ Significa el uso de:
▪ Programas diseñados para extraer los datos de las fuentes.
▪ Herramientas: Data Migration Tools, Wrappers, etc.

Correspondencia

Extracción

Bases de Datos Opracionales Almacenamiento Almacén de Datos


Intermedio

◦ Comprende la lectura de datos del sistema operacional:


▪ Durante la carga inicial.
▪ Mantenimiento del almacén de datos.
◦ La ejecucion de la extraccion:
▪ Si los datos operacion ales están mantenidos en un SGBDR:
• La extracción de datos se puede reducir a consultas en SQL o rutinas programadas.
◦ Si los datos operacionales están en un sistema propietario (no se conoce el formato de los
datos) o en fuentes externas textuales, hipertextuales u hojas de cálculo:
▪ La extracción puede ser muy difícil y puede tener que realizarse a partir de informes o
volcados de datos proporcionados por los propietarios que deberán ser procesados
posteriormente.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 144
Bases de Datos II – Licenciatura en Sistemas de Información

◦ En el mantenimiento / refresco del almacén de datos, antes de realizar la extracción es


preciso identificar los cambios.
◦ La identificacion de cambios significa:
▪ Identificar los datos operacionales (relevantes) que han sufrido una modificación desde la
fecha del último mantenimiento.
▪ Métodos:
• Carga total: cada vez se empieza de cero.
• Comparación de instancias de la base de datos operacional.
• Uso de marcas de tiempo (time stamping) en los registros del sistema operacional.
• Uso de disparadores en el sistema operacional
• Uso del fichero de log (gestion de transacciones) del sistema operacional.
• Uso de técnicas mixtas.
• Transformación:
◦ Significa:
▪ Transformar los datos extraídos de las fuentes operacionales:
• Limpieza, estandarización (Cleansing).
▪ Calcular los datos derivados:
• Aplicar las leyes de derivación (Integration).

Correspondencia

Transformación
Bases de Datos Opracionales Almacenamiento Almacén de Datos
Intermedio

◦ En los datos operacionales existen anomalías debidas a:


▪ Desarrollos independientes a lo largo del tiempo, fuentes heterogéneas, etc.
◦ Se debe eliminar las anomalías:
▪ Limpieza de datos:
• Eliminar datos, corregir y completar datos, eliminar duplicados, etc.
▪ Estandarización:
• Codificación, formatos, unidades de medida, etc.

• Transformación:
◦ Las claves con estructura se deben descomponer en valores atómicos.
◦ Ej.: Código de producto = 12M65431345:
▪ Código del país: 12.
▪ Zona de ventas: M.
▪ Número de producto: 65431.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 145
Bases de Datos II – Licenciatura en Sistemas de Información

▪ Código de vendedor: 345.


◦ Se deben unificar codificaciones:
▪ Pueden existir codificaciones múltiples que se deben unificar:
• Ej.: Diferentes codificaciones para sexo (género):
◦ M, F: masculino, femenino.
◦ V, M: varón, mujer.
◦ 1, 0: hombre, mujer.
◦ A, B: mujer, hombre.
▪ Deben detectarse los valores erróneos.
◦ Se deben unificar estándares:
▪ Unidades de medida:
• Ej.: Cm, inches: a Cm.
▪ Unidades de tiempo:
• Ej.: Dd/mm/yy, mm/dd/yy: a dd-mon-yy.
▪ Moneda:
• Ej.: GBP, FF, Euro, USD: a USD.
▪ Etcétera.
◦ Se deben eliminar valores duplicados:
▪ SQL.
▪ Restricciones en el SGBDR.
▪ Ej.: Campos duplicados en diferentes tablas.

• Se debe reconstruir la integridad referencial.
Departamento Emp Nombre Departamento
10 1099 Smith 10
20 1289 Jones 20
30 1234 Doe 50
40 6786 Harris 60

• Transformación:
◦ Se debe crear las claves.
• Transporte (carga):
• La fase de transporte consiste en:
◦ Mover los datos desde las fuentes operacion ale s o el almacenamiento intermedio hasta el
almacén de datos, y.
◦ Cargar los datos en las correspondientes estructuras de datos.
◦ La carga puede consumir mucho tiempo.
◦ En la carga inicial del ad se mueven grandes volúmenes de datos.
◦ En los mantenimientos periódicos del ad se mueven pequeños volúmenes de datos.
◦ La frecuencia del mantenimiento periódico está determinada por el gránulo del ad y los
requisitos de los usuarios.
• Transporte:
◦ Creación y mantenimiento de un almacén de datos:
▪ Crear el almacén de datos (base de datos).
▪ En intervalos de tiempo fijos añadir cambios al almacén de datos:
• Se deben determinar las “ventanas de carga” más convenientes para no saturar la BD
operacional.
▪ Ocasionalmente archivar o eliminar datos obsoletos que ya no interesan para el análisis.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 146
Bases de Datos II – Licenciatura en Sistemas de Información

• Procesos posteriores a la carga:


◦ Indización:
▪ Durante la carga:
• Carga con el índice habilitado.
• Proceso tupla a tupla (lento).
▪ Después de la carga:
• Carga con el índice deshabilitado.
• Creación del índice (total o parcial) (rápido).

◦ Obtención de agregados:
▪ Durante la extracción.
▪ Después de la carga (transporte).

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 147
Bases de Datos II – Licenciatura en Sistemas de Información

Diseño y Armado de un Almacén de Datos

• Etapas:

Recogida y anáisis de
requisitos

Diseño conceptual

Diseño lógico específico

Diseño físico

Implementación

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 148
Bases de Datos II – Licenciatura en Sistemas de Información

Recogida y anáisis de
requisitos Análisis

Diseño conceptual
Discernimiento de las
Requisitos de
Fuentes necesarias
Usuario (consultas
Del sistema de
De análisis necesarias,
Informacón de la
Nivel de
Diseño lógico Organización (OLTP)
Agregación, ...)
Y externas

Diseño físico

Implementación Diseño Conceptual

Por Ej. Entidad-Relación

Recogida y anáisis de
requisitos Diseño lógico

Diseño conceptual

Modelado Multidimensional (MR)


Diseño lógico

Diseño físico

Implementación Esquemas
Estrella

Recogida y anáisis de
requisitos Implementación

Diseño conceptual

Carga del AD (ETL)


Diseño lógico

Diseño físico

Preparación de las
Implementación Vistas de usuario
(herramienta OLAP)

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 149
Bases de Datos II – Licenciatura en Sistemas de Información

• Detalles acerca del diseño lógico:

Recogida y anáisis de
requisitos La visión multidimensional seguida por
Las herramientas de explotación de
Almaceness de datos (OLAP) ha
Inspirado los modelos y metodologías
Diseño conceptual De diseño de este tipo de sistemas

Diseño lógico

Diseño físico

En la literatura se habla de “Bases de Datos


Multidimensionales” y de “Diseño Multidimensional”
Implementación

• Modelado multidimensional:
◦ En un esquema multidimensional se representa una actividad que es objeto de análisis
(hecho) y las dimensiones que caracterizan la actividad (dimensiones).
◦ La información relevante sobre el hecho (actividad) se representa por un conjunto de
indicadores (medidas o atributos de hecho).
◦ La información descriptiva de cada dimensión se representa por un conjunto de atributos
(atributos de dimensión).
◦ El modelado multidimensional se puede aplicar utilizando distintos modelos de datos
• (conceptuales o lógicos).
◦ La representación gráfica del esquema multidimensional dependerá del modelo de datos
utilizado (Relacional, ER, UML, OO, etc.).
• El desarrollo de la tecnología de almacenes de datos se ha caracterizado por:
◦ Un temprano desarrollo industrial provocado por las demandas de los usuarios.
◦ El uso de metodologías de diseño centradas principalmente en los niveles lógico e interno:
▪ La atención se ha centrado en mejorar la eficiencia en la ejecución de consultas.
◦ Ej. De metodología de diseño basada en el modelo relacional:
▪ Modelo multidimensional de kimball.
• Los pasos en el diseño del almacen de datos son:
◦ Paso 1: elegir un “proceso” de la organización para modelar.
◦ Paso 2: decidir el gránulo (nivel de detalle) de representación del proceso.
◦ Paso 3: Identificar las dimensiones que caracterizan el proceso.
◦ Paso 4: Decidir la información a almacenar sobre el proceso.
• Paso 1: Elegir un “proceso ” de la organización para modelar:
◦ Proceso: actividad de la organización soportada por un OLTP del cual se puede extraer
información con el propósito de construir el almacén de datos:
▪ Pedidos (de clientes).
▪ Compras (a suministradores).
▪ Facturación.
▪ Envíos.
▪ Ventas.
▪ Inventario
▪ Etc.
• Ejemplo:
◦ Cadena de supermercados:
▪ Cadena de supermercados con 300 almacenes en la que se expenden unos 30.000
productos distintos.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 150
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Actividad: ventas
▪ La actividad a modelar son las ventas de productos en los supermercados (almacenes) de
la cadena.
• Paso 2: Decidir el grànulo (nivel de detalle) de representación:
◦ Gránulo: es el nivel de detalle al que se desea almacenar información sobre la actividad a
modelar:
▪ El grànulo define el nivel atómico de datos en el almacén de datos.
▪ El grànulo determina el significado de las tuplas de la tabla de hechos.
▪ El grànulo determina las dimensiones básicas del esquema:
• Transacción en el OLTP.
• Información diaria.
• Información semanal.
• Información mensual.
• Etc.

Tabla de Hechos

Tabla 3 Tabla
Dimensión 1 Dim Dimensión 3
1
Dim id_dim1
id_dim2
id_dim3

id_dim n

Tabla n Tabla
Dim
(hechos)
Dimensión 2 2 Dimensión n
Dim

• Ejemplo:
◦ Cadena de supermercados.
◦ Grànulo:
▪ “Se desea almacenar información sobre las ventas diarias de cada producto en cada
almacén de la cadena”.
◦ Grànulo:
▪ Define el significado de las tuplas de la tabla de hechos.
▪ Determina las dimensiones básicas del esquema.

o
to mp
duc Producto Tie
Pro
Dia
Almacén
Ventas

n
acé
Alm

• Granulo inferior:
◦ No se almacena información a nivel de línea de ticket porque no se puede identificar siempre
al cliente de la venta:
▪ Si se pudiera, permitiría hacer análisis del comportamiento (hábitos de compra) del
cliente.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 151
Bases de Datos II – Licenciatura en Sistemas de Información

• Granulo superior:
◦ No se almacena información a nivel semanal o mensual porque se perderían opciones de
análisis interesantes:
▪ Ventas en días previos a vacaciones, ventas en fin de semana, ventas en fin de mes, etc.
• En un Data Warehouse se almacena información a un nivel de detalle (grànulo) fino:
◦ No porque se vaya a interrogar el almacén a ese nivel.
◦ Sino porque ello permite clasificar y estudiar (analizar) la información desde muchos puntos
de vista.

• Paso 3: identificar las dimensiones que caracterizan el proceso:


◦ Dimensiones: dimensiones que caracterizan la actividad al nivel de detalle (gránulo) que se
ha elegido:
▪ Tiempo (dimensión temporal: ¿cuando se produce la actividad?).
▪ Producto (dimensión ¿cuál es el objeto de la actividad?).
▪ Almacén (dimensión geográfica: ¿dónde se produce la actividad?).
▪ Cliente (dimensión ¿quién es el destinatario de la actividad?).
• De cada dimensión se debe decidir los atributos (propiedades) relevantes para el análisis de la
actividad.
• Entre los atributos de una dimensión existen jerarquías naturales que deben ser identificadas:
◦ Día-mes-año.

Tabla
Dimension1 id_dim1

)
tos
at ribu
(

• Ejemplo:
◦ Cadena de supermercados.
◦ Nota: en las aplicaciones reales el número de dimensiones suele variar entre 3 y 15.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 152
Bases de Datos II – Licenciatura en Sistemas de Información

Tiempo
Definición Dimensiones
De gránulo Básicas Producto

Establecimmiento

• Dimensión tiempo:
◦ Dimensión presente en todo ad porque el ad contiene información histórica sobre la
organización.
◦ Aunque el lenguaje SQL ofrece funciones de tipo date, una dimensión tiempo permite
representar otros atributos temporales no calculables en SQL.
◦ Se puede calcular de antemano.
◦ Atributos frecuentes:
▪ Nro. De día, nro. De semana, nro. De año:
• Valores absolutos del calendario juliano que permiten hacer ciertos cálculos
aritméticos.
▪ Día de la semana (lunes, martes, miércoles,...):
• Permite hacer análisis sobre días de la semana concretos (ej. Ventas en sábado,
ventas en lunes,..).
• Dimensión tiempo:
◦ Atributos frecuentes:
▪ Día del mes (1.31):
• Permite hacer comparaciones sobre el mismo día en meses distintos (ventas el io de
mes).
▪ Marca de fin de mes, marca de fin de semana:
• Permite hacer comparaciones sobre el último día del mes o días de fin de semana en
distintos meses.
▪ Trimestre del año (1..4):
• Permite hacer análisis sobre un trimestre concreto en distintos años.
▪ Marca de día festivo (feriado):
• Permite hacer análisis sobre los días contiguos a un día festivo.
▪ Estación (primavera, verano..).
▪ Evento especial:
• Permite marcar días de eventos especiales (final de fútbol, elecciones...).
◦ Jerarquía natural:
▪ Día - mes - trimestre -año.
• Dimensión producto:
◦ La dimensión producto se define a partir del fichero maestro de productos del sistema OLTP.
◦ Las actualizaciones del fichero maestro de productos deben reflejarse en la dimensión
producto (¿cómo?).
◦ La dimensión producto debe contener el mayor número posible de atributos descriptivos que
permitan un análisis flexible:
▪ Un número frecuente es de 50 atributos.
◦ Atributos frecuentes:
▪ Identificador (código estándar), descripción, tamaño del envase, marca, categoría,
departamento, tipo de envase, producto dietético, peso, unidades de peso, unidades por
envase, fórmula, etc.
◦ Jerarquías:
▪ Producto-categoría-departamento.
• Dimensión establecimiento (store):
◦ La dimensión almacén representa la información geográfica básica.
◦ Esta dimensión suele ser creada explícitamente recopilando información externa que sólo
tiene sentido en el ad y que no la tiene en un OLTP:
▪ Número de habitantes de la ciudad del establecimiento, caracterización del tipo de
población del distrito, etc.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 153
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Atributos frecuentes:
▪ Identificador (código interno), nombre, dirección, distrito, región, ciudad, país, director,
teléfono, fax, tipo de almacén, superficie, fecha de apertura, fecha de la última
remodelación, superficie para congelados, superficie para productos frescos, datos de la
población del distrito, zona de ventas, etc.
◦ Jerarquías:
▪ Establecimiento - distrito - ciudad - región - país (jerarquía geográfica).
▪ Establecimiento - zona ventas - región ventas (jerarquía de ventas).
• Paso 4: decidir la información a almacenar sobre el proceso:
◦ Hechos: información (sobre la actividad) que se desea almacenar en cada tupla de la tabla de
hechos y que será el objeto del análisis:
▪ Precio
▪ Unidades
▪ Importe
▪ Etc.
◦ Nota: algunos datos que en el OLTP coincidirían con valores de atributos de dimensiones, en
el almacén de datos se pueden representar hechos:
▪ Ej.: El precio de venta de un producto.
• Ejemplo:
◦ Cadena de supermercados.
◦ Gránulo: “se desea almacenar información sobre las ventas diarias de cada producto en cada
establecimiento de la cadena”.
◦ Importe total de las ventas del producto en el día.
◦ Número total de unidades vendidas del producto en el día.
◦ Número total de clientes distintos que han comprado el producto en el día.

• Otras orientaciones de diseño:


◦ Usar claves sin significado.
◦ Evitar normalizar.
◦ Incluir la dimensión tiempo.
◦ Dimensiones “que cambian”.
◦ Definición de agregados.
◦ Uso de claves sin significado:
▪ En un almacén de datos debe evitarse el uso de las claves del sistema operacional.
▪ Las claves de las dimensiones deben ser generadas artificialmente:
• Claves de tipo entero (4 bytes) son suficiente para dimensiones de cualquier tamaño
(232 valores distintos).
▪ La dimensión tiempo debe tener también una clave artificial.
◦ Los inconvenientes del uso de las claves del sistema operacional son:
▪ En el OLTP se puede decidir reutilizar valores de la clave no utilizados actualmente.
▪ En el OLTP se puede decidir cambiar la codificación de las claves.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 154
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Evitar normalizar:
▪ Si se define una tabla de dimensión para cada dimensión identificada en el análisis, es
frecuente que entre el conjunto de atributos de la tabla aparezcan dependencias
funcionales que hacen que la tabla no esté en 3a f.n.
◦ Razones para evitar normalizar:
▪ El ahorro de espacio no es significativo.
▪ Se multiplican los join durante las consultas.
◦ Siempre introducir la dimensión tiempo:
▪ En un almacén de datos muchas consultas son restringidas y parametrizadas por criterios
relativos a periodos de tiempo
• Último mes, este año, etc.
◦ Dimensiones “que cambian”:
▪ Se considera relevante el caso en que, en el mundo real, para un valor de una dimensión:
• Cambia el valor de un atributo que es significativo para el análisis sin cambiar el valor
de su clave.
◦ Ej.: En un almacén de datos existe la dimensión cliente:
▪ En la tabla correspondiente un registro representa la información sobre el cliente “María
García” cuyo estado civil cambia el 15-01-1994 de soltera a casada.
▪ El estado civil del cliente es utilizado con frecuencia en el análisis de la información.
◦ Existen tres estrategias para el tratamiento de los cambios en las dimensiones:
▪ Tipo 1: Realizar la modificación.
▪ Tipo 2: Crear un nuevo registro.
▪ Tipo 3: Crear un nuevo atributo.
◦ Definición de agregados:
▪ En un almacén de datos es usual consultar información agregada.
▪ El almacenamiento de datos agregados por distintos criterios de agregación en la tabla de
hechos mejora la eficiencia del ad.
▪ Las estrategias de almacenamiento de datos agregados son:
• Estrategia 1: definir nuevas tablas de hechos (resp. Dimensiones) para almacenar la
información agregada (resp. La descripción de los niveles de agregación).
• Estrategia 2: insertar en la tabla de hechos (resp. Dimensiones) tuplas que
representan la información agregada (resp. Los niveles de agregación).
• Conclusiones:
◦ El diseño de un dw tiene características propias que lo hacen diferente al diseño de datos
para una base de datos operacional.
◦ La etapa de extracción de datos y su posterior actualización deben ser consideradas
cuidadosamente para preservar la utilidad real del data warehouse.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 155
Bases de Datos II – Licenciatura en Sistemas de Información

Tema 10: OLAP

Explotación de un ambiente OLAP

Tabla
Pivote 1
OLAP

Almacén Servidor Servicios de


de Explotación
datos Parámetros

Tabla
Pivote n

• Las herramientas de OLAP presentan al usuario una visión multidimensional de los datos o
esquema multidimensional, para cada actividad que es objeto de análisis.
• El usuario formula consultas a la herramienta olap seleccionando atributos de este esquema
multidimensional sin conocer la estructura interna o esquema físico del almacén de datos.
• La herramienta olap genera la correspondiente consulta y la envía al gestor de consultas del
sistema:
◦ P. ej. Mediante una sentencia SELECT.
• Una consulta a un almacén de datos consiste generalmente en la obtención de medidas sobre los
hechos parametrizadas por atributos de las dimensiones y restringidas por condiciones impuestas
sobre las dimensiones.
• Ej.: ¿cuál es el importe total de las ventas durante el año 2002 de los productos del
departamento bebidas, por trimestre y por categoría”?:
◦ Medida: importe
◦ Hecho: ventas.
◦ Restricciones: productos del departamento bebidas, ventas durante el año 2002.
◦ Parámetros de la consulta: por categoría de producto y por trimestre.

Marca
Descripción “Bebidas” Semana
Producto

Categoría
Tiempo

Departamento Mes
Nro_producto Día Terrestre
Tipo Año

as
e nt “2002”
V
Importe
Unidades
Almacén

Ciudad
Tipo
Almacén

Región
“Importe total de ventas en el
Año 2002, del departamento
De “Bebidas”, por categoría y
trimestre”

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 156
Bases de Datos II – Licenciatura en Sistemas de Información

Trimestre Categoría Importe

Oracle Discoverer

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 157
Bases de Datos II – Licenciatura en Sistemas de Información

Sistemas ROLAP y MOLAP

Arquitecturas OLAP

Servicios de Explotación

MOLAP ROLAP HOLAP

Detalles
Agregados

Detalle Agregados
Detalle Agregados

• El almacén de datos y las herramientas OLAP se pueden basar físicamente en varias


organizaciones:
◦ Sistemas ROLAP:
▪ Se implementan sobre tecnología relacional, pero disponen de algunas facilidades para
mejorar el rendimiento (índices de mapas de bits, índices de JOIN).
◦ Sistemas MOLAP:
▪ Disponen de estructuras de almacenamiento específicas (arrays) y técnicas de
compactación de datos que favorecen el rendimiento del almacén.
◦ Sistemas HOLAP:
▪ Sistemas híbridos entre ambos.
• Sistemas ROLAP:
• El almacén de datos se construye sobre un SGBD relacional.
• Los fabricantes de SGBD relacionales ofrecen extensiones y herramientas para poder utilizar el
SGBDR como un sistema gestor de data warehouse.
• Extensiones de los SGBD relacionales:
◦ Índices de mapa de bits.
◦ Índices de join.
◦ Técnicas de particionamiento de los datos.
◦ Optimizadores de consultas.
◦ Extensiones del SQL (operador CUBE, ROLL-UP).
• Sistemas MOLAP:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 158
Bases de Datos II – Licenciatura en Sistemas de Información

• Sistema de propósito específico:


◦ Estructuras de datos (arrays).
◦ Técnicas de compactación.
• El objetivo de los sistemas MOLAP es:
◦ Almacenar físicamente los datos en estructuras multidimensionales de forma que la
representación externa y la representación interna coincidan.
• El servidor MOLAP:
◦ Construye y almacena datos en estructuras multidimensionales.
• La herramienta de OLAP:
◦ Presenta estas estructuras multidimensionales.

Estructuras Herramienta
Multidimensionales OLAP

Servidor MOLAP

Warehouse

• MOLAP:
◦ Datos:
▪ Arrays.
▪ Extraídos del almacén de datos.
▪ Almacenamiento y procesos eficientes.
▪ La complejidad de la BD se oculta a los usuarios.
▪ El análisis se hace sobre datos agregados y métricas o indicadores precalculados.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 159
Bases de Datos II – Licenciatura en Sistemas de Información

• ROLAP/MOLAP: Ventajas e inconvenientes:


◦ ROLAP:
▪ Pueden aprovechar la tecnología relacional.
▪ Pueden utilizarse sistemas relacionales genéricos (más baratos o incluso gratuitos).
▪ El diseño lógico corresponde al físico si se utiliza el diseño de kimball.
◦ MOLAP:
▪ Generalmente más eficientes que los ROLAP.
▪ El coste de los cambios en la visión de los datos.
▪ La construcción de las estructuras multidimensionales.

SQL Ampliado

• Lo interesante no es poder realizar consultas que, en cierto modo, se pueden hacer con
selecciones, proyecciones, concatenaciones y agrupamientos tradicionales.
• Lo realmente interesante de las herramientas OLAP son sus operadores de refinamiento o
manipulación de consultas:
• DRILL.
• ROLL.
• SLICE & DICE.
• PIVOT.
• El carácter agregado de las consultas en el análisis de datos, aconseja la definición de nuevos
operadores que faciliten la agregación (consolidación) y la disgregación (división) de los datos:
◦ Agregación (ROLL): permite eliminar un criterio de agrupación en el análisis, agregando los
grupos actuales.
◦ Disgregación (DRILL): permite introducir un nuevo criterio de agrupación en el análisis,
disgregando los grupos actuales.
• Si se desea introducir la dimensión almacén en el análisis anterior e incluir un nuevo criterio de
agrupación sobre la ciudad del almacén:
◦ ¿“Importe total de las ventas durante el año 2002 de los productos del departamento
bebidas, por trimestre, por categorías y por ciudad del almacén”?.
◦ Restricciones: productos del departamento bebidas, ventas durante el año 2002.
◦ Parámetros de la Consulta: por categoría de producto, por trimestre y por ciudad del
almacén.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 160
Bases de Datos II – Licenciatura en Sistemas de Información

Cada grupo (categoría-trimestre) de la consulta original se disgrega en dos nuevos grupos (categoría-
trimestre-ciudad) para las ciudades de león y valencia.
* se asumen dos ciudades: valencia y león.
• Si se desea eliminar el criterio de agrupación sobre la dimensión tiempo en la consulta original:
◦ ¿“importe total de las ventas durante el año 2002 de los productos del departamento bebidas,
por Categorías”?.

• Las operaciones de disgregación (DRILL) y agregación (ROLL) se pueden hacer sobre:
◦ Atributos de una dimensión sobre los que se ha definido una jerarquía: DRILL-DOWN, ROLL-
UP:
▪ Departamento - categoría - producto (producto).
▪ Año - trimestre - mes - día (tiempo).
◦ Sobre dimensiones independientes: drill-across, roll-across:
▪ Producto - almacén -tiempo.

Categoría Trimestre Ventas


Refrescos t1 2000000
Refrescos t2 1000000
Refrescos t3 3000000
Refrescos t4 2000000
Zumos t1 1000000
Zumos t2 1500000
Zumos t3 8000000
Zumos t4 2400000
Drill-Down →
Categoría Trimestre Mes Ventas
Refrescos t1 enero 1000000
Refrescos t1 febrero 500000
Refrescos t1 marzo 500000
Cada grupo (categoría-trimestre) de la consulta original se disgrega en dos nuevos grupos (categoría-
trimestre-mes).

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 161
Bases de Datos II – Licenciatura en Sistemas de Información

• Otras operaciones de OLAP son las siguientes:


◦ SLICE & DICE: seleccionar y proyectar datos en el informe.
◦ PIVOT: reorientación de las dimensiones en el informe.

Ventas Ventas

Productos Store 1 Store 2 Productos Q1 Q2

Electronics $5,2 $5,6 Electronics $5,2 $8,9

Store 1
Toys $1,9 $1,4 Toys $1,9 $0,75
Q1

Clothing $2,3 $2,6 Clothing $2,3 $4,6


Cosmetics $1,1 $1,1 Cosmetics $1,1 $1,5
PIVOT
Electronics $8,9 $7,2 Electronics $5,6 $7,2

Store 2
Toys $0,75 $0,4 Toys $1,4 $0,4
Q2

Clothing $4,6 $4,6 Clothing $2,6 $4,6


Cosmetics $1,5 $0,5 Cosmetics $1,1 $0,5

Ventas Ventas

Productos Store 1 Store 2 Productos Store 1

Electronics $5,2 $5,6


Toys $1,9 $1,4 Electronics $5,2
Q1

Q1
Clothing $2,3 $2,6 Toys $1,9
Cosmetics $1,1 $1,1

Electronics $8,9 $7,2


Toys $0,75 $0,4 Electronics $8,9
Q2

Clothing $4,6 $4,6 Q2 Toys $0,75


SLICE & DICE
Cosmetics $1,5 $0,5

• Las herramientas de OLAP se caracterizan por:


◦ Ofrecer una visión multidimensional de los datos (matricial).
◦ No imponer restricciones sobre el número de dimensiones.
◦ Ofrecer simetría para las dimensiones.
◦ Permitir definir de forma flexible (sin limitaciones) sobre las dimensiones:
▪ Restricciones, agregaciones y jerarquías entre ellas.
◦ Ofrecer operadores intuitivos de manipulación:
▪ DRILL-DOWN, ROLL-UP, SLICE-AND-DICE, PIVOT.
◦ Ser transparentes al tipo de tecnología que soporta el almacén de datos (ROLAP o MOLAP).
Las mencionadas son un subconjunto de las 12 reglas propuestas por E.F. Codd para almacenes de datos.
Ejemplos

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 162
Bases de Datos II – Licenciatura en Sistemas de Información

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 163
Bases de Datos II – Licenciatura en Sistemas de Información

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 164
Bases de Datos II – Licenciatura en Sistemas de Información

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 165
Bases de Datos II – Licenciatura en Sistemas de Información

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 166
Bases de Datos II – Licenciatura en Sistemas de Información

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 167
Bases de Datos II – Licenciatura en Sistemas de Información

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 168
Bases de Datos II – Licenciatura en Sistemas de Información

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 169
Bases de Datos II – Licenciatura en Sistemas de Información

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 170
Bases de Datos II – Licenciatura en Sistemas de Información

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 171
Bases de Datos II – Licenciatura en Sistemas de Información

Tema 11: Minería de Datos - Introducción

Introducción a la Minería de Datos

• El objetivo es el análisis de grandes volúmenes de datos para la obtención de modelos y patrones


predictivos o descriptivos:
◦ Se busca el descubrimiento de conocimiento en las bases de datos.
◦ Se emplean técnicas de aprendizaje automático y estadísticas.

• Motivación:
◦ Nuevas necesidades del análisis de grandes volúmenes de datos.
◦ El aumento del volumen y variedad de información que se encuentra informatizada en bases
de datos digitales ha crecido espectacularmente en la última década.
◦ Gran parte de esta información es histórica, es decir, representa transacciones o situaciones
que se han producido.
◦ Aparte de su función de “memoria de la organización”, la información histórica es útil para
predecir la información futura.
◦ La mayoría de decisiones de empresas, organizaciones e instituciones se basan también en
información de experiencias pasadas extraídas de fuentes muy diversas.
◦ Las decisiones colectivas suelen tener consecuencias mucho más graves, especialmente
económicas, y, recientemente, se deben basar en volúmenes de datos que desbordan la
capacidad humana.
◦ El área de la extracción (semi-)automática de conocimiento de bases de datos ha adquirido
recientemente una importancia científica y económica inusual.
• Tamaño de datos poco habitual para algoritmos clásicos:
◦ Número de registros (ejemplos) muy grande (10 8 a 1012 Bytes).
◦ Datos altamente dimensionales (n° de columnas / atributos): 10 2-104.
• El usuario final no es un experto en aprendizaje automático ni en estadística.
• El usuario no puede perder más tiempo analizando los datos:
◦ Industria: ventajas competitivas, decisiones más efectivas.
◦ Ciencia: datos nunca analizados, bancos no cruzados, etc.
◦ Personal: “information overload”...
• Los sistemas clásicos de estadística son difíciles de usar y no escalan al número de datos típicos
en BD.
• Aparece el “Descubrimiento de conocimiento a partir de bases de datos”:
◦ KDD: Knowledge Discovery from Databases.
• Relación de la minería de datos con otras disciplinas:
◦ KDD: “Proceso no trivial de identificar patrones válidos, novedosos, potencialmente útiles y
en última instancia comprensibles a partir de los datos”:
▪ Fayyad, 1996.
◦ Diferencia clara con métodos estadísticos:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 172
Bases de Datos II – Licenciatura en Sistemas de Información

▪ La estadística se utiliza para validar o parametrizar un modelo sugerido y preexistente, no


para generarlo.
◦ Diferencia sutil:
▪ El “análisis inteligente de datos” (IDA: Intelligent Data Analysis) que correspondía con el
uso de técnicas de inteligencia artificial en el análisis de los datos.
◦ KDD nace como interfaz y se nutre de diferentes disciplinas:
▪ Estadística.
▪ Sistemas de información / bases de datos.
▪ Aprendizaje automático / IA.
▪ Visualización de datos.
▪ Computación paralela / distribuida.
▪ Interfaces de lenguaje natural a bases de datos.
◦ La minería o prospección de datos (DM) no es mas que una fase del descubrimiento de
conocimiento a partir de bases de datos:
▪ Fase que integra los métodos de aprendizaje y estadísticos para obtener hipótesis de
patrones y modelos.
◦ Al ser la fase de generación de hipótesis, vulgarmente se asimila el descubrimiento de
conocimiento a partir de bases de datos con la minería de datos.
◦ Además, las connotaciones de aventura y de dinero fácil del término “minería de datos” han
hecho que éste se use como identificador del área.
◦ La minería de datos no es una extensión de los sistemas de informes inteligentes o sistemas
OLAP (On-Line Analytical Processing).
◦ La minería de datos aspira a más.
◦ Otras herramientas, por ejemplo consultas sofisticadas o análisis estadístico, pueden
responder a preguntas como:
▪ “¿Han subido las ventas del producto x en junio?”.
▪ “¿Las ventas del producto x bajan cuando promocionamos el producto y?”.
◦ Pero sólo con técnicas de minería de datos podremos responder a preguntas del estilo:
▪ “¿Qué factores influyen en las ventas del producto x?”.
▪ “¿Cuál será el producto más vendido si abrimos una delegación en Portugal?”.
◦ Visión con las herramientas tradicionales:
▪ El analista empieza con una pregunta, una suposición o simplemente una intuición y
explora los datos y construye un modelo. El analista propone el modelo.
◦ Visión con la minería de datos:
▪ Aunque el analista no pierde la posibilidad de proponer modelos, el sistema encuentra y
sugiere modelos.
◦ Ventajas:
▪ Generar un modelo requiere menos esfuerzo manual y permite evaluar cantidades
ingentes de datos.
▪ Se pueden evaluar muchos modelos generados automáticamente, y esto aumenta la
probabilidad de encontrar un buen modelo.
▪ El analista necesita menos formación sobre construccion de modelos y menos
experiencia.

Inteligencia
Estadística Artificial / Machine
Learning

Data
Mining

Informática
Bases de Datos

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 173
Bases de Datos II – Licenciatura en Sistemas de Información

• Áreas de aplicación:
◦ Toma de decisiones:
▪ Banca - Finanzas - Seguros, Marketing, Políticas sanitarias / demográficas, etc.
◦ Procesos industriales:
▪ Componentes químicos, compuestos, mezclas, esmaltes, procesos, etc.
◦ Investigación científica:
▪ Medicina, astronomía, meteorología, psicología, etc.
▪ Aquí la eficiencia no es tan importante.
◦ Soporte al diseño de bases de datos.
◦ Reverse engineering:
▪ Dados una base de datos, desnormalizarla para que luego el sistema la normalice.
◦ Mejora de calidad de datos.
◦ Mejora de consultas:
▪ Si se descubren dependencias funcionales nuevas u otras condiciones evitables.
• Áreas de aplicación - problemas tipo:
◦ Aplicaciones de KDD para toma de decisiones, según Dilly - 1996:
▪ Comercio / Marketing:
• Identificar patrones de compra de los clientes.
• Buscar asociaciones entre clientes y características demográficas.
• Predecir respuesta a campañas de mailing.
• Análisis de cestas de la compra.
▪ Banca:
• Detectar patrones de uso fraudulento de tarjetas de crédito.
• Identificar clientes leales.
• Predecir clientes con probabilidad de cambiar su afiliación.
• Determinar gasto en tarjeta de crédito por grupos.
• Encontrar correlaciones entre indicadores financieros.
• Identificar reglas de mercado de valores a partir de históricos.
▪ Seguros y salud privada:
• Análisis de procedimientos médicos solicitados conjuntamente.
• Predecir qué clientes compran nuevas pólizas.
• Identificar patrones de comportamiento para clientes con riesgo.
• Identificar comportamiento fraudulento.
▪ Transportes:
• Determinar la planificación de la distribución entre tiendas.
• Analizar patrones de carga.
▪ Medicina:
• Identificación de terapias médicas satisfactorias para diferentes enfermedades.
• Asociación de síntomas y clasificación diferencial de patologías.
• Estudio de factores (genéticos, precedentes, hábitos, alimenticios, etc.) De riesgo /
salud en distintas patologías.
• Segmentación de pacientes para una atención más inteligente según su grupo.
• Predicciones temporales de los centros asistenciales para el mejor uso de recursos,
consultas, salas y habitaciones.
• Estudios epidemiológicos, análisis de rendimientos de campañas de información,
prevención, sustitución de fármacos, etc.
◦ Aplicaciones de KDD para procesos industriales:
▪ Extracción de modelos sobre comportamiento de compuestos.
▪ Detección de piezas con fallas.
▪ Predicción de fallos.
▪ Modelos de calidad.
▪ Estimación de composiciones óptimas en mezclas.
▪ Extracción de modelos de coste.
▪ Extracción de modelos de producción.
▪ Simulación costes/beneficios según niveles de calidad.

El proceso de KDD - Técnicas De Minería de Datos y Principales Algoritmos

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 174
Bases de Datos II – Licenciatura en Sistemas de Información

• KDD: Knowledge Discovery from Databases: descubrimiento de conocimiento desde BD.


• Fases y técnicas del KDD:
• Las distintas técnicas de distintas disciplinas se utilizan en distintas fases:
• Se indican en el gráfico siguiente.

Pre-
Selección Procesamiento Minería de Interpretación /
Transformación Datos Evaluación

Datos Datos Datos


Patrones Conocimiento
Seleccionados Pre-procesados Transformados
Datos

Pre-
Selección Procesamiento Minería de Interpretación /
Transformación Datos Evaluación

Datos Datos Datos


Patrones Conocimiento
Seleccionados Pre-procesados Transformados
Datos

Pre-
Selección Procesamiento Minería de Interpretación /
Transformación Datos Evaluación

Datos Datos Datos


Patrones Conocimiento
Seleccionados Pre-procesados Transformados
Datos

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 175
Bases de Datos II – Licenciatura en Sistemas de Información

• Fases del KDD:


◦ Selección, exploración, limpieza y transformación de datos.
◦ Minería de datos.
◦ Evaluación y validación.
◦ Interpretación y difusión.
◦ Actualización y monitorización.
• Fases de selección, exploración, limpieza y transformación de datos:
◦ Se detallarán más adelante.
• Fase de minería de datos (se ampliará más adelante):
◦ Características especiales de los datos:
▪ Aparte del gran volumen, ¿por qué las técnicas de aprendizaje automático y estadística
no son directamente aplicables?:
• Los datos residen en el disco; no se pueden escanear múltiples veces.
• Algunas técnicas de muestreo no son compatibles con algoritmos no incrementales.
• Muy alta dimensionalidad (muchos campos).
• Evidencia positiva.
• Datos imperfectos...
▪ Aunque algunos se aplican casi directamente, el interés en la investigación en minería de
datos está en su adaptación.
◦ Patrones a descubrir:
▪ Una vez recogidos los datos de interés, un explorador puede decidir qué tipo de patrón
quiere descubrir.
▪ El tipo de conocimiento que se desea extraer va a marcar claramente la técnica de
minería de datos a utilizar.
▪ Según como sea la búsqueda del conocimiento se puede distinguir entre:
• Directed Data Mining: se sabe claramente lo que se busca, generalmente predecir
unos ciertos datos o clases.
• Undirected Data Mining: no se sabe lo que se busca, se trabaja con los datos (¡hasta
que aparezca algo interesante!).
▪ En el primer caso, algunos sistemas de minería de datos se encargan generalmente de
elegir el algoritmo más idóneo entre los disponibles para un determinado tipo de patrón a
buscar.
• Fase de evaluación y validación:
◦ La fase anterior produce una o más hipótesis de modelos.
◦ Para seleccionar y validar estos modelos es necesario el uso de criterios de evaluación de
hipótesis.
◦ Por ejemplo:
▪ 1a fase:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 176
Bases de Datos II – Licenciatura en Sistemas de Información

• Comprobación de la precisión del modelo en un banco de ejemplos independiente del


que se ha utilizado para aprender el modelo.
• Se puede elegir el mejor modelo.
▪ 2a fase:
• Se puede realizar una experiencia piloto con ese modelo.
• Por ejemplo, si el modelo encontrado se quería utilizar para predecir la respuesta de
los clientes a un nuevo producto, se puede enviar un mailing a un subconjunto de
clientes y evaluar la fiabilidad del modelo.
• Fase de interpretación y difusión:
◦ El despliegue del modelo a veces es trivial pero otras veces requiere un proceso de
implementación o interpretación:
▪ El modelo puede requerir implementación:
• Por ejemplo, tiempo real de detección de tarjetas fraudulentas.
▪ El modelo es descriptivo y requiere interpretación:
• Por ejemplo, una caracterización de zonas geográficas según la distribución de los
productos vendidos.
▪ El modelo puede tener muchos usuarios y necesita difusión:
• El modelo puede requerir ser expresado de una manera comprensible para ser
distribuido en la organización.
• Por ejemplo, las cervezas y los productos congelados se compran frecuentemente en
conjunto => ponerlos en estantes distantes.
• Fase de actualización y monitorización:
◦ Los procesos derivan en un mantenimiento:
▪ Actualización:
• Un modelo válido puede dejar de serlo por un cambio de contexto:
◦ Cambios económicos, en la competencia, en las fuentes de datos, etc.
▪ Monitorización:
• Consiste en ir revalidando el modelo con cierta frecuencia sobre nuevos datos:
◦ El objetivo es detectar si el modelo requiere una actualización.
◦ Producen realimentaciones en el proceso de descubrimiento de conocimiento a partir de
bases de datos.
• Tipología de técnicas de minería de datos:
◦ Las técnicas de minería de datos crean modelos que son predictivos y/o descriptivos.
◦ Un modelo predictivo responde preguntas sobre datos futuros:
▪ ¿Cuáles serán las ventas el año próximo?.
▪ ¿Es esta transacción fraudulenta?.
▪ ¿Qué tipo de seguro es más probable que contrate el cliente “x”?.
◦ Un modelo descriptivo proporciona información sobre las relaciones entre los datos y sus
características; genera información del tipo:
▪ Los clientes que compran pañales suelen comprar cerveza.
▪ El tabaco y el alcohol son los factores más importantes en la enfermedad “y”.
▪ Los clientes sin televisión y con bicicleta tienen características muy diferenciadas del
resto.
◦ Ejemplo de modelo predictivo:
▪ Se quiere saber si jugar o no jugar esta tarde al tenis.
▪ Se han recogido datos de experiencias anteriores:

Example Sky Temperature Humidity Wind Playtennis


1 sunny hot high weak no
2 sunny hot high strong no
3 overcast hot high weak yes
4 rain mild high weak yes
5 rain cool normal weak yes
6 rain cool normal strong no
7 overcast cool normal strong yes
8 sunny mild high weak no
9 sunny cool normal weak yes
10 rain mild normal weak yes

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 177
Bases de Datos II – Licenciatura en Sistemas de Información

11 sunny mild normal strong yes


12 overcast mild high strong yes
13 overcast hot normal weak yes
14 rain mild high strong no

Variables Predictoras

Cielo Temperatura Humedad Viento JuegaTenis

Soleado Calor Alta Débil No

Soleado Calor Alta Fuerte No

Nublado Calor Alta Débil Si

Lluvioso Cálido Alta Débil Si

Lluvioso Fresco Normal Débil Si

Lluvioso Fresco Normal Fuerte Si

Nublado Fresco Normal Fuerte Si


Variable a
Soleado Cálido Alta Débil Si
predecir
Soleado Fresco Normal Débil Si

Lluvioso Cálido Normal Débil Si

Soleado Cálido Normal Fuerte Si

Nublado Cálido Alta Fuerte Si

Nublado Calor Normal Débil Si

Lluvioso Calor Alta Fuerte Si

Soleado Calor Normal Fuerte X

Lluvioso Fresco Normal Fuerte X

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 178
Bases de Datos II – Licenciatura en Sistemas de Información

• Se pasan estos ejemplos a un algoritmo de aprendizaje de árboles de decisión, señalando


el atributo “playtennis” como la clase (output).
• El resultado del algoritmo es el modelo que se muestra en el gráfico siguiente.
• Ahora se puede utilizar este modelo para predecir si esta tarde jugamos o no al tenis:
◦ Ej.: La instancia es no:
▪ (Outlook = sunny, Temperature = Hot, Humidity = High, Wind = Strong).

• Ejemplo de modelo descriptivo:


◦ Se quiere categorizar los empleados.
◦ Se tiene los siguientes datos de los empleados:
#ej Sueldo Casado Coche Hijos Alq/Prop Slndic. Bajas/año Antigüedad Sexo
1 10000 SÍ NO 0 ALQUILER NO 7 15 H
2 20000 NO SÍ 1 ALQUILER SÍ 3 3 M
3 15000 SÍ SÍ 2 PROP SÍ 5 10 H
4 30000 SÍ SÍ 1 ALQUILER NO 15 7 M
5 10000 SÍ SÍ 0 PROP SÍ 1 6 H
6 40000 NO SÍ 0 ALQUILER SÍ 3 16 M
7 25000 NO NO 0 ALQUILER SÍ 0 8 H
8 20000 NO SÍ 0 PROP SÍ 2 6 M
9 20000 SÍ SÍ 3 PROP NO 7 5 H
10 30000 SÍ SÍ 2 PROP NO 1 20 H
11 50000 NO NO 0 ALQUILER NO 2 12 M
12 8000 SÍ SÍ 2 PROP NO 3 1 H
13 20000 NO NO 0 ALQUILER NO 27 5 M
14 10000 NO SÍ 0 ALQUILER SÍ 0 7 H
15 8000 NO SÍ 0 ALQUILER NO 3 2 H
• Se pasan estos ejemplos a un algoritmo de clustering k-meams.
• Se crean tres clusters, con la descripción del gráfico siguiente, donde:
◦ Grupo 1: sin hijos y de alquiler. Poco sindicados. Muchas bajas.
◦ Grupo 2: sin hijos y con coche. Muy sindicados. Pocas bajas. Normalmente de alquiler y
mujeres.
◦ Grupo 3: con hijos, casados y con coche. Propietarios. Poco sindicados. Hombres.
Cluster 1 : 5 ejemplos Cluster 1 : 4 ejemplos Cluster 1 : 6 ejemplos
Sueldo: 22600 Sueldo: 22500 Sueldo: 18833
Casado: No → 0.8 Casado: No → 1.0 Casado: Si → 1.0
Si → 0.2 Coche: Si → 1.0 Coche: Si → 1.0
Coche: No → 0.8 Hijos: 0 Hijos: 2
Si → 0.2 Alq/Prop: Alquiler → 0.75 Alq/Prop: Alquiler → 0.17
Hijos: 0 Prop → 0.25 Prop → 0.83
Alq/Prop: Alquiler → 1.0 Sindic: Si → 1.0 Sindic: Si → 0.67
Sindic: No → 0.8 Bajas/Año: 2 Si → 0.33
Si → 0.2 Antigüedad: 8 Bajas/Año: 5
Bajas/Año: 8 Sexo: H → 0.6 Antigüedad: 8
Antigüedad: 8 M → 0.4 Sexo: H → 0.83
Sexo: H → 0.6 M → 0.17
M → 0.4

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 179
Bases de Datos II – Licenciatura en Sistemas de Información

• Tipos de conocimiento:
◦ Asociaciones: una asociación entre dos atributos ocurre cuando la frecuencia de que
se den dos valores determinados de cada uno conjuntamente es relativamente alta:
▪ Ejemplo: en un supermercado se analiza si los pañales y los potitos de bebé se
compran conjuntamente.
◦ Dependencias: una dependencia funcional (aproximada o absoluta) es un patrón en el
que se establece que uno o más atributos determinan el valor de otro. Ojo! Existen
muchas dependencias nada interesantes (causalidades inversas):
▪ Ejemplo: que un paciente haya sido ingresado en maternidad determina su sexo.
◦ La búsqueda de asociaciones y dependencias se conoce a veces como análisis
exploratorio.
◦ Clasificación: una clasificación se puede ver como el esclarecimiento de una
dependencia, en la que el atributo dependiente puede tomar un valor entre varias
clases, ya conocidas:
▪ Ejemplo:
◦ Se sabe (por un estudio de dependencias) que los atributos edad, número
de miopías y astigmatismo han determinado los pacientes para los que su
operación de cirugía ocular ha sido satisfactoria.
◦ Podemos intentar determinar las reglas exactas que clasifican un caso
como positivo o negativo a partir de esos atributos.
◦ Agrupamiento / segmentación:
▪ El agrupamiento (o clustering) es la detección de grupos de individuos.
▪ Se diferencia de la clasificación en el que no se conocen ni las clases ni su
número (aprendizaje no supervisado).
▪ El objetivo es determinar grupos o racimos (clusters) diferenciados del resto.
◦ Tendencias / regresión: el objetivo es predecir los valores de una variable continua a
partir de la evolución sobre otra variable continua, generalmente el tiempo:
▪ Ejemplo: se intenta predecir el número de clientes o pacientes, los ingresos,
llamadas, ganancias, costes, etc. A partir de los resultados de semanas, meses o
años anteriores.
◦ Información del esquema: descubrir claves primarias alternativas, R.I.
◦ Reglas generales: patrones no se ajustan a los tipos anteriores; recientemente los
sistemas incorporan capacidad para establecer otros patrones más generales.
• Taxonomía de técnicas de minería de datos:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 180
Bases de Datos II – Licenciatura en Sistemas de Información

• Sistemas de minería de datos:

● Tipos de sistemas:
● Standalone: los datos se deben exportar / convertir al formato interno del sistema de data mining:
● Knowledge seeker IV (angoss international limited, groupe bull).
● On-Top: pueden funcionar sobre un sistema propietario:
● Clementine sobre ODBC, Micro Strategy sobre Oracle.
● Embedded: propietarios:
● Oracle Discoverer, Oracle Darwin, IBM Intelligent Miner, etc.
● Extensible (tecnología plug-ins): proporcionan unas herramientas mínimas de interfaz con los datos,
estadísticas y visualización, y los algoritmos de aprendizaje se pueden ir añadiendo con plug-ins:
● Ejemplo: Kepler.

Fase de Selección en Minería de Datos

• La selección comprende la recolección e integración de la información.


• Las primeras fases del kdd determinan que las fases sucesivas sean capaces de extraer
conocimiento válido y útil a partir de la información original.
• Generalmente, la información que se quiere investigar sobre un cierto dominio de la organización
se encuentra:
◦ En bases de datos y otras fuentes muy diversas:
▪ Tanto internas como externas.
▪ Muchas de estas fuentes son las que se utilizan para el trabajo transaccional.
• El análisis posterior será mucho más sencillo si la fuente es unificada, accesible (interna) y
desconectada del trabajo transaccional.
• El proceso subsiguiente de minería de datos:
◦ Depende mucho de la fuente:
▪ OLAP u OLTP.
▪ Datawarehouse o copia con el esquema original.
▪ ROLAP o MOLAP.
◦ Depende también del tipo de usuario:
▪ “Picapedreros” (o “granjeros”): se dedican fundamentalmente a realizar informes
periódicos, ver la evolución de determinados parámetros, controlar valores anómalos, etc.
▪ “Exploradores”: encargados de encontrar nuevos patrones significativos utilizando
técnicas de minería de datos.
• Recolección de información externa:
◦ Aparte de información interna de la organización, los almacenes de datos pueden recoger
información externa:
▪ Demografías (censo), páginas amarillas, psicografías (perfiles por zonas), uso de internet,

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 181
Bases de Datos II – Licenciatura en Sistemas de Información

información de otras organizaciones.


▪ Datos compartidos en una industria o área de negocio, organizaciones y colegios
profesionales, catálogos, etc.
▪ Datos resumidos de áreas geográficas, distribución de la competencia, evolución de la
economía, información de calendarios y climatológicas, programaciones televisivas-
deportivas, catástrofes, etc.
▪ BD Externas compradas a otras compañías.

Fase de Exploración en Minería de Datos.

• La exploración de los datos consiste en la utilización de técnicas formales de análisis exploratorio:


◦ Se busca conocer la distribución de los datos, su simetría y normalidad y las correlaciones
existentes en la información.
• Se utiliza:
◦ Análisis exploratorio y gráfico de los datos.
◦ Medidas de diagnóstico formal estadístico:
▪ Ej.: Contrastes de ajustes de los datos a una distribución, contrastes de asimetría,
contrastes de aleatoriedad, etc.
• Se debe realizar la comprobación de los supuestos subyacentes en los métodos multi vari antes
para la minería de datos; estos supuestos suelen ser:
◦ El contraste de la normalidad de todas y c / u de las variables que forman parte del estudio.
◦ El testeo de la linealidad de las relaciones entre las variables.
◦ La comprobación de la homocedasticidad de los datos:
▪ Consiste en ver que la variación de la variable dependiente que se intenta explicar a
través de las variables independientes no se concentra en un pequeño grupo de valores
independientes.
◦ La comprobación de la multicolinealidad o existencia de relaciones entre las variables
independientes.
◦ La contrastación de la ausencia de correlación serial de los residuos o autocorrelación:
▪ Consiste en asegurar que cualquiera de los errores de predicción no está correlacionado
con el resto.

Fase de Limpieza y Transformación de Datos

• Limpieza (Data Cleansing) y Criba (Selección) de datos:


◦ Se deben eliminar el mayor número posible de datos erróneos o inconsistentes (limpieza) e
irrelevantes (criba).
◦ Se utilizan métodos estadísticos casi exclusivamente:
▪ Histogramas (detección de datos anómalos).
▪ Selección de datos (muestreo, ya sea verticalmente, eliminando atributos, u
horizontalmente, eliminando tuplas).
▪ Redefinición de atributos (Agrupación o Separación).
• Acciones ante datos anómalos (Outliers):
◦ Ignorar:
▪ Algunos algoritmos son robustos a datos anómalos (p.ej. Árboles).
◦ Filtrar (eliminar o reemplazar) la columna:
▪ Solución extrema, pero a veces existe otra columna dependiente con datos de mayor
calidad. Preferible a eliminar la columna es reemplazarla por una columna discreta
diciendo si el valor era normal u outlier (por encima o por debajo).
◦ Filtrar la fila:
▪ Puede sesgar los datos, porque muchas veces las causas de un dato erróneo están
relacionadas con casos o tipos especiales.
◦ Reemplazar el valor:
▪ Por el valor “nulo” si el algoritmo lo trata bien o por máximos o mínimos, dependiendo
por donde es el outlier, o por medias. A veces se puede predecir a partir de otros datos,
utilizando cualquier técnica de ML.
◦ Discretizar:
▪ Transformar un valor continuo en uno discreto (p.ej. Muy alto, alto, medio, bajo, muy

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 182
Bases de Datos II – Licenciatura en Sistemas de Información

bajo) hace que los outliers caigan en “muy alto” o “muy bajo” sin mayores problemas.
• Acciones ante datos faltantes (missing values):
◦ Ignorar:
▪ Algunos algoritmos son robustos a datos faltantes (p.ej. Árboles).
◦ Filtrar (eliminar o reemplazar) la columna:
▪ Solución extrema, pero a veces existe otra columna dependiente con datos de mayor
calidad. Preferible a eliminar la columna es reemplazarla por una columna booleana
diciendo si el valor existía o no.
◦ Filtrar la fila:
▪ Claramente sesga los datos, porque muchas veces las causas de un dato faltante están
relacionadas con casos o tipos especiales.
◦ Reemplazar el valor:
▪ Por medias. A veces se puede predecir a partir de otros datos, utilizando cualquier técnica
de ML.
◦ Segmentar:
▪ Se segmentan las tuplas por los valores que tienen disponibles. Se obtienen modelos
diferentes para cada segmento y luego se combinan.
◦ Modificar la política de calidad de datos y esperar hasta que los datos faltantes estén
disponibles.
• Razones sobre datos faltantes (missing values):
◦ A veces es importante examinar las razones tras datos faltantes y actuar en consecuencia:
▪ Algunos valores faltantes expresan características relevantes:
• P.ej. La falta de teléfono puede representar en muchos casos un deseo de que no se
moleste a la persona en cuestión, o un cambio de domicilio reciente.
▪ Valores no existentes:
• Muchos valores faltantes existen en la realidad, pero otros no. P.ej. El cliente que se
acaba de dar de alta no tiene consumo medio de los últimos 12 meses.
▪ Datos incompletos:
• Si los datos vienen de fuentes diferentes, al combinarlos se suele hacer la unión y no
la intersección de campos, con lo que muchos datos faltantes representan que esas
tuplas vienen de una/s fuente/s diferente/s al resto.
• Transformación del esquema:
◦ Esquema original:
▪ Ventajas:
• Las R.I. (relaciones iniciales (originales)) se mantienen (no hay que reaprenderlas, no
despistan).
▪ Inconvenientes:
• Muchas técnicas no se pueden utilizar.
◦ Tabla universal:
▪ Cualquier esquema relacional se puede convertir (en una correspondencia 1 a 1) a una
tabla universal:
▪ Ventajas:
• Modelos de aprendizaje más simples (proposicionales).
▪ Desventajas:
• Muchísima redundancia (tamaños ingentes). La información del esquema se pierde.
Muchas dependencias funcionales se vuelven a redescubrir! ! Se debe añadir
metainformación.
◦ Desnormalizado tipo estrella o copo de nieve (Datamarts):
▪ Ventajas:
• Se pueden buscar reglas sobre información sumarizada y si resultan factibles se
pueden comprobar con la información detallada. Se utilizan operadores propios: roll-
up, drilldown, slicing and dicing.
▪ Desventajas:
• Orientadas a extraer un tipo de información.
• Intercambio de dimensiones: (filas por columnas):
◦ Ejemplo:
▪ Una tabla de cestas de la compra, donde cada atributo indica si el producto se ha
comprado o no.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 183
Bases de Datos II – Licenciatura en Sistemas de Información

▪ Objetivo: ver si dos productos se compran conjuntamente (regla de asociación).


▪ Es muy costoso: hay que mirar al menos la raíz cuadrada de todas las relaciones
(cestas):
• Puede haber millones en una semana...
• Sin embargo... Productos sólo hay unos 10.000.
▪ Sólo es necesario hacer XOR entre dos filas para saber si hay asociación.
• Transformación de los campos:
◦ Numerización / etiquetado:
▪ Ventajas:
• Se reduce espacio:
◦ Ej: apellido => entero.
• Se pueden utilizar técnicas más simples.
▪ Desventajas:
• Se necesita meta-información para distinguir los datos inicialmente no numéricos (la
cantidad no es relevante) de los inicialmente numéricos (la cantidad es relevante:
precios, unidades, etc.).
• A veces se puede “Sesgar” el modelo (Biasing).
◦ Discretización:
▪ Ventajas:
• Se reduce espacio:
◦ Ej. 0..10 => (pequeño, mediano, grande)
• Se pueden utilizar árboles de decisión y construir reglas discretas.
▪ Desventajas:
• Una mala discretización puede invalidar los resultados.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 184
Bases de Datos II – Licenciatura en Sistemas de Información

Tema 12: Minería de datos - Técnicas Predictivas de Modelización

Técnicas de Minería de Datos

• La fase de técnicas de minería de datos propiamente dichas engloba:


◦ Técnicas predictivas enfocadas a la modelización y clasificación ad hoc.
◦ Técnicas descriptivas enfocadas generalmente a la clasificación post hoc y otro tipo de
técnicas variadas.
• Técnicas predictivas:
◦ Especifican el modelo para los datos en base a un conocimiento teórico previo.
◦ El modelo supuesto debe contrastarse después del proceso de minería de datos antes de
aceptarlo como válido.
◦ Incluyen todos los tipos de:
▪ Regresión.
▪ Series temporales.
▪ Análisis de la varianza y covarianza.
▪ Análisis discriminante.
▪ Árboles de decisión.
▪ Redes neuronales.
• Técnicas predictivas:
◦ Los árboles de decisión, las redes neuronales y el análisis discriminante son a su vez técnicas
de clasificación:
▪ Pueden extraer perfiles de comportamiento o clases, siendo el objetivo construir un
modelo que permita clasificar cualquier nuevo dato.
◦ Los árboles de decisión permiten clasificar los datos en grupos basados en los valores de las
variables:
▪ El mecanismo consiste en elegir un atributo como raíz y desarrollar el árbol según las
variables más significativas.
◦ Ejemplos predicativos:
▪ Interpolación:

X X f(2.2) = ?
X ? X
XX X

▪ Prediccion secuencial:
• 1, 2, 3, 5, 7, 11, 13, 17, 19,...?.
▪ Aprendizaje supervisado:
• 1 3 → 4.
• 3 5 → 8.
• 7 2 → 9.
• 4 2 → ?.
• Técnicas descriptivas:
◦ No se asigna ningún papel predeterminado a las variables.
◦ No se supone la existencia de variables dependientes ni independientes y tampoco se supone
la existencia
◦ De un modelo previo para los datos.
◦ Los modelos se crean automáticamente partiendo del reconocimiento de patrones.
◦ Incluyen:
▪ Clustering y segmentación (que también son técnicas de clasificación en cierto modo).
▪ Asociación y dependencia.
▪ Análisis exploratorio de datos.
▪ Reducción de la dimensión factorial, componentes principales, correspondencias, etc.
◦ Ejemplos descriptivos:
◦ Segmentación (aprendizaje no supervisado):

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 185
Bases de Datos II – Licenciatura en Sistemas de Información

▪ ¿Cuántos grupos hay?.


▪ ¿Qué grupos formo?.

Regresión
Modelos de elección discreta
Modelización Análisis de la varianza
Predictivas Análisis canónico
Redes neuronales

Discriminante
Clasificación ad hoc
Técnicas de Árboles de decisión
Minería
Clustering
Clasificación post hoc
Segmentación
Descriptivas Asociación
Dependencia
Reducción de la dimensión
Análisis exploratorio

• Las técnicas de clasificación pueden pertenecer:


◦ Al grupo de técnicas predictivas: discriminante, árboles de decisión y redes neuronales.
◦ Al grupo de técnicas descriptivas: clustering y segmentación.
• Las técnicas de clasificación predictivas suelen denominarse técnicas de clasificación ad hoc:
◦ Clasifican individuos u observaciones dentro de grupos previamente definidos.
• Las técnicas de clasificación descriptivas se denominan técnicas de clasificación post hoc:
◦ Realizan clasificación sin especificación previa de los grupos.
• Las redes neuronales pueden utilizarse tanto para la modelización como para la clasificación

Técnicas Predictivas para la Modelización

• Revisión de conceptos previos


• Varianza
• Si se tiene un conjunto de datos de una misma variable, la varianza se calcula de la siguiente
forma:
1 n 1 n
• σn2 = n Σ (X – X)
i
2
= n Σ (X )i
2
– X2
i=1 i=1

• Xi: cada dato.


◦ n: n° de elementos.
◦ X: media aritmética de los datos.
• Covarianza
• Para hacer el estudio conjunto de las variables cuantitativas x e y, se supone que se dispone de
una muestra de n pares de observaciones de x e y:
• (x1, y1), …, (xn, yn)

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 186
Bases de Datos II – Licenciatura en Sistemas de Información

• La covarianza muestral entre las observaciones de x e y se define como:

1 n

• covx, y = n Σ (x – x)(y – y)
i i
i=1

1 n 1 n n n 1 n

• covx, y = n Σ (x – x)(y – y)
i i =n Σxy–xΣy–yΣx
i i i i + nxy =n Σ x y – nxy
i i
i=1 i=1 i=1 i=1 i=1

• Modelo de regresión lineal


• La recta de regresión de y sobre x es la recta y = a + bx que minimiza el error cuadrático medio
(E.C.M.):

1 n

• E.C.M.= n Σ (y – a – bx )
i i
2

i=1

• a = y – covx, y x ; b = covx, y
vx vx
• El coeficiente de correlacion lineal entre x e y se define como:

◦ r= covx,y
vx vy
• Coeficiente de correlación parcial
• Es la relación entre dos variables cuando se ha eliminado de cada una de ellas el efecto que sobre
ellas tiene una tercera variable:
◦ x, y son las variables objeto del estudio.
◦ z es la variable de control.
◦ Consiste en estudiar las correlaciones y combinarlas:
◦ rXY, rXZ, rYZ
◦ rXZ . Y = rXZ - (rXY) (rYZ)
vx vy
• Técnicas para la modelización
• La clasificación de las técnicas discrimina entre la existencia o no de variables explicativas y
explicadas.
• Técnicas predictivas o métodos explicativos:
◦ Existe una dependencia entre las variables explicadas y sus variables explicativas, que pueda
plasmarse en un modelo.
• Estas técnicas de análisis de la dependencia:
◦ Pueden clasificarse en función de la naturaleza métrica o no métrica de las variables
independientes y dependientes.

VARIABLES INDEPENDIENTES

Métricas No métricas

VARIABLE DEPENDIENTE VARIABLE DEPENDIENTE

Métrica No métrica Métrica No métrica

Simple Múltiple Simple Múltiple


Análisis
Discriminante
ANOVA MANOVA
Regresión Análisis ANCOVA MANCOVA
Modelos de
Lineal Canónico Elección
múltiple discreta Regresión lineal Modelos de elección
con Discreta con
Variables ficticias Variables ficticias

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 187
Bases de Datos II – Licenciatura en Sistemas de Información

• El análisis de regresión multiple:


◦ Es utilizado para analizar la relación entre:
▪ Una variable dependiente (o endógena) métrica.
▪ Varias variables independientes (o exógenas) también métricas.
◦ El objetivo esencial es utilizar las variables independientes, cuyos valores son conocidos, para
predecir la única variable criterio (dependiente) seleccionada por el investigador.
• La expresión es la siguiente:
◦ y = F(x1, x2, …, xn)
◦ Donde inicialmente, tanto la variable dependiente y como las independientes x son métricas.
• También se puede trabajar con variables independientes no métricas si se emplean variables
ficticias para su transformación en métricas:
◦ Modelos de regresión con variables ficticias.
• El análisis canónico o análisis de la correlación canónica:
◦ Es una técnica para analizar la relación entre múltiples variables dependientes (o endógenas)
métricas y varias variables independientes (o exógenas) también métricas.
◦ El objetivo esencial es utilizar las variables independientes, cuyos valores son conocidos, para
predecir las variables criterio (dependientes).
• La expresión es la siguiente:
◦ G(y1, y2, …, yn) = F(x1, x2, …, xn)
◦ Donde inicialmente, tanto las variables dependientes y1 como las independientes x1 son
métricas.
• Es una ampliación del modelo de regresión múltiple al caso de varias variables dependientes.
• También puede extenderse al caso de variables dependientes no métricas y al caso de variables
independientes no métricas.
• El análisis discriminante:
◦ Se usa para analizar la relación entre una variable dependiente (o endógena) no métrica
(categórica) y varias variables independientes (o exógenas) métricas.
◦ El objetivo es utilizar los valores conocidos de las variables independientes para predecir con
qué categoría de la variable dependiente se corresponden.
◦ Se puede predecir en qué categoría de riesgo crediticio se encuentra una persona, el éxito de
un producto en el mercado, etc.
• La expresión es:
◦ y = F(x1, x2, …, xn)
◦ Donde y (dependiente) es no métrica y las variables independientes son métricas.
• Es un caso particular del análisis de regresión múltiple.
• Es una técnica de clasificación que permite:
◦ Agrupar a los elementos de una muestra en dos o más categorías diferentes, predefinidas en
una variable dependiente no métrica, en función de una serie de variables independientes
métricas combinadas linealmente.
• Para valores dados de las variables independientes se debe predecir la probabilidad de
pertenencia a una categoría o clase de la variable dependiente:
◦ Ejemplo: según algunas variables medidas en el individuo, predecir la probabilidad de que:
▪ Un individuo compre un producto.
▪ Un individuo devuelva un crédito.
• Modelos de elección discreta:
◦ Tienen la misma naturaleza que el modelo discriminante.
◦ Se predice la probabilidad de pertenencia a una categoría (clase) para valores dados de las
variables dependientes.
◦ Predicen directamente la probabilidad de ocurrencia de un suceso que viene definido por los
valores de las variables independientes.
• Un caso particular del modelo de regresión multiple es el modelo lineal de probabilidad:
◦ Pi = F(xi, β) + ui
• Si F es la función de distribución de una variable aleatoria, entonces p varía entre 0 y 1.
• Si F es la función logística se tiene el modelo logit o regresión logística:
◦ Pi = F(xi, β) + ui = ie x β + ui
1 + ex β
i

• Si F es la función de distribución de una normal unitaria se tiene el modelo PROBIT:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 188
Bases de Datos II – Licenciatura en Sistemas de Información


i

Pi = F(xi, β) + ui = (2π) -∞ e dt + ui
t^2/2

• El análisis de la varianza simple se utiliza para analizar la relación entre:
◦ Una variable dependiente (o endógena) métrica y
◦ Varias variables independientes (o exógenas) no métricas.
• El objetivo es determinar si diversas muestras proceden de poblaciones con igual media.
• Los valores no métricos de las variables independientes determinarán una serie de grupos en la
variable dependiente.
• El modelo ANOVA mide la significación estadística de las diferencias entre las medias de los
grupos
• Determinados en la variable dependiente por los valores de las variables independientes:
◦ y = F(x1, x2, …, xn)
◦ Donde la variable dependiente y es métrica y las variables independientes son no métricas.
• Se trata por tanto de otro caso particular del modelo de regresión múltiple.
• El análisis de la covarianza simple es una tecnica utilizada para analizar la relación entre una
variable dependiente (o endógena) métrica y varias variables independientes (o exógenas), parte
de las cuales son no métricas, siendo la otra parte métricas (co variables):
◦ y = F(x1, x2, …, xn)
◦ Donde la variable dependiente y es métrica y las variables independientes son algunas
métricas y otras no métricas.
• Es otro caso particular del modelo de regresión múltiple.
• El análisis de la varianza múltiple es una técnica utilizada para analizar la relación entre:
◦ Varias variables dependientes (o endógenas) métricas y
◦ Varias variables independientes (o exógenas) no métricas.
• El objetivo es contrastar si los valores no métricos de las variables independientes determinarán
la igualdad de vectores de medias de una serie de grupos determinados por ellos en las variables
dependientes.
• El modelo MANOVA mide la significación estadística de las diferencias entre los vectores de
medias de los grupos determinados en las variables dependientes por los valores de las variables
independientes.
• La expresión es:
◦ G(y1, y2, …, ym) = F(x1, x2, …, xn)
◦ Donde las variables dependientes son métricas y las variables independientes son no
métricas.
• Es otro caso particular de la regresión múltiple.
• El análisis de la covarianza múltiple se usa para analizar la relación entre:
◦ Varias variables dependientes (o endógenas) métricas y
◦ Varias variables independientes (o exógenas) mezcla de variables métricas y no métricas.
• La expresión es:
◦ G(y1, y2, …, ym) = F(x1, x2, …, xn)
◦ Donde las variables dependientes son métricas y las variables independientes son una parte
métricas y otra parte no métricas.
• En el análisis de la covarianza (simple y multiple):
◦ Las variables métricas independientes (covariables) tienen como objetivo eliminar
determinados efectos que puedan sesgar los resultados incrementando la varianza dentro de
los grupos:
▪ Eliminar, mediante una regresión lineal, la variación experimentada por las variables
dependientes producida por la covariable o covariables de efectos indeseados.
▪ Hacer un análisis ANOVA o MANOVA sobre las variables dependientes ajustadas (residuos
de la regresión anterior).
• La regresión multiple admite la posibilidad de trabajar con variables independientes no métricas
si se emplean variables ficticias para su transformación en métricas:
◦ A cada clase de la variable no métrica se le asigna un valor numérico.
• El modelo de regresión multiple con variables ficticias:
◦ Es similar al análisis de la regresión múltiple.
◦ La diferencia es que las variables independientes pueden ser también no métricas.
• Se usa para analizar la relación entre una variable dependiente (o endógena) métrica y varias

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 189
Bases de Datos II – Licenciatura en Sistemas de Información

variables independientes (o exógenas) métricas, no métricas o mezcla de ambas.


• El objetivo es utilizar las variables independientes, cuyos valores son conocidos, para predecir la
única variable criterio (dependiente).
• La expresión es:
◦ y = F(x1, x2, …, xn)
• Métodos del análisis multivariante de la dependencia, según la naturaleza de sus variables
dependientes e independientes:
Técnica Variables Variables
Dependientes Independientes

ANOVA y MANOVA. Métrica (Métricas) No métricas

ANCOVA y MANCOVA. Métrica (Métricas) Métricas y no métricas

Regresión multiple. Métrica Métricas

Regresión multiple (Variables ficticias). Métrica Métricas y no métricas

Correlación canónica. Métricas y no métricas Métricas y no métricas

Elección discreta. No métrica Métricas

Elección discreta (Variables ficticias). No métrica Métricas y no métricas

Modelo de Regresión Múltiple

• La regresión multiple tiene como objetivo analizar un modelo que pretende explicar el
comportamiento de una variable (endógena, explicada o dependiente), y, utilizando un conjunto
de variables explicativas (exógenas o independientes), X 1, X2, …, XK.
• El modelo lineal (modelo econométrico) viene dado por:
◦ Y = b0 + b1X1 + b2X2 + … + bkXK + u.
• Los coeficientes (parámetros) b1, b2, …, bK denotan la magnitud del efecto que las variables
explicativas (exógenas o independientes) X1, X2, …, XK tienen sobre la variable explicada
(endógena o dependiente) Y.
• El coeficiente b0 se denomina término constante (o independiente) del modelo.
• El término u se denomina término de error del modelo.
• Si se dispone de un conjunto de t observaciones para c/u de las variables endógena y exógenas,
el modelo se escribe de la forma:
◦ Yt = b0 + b1X1t + b2X2t + … + bkXKt + ut. t=1,2,3,...,T
• La aparición (no necesaria) de un término independiente en el modelo puede interpretarse como
la presencia de una primera variable X0 cuyo valor sea siempre 1.
• Problema fundamental: suponiendo que la relación entre la variable Y y el conjunto de variables
X1, X2, …, XK es como se ha descrito en el modelo, y que se dispone de un conjunto de T
observaciones para c/u de las variables, la endógena y las exógenas, ¿cómo pueden asignarse
valores numéricos a los parámetros b0, b1, b2,…, bK basándonos en la información muestral?:
◦ Estos valores se llamarán estimaciones de los parámetros.
• Una vez encontradas las estimaciones de los parámetros del modelo:
◦ Se podrá hacer predicciones acerca del comportamiento futuro de la variable Y.
• El modelo lineal se formula bajo las siguientes hipótesis:
◦ Las variables X1, X2, …, XK, son deterministas (no son variables aleatorias), ya que su valor es
un valor constante proveniente de una muestra tomada.
◦ La variable u (término de error) es una variable aleatoria con esperanza nula y matriz de
covarianzas constante y diagonal (matriz escalar):
Para todo t, la variable ut tiene media cero y varianza σ no dependiente de t, y además
2

cov(ui,uj)=0 para todo i y para todo j distintos entre sí:
• El hecho de que la varianza de ut sea constante para todo t (que no dependa de t\ se
denomina hipótesis de homocedasticidad.
• El hecho de que cov(ui,uj)=0 para todo i distinto de j se denomina hipótesis de no
autocorrelación.
• La variable y es aleatoria, ya que depende de la variable aleatoria u.
• Se supone la ausencia de errores de especificación:
◦ Se supone que todas las variables x que son relevantes para la explicación de la variable y,
están incluidas en la definición del modelo lineal.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 190
Bases de Datos II – Licenciatura en Sistemas de Información

• Las variables X1, X2, …, XK, son linealmente independientes:


◦ No existe relación lineal exacta entre ellas:
▪ Hipótesis de independencia.
▪ Cuando no se cumple el modelo presenta multicolinealidad.
• A veces se considera la hipótesis de normalidad de los residuos:
◦ Las variables ut, son normales para todo t.
• Estimación del modelo lineal de regresión multiple
• Se supone que se quiere ajustar el modelo de regresión lineal múltiple:
◦ Y = b0 + b1X1 + b2X2 + … + bkXK + u.
• Se dispone de un conjunto de t observaciones para cada una de las variables endógena y
exógenas.
• El modelo es:
◦ Yt = b0 + b1X1t + b2X2t + … + bkXKt + ut. t=1,2,3,...,T
• La aparición (no necesaria) de un término independiente en el modelo puede interpretarse como
la presencia de una primera variable x0 cuyo valor sea siempre 1.
• El criterio de mínimos cuadrados considera que la función que mejor se ajusta a los datos es la
que minimiza la varianza del error e, lo que es equivalente a minimizar:
T T

◦ S(b0, b1, b2,..., bk) = Σe 2


t = Σ (y t - (b0 + b1X1t + b2X2t + … + bkXKt))
2

t=1 t=1

• Derivando respecto de los parámetros b0, b1,..., bk e igualando a cero se tiene:


∂S T T T T

◦ ∂b0 = 2 Σ (y t - (b0 + b1X1t + b2X2t + … + bkXKt)) (-1) = 0 Σy t = nb0 + b1 Σx 1t + … + bk Σx kt


t=1 t=1 t=1 t=1

∂S T T T T T

◦ ∂b1 = 2 Σ (y t - (b0 + b1X1t + b2X2t + … + bkXKt)) (-X1t) = 0 Σy t x1t = b0 + Σx 1t + b1 Σx 2


1t + … + bk Σx 1t xkt
t=1 t=1 t=1 t=1 t=1
=
◦ … ...
∂S T T T T T

◦ ∂bk = 2 Σ (y t - (b0 + b1X1t + b2X2t + … + bkXKt)) (-Xkt) = 0 Σy t xkt = b0 + Σx 1t + b1 Σx kt x1t+ … + bk Σx 2


kt
t=1 t=1 t=1 t=1 t=1

• Estas ecuaciones forman un sistema denominado sistema de ecuaciones normales, que puede
resolverse para b0, b1, …, bK mediante cualquier método apropiado para resolver sistemas de
ecuaciones lineales.
• De esta forma se obtiene la estimación del modelo.
• Predicciones
• Una de las finalidades del análisis de los modelos econométricos es hacer predicciones para la
variable dependiente.
• Si se estima el modelo Y=XB y se obtiene el modelo estimado Y =XB:
◦ Se tiene que Y0 = X0B es un estimador lineal insesgado óptimo del pronóstico de Y, para un
valor dado X0 de X.
• Se puede predecir:
◦ La media E(Y0).
◦ El valor puntual Y0.
• Los errores de predicción vendrán cuantificados por las varianzas de los predictores:
◦ Varianza para la predicción en media:
σ X0(X'X) X0'.
2 -1

◦ Intervalo de confianza para la predicción en media al nivel α:
Y0 ± tT-k-1(α/2) σ X0(X'X) X0':
-1

• tT-k-1(α/2) es el valor de la t de student con T-k-1 grados de libere ad en el punto
(α/2).
◦ Varianza para la predicción puntual:
σ (X0(X'X) X0' + 1).
2 -1

◦ Intervalo de confianza para la predicción puntual:
Y0 ± tT-k-i(α/2) σ 1 + X0(X'X) X0':
-1

• tT-k-1(α/2) es el valor de la t de student con T-k-1 grados de libere ad en el punto
(α/2).
• Análisis de residuos

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 191
Bases de Datos II – Licenciatura en Sistemas de Información

• Una vez construido el modelo de regresión:


◦ Contrastar entre otras las hipótesis de:
▪ Linealidad.
▪ Normalidad.
▪ Homoscedasticidad.
▪ No autocorrelación.
▪ Independencia.
• Los residuos van a presentar una primera información sobre estas hipótesis.
• Si el histograma de frecuencias de los residuos no se ajusta al de una normal, pueden existir
valores atípicos:
◦ Eliminando los pares (XiYi) que producen los valores atípicos, se puede conseguir normalidad
en los residuos.
• Si se grafican los valores de t contra los valores de ut y se detecta una tendencia creciente o
decreciente en el grafo:
◦ Puede existir autocorrelación o correlación serial.
• Si se grafican los valores de Yt contra los valores de ut y se detecta una tendencia de cualquier
tipo en el grafo:
• Puede existir autocorrelación:
◦ Habrá correlación entre los residuos.
• Puede haber heteroscedasticidad o falta de linealidad.
Si se grafican los valores de Yt contra los de ut y se detecta una tendencia de cualquier tipo en el
2

grafo, puede existir heteroscedasticidad.
• Si se grafican los valores de Xt contra los de ut y se detecta una tendencia creciente o decreciente
en el grafo, puede existir autocorrelación:
◦ Los residuos no estarán incorrelacionados con las variables explicativas.
◦ También puede haber heteroscedasticidad o falta de linealidad.
Si se grafican los valores de Xt contra los valores de ut y se detecta cualquier tendencia en el
2

grafo:
◦ Puede existir heteroscedasticidad o falta de linealidad:
▪ Habrá relación entre la varianza del término del error y las variables explicativas.
• Un contraste muy importante para detectar la autocorrelación es el contraste de durbin-watson:
T

Σ (u t - ut-1)
2

◦ D= t=2
T

Σu t
2

t=1

• Permite adoptar la siguiente regla:


◦ Si D=0 hay autocorrelación perfecta positiva.
◦ Si D se aproxima a 2 no hay autocorrelación
◦ Si D se aproxima a 4 hay autocorrelación perfecta negativa.
• D se encuentra tabulado y según la franja en la que caiga su valor, se acepta o rechaza la
hipótesis de autocorrelación.
• Técnicas de selección en el modelo de regresión
• Existen criterios que permiten elegir el mejor modelo para unas variables y un conjunto de datos
dados.
• Criterio de regresión hacia adelante:
◦ Va incluyendo variables en el modelo hasta obtener el ajuste ideal.
• Criterio de regresión hacia atrás:
◦ Empieza incluyendo todas las variables en el modelo y va eliminando las adecuadas hasta
obtener un ajuste óptimo libre de problemas.
• Criterio de selección paso a paso.
• Los estadísticos AIC de Akalke y SC de Schwarz
• Permiten seleccionar el modelo ajustado con mejor capacidad explicativa:
◦ Aquel que presenta menor valor para estos estadísticos.
2l 2(K+1)
◦ AIC = - T + T
2l (K+1) . log(T)

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 192
Bases de Datos II – Licenciatura en Sistemas de Información

◦ SC = - T + T

T e'e
▪ l = - 2(1 + log(2π) + log T )
▪ K es el número de variables independientes del modelo (sin incluir la constante).
▪ T es el tamaño muestral o número de observaciones de que se dispone para la estimación
del modelo.
▪ e es el error del modelo.
• Es posible seleccionar modelos lineales ajustados de acuerdo a su capacidad predictiva.
• Se dispone, entro otros, de los siguientes estadísticos (siendo n el horizonte de predicción: límite
práctico y válido para la predicción):
◦ Raíz del Error Cuadrático Medio (Root Mean Squared Error):
n

Σ (Y - Y )
i i
2

◦ RECM = i=1°

n
◦ Error absoluto medio (mean absolute error):
n

Σ |Yi - Yi|
◦ EAM = i=1°

n
◦ Proporcion del sesgo (BIAS proportion):

(Y - Y)
2

◦ PS = n

Σ (Yi - Yi) /n
2

i=1°

◦ Proporción de la varianza (variance proportion):


(SY - SY)
2

◦ PS = n
Σ (Yi - Yi) /n
2

i=1°

◦ Proporción de la covarianza (covariance proportion):


2(1-r) SYSY
◦ PS = n
Σ (Yi - Yi) /n
2

i=1°

• Mientras más próximos estén a cero los valores de los dos primeros estadísticos:
◦ Mejor será la capacidad predictiva del modelo.
• Las tres proporciones varían entre 0 y 1:
◦ Es conveniente que sean pequeñas.
• Ejemplo de MLG Multivariante

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 193
Bases de Datos II – Licenciatura en Sistemas de Información

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 194
Bases de Datos II – Licenciatura en Sistemas de Información

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 195
Bases de Datos II – Licenciatura en Sistemas de Información

Modelos de elección discreta

• La expresión del modelo de análisis de la regresión múltiple es:


◦ Y = F(x1,x2, ...,xn).
• La regresión múltiple admite la posibilidad de trabajar con variables dependientes discretas en
vez de continuas para permitir la modelización de fenómenos discretos.
• Modelos de elección discreta:
◦ La variable dependiente es una variable discreta que refleja decisiones individuales en las que
el conjunto de elección está formado por alternativas separadas y mutuamente excluyentes.
• Los modelos de elección discreta en los que el conjunto de elección tiene sólo dos alternativas
posibles se llaman modelos de elección binaria.
• Cuando el conjunto de elección tiene varios valores discretos se tienen los modelos de elección
múltiple o modelos multinomiales.
• Los modelos de elección discreta se denominan modelos de datos de recuento cuando los valores
de la variable dependiente discreta son números que no reflejan categorías.
• En caso de que los valores numéricos de la variable dependiente discreta reflejan categorías los
modelos se denominan modelo de elección discreta categóricos:
◦ Se clasifican en:
▪ Modelos de elección discreta categóricos ordenados: los valores numéricos no tienen
significado cuantitativo y reflejan un orden de categorías.
▪ Modelos de elección discreta categóricos no ordenados: los valores numéricos reflejan
únicamente categorías.
• Modelos de elección discreta binaria: modelo lineal de probabilidad y regresión logística binaria.
• Se considerarán el modelo lineal de probabilidad, el modelo logit y el modelo probit.
• Se parte del modelo de regresión lineal habitual:
◦ Y=β0 + β1X1 + β2X2 + … + βkXk + ε
• Una de cuyas hipótesis es:
◦ E(ε | X1, X2, … ,Xk) = 0
• Esto permite escribir el modelo como:
◦ E(ε | X1, … ,Xk) = β0 + β1X1 + β2X2 + … + βkXk
• Para los modelos de elección discreta binaria:
◦ Y es una variable aleatoria de bernouilli de parámetro p, por lo tanto:
◦ E(Y | X1, … ,Xk) = P(Y=1 | X1, … ,Xk) = β0 + β1X1 + β2X2 + … + βkXk
• Se tiene el modelo lineal de probabilidad:
◦ Por ejemplo, β1 mide la variación en la probabilidad de ’’éxito” (y = 1) ante una variación
unitaria en xly (con todo lo demás constante).
• Como Y es una variable aleatoria de Bernouilli:
◦ V(Y | X1, … ,Xk) = P(Y=1 | X1, … ,Xk) (1 - P(Y=1 | X1, … ,Xk))
• Se tiene entonces:
◦ Y = β0 + β1X1 + β2X2 + … + βkXk + u  u = Y - β0 + β1X1 + β2X2 + … + βkXk
◦ V(u) = V(Y - β0 + β1X1 + β2X2 + … + βkXk) = V(Y | X1, … ,Xk)
◦ V(ui) = pí(1-pí) para cada observación.
• Se tiene un modelo con heteroscedasticidad:
◦ Porque la varianza del error no es constante.
◦ Para cada valor de X1, … ,Xk la varianza del error tiene un valor diferente:
◦ V(u) no constante.
• Y es una variable de Bernouilli:
◦ No se cumple la hipótesis de normalidad.
• Hay que estimar estos modelos por un método alternativo a mínimos cuadrados ordinarios:
◦ Ej.: Estimadores máximo verosímiles o mínimos cuadrados generalizados.
• Realizada la estimación del modelo lineal de probabilidad se tiene:
◦ Y = β0 + β1X1 + β2X2 + … + βkXk = P
• Se puede interpretar como una estimación de la probabilidad de ’’éxito” (de que y = L).
• En algunas aplicaciones tiene sentido interpretar β0 Como la probabilidad de éxito cuando todas
las Xj valen 0.
• Es posible considerar los modelos logit (modelo de regresión logística) y probit como modelos de
respuesta binaria:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 196
Bases de Datos II – Licenciatura en Sistemas de Información

◦ P(Y = 1 | X1, X2,… ,Xk) = G(β0 + β1X1 + β2X2 + … + βkXk)


• Para evitar los problemas del modelo lineal de probabilidad:
◦ Se especifican como Y = G(XΒ).
◦ Donde G es una función que toma valores estrictamente entre 0 y 1 (0<G(Z)<1) para todos
los números reales z.
• Según las diferentes definiciones de g se tienen los distintos modelos de elección binaria:
e
z

◦ Si G(z) = 1 + e se tiene el modelo LOGIT:


z

e β0 + β1X1 + β2X2 + … + βkXk


▪ Y = G(z) = G(β0 + β1X1 + β2X2 + … + βkXk) = 1 + e∞ф(v)

◦ Si G(z) = Φ(z) = -∞ф(v) dv se tiene el modelo PROBIT


▪ Φ(z) = 1 -z
2
es la función de densidad de la normal (0, 1).
2π . e 2

β0 + β1X1 + β2X2 + … + βkXk


1 -z
2

• Y = G(z) = G(β0 + β1X1 + β2X2 + … + βkXk) = ∞ 2π . e dv


2

• Los modelos PROBIT y LOGIT son modelos no lineales:


◦ No se puede estimar por MCO (mínimos cuadrados ordinarios).
◦ Se tendrá que emplear métodos de máxima verosimilitud.
• Si se tienen n observaciones de una muestra aleatoria
• Que siguen el modelo:
◦ P(Y = 1 | X) = G(β0 + β1X1 + … + βkXk)
• Para obtener el estimador de máxima verosimilitud (MV), condicionado a las variables
explicativas, es necesaria la función de verosimilitud:
n n n

◦ L(β) = Π P Π (1 – P ) = Π G(X ' β) (1 - G(X ' β))


i =1
i
i =0
i
i=1
i
Y1
i
1 - Y1

◦ Pi = P(Yi = 1 | X1i, … ,Xki) = G(β0 + β1X1i + … + βkXki) = G(Xi' β)


• El estimador de mv de fi es el que maximiza el logaritmo de la función de verosimilitud:
n

◦ l(β) = ln L(β) = Σ [Y ln G(X ' β) + (1 - Y ) ln(1 - G(X ' β))]


i=1
i i i i

◦ Que será un estimador consistente, asintóticamente normal y asintóticamente eficiente.


• Las condiciones de primer orden serán:
n Yi (1 - Yi) n Yi - G(Xi' β)
◦ S(β) = Σ G(X ' β) + (1 - G(X ' β))
i=1
i i Xi g(Xi' β) = Σ G(X ' β)(1 - G(X ' β))
i=1
i i Xi g(Xi' β) = 0

◦ g(.) Es la función de densidad de la normal o la logística (derivada de la función de


distribución).
• La no linealidad del problema hace que para obtener el estimador MV de β Se necesite:
◦ Aplicar un algoritmo iterativo.
◦ Obtener el estimador por métodos numéricos iterativos.
• Mediante el algoritmo scoring se tiene:
◦ β = β + [l(β )] S(β )
k+1 k k -1 k

• La matriz de covarianzas asintótica de β Se estima como:


[G(Xi' β)] Xi' Xi
2 -1
n

◦ A var(β) = [l(β )] =
.
k -1
Σ G(X ' β) + (1 - G(X ' β))
i=1
i i

• Modelos de elección multiple: Modelo Logit Multinomial


• Cuando el conjunto de elección tiene varios valores discretos se tienen los modelos de elección
múltiple o modelos multinomiales.
• El modelo logit multinomial es una extensión del modelo binario para el caso en el que la

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 197
Bases de Datos II – Licenciatura en Sistemas de Información

respuesta, “desordenada”, tiene más de 2 posibilidades.


• Sea (Xi, Yi) una muestra aleatoria de la población (i = 1, …, n)
• Interesa saber cómo afectan los cambios en los elementos de xa las probabilidades de respuesta:
◦ P(Yi = j | X1i, … ,Xki) = P(Y = j | X) j= 1, …, J
• Las probabilidades de respuesta son:
◦ P(Y = j | X) = exp(Xβj) = pj(X, β) j = 1, ..., J
n

1+ Σ exp(Xβ )
i=1
h

◦ P(Y = j | X) = exp(Xβj) = pj(Xβ) j = 1, ..., J


n

1+ Σ exp(Xβ )
i=1
h

◦ P(Y = 0 | X) = 1 = p0(Xβ)
n

1+ Σ exp(Xβ )
i=1
h

• Si j = 1 se tiene el caso binario.


• El modelo se estima por máxima verosimilitud.
• El logaritmo de la función de verosimilitud condicional viene dado por:
n J

◦ l(β) = Σ Σ 1 [Y = j] log [p (X , β)]


i=1 j=0
i j i

• Modelo lineal general de regresión multiple (GLM)


• El modelo GLM es el modelo más general posible de regresión lineal.
• Incluye:
◦ El modelo de regresión lineal múltiple con variables cuantitativas.
◦ Los modelos de regresión múltiple con variables cualitativas y cuantitativas a la vez.
• Incluirá todos los modelos del análisis de la varianza y de la covarianza.

Clasificación Ad Hoc: Análisis Discriminante

• Es util cuando se desea construir un modelo predictivo para pronosticar el grupo al que pertenece
una observación a partir de determinadas características observadas que delimitan su perfil.
• Permite asignar o clasificar nuevos individuos u observaciones dentro de grupos previamente
definidos:
◦ Por ello es una técnica de clasificación ad hoc.
• Se lo conoce como análisis de la clasificación:
◦ Su objetivo fundamental es:
▪ Producir una regla o un esquema de clasificación.
▪ Debe predecir la población a la que es más probable que tenga que pertenecer una nueva
observación o individuo.
• El modelo predictivo define la relación entre:
◦ Una variable dependiente (o endógena) no métrica (categórica), y.
◦ Varias variables independientes (o exógenas) métricas.
• La expresión es:
◦ y = F(x1,x2, ….,xn).
• Las categorías de la variable dependiente definen los posibles grupos de pertenencia de las
observaciones o individuos.
• Las variables independientes definen el perfil conocido de cada observación.
• El objetivo esencial:
◦ Es utilizar los valores conocidos de las variables independientes medidas sobre un individuo u
observación (perfil).

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 198
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Para predecir con qué categoría de la variable dependiente se corresponden para clasificar al
individuo en la categoría adecuada.
• Las dos grandes finalidades son:
◦ La descripción de diferencias entre grupos, y.
◦ La predicción de pertenencia a grupos.
• La interpretación de las diferencias entre los grupos responde al objetivo de determinar:
◦ En qué medida un conjunto de características observadas en los individuos permite extraer
dimensiones que diferencian a los grupos.
◦ Cuáles de estas características son las que en mayor medida contribuyen a tales
dimensiones, es decir, cuáles presentan el mayor poder de discriminación.
• Las características usadas para diferenciar entre los grupos reciben el nombre de variables
discriminantes.
• Al análisis para valorar el grado en que las variables independientes contribuyen a la
diferenciación entre los grupos se le denomina análisis discriminante descriptivo.
• La predicción de pertenencia a los grupos requiere una o más ecuaciones matemáticas,
denominadas funciones discriminantes:
◦ Deben permitir la clasificación de nuevos casos a partir de la información que poseemos
sobre ellos.
◦ Combinan una serie de características o variables de tal modo que su aplicación a un caso
nos permite identificar el grupo al que más se parece:
▪ En este sentido se puede hablar del carácter predictivo del análisis discriminante.
• Hipótesis en el modelo discriminante
• El modelo del análisis discriminante requiere de una comprobación de determinados supuestos.
• La aplicación del análisis discriminante requiere que se cuente con:
◦ Un conjunto de variables discriminantes (características conocidas de los individuos).
◦ Una variable nominal que define dos o más grupos (cada modalidad de la variable nominal se
corresponde con un grupo diferente).
• Los datos deben corresponder a individuos o casos clasificados en dos o más grupos mutuamente
excluyentes:
◦ Cada caso corresponde a un grupo y sólo a uno.
• Las variables discriminantes han de estar medidas en una escala de intervalo o de razón:
◦ Permitiría el cálculo de medias y varianzas y la utilización de éstas en ecuaciones
matemáticas.
• Teóricamente, no existen límites para el número de variables discriminantes:
◦ Salvo la restricción de que no debe ser nunca superior al número de casos en el grupo más
pequeño.
◦ Es conveniente contar al menos con 20 sujetos por cada variable discriminante si queremos
que las interpretaciones y conclusiones obtenidas sean correctas.
• La aplicación del análisis discriminante se apoya en una serie de supuestos básicos:
◦ Normalidad multivariante.
◦ Homogeneidad de matrices de varianza-covarianza (homoscedasticidad).
◦ Linealidad y ausencia de multicolinealidad.
• Estimación del modelo discriminante
• Una vez comprobado el cumplimiento de los supuestos subyacentes al modelo matemático, se
persigue:
◦ Obtener una serie de funciones lineales a partir de las variables independientes que
permitan:
▪ Interpretar las diferencias entre los grupos
▪ Clasificar a los individuos en alguna de las subpoblaciones definidas por la variable
dependiente.
◦ Estas funciones lineales:
▪ Se denominan funciones discriminantes.
▪ Son combinaciones lineales de las variables discriminantes
• Con G grupos (G > 2) en análisis discriminante múltiple, el número máximo de funciones o ejes
discriminantes que se pueden obtener viene dado por:
◦ Min (G-1, k).
◦ Pueden obtenerse hasta G-1 ejes discriminantes:
▪ Si el número de variables explicativas k es mayor o igual que g-1:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 199
Bases de Datos II – Licenciatura en Sistemas de Información

• Suele ser siempre cierto.


• En las aplicaciones prácticas el número de variables explicativas suele ser grande.
• La interpretación de la función discriminante podrá hacerse atendiendo a:
◦ Las posiciones relativas que determina para los casos.
◦ Los centroides de cada grupo.
◦ La relación entre las variables y la función:
▪ Establecer la contribución de las distintas variables a la discriminación.
• Para examinar la posición relativa que ocupan los casos y los centroides de acuerdo con la función
o funciones obtenidas:
◦ Recurrir a las puntuaciones discriminantes:
▪ Valores de la función discriminante para casos específicos.
• C/u de las funciones discriminantes:
◦ Representa un eje en el espacio discriminante.
◦ Permite determinar la posición de cualquier caso a lo largo de ese eje.
• Tomando la función correspondiente a un eje cualquiera, el valor de la puntuación discriminante
• Alcanzada por un caso m, perteneciente al grupo k:
◦ Se obtiene al sustituir en la ecuación los valores x por las puntuaciones observadas para ese
caso en cada una de las variables:
▪ ykm = u0 + u1X1km + u2X2km + … + upXpkm
• Si se calculan las puntuaciones discriminantes sobre los diferentes ejes, se puede localizar en el
espacio la posición de cualquier individuo
• C/ coeficiente no estandarizado ut, representa el cambio producido sobre la posición de un caso si
en la variable xi la puntuación observada aumentara en una unidad.
• Para estudiar los grupos es interesante la posición de los centroides de cada grupo.
• La puntuación de un centroide se determinará sustituyendo las variables de la ecuación
discriminante por los valores medios que alcanzan esas variables en el grupo.
• Las coordenadas de los centroides de diferentes grupos determinan posición de c/u de ellos en el
espacio discriminante.
• Clasificación mediante el modelo discriminante
• Las funciones discriminantes se utilizan para pronosticar el grupo al que quedará adscrito un
nuevo caso no contemplado al extraer las funciones.
• La clasificación de un sujeto podría hacerse:
◦ A partir de sus valores en las variables discriminantes.
◦ En las funciones discriminantes.
• La clasificación a partir de las funciones discriminantes es más cómoda y suele llevar a mejores
resultados en la mayoría de los casos.
• Los procedimientos para la clasificación se basan en la comparación de un caso con los centroides
de grupo, a fin de ver a cuál de ellos resulta más próximo.
• Uno de los procedimientos para asignar un caso a uno de los grupos se basa en las denominadas
funciones de clasificación por grupos.
• Examinando las puntuaciones obtenidas por un caso en c/u de las funciones de clasificación:
◦ Se puede establecer a qué grupo ha de ser asignado.
◦ El caso será asignado a aquel grupo en el que se obtiene la puntuación más alta.
• Otro procedimiento se basa en el cálculo de la distancia del caso a los centroides de cada uno de
los grupos o funciones de distancia generalizada:
◦ El caso sería adscrito a aquel grupo con cuyo centroide existe una menor distancia.
◦ La distancia de mahalanobis es una medida adecuada para valorar la proximidad entre casos
y centroides.
• Otro procedimiento para asignar un caso a uno de los grupos es utilizar las probabilidades de
pertenencia al grupo.
• Un caso se clasifica en el grupo al que su pertenencia resulta más probable.
• El cálculo asume que todos los grupos tienen un tamaño similar:
◦ No se tiene en cuenta que a priori es posible anticipar una mayor probabilidad de pertenencia
a un determinado grupo cuando en la población el porcentaje de sujetos que pertenece a
cada grupo es muy diferente.
• Incorporando las probabilidades a priori se consigue:
◦ Mejorar la predicción final.
◦ Reducir los errores de clasificación.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 200
Bases de Datos II – Licenciatura en Sistemas de Información

• La regla de bayes sería útil para:


◦ Calcular la probabilidad a posteriori de pertenencia del caso a un grupo.
◦ Conocida la probabilidad a priori para el mismo.
• Un caso será clasificado en el grupo en el que su pertenencia cuenta con una mayor probabilidad
a posteriori.
• Resulta interesante conocer para cada individuo:
◦ La máxima probabilidad.
◦ Las probabilidades de pertenecer a otros grupos.
• Un procedimiento muy útil es el mapa territorial:
◦ Situar en el eje horizontal y en el vertical dos funciones discriminantes (o variables
discriminantes).
◦ Separar en el plano resultante, por medio de líneas las zonas o territorios que ocuparían los
sujetos clasificados en cada grupo.
◦ Cuando el número de funciones es mayor que dos:
▪ Representar sólo las dos primeras, que son las que en mayor medida contribuyen a la
separación de los grupos.
• Para valorar la bondad de la clasificación realizada:
◦ Se aplica el procedimiento a los casos para los que se conoce su grupo de adscripción.
◦ Se comprueba si coinciden el grupo predicho y el grupo observado.
• El porcentaje de casos correctamente clasificados indicaría la corrección del procedimiento.
• La matriz de clasificación, también denominada matriz de confusión, permite presentar para los
casos observados en un grupo:
◦ Cuántos de ellos se esperaban en ese grupo.
◦ Cuántos en los restantes.
• Resulta fácil constatar qué tipo de errores de clasificación se producen.
• En la matriz de clasificación cada valor representa el número de casos del grupo i que tras aplicar
las reglas de clasificación son adscritos al grupo j.
• Los valores situados en la diagonal descendente constituyen el número de casos que han sido
correctamente clasificados.
• Esquema general de la técnica del análisis discriminante

Objetivos de la investigación
Clasificación de observaciones en grupos predicción de pertenencia de individuos a grupos examen de las
diferencias entre grupos identificación de dimensiones
Diseño de la investigación
Selección de variable dependiente e independientes tamaño muestral, muestra de análisis y reserva
Asunciones
Normalidad de variables independientes y linealidad de relaciones ausencia de multicolinealidad entre
variables independientes matrices de igual dispersión para poblaciones de grupos
Método discriminante
Estimación de funciones discriminantes (simultánea o paso a paso) significación estadística de las
funciones discriminantes significación de la precisión de la predicción

Funciones discriminantes ¿cuántas funciones se interpretan?


Una sola | dos o más
Evaluación función | pesos, cargas, centroides |

Validación de resultados
Muestras partidas o validación cruzada diferencias de grupos perfiladas

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 201
Bases de Datos II – Licenciatura en Sistemas de Información

Tema 13: Minería de datos - Técnicas Descriptivas y Predictivas de Clasificación

El Análisis Cluster Como Técnica Descriptiva de Clasificación

• El análisis cluster es una técnica de clasificación automática de datos.


• Su finalidad esencial es revelar concentraciones en los datos (casos o variables) para su
agrupamiento eficiente en clusters (o conglomerados) según su homogeneidad.
• El agrupamiento puede realizarse tanto para casos como para variables, pudiendo utilizarse
variables cualitativas o cuantitativas.
• Los grupos de casos o variables se realizan basándose en la proximidad o lejanía de unos con
otras:
◦ Es esencial el uso adecuado del concepto de distancia.
• Es fundamental que los elementos dentro de un cluster sean homogéneos y lo más diferentes
posibles de los contenidos en otros clusters.
• El análisis cluster es una técnica de clasificación, conociéndose también como taxonomía
numérica, análisis de conglomerados, análisis tipológico, clasificación automática y otras.
• El número de clusters no es conocido de antemano y los grupos se crean en función de la
naturaleza de los datos:
◦ Se trata por tanto de una técnica de clasificación post hoc.
• El análisis cluster es un método estadístico multivariante de clasificación automática:
◦ A partir de una tabla de datos (casos-variables), trata de situarlos en grupos homogéneos,
conglomerados o clusters no conocidos de antemano.
◦ Los individuos que pueden ser considerados similares son asignados a un mismo cluster.
◦ Los individuos diferentes (disimilares) se localizan en clusters distintos.
• La diferencia esencial con el análisis discriminante estriba en que:
◦ En el análisis discriminante es necesario especificar previamente los grupos por un camino
objetivo (técnica de clasificación ad hoc).
◦ El análisis cluster define grupos tan distintos como sea posible en función de los propios datos
sin especificación previa de los citados grupos (técnica de clasificación post hoc).
• Si las variables de aglomeración están en escalas muy diferentes será necesario:
◦ Estandarizar previamente las variables, o.
◦ Trabajar con desviaciones respecto de la media.
• Es necesario observar los valores atipicos y desaparecidos porque:
◦ Los métodos jerárquicos no tienen solución con valores perdidos.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 202
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Los valores atípicos deforman las distancias y producen clusters unitarios.


• También es nociva la presencia de variables correlacionadas:
◦ Es importante el análisis previo de multicolinealidad.
◦ Es necesario realizar un análisis factorial previo y posteriormente se aglomeran las
puntuaciones factoriales.
• La solución del análisis cluster no tiene por qué ser única:
◦ No deben encontrarse soluciones contradictorias por distintos métodos.
• El numero de observaciones en cada cluster debe ser relevante:
◦ En caso contrario puede haber valores atípicos que difuminen la construcción de los clusters.
• Los conglomerados deben tener sentido conceptual y no variar mucho al variar la muestra o el
método de aglomeración.
• Los grupos finales serán tan distintos como permitan los datos.
• Con estos grupos se podrán realizar otros análisis:
◦ Descriptivos, discriminante, regresión logística, diferencia...
• Medidas de similitud
• Según la clasificación de Sneath y Sokal existen cuatro grandes tipos de medidas de similitud:
◦ Distancias.
◦ Coeficientes de asociación.
◦ Coeficientes angulares.
◦ Coeficientes de similitud probabilística.
• Distancias:
◦ Se trata de las distintas medidas entre los puntos del espacio definido por los individuos:
▪ Se trata de las medidas inversas de las similitudes, es decir, disimilitudes:
• Ej : distancia euclídea.
• Coeficientes de asociación:
◦ Se utilizan cuando se trabaja con datos cualitativos.
◦ También se pueden aplicar a datos cuantitativos si se está dispuesto a sacrificar alguna
información proporcionada por los individuos o las variables.
◦ Estas medidas son una forma de medir la concordancia o conformidad entre los estados de
dos columnas de datos.
• Coeficientes angulares:
◦ Se utilizan para medir la proporcionalidad e independencia entre los vectores que definen los
individuos.
◦ El más común es el coeficiente de correlación aplicado a variables continuas.
• Coeficientes de similitud probabilística:
◦ Miden la homogeneidad del sistema por particiones o subparticiones del conjunto de los
individuos e incluyen información estadística.
◦ Estos coeficientes se distribuyen como la chi-cuadrado.
• Ejemplos más característicos de cada uno de los tipos de medidas de similitud:
• Distancias:
n

◦ Distancia euclídea al cuadrado d(i, j) =


2
Σ (x
k=1
ik - xjk)
2

◦ Distancia euclídea d(i, j) = Σ (x


k=1
ik - xjk)
2

◦ Distancia Deminkowski dq(i,j) = Σ (|x


k=1
ik – xjk| )
q 1/q

◦ Distancia City–Block o de Manhattan dq(i,j) = Σ |x


k=1
ik – xjk|

◦ Distancia de Chebichev d∞(i,j) = Maxk(|xik – xjk|)


n xik – xjk
◦ Distancia de Canberra dCANB(i,j) = Σ (x ik + xjk)

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 203
Bases de Datos II – Licenciatura en Sistemas de Información

k=1

• La distancia euclídea al cuadrado entre dos individuos se define como la suma de los cuadrados
de las diferencias de todas las coordenadas de los dos puntos:
◦ La distancia euclídea se define como la raíz cuadrada positiva de la distancia anterior.
• La distancia de Minkowski es una distancia genérica que da lugar a otras distancias en casos
particulares y se define como la raíz q-éslma de la suma de las potencias pésimas de las
diferencias, en valor absoluto, de las coordenadas de los dos puntos considerados.
• La distancia City – Block o distancia de Manhattan:
◦ Es un caso particular de la distancia o medida de Minkowski cuando q = 1.
◦ Es la suma de las diferencias, en valor absoluto, de todas las coordenadas de los dos
individuos cuya distancia se calcula.
◦ Es cero para la similitud perfecta y aumenta a medida que los objetos son más disimilares.
• La distancia de Chebichev:
◦ Se define como el caso límite de la medida de Minkowski para q → ∞.
◦ Es el máximo de las diferencias absolutas de los valores de todas las coordenadas.
• La distancia Canberra es una modificación de la distancia Manhattan que es sensible a
proporciones y no sólo a valores absolutos.
• Los coeficientes de asociación suelen utilizarse para el caso de variables cualitativas, y en general
para el caso de datos binarios (o dicotómicos):
◦ Son aquellos que sólo pueden presentar dos opciones:
▪ Blanco - negro, si - no, hombre - mujer, verdadero -falso, etc.
◦ Existen diferentes medidas de proximidad o similitud, partiendo de una tabla de frecuencias
2x2 en la que se representa el número de elementos de la población en los que se constata la
presencia o ausencia del carácter (variable cualitativa) en estudio.

Variable 1 
Variable 2 Presencia Ausencia

Presencia a b

Ausencia c d

Jaccard – Sneath Sj = a = a
(a + u) (a + b + c)

Coeficiente de asociación Coeficiente de Emparejamiento Simple SSM = m = m = (a + d)


(m + u) n (a + b + c + d)

Coeficiente de Yule SY = (ad - bc)


(ad + bc)
• El coeficiente de Jaccard - Sneath:
◦ Es uno de los más sencillos.
◦ No tiene en cuenta los emparejamientos negativos.
◦ Se define como el n° de emparejamientos positivos entre la suma de los emparejamientos
positivos y los desacuerdos.
◦ A partir de su expresión se deduce que S j tiende a cero cuando a/u tiende a cero:
▪ Sj es cero cuando el n° de emparejamientos positivos coincide con el de desacuerdos.
▪ Sj tiende a uno cuando u tiende a cero, es decir, Sj vale uno cuando no hay desacuerdos.
• El coeficiente de Yule varía entre +1 y -1.
• El coeficiente de emparejamiento simple:
◦ Se define como el cociente entre emparejamientos y el n° total considerados.
◦ De su expresión se deduce:
▪ SSM → 0 si m/u → 0 y Sj → 1 si m/u → 1
• En el caso de los coeficientes angulares su campo de variación está entre -1 y +1:
◦ Los valores cercanos a 0 indican disimilitud entre los individuos.
◦ Los valores que se acercan a +1 o a -1 indican similitud positiva o negativa respectivamente.
◦ El cálculo de este coeficiente entre los individuos i y j se realiza en función de x1 y xj que son
las medias correspondientes a los individuos i y j.
n

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 204
Bases de Datos II – Licenciatura en Sistemas de Información

Σ (x
k=1
ij - Xi) (xjk - Xj)
Coeficiente de correlación rij =
n n

Coeficientes Angulares Σ ((x


k=1
ij - Xi)
2
Σ (x
k=1
jk – X j) )
2 1/2

(Σ x
k=1
ij - xjk )
Distancia del coseno cos αij =
n n

(Σ (x ) Σ (x ) )
k=1
ik
2

k=1
ik
2 1/2

• Los coeficientes de similitud probabilìstica:


◦ Calculan la probabilidad acumulada de que un par de individuos i y j, sean tan similares, o
más, que lo que empíricamente se puede afirmar sobre la base de la distribución observada.
• Para el caso de variables cualitativas y en general para el caso de datos binarios o dicotómicos
existen varias medidas de similaridad adicionales:

Russel y Rao: RRxy = a Sokal y Sneath: SSxy = 2(a + d)


a+b+c 2(a+d) + b + c

Parejas simples: PSxy = a +d Royers y Tanimoto: RTxy = a +d


a+b+c+d a + d + 2(b + c)

Jaccard: Jxy = a Sokal y Sneath (2): SS2xy = a


a+b+c a + 2(b + c)

Dice y Sorensen: Dxy = 2a Kulczynski: Kxy = a


2a + b + c b+c

• Entre las medidas de similaridad para probabilidades condicionales destacan las siguientes:

Kulczynski (medida 2) K2xy = a/(a+b)+a/(a+c)


2

Sokal y Sneath (medida 4) SS4xy = a/(a+b)+a/(a+c)+d/(b+d)+d+(c/d)


4

Hamann Hxy = (a+d)-(b+c)


a+b+c+d

• Entre las medidas de predicción se encuentran la Dxy de anderberg, la Yxy de Yule y la Qxv de
Yule:

Dxy = max(a,b)+max(c,d)+max(a,c)+max(b,d)+max(a+c,b+d)+max(a+b,c+d)
2(a+b+c+d)
Yxy = ad - bc Q xy = ad - bc
ad + bc ad + bc

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 205
Bases de Datos II – Licenciatura en Sistemas de Información

• También se usan otras medidas binarias:

Ochiai: Oxy = a . a Sokal y Sneath (5): SSSxy = ad


a+b a+c (a+b)(c+d)(b+d)(c+d)

Sokal y Sneath (3): SS3xy = a+d Correlación phi: фxy = ab - bc


b+c (a+b)(c+d)(b+d)(c+d)

2
Euclídea binaria: EBxy = b+c Diferencia de forma: DFxy = (a+b+c+d)(b+c)-(b-c)
2
(a+b+c+d)

2 2
Euclídea binaria : EB xy = b + c Varianza disimilar: Vxy = b+c
4(a+b+c+d)

2
Dispersión: Dxy = ad – bc Diferencia de tamaño: Txy = (b-c)
2 2
(a+b+c+d) (a+b+c+d)

Lance y Williams: Dxy = b+c Diferencia de patrón: Pxy = bc


2
2a + b + c (a+b+c+d)

• Técnicas en el análisis cluster


• El análisis de conglomerados o análisis cluster es un conjunto de métodos y técnicas estadísticas
que permiten describir y reconocer diferentes agrupaciones que subyacen en un conjunto de
datos:
◦ Permiten clasificar, o dividir en grupos más o menos homogéneos, un conjunto de individuos
que están definidos por diferentes variables.
• El objetivo principal consiste en conseguir una o más particiones de un conjunto de individuos en
base a determinadas características de los mismos:
◦ Estas características estarán definidas por las puntuaciones que cada uno de ellos tiene con
relación a diferentes variables.
• Se podrá decir que dos individuos son similares si pertenecen a la misma clase, grupo,
conglomerado o cluster.
• Todos los individuos que están contenidos en el mismo conglomerado:
◦ Se parecerán entre sí.
◦ Serán diferentes de los individuos que pertenecen a otro conglomerado.
• Los miembros de un conglomerado gozarán de características comunes que los diferencian de los
miembros de otros conglomerados:
◦ Estas características deberán ser genéricas.
◦ Difícilmente una única característica podrá definir un conglomerado.
• El método para ejecutar un análisis de conglomerados comienza con la selección de los individuos
objeto del estudio:
◦ Si corresponde se incluye:
▪ Su codificación a partir de las variables o caracteres que los definen.
▪ Su transformación adecuada para someterlos al análisis si es necesario (tipificación de
variables, desviaciones respecto de la media, etc.).
• Se determina la matriz de disimilitudes definiendo las distancias, similitudes o disimilitudes de los
individuos.
• Se ejecuta el algoritmo que formará las diferentes agrupaciones o conglomerados de individuos.
• Se obtiene una representación gráfica de los conglomerados obtenidos:
◦ Dendograma.
• Se interpretan los resultados obtenidos.
• Los diferentes métodos de análisis de conglomerados surgen de las distintas formas de
agrupación de los individuos:
◦ Dependiendo del algoritmo que se utilice para llevar a cabo la agrupación de individuos, se
obtienen diferentes métodos de análisis de conglomerados.
• Una clasificación es la siguiente:
◦ Métodos aglomerativos-divisivos.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 206
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Métodos jerárquicos-no jerárquicos.


◦ Métodos solapados-exclusivos.
◦ Métodos secuenciales-simultáneos.
◦ Métodos monotéticos-politéticos.
◦ Métodos directos-iterativos.
◦ Métodos ponderados-no ponderados.
◦ Métodos adaptativos-no adaptativos.
• Métodos aglomerativos-divisivos:
• Un método aglomerativo:
◦ Considera tantos grupos como individuos.
▪ Sucesivamente va fusionando los dos grupos más similares, hasta llegar a una
clasificación determinada.
◦ Un método divisivo:
▪ Parte de un solo grupo formado por todos los individuos.
▪ En cada etapa va separando individuos de los grupos establecidos anteriormente,
formándose así nuevos grupos.
• Métodos jerárquicos-no jerárquicos:
◦ Un método es jerárquico si consiste en una secuencia de g+1 clusters: G 0,...,Gg en la que:
▪ G0 es la partición disjunta de todos los individuos y Gg es el conjunto partición:
• El n° de partes de c/u de las particiones disminuye progresivamente.
• Las particiones son cada vez más amplias y menos homogéneas.
◦ Un método se dice no jerárquico cuando se forman grupos homogéneos sin establecer
relaciones de orden o jerárquicas entre dichos grupos.
• Métodos solapados-exclusivos:
◦ Un método es solapado si admite que un individuo pueda pertenecer a dos grupos
simultáneamente en alguna de las etapas de clasificación.
◦ Es exclusivo si ningún individuo puede pertenecer simultáneamente a dos grupos en la misma
etapa.
• Métodos secuenciales-simultáneos:
◦ Un método es secuencial si a cada grupo se le aplica el mismo algoritmo en forma recursiva.
◦ Los métodos simultáneos son aquellos en los que la clasificación se logra por una simple y no
reiterada operación sobre los individuos.
• Métodos monotéticos-politéticos:
◦ Un método se dice monotético si está basado en una característica única de los objetos a
clasificar.
◦ Es politético si se basa en varias características de los mismos:
▪ Sin exigir que todos los objetos las posean.
▪ Aunque sí deben poseer las suficientes como para poder justificar la analogía entre los
miembros de una misma clase.
• Métodos directos-iterativos
◦ Un método es directo si utiliza algoritmos en los que. Una vez asignado un individuo a un
grupo ya no se saca del mismo
◦ Los métodos iterativos corrigen las asignaciones previas:
▪ Vuelven a comprobar en posteriores iteraciones si la asignación de un individuo a un
conglomerado es óptima.
▪ Llevan a cabo un nuevo reagrupamiento de los individuos si es necesario.
• Métodos ponderados-no ponderados:
◦ Los métodos no ponderados son aquellos que establecen el mismo peso a todas las
características de los individuos a clasificar.
◦ Los ponderados hacen recaer mayor peso en determinadas características.
• Métodos adaptativos-no adaptativos:
◦ Los métodos no adaptativos son aquellos para los que el algoritmo utilizado se dirige hacia
una solución en la que el método de formación de conglomerados es fijo y está
predeterminado.
◦ Los adaptativos (menos utilizados) son aquellos que de alguna manera aprenden durante el
proceso de formación de los grupos y modifican el criterio de optimización o la medida de
similitud a utilizar.
• Clusters Jerárquicos, Secuenciales, Aglomerativos y Exclusivos (S.A.H.N.)

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 207
Bases de Datos II – Licenciatura en Sistemas de Información

• Los métodos más usados son los que son a la vez:


◦ Secuenciales.
◦ Aglomerativos.
◦ Jerárquicos.
◦ Exclusivos.
• Reciben el acrónimo, en lengua inglesa, de S.A.H.N. (Sequential, Agglomerative, Hierarchic y
Nonoverl aping).
• Algunos métodos de tipo S.A.H.N. Son:
◦ Método de unión simple (single linkage clustering), entorno o vecino más cercano (nearest
neighbour) o método del mínimo (minimum method).
◦ Método de la distancia máxima o método del máximo (complete linkage clustering, furthest
neighbour o maximum method).
◦ Método de la media o de la distancia promedio no ponderado (weighted pair groups method
using arithmetic averages wpgmw).
◦ Método de la media ponderada o de la distancia promedio ponderado (group average o
unweighted pair groups method using arithmetic averages upgma).
◦ Método de la mediana o de la distancia mediana (weighted pair group centroid method
wpgmc).
◦ Método del centroide o de la distancia prototipo (unweighted pair group centroid method
upgmc).
◦ Método de ward o de mínima varianza.
• El dendograma en el análisis cluster jerárquico
• Es habitual la necesidad de clasificar los datos en grupos con estructura arborescente de
dependencia, de acuerdo con diferentes niveles de jerarquía:
◦ Se parte de tantos grupos iniciales como individuos se estudian.
◦ Se trata de conseguir agrupaciones sucesivas entre ellos de forma que progresivamente se
vayan integrando en clusters.
◦ Los clusters, a su vez, se unirán entre sí en un nivel superior formando grupos mayores que
más tarde se juntaran hasta llegar al cluster final.
◦ El cluster final contiene todos los casos analizados.
• La representación gráfica de estas etapas de formación de grupos, a modo de árbol invertido, se
denomina dendograma.
• Dendograma:

• Ejemplo con mínima distancia


1 2 3 4 5

1 0
D = [dik]ik= 2 9 0
3 3 7 0
4 6 5 9 0
5 11 10 2 8 0

(35) 1 2 4

(35) 0
D = [dik]ik= 1 3 0

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 208
Bases de Datos II – Licenciatura en Sistemas de Información

2 7 9 0
4 8 6 5 0

• Análisis cluster no jerárquico


• La clasificación de todos los casos de una tabla de datos en grupos separados que configura el
propio análisis proporciona clusters no jerárquicos:
◦ No hay una estructura vertical de dependencia entre los grupos formados.
▪ Los grupos no se presentan en distintos niveles de jerarquía.
◦ El análisis precisa que se fije de antemano el n° de clusters en que quiere agrupar sus datos.
• Si no existe un n° definido de grupos o, si existe pero no se conoce el n°:
◦ Se debe repetir la prueba con diferente n° a fin de evaluar la clasificación:
▪ Que mejor se ajuste al objetivo del problema, o.
▪ Que brinde la más clara interpretación.
• Los métodos no jerárquicos también se conocen como métodos partitivos o de optimización:
◦ Tienen por objetivo realizar una sola partición de los individuos en k grupos:
▪ Esto implica que se debe especificar a priori los grupos que deben ser formados.
▪ Esta es una importante diferencia respecto de los métodos jerárquicos.
▪ La asignación de individuos a los grupos se hace mediante algún proceso que optimice el
criterio de selección.
• Se trabaja con la matriz de datos original y no se requiere su conversión en una matriz de
proximidades.
• Pedret agrupa los métodos no jerárquicos en las cuatro familias siguientes:
◦ Reasignación.
◦ Búsqueda de la densidad.
◦ Directos.
◦ Reducción de dimensiones.
• Los métodos de reasignación permiten que un individuo asignado a un grupo en un determinado
paso del proceso sea reasignado a otro grupo en un paso posterior si esto optimiza el criterio de
selección:
◦ El proceso termina cuando no quedan individuos cuya reasignación permita optimizar el
resultado que se ha conseguido.
• Ejemplos de algoritmos:
◦ Método k-means (o k-medias) de mcqueen (1967).
◦ Quick cluster analysis.
◦ Método de Forgy.
◦ Se suelen agrupar como métodos centroides o centros de gravedad.
◦ Método de las nubes dinámicas de Diday.
• Los métodos de búsqueda de la densidad presentan una aproximación tipológica y una
aproximación probabilística:
◦ En la aproximación tipológica los grupos se forman buscando las zonas en las cuales se da
una mayor concentración de individuos:
▪ Los algoritmos más conocidos son el análisis modal de wishart, el método de taxmap de
carmichael y sneath, y el método de fortin.
◦ En la aproximación probabilística se parte del postulado de que las variables siguen una ley
de probabilidad según la cual los parámetros varían de un grupo a otro:
▪ Se trata de encontrar los individuos que pertenecen a la misma distribución.
▪ Se destaca el método de las combinaciones de wolf.
• Los métodos directos permiten clasificar simultáneamente a los individuos y a las variables:
◦ Las entidades agrupadas son las observaciones, es decir, los cruces que configuran la matriz
de datos.
• Los métodos de reducción de dimensiones, como el análisis factorial de tipo 0, guardan relación
con el análisis cluster:
◦ Consiste en buscar factores en el espacio de los individuos, correspondiendo cada factor a un
grupo.
◦ La interpretación de los grupos puede ser compleja dado que cada individuo puede
corresponder a varios factores diferentes.
• Se supone que una clasificación correcta debe ser aquella en que la dispersión dentro de cada
grupo formado sea la menor posible:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 209
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Es el criterio de varianza.
◦ Lleva a seleccionar una configuración cuando la suma de las varianzas dentro de cada grupo
sea mínima:
▪ Varianza residual mínima.
• Hay diversos algoritmos de clasificación no jerárquica:
◦ Intentan minimizar progresivamente la varianza.
◦ Difieren en:
▪ La elección de los clusters provisionales que necesita el arranque del proceso.
▪ Método de asignación de individuos a los grupos.
◦ Los más utilizados son:
▪ Algoritmo de la H-medias.
▪ Algoritmo de las K-medias.
• El algoritmo de las H-medias:
◦ Parte de una primera configuración arbitraria de grupos con su correspondiente media.
◦ Se elige un primer individuo de arranque de cada grupo.
◦ Se asigna posteriormente cada caso al grupo cuya media es más cercana.
◦ Se calcula de nuevo las medias o centroides y se las toma en lugar de los primeros individuos
como una mejor aproximación de los mismos.
◦ Se repite el proceso mientras la varianza residual vaya disminuyendo.
◦ La partición de arranque define el n° clusters:
▪ Puede disminuir si ningún caso es asignado a alguno de ellos.
• El algoritmo de las K-medias:
◦ Es el más importante desde los puntos de vista conceptual y práctico.
◦ Parte también de unas medias arbitrarias.
◦ Contrasta el efecto que sobre la varianza residual tiene la asignación de c/u de los casos a c/u
de los grupos.
◦ El valor mínimo de varianza determina una configuración de nuevos grupos con sus
respectivas medias.
◦ Se asignan otra vez todos los casos a estos nuevos centroides.
◦ El proceso que se repite:
▪ Hasta que ninguna transferencia puede ya disminuir la varianza residual, o.
▪ Se alcance otro criterio de parada:
• Un número limitado de pasos de iteración.
• Que la diferencia obtenida entre los centroides de dos pasos consecutivos sea menor
que un valor prefijado.
• El procedimiento configura los grupos maximizando la distancia entre sus centros de gravedad:
◦ Como la varianza total es fija:
▪ Minimizar la residual hace máxima la factorial o intergrupos.
◦ Minimizar la varianza residual es equivalente a conseguir que sea mínima la suma de
distancias al cuadrado desde los casos a la media del cluster al que van a ser asignados.
◦ El método utiliza la distancia euclídea al cuadrado.
• Proporciona una solución final única para el n° de clusters elegido:
◦ Se llegará con menor número de iteraciones cuanto más cerca estén las “medias” de
arranque de las que van a ser finalmente obtenidas.
◦ Se seleccionan estos primeros valores, tantos como grupos se pretenda formar, entre los
puntos más separados de la nube.
• Los clusters no jerárquicos están indicados para:
◦ Grandes tablas de datos.
◦ Detección de casos atípicos:
▪ Si se elige previamente un n° elevado de grupos, superior al deseado, aquellos que
contengan muy pocos individuos servirían para detectar casos extremos que podrían
distorsionar la configuración.
• Un problema importante es la elección de un n° adecuado de clusters.
• Se usan criterios tanto matemáticos como de interpretabilidad.
• Entre los criterios matemáticos se han definido numerosos indicadores de adecuación:
◦ Criterio cúbico de clusters.
◦ Pseudo F.
• El uso inteligente de los criterios matemáticos, combinado con la interpret abilid ad práctica de

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 210
Bases de Datos II – Licenciatura en Sistemas de Información

los grupos:
◦ Constituye el arte de la decisión en la clasificación multivariate de datos.
• Se supone que n es el n° de sujetos a clasificar formando k grupos, respecto a n variables X 1,...,
X n.
• Sean W, B y T las matrices de dispersión dentro grupos, entre grupos y total respectivamente:
◦ T = B + W.
◦ T no depende de la forma en que han sido agrupados los sujetos.
◦ Un criterio razonable de clasificación consiste en:
▪ Construir grupos.
▪ Lograr que B sea máxima o W sea mínima, siguiendo algún criterio apropiado.
• Algunos de estos criterios apropiados son:
A) Minimizar la traza(W)
B) Minimizar determinante(W)
C) Minimizar det(W)/det(T)
D) Maximizar traza(W B)
-1

K Ni

E) Minimizar Σ Σ(X
i=1 h=1
ih – Xi)' Si (Xih – Xi)
-1

• Los criterios a) y b) se justifican porque tratan de minimizar la magnitud de la matriz w.


• El criterio e) es llamado criterio de wilks y es equivalente a b) porque det(t) es constante.
• El caso d) es el llamado criterio de hottelling
• El criterio e) representa la suma de las distancias de mahalanobis de cada sujeto al centroide del
grupo al que es asignado.
• Como el n° de formas de agrupar n sujetos en k grupos
Es del orden de K *K!. Una vez elegido el criterio de optimización:
N

◦ Es necesario seguir algún algoritmo adecuado de clasificación para evitar un n° tan elevado
de agrupamientos.
• El método isodata, introducido por ball y hall (1967), es uno de los más conocidos:
◦ Consiste en partir de k clases (construidas por ejemplo aleatoriamente).
◦ Reasignar un sujeto de una clase i a una clase j si se mejora el criterio elegido de
optimización.

Los Árboles de Decisión como Técnica Predictiva de Clasificación

• Los árboles de decisión, también llamados árboles de clasificación:


◦ Presentan un aspecto similar a los dendogramas del análisis de conglomerados jerárquico.
◦ Se construyen e interpretan de forma completamente distinta.
• Son métodos:
◦ Muy flexibles.
◦ Pueden manejar:
▪ Un gran n° de variables.
▪ Complicadas interacciones entre ellas.
◦ Los resultados resultan fácilmente interpretables para cualquier persona.
• Los arboles de clasificación:
◦ Son particiones secuenciales del conjunto de datos.
◦ Se busca maximizar las diferencias de la variable dependiente o criterio base:
▪ Conllevan la división de las observaciones en grupos que difieren respecto a una variable
de interés.
• Estos metodos desarrollan un proceso de division de forma arborescente:
◦ Se determina la división más discriminante de entre los criterios seleccionados:
▪ Aquella que permite diferenciar mejor a los distintos grupos del criterio base:
• Se obtiene de este modo la primera segmentación.
◦ Se realizan nuevas segmentaciones de c/u de los segmentos resultantes.
◦ Se sigue hasta que el proceso finaliza:
▪ Con alguna norma estadística preestablecida, o.
▪ Interrumpido voluntariamente en cualquier momento.
• Ejemplo

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 211
Bases de Datos II – Licenciatura en Sistemas de Información

• Se supone que se desea conocer qué pasajeros del titanic tuvieron más probabilidades de
sobrevivir a su hundimiento, y qué características estuvieron asociadas a la supervivencia al
naufragio.
• La variable de interés (vd) es el grado de supervivencia.
• Se podría entonces dividir a los pasajeros en grupos de edad, sexo y clase en la que viajaban y
observar la proporción de supervivientes de cada grupo.
• Un procedimiento arborescente selecciona automáticamente los grupos homogéneos con la mayor
diferencia en proporción de supervivientes entre ellos; en este caso, el sexo (hombres y
mujeres).
• El siguiente paso es subdividir cada uno de los grupos en función de otra característica,
resultando que los hombres son divididos en adultos y niños, mientras que las mujeres se dividen
en grupos basados en la clase en la que viajan en el barco.
• Utilizar diferentes predictores en cada nivel del proceso de división supone una forma sencilla y
elegante de manejar interacciones que a menudo complican en exceso los modelos lineales
tradicionales. Cuando se ha completado el proceso de subdivisión el resultado es un conjunto de
reglas que pueden visualizarse fácilmente mediante un árbol.
• Si un pasajero del titanic es hombre y es adulto, entonces tiene una probabilidad de sobrevivir
del 20 por ciento.
• La proporción de supervivencia en c/u de las subdivisiones puede utilizarse con fines predictivos
para vaticinar el grado de supervivencia de los miembros de ese grupo.
• Ejemplo:
◦ Algoritmo divide y vencerás:
▪ 1. Se crea un nodo raíz con s:= todos los ejemplos.
▪ 2. Si todos los elementos de s son de la misma clase, el subárbol se cierra. Solución
encontrada.
▪ 3. Se elige una condición de partición siguiendo un criterio de partición (split criterion).
▪ 4. El problema (y s) queda subdivido en dos subárboles (los que cumplen la condición y
los que no) y se vuelve a 2 para cada uno de los dos subárboles.
• Representación lógica:
◦ (outlook=sunny and humidity=normal) or (outlook=overcast) or (outlook=rain and
wind=weak).
◦ Ej.: La instancia (outlook = sunny, temperature = cool, humidity = high, wind = strong) es
no.
• Caracteristicas de los arboles de decisión
• Las características más importantes son:
◦ La especificación de los criterios para minimizar los costes.
◦ La selección del método de división.
◦ La elección del tramo de árbol adecuado o problema del sobreajuste.
• En cuanto a la especificación de los criterios para minimizar los costes, el objetivo es clasificar o
predecir con el mínimo coste.
• Generalmente los costes hacen referencia a la proporción de casos mal clasificados.
• Pueden influir también en los costes finales de una clasificación:
◦ Las probabilidades a priori.
◦ Los costes de una clasificación errónea.
• Las probabilidades a priori o ponderaciones de clase:
◦ Especifican la probabilidad, sin tener ningún conocimiento previo de los valores de los
predictores, de que un caso caiga en c/u de las clases de la variable dependiente.
◦ Ej.: En un estudio educacional, se observa que en general en secundaria existen muchos
menos abandonos escolares que chicos que siguen estudiando:
▪ La probabilidad a priori de que un estudiante abandone la escuela es menor que la
probabilidad de que permanezca en ella.
• Las probabilidades a priori constituyen elementos centrales de cualquier árbol de decisión.
• Es posible utilizar ponderaciones estimadas según las proporciones de cada clase.
• Otra posibilidad es especificar probabilidades iguales para cada clase, tratando a todas ellas como
si fuesen del mismo tamaño.
• Otro factor que influye en el coste de una clasificación son los costes de una clasificación errónea.
• La mayor parte de los árboles de decisión permiten especificar también costes variables de una
clasificación errónea.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 212
Bases de Datos II – Licenciatura en Sistemas de Información

• Ej. De coste variable:


◦ Que para un banco sea 10 veces más costoso no ser capaz de detectar una transacción
fraudulenta que detener una transacción legal.
◦ Que sea 200 veces más costoso para un hospital no detectar una enfermedad contagiosa en
un paciente que diagnosticar como contagiosa una enfermedad que no lo es.
• Normalmente estos costes se computan cuando el árbol ya ha sido desarrollado completamente:
◦ No tienen impacto sobre su estructura básica.
• Regla general: conviene tener en cuenta que minimizar los costes se corresponde con minimizar
la proporción de casos mal clasificados únicamente cuando:
◦ Las probabilidades a priori se estiman de forma proporcional al tamaño de cada clase.
◦ Los costes de una clasificación errónea son iguales en cada clase.
• La selección del método de división trata de escoger el método con el que seleccionar, en c/u de
los niveles del proceso de división, la mejor división posible del mejor predictor.
• Los enfoques predominantes son:
◦ Métodos exhaustivos.
◦ Métodos de tipo discriminante.
• Métodos exhaustivos el más conocido y conceptualmente más simple consiste en:
◦ Examinar todas las posibles divisiones de los datos según cada predictor.
◦ Seleccionar la división que produce clasificaciones más puras (observando la mejoría en la
bondad de ajuste).
• La bondad de ajuste se determina mediante:
◦ Una serie de medidas:
▪ Gini, entropía, chi-cuadrado, twoing, symgini, twoing ordenado, desviación de mínimos
cuadrados, combinaciones lineales.
◦ Cada medida utilizan estrategias muy diferentes y desarrolla árboles de clasificación
• No existe una medida umversalmente preferible para cualquier problema:
◦ Resulta conveniente disponer de una amplia gama de coeficientes para poder seleccionar el
que mejor se adapta a cada problema concreto.
• Principales problemas de los métodos exhaustivos son:
◦ Su complejidad computacional (cuando hay un gran n° de predictores con muchos niveles
c/u, el n° total de divisiones posibles que deben ser examinadas por el programa llega a ser
enorme).
◦ El sesgo para seleccionar variables, ya que estos métodos tienden a seleccionar primero los
predictores con más categorías.
◦ Los métodos de tipo discriminante logran resolver ambos problemas.
• Métodos de tipo discriminante: este tipo de métodos siguen un proceso diferente,
computacionalmente más sencillo
• En cada nodo:
◦ Calculan primero:
▪ Un test chi-cuadrado: para cada predictor categórico.
▪ Un ANOVA: para cada predictor métrico.
◦ Seleccionan de entre todas las variables significativas, la que proporciona probabilidades
asociadas menores.
◦ Se aplica un análisis discriminante sobre el predictor con el fin de encontrar la mejor división
posible de la variable.
• En cuanto a la elección del tamaño adecuado o problema del sobreajuste, una característica de
los árboles de clasificación es que:
◦ Si no se establece ningún límite en el n° de divisiones a ejecutar, se consigue siempre una
clasificación pura, en la que cada nodo contiene únicamente una sola clase de objetos.
◦ Las clasificaciones puras presentan varios inconvenientes porque suelen ser poco realistas.
◦ Se corre el riesgo de encontrarnos con muy pocos elementos en cada clase.
• Esta falta de generalización, de replicación a otras muestras, se conoce como sobreajuste (o
sobreaprendizaje en el marco de las redes neuronales):
◦ Para solucionarlo se han planteado numerosas estrategias diferentes y en ocasiones
complementarias.
◦ Las principales son:
▪ Las reglas de parada.
▪ La poda.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 213
Bases de Datos II – Licenciatura en Sistemas de Información

• Reglas de parada:
◦ Una primera estrategia consiste en detener la generación de nuevas divisiones cuando estas
supongan una mejora muy pequeña de la predicción.
• Ejemplo:
◦ Si con diez divisiones se clasifican correctamente al 90 por ciento de los sujetos y con 11
divisiones el porcentaje sube al 90,1 por ciento, no tiene mucho sentido añadir más al árbol.
• Hay muchas reglas de parada directa para detener la construcción del árbol.
• Las principales son las siguientes:
◦ Extensión máxima del árbol, es decir, n° de niveles máximos permitidos por debajo del nodo
raíz.
◦ Mínimo n° de casos en un nodo, especifica que los nodos no sobrepasen un número
determinado de casos.
◦ Mínima fracción de objetos, que consiste en que los nodos no contengan más casos que una
fracción determinada del tamaño de una o más clases.
• La regla de parada la establece a priori el propio investigador, en función de investigaciones
pasadas, análisis previos, o incluso en función de su propia experiencia e intuición.
• Para determinar si el tamaño de nuestro árbol es el adecuado se debe evaluar, una vez detenido
el proceso de división, su calidad predictiva en muestras distintas a las utilizadas para su cálculo.
• Las principales formas de validación cruzada de la calidad predictiva de un árbol son:
◦ Validación cruzada en dos mitades:
▪ Consiste en dividir los datos disponibles en dos partes, la muestra de estimación y la
muestra de validación.
▪ Desarrollar un árbol a partir de la muestra de estimación.
▪ Utilizarlo para predecir la clasificación de la muestra de validación.
◦ Validación cruzada en v partes:
▪ De la muestra disponible se extrae aleatoriamente v submuestras.
▪ Se calculan v árboles de clasificación, cada vez dejando fuera una de las v submuestras
para validar el análisis.
▪ Cada submuestra se utiliza v - 1 veces para obtener el árbol y una sola vez para
validarlo:
• Opción sumamente útil con muestras pequeñas.
◦ Validación cruzada global:
▪ Se replica el análisis completo un n° determinado de veces.
▪ Se aparta una fracción de los casos (casos holdout; para validar el árbol seleccionado.
▪ Resulta especialmente útil en combinación con las técnicas automáticas de selección de
arboles:
• Enlaza con la segunda de las estrategias para evitar el sobreajuste: la PODA.
• PODA
• Breiman, friedman, losen y stone (1984) llegaron a la conclusión de que resulta imposible
especificar una regla que sea totalmente fiable.
• Existe siempre el riesgo de no descubrir estructuras relevantes en los datos debido a una
finalización prematura del análisis.
• Sugieren un enfoque alternativo en dos fases:
◦ Primera fase: se desarrolla un enorme árbol que contenga cientos o incluso miles de nodos.
◦ Segunda fase: el árbol es podado, eliminándose las ramas innecesarias hasta dar con el
tamaño adecuado del árbol.
• Para calcular los costes de validación se utiliza una función que penaliza la progresiva complejidad
del árbol a medida que éste va teniendo más ramas.
• Esta función entra en funcionamiento cuando se alcanza un valor crítico que sobrepasa los costes
del proceso de división (cada vez menores).
• En ese momento, los costes dejan de descender y comienzan a ascender ligeramente, y es
alrededor de ese punto de inflexión donde se localiza el tamaño idóneo del árbol.
• Como es común que existan varios árboles con costes vc (validación cruzada) cerca del mínimo,
se puede utilizar la regla 1et:
◦ Seleccionar el árbol de menor complejidad de entre todos los árboles que no superen el
mínimo coste vc más 1 medida de su error típico.
◦ Otros métodos de poda son:
▪ Desvianza-complejidad, error reducido y poda pesimista.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 214
Bases de Datos II – Licenciatura en Sistemas de Información

• Herramientas para el trabajo con árboles de decisión


• Una clasificación de los principales programas de árboles de clasificación podría ser la siguiente:
• Familia cart:
◦ Cart, tree(s), etc.
◦ Su propósito inicial es la predicción estadística.
◦ Realiza únicamente divisiones binarias.
◦ Recurre a la validación cruzada y a la poda para determinar el tamaño correcto del árbol.
◦ La variable dependiente puede ser cuantitativa o nominal.
◦ Las variables predictoras pueden ser nominales u ordinales, aunque las últimas versiones
también admiten variables continuas.
• Familia CLS:
◦ CLS, ID3, C4.5, C5.0, etc.
◦ Su propósito inicial es detectar relaciones estadísticas complejas.
◦ El n° de ramas que puede originar varía entre dos y el n° de categorías del predictor.
◦ Para determinar el tamaño del árbol utiliza tests de significación estadística (con ajustes de
multiplicidad en las últimas versiones).
• Métodos de tipo discriminante:
◦ Fact y quest.
◦ Su propósito inicial es solucionar problemas de los métodos exhaustivos.
◦ En concreto, tratan de eliminar el denominado sesgo de selección de la variable, que
presentan métodos como cart y que consiste en la tendencia a seleccionar en primer lugar las
variables con más categorías.
◦ Fact elimina este sesgo sólo cuando utiliza variables dependientes ordinales.
◦ Quest logra eliminar este sesgo, sea la vd nominal u ordinal.
• Combinaciones lineales:
◦ Oc1, árboles se, etc.
◦ Su propósito inicial es detectar relaciones lineales combinadas con el aprendizaje de
conceptos.
◦ El número de ramas varía entre dos y el número de categorías del predictor.
• Modelos híbridos:
◦ Ind, knowledge seeker, etc.
◦ Su propósito inicial es combinar métodos de otras familias.
◦ Ind combina el cart y c4.5, así como métodos bayesianos y de codificación mínima.
◦ Knowledge seeker combina chaid y el id3 con un novedoso ajuste de multiplicidad.
• Los procedimientos arborescentes más aceptados tanto en los ámbitos teórico como aplicado son:
◦ Árboles chaid (kass).
◦ Árboles cart (breiman).
◦ Árboles quest (loh y shih).
• Arboles chaid
• Chaid o chi-square automatic interaction detector:
◦ Es un método exploratorio de análisis de datos.
◦ Es útil para identificar variables importantes y sus interacciones con fines de segmentación,
análisis descriptivos o como paso previo a otros análisis posteriores.
• La medida dependiente puede ser cualitativa (nominal u ordinal) o cuantitativa:
◦ Para variables cualitativas:
▪ El análisis lleva a cabo una serie de análisis chi cuadrado entre las variables dependientes
y predictoras.
◦ Para variables dependientes cuantitativas:
▪ Se recurre a métodos de análisis de varianza.
▪ Los intervalos (divisiones) se determinan óptimamente para las variables independientes
de forma que maximicen la capacidad para explicar la varianza de la medida dependiente.
• Permite trabajar tanto con variables dependientes categóricas como métricas.
• Las variables categóricas utilizan el estadístico chi-cuadrado y dan lugar a un árbol de
clasificación.
• Las variables métricas utilizan el estadístico f y dan lugar a los árboles de regresión.
• También permite utilizar predictores de tipo métrico, mediante su conversión previa en variables
categóricas.
• Arboles cart

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 215
Bases de Datos II – Licenciatura en Sistemas de Información

• Cart (classification and regression trees) o c&rt:


◦ Constituyen una alternativa al chaid exhaustivo para desarrollar árboles de clasificación.
• Fue desarrollado para intentar superar algunas de las deficiencias y debilidades del chaid original.
• Existía la necesidad de un método que permitiese utilizar criterios y predictores de cualquier nivel
de medida.
• Cart se fortaleció con toda una estructura estadística de validación cruzada y fue adoptado en
entornos médicos y de investigación.
• Resulta apropiado para árboles de clasificación (vd cualitativa) o de regresión (vd cuantitativa).
• Genera árboles binarios.
• Se construye dividiendo la muestra en subconjuntos de datos.
• En cada división se evalúa cada predictor para encontrar el mejor punto de corte (con predictores
cuantitativos) o las mejores agrupaciones de categorías (con predictores categóricos).
• Se comparan también los predictores,
• Seleccionándose el predictor y la división que produce la mayor bondad de ajuste.
• Como regla de división se utilizan medidas de bondad o de impureza de nodos:
◦ Para variables cuantitativas, la reducción del error cuadrático o la desviación media absoluta
de la mediana
◦ Con variables cualitativas, el coeficiente gini, la medida chi-cuadrado de bartlett, la medida g-
cuadrado, el coeficiente twoing
• Árboles Quest
• Quest proviene de quick, unbiased, efficient, statistical tree (loh y shih).
• Se trata de un algoritmo creado específicamente para resolver dos de los principales problemas
de cart y chaid exhaustivo a la hora de dividir un grupo de sujetos en función de una variable
independiente:
◦ La complejidad computacional
◦ Los sesgos en la selección de variables.
• El algoritmo de cálculo resulta mucho más sencillo que los métodos exhaustivos:
◦ En vez de intentar seleccionar a la vez el mejor predictor y su mejor punto de corte, quest
aborda estos dos problemas por separado.
◦ En cada nodo:
▪ Se calcula la asociación entre cada predictor y la vd (variable dependiente) mediante:
• El estadístico f del anova o la f de levene (en el caso de predictores continuos y
ordinales), o.
• Mediante una chi-cuadrado de pearson (en el caso de predictores nominales).
• Una comparación de los principales métodos arborescentes (song y yoon) ha demostrado que
quest es el único método que no muestra sesgos serios a la hora de seleccionar una variable u
otra.
• Chaid presenta un suave sesgo
• Cart está claramente sesgado hacia predictores continuos y/o con muchas categorías.
• En líneas generales, quest parece ser superior a cart y este, a su vez, superior a chaid:
◦ Los resultados dependen en gran medida del tipo de problema concreto que se esté
abordando.

Análisis de conglomerados y árboles de decisión como métodos de segmentación

• El análisis de conglomerados o análisis cluster, constituye uno de los procedimientos estadísticos


más utilizados hoy en día para la segmentación.
• La definición de la técnica se asemeja a los fines genéricos que persigue la segmentación:
◦ Identificar grupos de sujetos lo más heterogéneos posible entre sí y lo más homogéneos
posible dentro de cada grupo.
• Se establecen dichos grupos basándose en la similitud que presentan un conjunto de entidades
(por ejemplo, turistas) respecto a una serie de características que el investigador ha de
especificar previamente (motivaciones, necesidades, beneficios buscados, etc.).
• Es el análisis, y no el analista, el que finalmente extrae los grupos de sujetos y sus características
definitorias:
◦ Número de segmentos, número de integrantes de cada segmento, etc.
• El análisis de conglomerados constituye el ejemplo paradigmático del enfoque de segmentación
post hoc.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 216
Bases de Datos II – Licenciatura en Sistemas de Información

• Se trata de un método descriptivo de segmentación.


• Por otra lado, los árboles de decisión constituyen métodos predictivos de segmentación y son la
herramienta más utilizada hoy en día para segmentar.

Otros Métodos Descriptivos

• Métodos descriptivos: correlaciones y estudios factoriales.


• Permiten establecer relevancia / irrelevancia de factores y si aquélla es positiva o negativa
respecto a otro factor o variable a estudiar.
• Ejemplo: estudio de visitas: 11 pacientes, 7 factores:
◦ Health: salud del paciente (referida a la capacidad de ir a la consulta). (1-10).
◦ Need: convicción del paciente que la visita es importante. (1-10).
◦ Transportation: disponibilidad de transporte del paciente al centro. (1-10).
◦ Child care: disponibilidad de dejar los niños a cuidado. (1-10).
◦ Sick time: si el paciente está trabajando, puede darse de baja. (1-10).
◦ Satisfaction: satisfacción del cliente con su médico. (1-10).
◦ Ease: facilidad del centro para concertar cita y eficiencia de la misma. (1-10).
◦ No-show: indica si el paciente no se ha pasado por el médico durante el último año (0-se ha
pasado, 1 no se ha pasado).
• Matriz de correlaciones:
Health Need Transportation Child Care Sick Time Satisfaction Ease No-Show

Health 1
NeedNeed -0.7378 1

Transportation 0.3116 -0.1041 1

Child Care 0.3116 0.1041 1 1

Sick Time 0.2771 0.0602 0.6228 0.6228 1

Satisfaction 0.22008 -0.1337 0.6538 0.6538 0.6257 1

Ease 0.3887 -0.0334 0.6504 0.6504 0.6588 0.8964 1

No-Show 0.3955 -0.5416 -0.5031 -0.5031 -0.7249 -0.3988 -0.3278 1

• Coeficientes de regresion:
◦ Indica que un incremento de 1 en el factor Health aumenta la probabilidad de que no
aparezca el paciente en un 64.34%.
◦ Independent variable coefficient
◦ Health .6434
◦ Need .0445
◦ Transportation -.2391
◦ Child care -.0599
◦ Sick time -.7584
◦ Satisfaction .3537
◦ Ease -.0786
• Métodos descriptivos: Reglas de Asociación y Dependencia:
◦ La terminología no es muy coherente en este campo.
◦ Fayyad, p.ej. Suele llamar asociaciones a todo y regla de asociación a las dependencias.
◦ Asociaciones:
▪ Se buscan asociaciones de la siguiente forma:
• (X1 = a)  (X4 = b).
▪ De los n casos de la tabla, que las dos comparaciones sean verdaderas o falsas será
cierto en RC casos.
▪ El parámetro TC (confidence) es:
• TC = Certeza de la regla = RC/n.
▪ Si consideramos valores nulos, tenemos también un número de casos en los que se aplica
satisfactoriamente (diferente de TC) y denominado TS.
• Dependencias de valor:
◦ Se buscan dependencias de la siguiente forma (if ante then cons):

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 217
Bases de Datos II – Licenciatura en Sistemas de Información

▪ P.ej.: IF (X1= a, X3=c, X5=d) THEN (X4=b, X2=a).


◦ De los n casos de la tabla, el antecendente se puede hacer cierto en ra casos y de estos en rc
casos se hace también el consecuente, tenemos los parámetros:
▪ TC (confidence/accuracy) y TS (support).
▪ TC = certeza de la regla =rcra ,fuerza o confianza p(cons|ante).
▪ TS = mínimo n° de casos o porcentaje en los que se aplica satisfactoriamente (rc o rc
m respectivamente):
▪ También se lo denomina prevalencia. P(cons^ante).
• Ejemplo:
◦ Asociaciones:
▪ Casado e (hijos > 0) están asociados (80%, 4 casos).
▪ Obeso y casado están asociados (80%, 4 casos).
◦ Dependencias:
▪ (hijos > 0) -> casado (100%, 2 casos).
▪ Casado -> obeso (100%, 3 casos).
DNI Renta familiar Ciudad Profesión Edad Hijos Obeso Casado
11251545 5.000.000 barcelona ejecutivo 45 3 S S
30512526 1.000.000 melilla abogado 25 0 S N
22451616 3.000.000 león ejecutivo 35 2 S S
25152516 2.000.000 valencia camarero 30 0 S S
23525251 1.500.000 benidorm animador 30 0 N N
parque temático

◦ Condiciones que se suelen imponer:


▪ TC > 95%.
▪ TS > 20 (absoluto) o 50% (relativo).
▪ La búsqueda de asociaciones con estas condiciones no es un problema inductivo, ya que
se trata de un problema completamente determinado, sin criterios de evaluación y
relativamente simple.
◦ Complejidad de los algoritmos de asociaciones y dependencias:
▪ Temporal:
• Bajo ciertas condiciones de dispersión y para atributos discretos se pueden encontrar
en casi tiempo lineal.
• Metodos descriptivos: algoritmos de busqueda de asociaciones y dependencias:
◦ La mayoría se basa en descomponer el problema en dos fases:
▪ Fase A:
• Búsqueda de “large itemsets”.
• Se buscan conjuntos de atributos con ‘support’ mayor o igual al support deseado,
llamados ‘large itemsets’ (conjuntos de atributos grandes).
• De momento no se busca separarlos en parte izquierda y parte derecha.
▪ Fase B:
• Esclarecimiento de dependencias (reglas).
• Se hacen particiones binarias y disjuntas de los itemsets y se calcula la confianza de
cada uno.
• Se retienen aquellas reglas que tienen confianza mayor o igual a la confianza
deseada.
◦ Propiedad:
▪ Cualquier subconjunto de un conjunto grande es también grande.
• Metodos descriptivos: algoritmos de busqueda de asociaciones:
◦ Fase A:
▪ Método genérico de búsqueda de “large itemsets”.
▪ Dado un support mínimo smin:
• 1. i=1 (tamaño de los conjuntos).
• 2. Generar un conjunto unitario para cada atributo en s j.
▪ 3. Comprobar el support de todos los conjuntos en Si. Eliminar aquellos cuyo support <
smin.
▪ 4. Combinar los conjuntos en Si para crear conjuntos de tamaño i+1 en Si+1.
▪ 5. Si Si no es vacío entonces i:= i+1. Ir a 3.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 218
Bases de Datos II – Licenciatura en Sistemas de Información

▪ 6. Si no, retornar S2  S3  ...  S3


• Hay refinamientos que permiten una mejor paralelización (dividen en subproblemas con
menos tuplas y luego comprueban para todo el problema):
◦ El más famoso es el algoritmo “apriori” (agrawal & srikant).
• Ejemplo:
◦ Fase A:
◦ Support = 2; confidence = 0.75.
◦ Tabla:
Fila 1 2 3 4 5

1 x x x

2 x x x

3 x x x x

4 x x

S1 = {{1}. {2}, {3}, {4}, {5}} S’1:support = {{1}:2, {2}:3, {3}:3, {5}:3}
S2 = {{1,2}, {1,3}, {1,5}, {2,3}, {2,5}, {3,5}} S’2:support = {{1,3}:2, {2,3}:2, {2,5}:3, {3,5}:2}
S3 = {{1,2,3}, {1,2,5}, {1,3,5}, {2,3,5}} S’3:support = {{2,3,5}:2}

Sfinal = S'2  S'3 = {{1,3}, {2,3}, {2,5}, {3,5}, {2,3,5}}


• Fase B:
• Se evalúa la confianza:
{1} → {3}: 1 {3} → {1}: 0.67
{2} → {3}: 0.67 {3} → {2}: 0.67
{2} → {5}: 1 {5} → {2}: 1
{3} → {5}: 0.67 {5} → {3}: 0.67
{2,3} → {5}: 1 {2,5} → {3}: 0.67 {3,5} → {2}: 1

• Metodos descriptivos: patrones secuenciales:


◦ Se trata de establecer asociaciones del estilo:
▪ Si compra x en t comprará y en t+p.
• Ejemplo:
Transaction database

Customer Transaction time Purchased Items


John 6/21/97 5:30 pm beer
John 6/22/97 10:20 pm brandy
Frank 6/20/97 10:15am juice, coke
Frank 6/20/97 11:50 am beer
Frank 6/21/97 9:25 am wine, water, cider
Mitchell 6/21/97 3:20 pm beer, gin, cider
Mary 6/20/97 2:30 pm beer
Mary 6/21/97 6:17 pm wine, cider
Mary 6/22/97 5:05 pm brandy
Robin 6/20/97 11:05 pm brandy

Customer sequence
Customer Customer sequences
John (Beer) (Brandy)
Frank (Juice, Coke) (Beer) (Wine, Water, Cider)
Mitchell (Beer, Gin, Cider)
Mary (Beer) (Wine, Cider) (Brandy)
Robin (Brandy)

Mining results

Sequential patterns with Supporting customers


support >= 40%

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 219
Bases de Datos II – Licenciatura en Sistemas de Información

(Beer) (Brandy) John, Mary


(Beer) (Wine, Cider) Frank, Mary

• Metodos representativos (Agrawal Srikant):


◦ Aprioriall.
◦ Apriorisome.
◦ Dynamicsome.
◦ Problema:
▪ Los usuarios quieren especificar restricciones sobre el tiempo máximo y mínimo entre
eventos secuenciales.
◦ Extensiones:
▪ Minería de patrones secuenciales con restricciones.
▪ P.ej. Sólo permitir las secuencias si los elementos adyacentes (p.ej. Compras) suceden en
un intervalo menor a dos meses.

Tema 14: Minería de datos – Redes Neuronales

Descripción de una red neuronal (red neuronal).

• Definición
• Es un conjunto de elementos de procesamiento de la información altamente interconectados, que
son capaces de aprender con la información que se les alimenta.
• Puede aplicarse a gran número de problemas que pueden ir desde problemas complejos reales a
modelos teóricos sofisticados, como por ej.:
◦ Reconocimiento de imágenes.
◦ Reconocimiento de voz.
◦ Análisis y filtrado de señales.
◦ Clasificación.
◦ Discriminación.
◦ Análisis financiero.
◦ Predicción dinámica, etc.
• Las redes neuronales:
◦ Tratan de emular el sistema nervioso.
◦ Son capaces de reproducir algunas de las tareas que desarrolla el cerebro humano.
◦ Reflejan algunas características fundamentales de comportamiento del cerebro.
• Intentan modelizar:
◦ Una de las estructuras fisiológicas de soporte del cerebro, la neurona.
◦ Los grupos estructurados e interconectados de varias de ellas, conocidos como redes de
neuronas.
• Construyen sistemas que presentan un cierto grado de inteligencia.
• Los sistemas neuronales artificiales tienen limitaciones y sólo poseen un parecido superficial con
sus contrapartidas biológicas.
• Las redes neuronales, en relación con el procesamiento de información, heredan tres
características básicas de las redes de neuronas biológicas:
◦ Paralelismo masivo.
◦ Respuesta no lineal de las neuronas frente a las entradas recibidas.
◦ Procesamiento de información a través de múltiples capas de neuronas.
• Una de sus principales propiedades es su capacidad de lm aprender y generalizar a partir de
ejemplos reales:
◦ La red aprende a reconocer la relación que existe entre:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 220
Bases de Datos II – Licenciatura en Sistemas de Información

▪ El conjunto de entradas proporcionadas como ejemplos, y.


▪ Sus correspondientes salidas.
◦ Finalizado el aprendizaje:
▪ Cuando a la red se le presenta una nueva entrada (aunque esté incompleta o posea algún
error).
▪ Es capaz de generalizarla ofreciendo una salida, en base a la relación funcional
establecida en el aprendizaje.
• Se puede definir una red neuronal artificial como un sistema inteligente capaz:
◦ Aprender.
◦ Generalizar.
• Está formada por unidades de procesamiento que reciben el nombre de neuronas o nodos:
◦ Están organizados en grupos que se llaman “capas”.
• Generalmente existen tres tipos de capas:
◦ Una capa de entrada.
◦ Una o varias capas ocultas.
◦ Una capa de salida.
• Las conexiones se establecen entre los nodos de cada capa adyacentes.
• La capa de entrada está formada por nodos de entrada que reciben la información directamente
del exterior.
• La capa de salida representa la respuesta de la red a una entrada dada siendo esta información
transferida al exterior.
• Las capas ocultas o intermedias:
◦ Se encargan de procesar la información.
◦ Se interponen entre las capas de entrada y salida.
◦ Son las únicas que no tienen conexión con el exterior.
• La estructura más habitual es la denominada red alimentada hacia delante o feedforward:
◦ Las conexiones entre neuronas se establecen en un único sentido, por el siguiente orden:
▪ Capa de entrada.
▪ Capa(s) oculta(s).
▪ Capa de salida.
• Existen también redes retro alimentadas o feedback:
◦ Pueden tener conexiones hacia atrás.
◦ De nodos de una capa a elementos de proceso de capas anteriores.
• También hay redes recurrentes:
◦ Pueden poseer conexiones, tanto entre neuronas de una misma capa, como de un nodo a sí
mismo.

• Perceptron learning:
◦ Computan una función lineal.
◦ Para cada yj es:
n

◦ y'j = Σw
i=1
i,j .xi

• Multilayer perceptron:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 221
Bases de Datos II – Licenciatura en Sistemas de Información

• Funcion de salida y funciones de transferencia o activación


• La red neuronal totalmente interconectada es aquella en la que los nodos de cada capa están
conectados con todos los nodos de la capa siguiente.
• La capa de entrada debe distribuir la información
• Que se le presenta a la red neuronal para el procesamiento en la capa siguiente.
• Los nodos de las capas ocultas y de la capa de salida procesan las señales aplicando factores de
procesamiento, llamados pesos.
• Cada capa tiene un nodo adicional llamado sesgo (BIAS):
◦ Añaden un término adicional a la salida de todos los nodos de la capa.
• Función de salida y funciones de transferencia o activación
• Todas las entradas en un nodo son ponderadas, h combinadas y procesadas a través de una
función, llamada función de transferencia o función de activación:
◦ Controla el flujo de salida de ese nodo para conectar con todos los nodos de la capa
siguiente.
◦ Sirve para normalizar la salida.
• Las neuronas artificiales operan a modo de microprocesadores simples, cuya función consiste en
dar respuesta a un determinado patrón de entrada.
• Cada elemento de proceso:
◦ Recibe entradas procedentes de otros nodos vecinos, o del exterior, en el caso de la capa de
entrada.
◦ Transforma, mediante sencillos cálculos internos, las entradas en un sólo valor de salida que
envía:
▪ Al resto de nodos.
▪ Al exterior, si la neurona en cuestión pertenece a la capa de salida.
• Las conexiones entre elementos de proceso llevan asociadas un peso o fuerza de conexión w:
◦ Determina cuantitativamente el efecto que producen unos elementos sobre otros.
◦ En los pesos se almacena la información de la red.
• El que una entrada tenga un efecto excitatorio o inhibitorio:
◦ Depende de que el signo del peso correspondiente sea, respectivamente, positivo o negativo.
• La efectividad de las entradas está determinada por la fuerza de la conexión:
◦ Representada por el valor absoluto de los pesos.
• Función de salida y funciones de transferencia o activación
• C/u de los elementos w, de la matriz de pesos w, onocida como patron de conexiones:
◦ Representa la intensidad y sentido de la relación del elemento de proceso j, con respecto al
elemento de proceso i.
• En una red neuronal artificial alimentada hacia delante:
◦ Con:
▪ r Entradas.
▪ 1 Capa oculta con q elementos de proceso,
▪ 1 Unidad de salida.
◦ La transformación de las entradas puede resumirse en la función de salida de la red:
q

▪ f(x, W) = F(ß0 + Σß J G(x'γj))

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 222
Bases de Datos II – Licenciatura en Sistemas de Información

j=1

▪ Donde:
▪ f(x, W) es la salida de la red.
▪ El vector x = (1, x1, x2, …, xr) ' representa las entradas de la red.
γj = (γj0, γj1, …, γji, …, γjr)'   son los pesos de las neuronas de la capa de entrada a
r+1

las de la intermedia u oculta.
▪ ßj , j = 0,..., q, representa la fuerza de conexión de las unidades ocultas a las de salida:
• q es el número de unidades intermedias, es decir, el número de nodos de la capa
oculta.
▪ F:  →  la función de activación de la unidad de salida.
▪ G:  →  es la función de activación de las neuronas intermedias.
▪ W es un vector que incluye todos los pesos de la red:
• γj
• ßj
• Función f(x, W).

• Se emplean como funciones de activación funciones de umbral:
◦ El efecto es que las unidades se activan bruscamente, esto es, o no se activan, o se activan
de golpe.
◦ Son adecuadas para tareas de clasificación y reconocimiento.
• Se usan también funciones de activación que permiten que las neuronas se activen gradualmente
a medida que el nivel de actividad de sus entradas aumenta:
◦ Una función es la sigmoidal o logística:
▪ g(a) = 1/(1 +exp(-a)):
▪ Produce una respuesta sigmoidal alisada.
• Si en la expresion de f(x, W) se considera que a=x'yj, se tiene que g(x'yj) se corresponde con el
modelo Logit Binario.
• En general, las funciones f y g pueden adoptar cualquier forma en la expresión de f(x, W).
• Funcion de salida y funciones de transferencia o activación
• Es habitual considerar:
• Que la función de activación de las neuronas de salida y de las intermedias es idéntica:
◦ F(a) = G(a)
◦ Que se corresponde con la función sigmoidal.
• Que F(a) = a (función identidad) y que g(a) es la función logística o sigmoidal:
◦ Sólo existe función de activación (la sigmoidal) en las unidades ocultas.
◦ Esta última hipótesis simplifica la notación y es la más usada.
• Generalmente se emplea la función sigmoidal:
◦ Sus propiedades permiten emplear algoritmos de aprendizaje como el de retropropagación de
errores.
• También es posible demostrar que una rna con una capa oculta y función de activación sigmoidal
es capaz de aproximar cualquier función medible.
• Suponiendo que sólo existe función de activación en las neuronas intermedias y que ésta se
corresponde con la sigmoidal:
q

▪ f(x, W) = F(ß0 + Σß
j=1
J G(x'γj))

• Otra posibilidad muy usada en aplicaciones econométricas es considerar una red neuronal:
◦ Alimentada hacia delante.
◦ Con r entradas.
◦ Con 1 capa oculta con q elementos de proceso.
◦ Con 1 unidad de salida.
◦ Con conexiones directas entre la capa de entrada y la de salida.
◦ La salida de la red se obtiene mediante la siguiente expresión:
q

▪ f(x, W) = x'α + ß0 + Σß
j=1
J G(x'γj))

▪ α es un vector de dimensión r x 1 que representa los pesos de las conexiones directas

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 223
Bases de Datos II – Licenciatura en Sistemas de Información

entre las capas de entrada y salida.


▪ W atiene todos los pesos de la red:
• α
• γj
• ßj

Redes Neuronales y Ajuste de Modelos de Regresión

• La función de salida f(x, W) se puede descomponer en:


◦ Los dos primeros términos:
▪ Representan un modelo lineal:
• Si se toman como entradas r retardos (valores) de la variable x se tiene una
regresión lineal sobre las variables de entrada retardadas.
• Actúan como variables explicativas.
• Se tiene una constante β0:
▪ Captan las dependencias lineales entre los patrones de entrada y las salidas de la red.
◦ El tercer término:
▪ Recoge, si existen, las dependencias no lineales entre las variables de entrada y la salida
de la red:
• La función empleada es no lineal.

Aprendizaje en las Redes Neuronal

• Después de diseñar una red neuronal se pretende que para ciertas entradas, o patrones ejemplo
suministrados a la red:
◦ La red neuronal genere una salida deseada.
• Para ello se requiere:
◦ Que la topología de la red (entendida como la estructura de la red) sea adecuada.
◦ Que aprenda a proporcionar soluciones correctas:
▪ Es necesario un proceso de aprendizaje o entrenamiento.
• El aprendizaje puede entenderse como:
◦ Un procedimiento de prueba y error.
◦ Permite la estimación estadística de los parámetros del modelo de red neuronal empleado.
• Hay tres tipos basicos de aprendizaje.
• Cuando el entrenador proporciona a la red la salida deseada, se dice que el aprendizaje es
supervisado.
• En caso contrario nos encontramos ante un aprendizaje no supervisado.
• Un tipo intermedio de aprendizaje es el reforzado o híbrido:
◦ El entrenador sólo proporciona a la red una indicación de si la respuesta a una entrada dada
es buena o mala.
• Las redes neuronales con aprendizaje no supervisado son aquellas que entrenan sin necesidad de
un supervisor o entrenador externo que proporcione a la red la salida deseada:
◦ Son capaces de organizar sus parámetros internamente adaptándose al entorno del mejor
modo posible.
• La red neuronal:
◦ Una vez se le presentan las entradas:
▪ Es capaz de determinar por sí sola:
• Las características, correlaciones, regularidades o categorías de las entradas.
• Proporcionar una salida codificada:
◦ Estas redes poseen propiedades de autoorganización.
• Este tipo de aprendizaje sólo se utiliza cuando existe algún grado de redundancia en los patrones
de entrada que se le presentan a la red:
◦ En caso contrario, la red es incapaz de detectar las pautas de comportamiento y
características de los datos que se le ofrecen.
• La estructura de la red debe ser la adecuada para el tipo de datos de entrada que se le
presentan.
• Los sistemas neuronales con aprendizaje no supervisado se caracterizan por poseer arquitecturas
simples.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 224
Bases de Datos II – Licenciatura en Sistemas de Información

• La mayoría de las red neuronal son alimentadas hacia adelante, o feed-forward con una sola capa
oculta.
• Los modelos más característicos que entrenan mediante aprendizaje no supervisado son las redes
de kohonen y de grossberg.
• Suelen utilizarse para la clasificación.
• Las redes de kohonen suelen utilizarse:
◦ Cuando uno de los objetivos del análisis sea la visualización sencilla e intuitiva de los
conglomerados.
◦ Cuando se desconoce su forma.
◦ Cuando existan casos atípicos o errores en los datos.
• Las red neuronal con aprendizaje supervisado:
◦ Se asocian al perceptrón multicapa (multilayer perceptron: mlp) y la función de base radial
RBF.
◦ Presentan un patrón de salida o variable dependiente que les permite contrastar y corregir los
datos.
• Las redes neuronales con patrón de salida se utilizan para la clasificación y para la predicción:
◦ Se pueden segmentar mercados, posicionar productos, realizar previsiones de demanda,
evaluaciones de expedientes de crédito o de análisis del valor de acciones en bolsa y muchas
aplicaciones más.
• El modelo de red neuronal perceptron multicapa:
◦ Se fundamenta en el aprendizaje por retropropagación del error: back-propagation.
◦ Utiliza habitualmente el:
▪ Algoritmo por retropropagación.
▪ Algoritmo del gradiente descendente: Conjugate gradient descent.
▪ Algoritmo de Levenberg-Marquardt.
• En el perceptron multicapa todas las capas tienen la misma estructura (lineal).
• En la función de base radial (fbr) la capa intermedia tiene precisamente una estructura radial.
• La función de base radial:
◦ Es una función supervisada con patrón de salidaque realiza clasificaciones (y o previsiones) a
partir de elipses e hiperelipses que parten el espacio de entrada de datos.
◦ Presenta ciertas ventajas con respecto a las red neuronal multicapas:
▪ Se puede modelizar usando nada más que una capa intermedia en vez de varias.
▪ Su algoritmo es más rápido.
▪ No se queda nunca en una solución local.
• En ocasiones, aunque sea posible aplicar el aprendizaje supervisado, los métodos de aprendizaje
no supervisado pueden resultar de gran utilidad, e incluso ofrecer mejores resultados.
• Ej.: El algoritmo de retropropagación de errores (back-propagation) en redes multicapa es muy
lento:
◦ El valor que adopta cada peso depende de los valores que toma en las demás capas.
◦ Para evitar este problema podría emplearse:
▪ Un método de aprendizaje no supervisado.
▪ Un sistema híbrido, que permita a algunas capas autoorganizarse antes de que sus
salidas pasen a la red supervisada.
• Puede ser aconsejable efectuar entrenamiento no supervisado a redes previamente entrenadas
mediante mecanismos de aprendizaje supervisado:
◦ Para que la red se adapte paulatinamente a los posibles cambios del entorno.
• El aprendizaje reforzado o hibrido es intermedio
• Entre el supervisado y el no supervisado.
• Existe un profesor o supervisor externo.
• El “entrenador” no proporciona a la red las salidas deseadas:
◦ Su comportamiento se evalúa de manera global.
◦ Sólo es posible decidir e indicar a la red si su respuesta es buena o mala y en qué grado se
comporta bien.
• El fundamento del aprendizaje reforzado es que se deben reforzar aquellas acciones que generan
una mejora en el comportamiento y respuesta de la red neuronal.
• Como no se proporcionan salidas deseadas al sistema, es imposible computar la fracción de error
que
• Comete c/u de las unidades de salida:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 225
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Sólo se dispone de un indicador del éxito o fracaso de la red.


◦ Esto exige:
▪ Algoritmos de aprendizaje mucho más complejos que en el supervisado.
▪ Mayores tamaños de la muestra.
• El aprendizaje consiste en resolver un problema de mínimos cuadrados no lineales.
• Hay que emplear métodos numéricos de optimización como el de retropropagación de errores
(backpropagation):
◦ Se fundamenta en el algoritmo de aproximación estadística de robbins y monro aplicado a
mínimos cuadrados no lineales.
• Finalizado el aprendizaje se debe proceder a testear la red.
• Consiste en introducir nuevos patrones de entrada y comprobar la eficacia del sistema generado.
• Si no resulta aceptable:
◦ Se repite la fase de entrenamiento utilizando nuevos patrones-ejemplo.
◦ Incluso puede ser necesario modificar la estructura de la red.

Funcionamiento de una Red Neuronal

• Para la creacion y aplicacion de una red neuronal a un problema concreto se deben distinguir los
siguientes pasos:
• Conceptualización del modelo para el estudio del problema concreto:
◦ En este modelo se debe señalar las entradas, las salidas y la información de que se dispone.
• Adecuación de la información de que se dispone a la estructura de la red a crear:
◦ Se constituirán:
▪ Los patrones de aprendizaje:
• Parte de la información que va a ser utilizada para el entrenamiento o aprendizaje de
la red.
▪ Los patrones de validación:
• Parte de la información que va a ser utilizada como validación de la red.
• Fase de aprendizaje:
◦ Se le va presentando a la red los patrones adecuados.
◦ La red va proporcionando una salida.
◦ Este proceso se repite un cierto n° de etapas.
◦ Estas salidas se comparan con las salidas esperadas.
◦ Los algoritmos de aprendizaje intentan minimizar el error que hay entre la salida
proporcionada por la red y la salida esperada.
• Fase de validación:
◦ Se presentan a la red entrenada el conjunto de patrones de validación.
◦ Se ve el error cometido por la red en este conjunto.
◦ Este error es una medida de la bondad de la red.
• Fase de generalización:
◦ Si se ha conseguido una red adecuada se procede a utilizar la red como modelo predictor.
◦ Aportándole una nueva entrada, la red la procesará y dará una salida.
• Ejemplo:
• Se considera que una entidad bancaria quiere construir un modelo para la concesión de créditos
personales para la compra de un automóvil.
• El conjunto de información está constituido por un fichero de 5.000 clientes anteriores en el que
consta para el cliente las siguientes variables: sexo, estado civil, salario, bienes, cuenta corriente
etc., Y si ha hecho frente a los pagos regularmente o no.
• El modelo tendría:
◦ Una capa de entrada con tantos nodos como variables aparecen en el fichero.
◦ Una o varias capas intermedias.
◦ Una capa de salida con un nodo:
▪ Aparece una salida cero o uno según haya hecho frente a los pagos regularmente o no.
• Se divide el fichero en una parte que será el conjunto de aprendizaje y la otra el conjunto de
validación.
• A la red se le da como entrada un conjunto de aprendizaje, la red se entrenará.
• Se valida el modelo con el conjunto de validación.
• Cuando llegue el nuevo cliente:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 226
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Se presenta su información a la red neuronal.


◦ Si la red neuronal está bien entrenada clasificará al cliente:
▪ En la clase de los que paga en tiempo y forma, o.
▪ En la clase complementaria.

El Algoritmo de Aprendizaje de Retro-Propagación-Back-Propagation

• El proceso de aprendizaje o entrenamiento de la red consiste en:


◦ Presentar a la red el conjunto de patrones un determinado n° de etapas prefijadas de
antemano.
◦ Minimizar el error de aprendizaje, que es la diferencia cuadrática entre la salida esperada y la
salida que aporta la red.
◦ En la primera etapa:
▪ La red tienen unos pesos de interconexión elegidos de forma aleatoria.
▪ A la red se le presenta un vector de entrada en la primera etapa, constituido por el primer
patrón.
▪ Estos datos se van propagando a través de todas las capas hasta proporcionar una salida.
▪ La señal de salida se compara con la salida deseada en todos los nodos de la capa de
salida.
• Este proceso se realiza para todos los patrones del conjunto de aprendizaje.
• La suma de los errores cuadráticos de todos los patrones será el error cometido por la red en esa
primera etapa.
• El objetivo es ir actualizando para la segunda etapa los pesos de interconexión para disminuir el
error total.
• La idea del algoritmo back-propagation consiste en actualizar los pesos de interconexión de forma
que la señal de error se transmita hacia atrás partiendo de la capa de salida:
◦ Las unidades intermedias sólo reciben una fracción de error proporcional a la contribución
relativa que haya aportado a la salida.
◦ Este proceso se repite capa por capa hasta que todos los nodos hayan recibido una señal de
error que describa su contribución al mismo.
◦ Una actualizados los pesos, se repite el proceso de presentar de nuevo los patrones de
aprendizaje y el cálculo de error.
◦ El proceso termina:
▪ Porque el error total es menor que uno prefijado.
▪ Porque hemos concluido con el n° de etapas prefijado.
• La importancia de este proceso radica en que:
◦ A medida que se entrena la red, los nodos de las capas ocultas aprendan a reconocer
distintas características del problema.
• Para realizar la descripción matemática del algoritmo en una red con tres capas se usará la
notación de pascual y parras:
◦ oi = salida del nodo i de la primera capa.
◦ wij = peso de conexión entre el nodo i de la primera capa y el nodo j de la capa oculta.
◦ netj = entrada neta del nodo j de la capa oculta:
n

▪ netj = Σwo
i=1
ij i

◦ oj = salida del nodo j de la capa oculta:


▪ oj = 1
1 + exp(-netj)
◦ wjk = peso de la conexion entre el nodo j de la capa oculta y el nodo k de la capa final.
◦ netk = entrada neta del nodo k de la capa oculta:
n

▪ netk = Σw
j=1
jk oj

◦ ok = salida del nodo k de la capa oculta:


▪ ok = 1
1 + exp(-netk)

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 227
Bases de Datos II – Licenciatura en Sistemas de Información

◦ tk = salida esperada en el nodo k de la capa final.


• Para un patrón determinado p:
◦ La salida vendrá dada por opk.
◦ La salida esperada por tpk.
◦ El error de toda la red vendrá dado por:
1 n n
▪ E=2 Σ Σ (t
p=1 k=1
pk - opk)

• El objetivo de la back-propagation es el determinar el conjunto de pesos (w ij, wjk), que hagan


mínimo el error cuadrático de la red.
• El algoritmo comienza por un conjunto de pesos arbitrarios y se va actualizando en cada etapa de
acuerdo con la siguiente regla:
◦ En primer lugar los pesos de la capa final, wjk mediante la técnica del gradiente descendente:
▪ δE = δE . δok . δnetk = -(tk - ok)ok(1 - ok)oj
δwij δok δnetk δwjk
◦ De forma que wjk se actualiza con una tasa de aprendizaje negativa (-q), con lo cual el wjk
actualizado es:
▪ w*¡j = wjk + (-ƞ) [-(tk - ok)ok(1 - ok)oj]
◦ La actualizacion de los pesos correspondientes a la capa oculta es:
n n

▪ δE = Σ δE . δok . δnetk . δoj . δnetj = Σ -(tk - ok)ok(1 - ok)wijoj(1 - oj)oi


δwij δok δnetk δoj δnetj δwij
k=1 k=1

Análisis discriminante a través del perceptrón

• El propósito del perceptron es clasificar un conjunto de señales de entrada (estímulos o patrones


de entrada), en una de dos clases, C1 o C2.
• La regla de decisión para la clasificación consiste en asignar las entradas x 1, x2,..., xn
correspondientes a un patrón dado:
◦ A la clase C1 si la salida del perceptrón es +1.
◦ A la clase C2 si la salida del perceptrón es -1.
• La función que expresa la salida, y, del perceptrón como una función de las entradas, x 1, x2,..., xn
es:
◦ y = φ2(u-θ)
n

◦ u= Σ wx
i=1
j j es el potencial sináptico.

◦ θ  es el umbral.
1 si u ≥ θ
◦ y = -1 si u < θ
• La primera cuestion es como determinar los pesos sinápticos de manera que el perceptrón
consiga una clasificación correcta de cada uno de los patrones de entrada.
Se supone que se tiene p patrones de entrada, representados por (x 1 , x2 ,..., xn ) , r = 1, 2,...,p.
r r r

• Se conoce la clase a la que pertenece c/u de ellos (los vectores o patrones de entrenamiento.
Ej.: (x1 , x2 ,..., xn ) puede representar un conjunto de n síntomas del paciente r que puede (y= 1),
r r r

o no (y=-1), presentar una cierta enfermedad.
• Es posible modificar los pesos sinápticos a través de un procedimiento iterativo, el proceso de
aprendizaje de la red:
◦ Después de un n° finito de iteraciones debe clasificar correctamente los p patrones de
entrada, siempre que sea posible:
▪ Las clases C1 y C2 deben ser separables linealmente.
▪ Dos clases se dice que son linealmente separables si existe un conjunto de pesos, w 1, w2 ,
…, wn tal que:
n

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 228
Bases de Datos II – Licenciatura en Sistemas de Información

• Σ wx
i=1
j j ≥ θ;(x1, x2,..., xn)  C1

• Σ wx
i=1
j j < θ;(x1, x2,..., xn)  C2

• El proceso de aprendizaje consiste en observar los valores de salida para c/u de los patrones de
entrenamiento y comprobar si es correcta la clasificación realizada por el perceptrón.
• En caso de clasificación incorrecta se modifican los pesos.
• Se repite el proceso, patron a patron, hasta conseguir:
◦ Clasificar correctamente a todos los patrones de entrenamiento, o.
◦ Que el n° de clasificaciones incorrectas se considere adecuado. Concretamente:
Si en la iteración k se ha introducido el patrón (x1 , x2 ,..., xn ) que pertenece, por ej., A la
r r r

clase C1 y que ahora se representa por (x1(k), x2(k),..., xn(k)), entonces:
• Si y = +1 la clasificación es correcta y no se modifican los pesos, es decir, w j(k+1) =
wj(k), j = 1,2,..., n.
• Si y = -1 la clasificación es incorrecta y wj(k+1) = wj(k) + η(k)xj(k), j = 1,2,..., n.
donde el parámetro η(k) es la tasa de aprendizaje que controla el ajuste aplicado a
los pesos sinápticos en la iteración k y η(k)  [0,1].
• Si η(k) = η donde η es una constante, independiente del n° de la iteración, se tiene la
regla de adaptación de incremento fijo para el perceptrón.
Si en la iteración k se ha introducido el patrón (x1 , x2 ,..., xn ) que pertenece, por ej., A la
r r r

clase C2, y que ahora es (x1(k), x2(k),..., xn(k)), entonces:
• Si y = -1 la clasificación es correcta y no modificamos los pesos, es decir, w j(k+1) =
wj(k) , j = 1, 2,n.
▪ Si y = +1 la clasificación es incorrecta y wj(k+1) = wj(k) + η(k)xj(k), j = 1,2,..., n.
• Por lo tanto, en la salida de la red hay un controlador o supervisor que:
◦ Compara la salida de la red con el valor deseado.
◦ En caso de que no coincidan (salida incorrecta) modifica los pesos de la red.
◦ Es un aprendizaje supervisado con corrección de error.
• La regla de aprendizaje anterior también se puede expresar de la siguiente forma:
◦ wj(k+1) = wj(k) + η[d(k)-y(k)]xj(k), j = 1,2,..., n.
◦ Donde d(k) es la salida deseada en la etapa k.
• La tasa de aprendizaje habra que elegirla de forma que se acelere la convergencia del
procedimiento:
◦ Una elección adecuada es:
▪ η = 2|w(k)'x(k)|
||x(k)||
2

▪ x(k) = (x1, x2,..., xn)'.


▪ w(k) = (w1, w2,..., wn)'.
◦ Se obtienen así la regla de aprendizaje normalizada del perceptrón:
▪ Asegura en cada iteración que los vectores de pesos sinápticos estén normalizados.
• El teorema de convergencia del perceptrón asegura que después de un n° finito de iteraciones el
perceptrón clasifica correctamente a todos los patrones de entrenamiento, siempre que estos
sean ilinealmente separables.
• Si se considera m neuronas que reciben las mismas señales de entrada:
◦ Se tendrá m salidas.
◦ Se puede aplicar el mismo proceso de aprendizaje a cada neurona.
◦ Ahora se dispone de 2 salidas posibles para cada entrada.
m

Una regla discriminante d es una aplicacion que corresponde a una partición del espacio R
n

neuronal en L regiones disjuntas R1, R2, …, RL y viene definida como:
◦ Asigna x a la población Ci si x  R1.
• El clasificador gaussiano de máxima verosimilitud corresponde a un procedimiento de estimación
paramétrico donde:
◦ Las muestras (conjunto de señales de entrada) de la clase C i, i = 1,2, siguen una distribución
normal multivariante de:
▪ Media = μi = (μi1, μi2,..., μn)'.
▪ Matriz de covarianza Σ.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 229
Bases de Datos II – Licenciatura en Sistemas de Información

▪ Las clases C1 y C2 son equiprobables.


◦ El clasificador se define como:
▪ Si w'x > 0 asigna x a la clase Ci.
▪ Si w'x < 0 asigna x a la clase C2.
w = Σ (μ1, μ2) y θ = (μ1'Σ μ1 _ μ1'Σ μ1)/2
-1 -1 -1

▪ D(x) = w'x - θ es la funcion discriminante lineal de fisher.
• El perceptron y el clasificador gaussiano de maxima verosimilitud son clasificadores lineales.
• El perceptrón opera sobre la premisa de que las dos clases son linealmente separables:
◦ El clasificador gaussiano no tiene esta premisa.
• El perceptrón es un procedimiento no paramétrico :
◦ No hace hipótesis sobre la forma de las distribuciones de cada clase.
• Es un procedimiento más robusto.
• La hipótesis de normalidad del clasificador gaussiano limita su área de aplicación.
• El algoritmo del perceptrón es adaptativo y sencillo de implementar:
◦ Las necesidades de almacenamiento se reducen a los pesos sinápticos y al umbral.
• El diseño del clasificador gaussiano precisa de un notable incremento en el almacenamiento y las
computaciones son más complejas.
• El clasificador gaussiano minimiza la probabilidad media de clasificación incorrecta.

Análisis de series temporales mediante redes neuronales

• Una serie temporal consiste en una secuencia de valores de varias variables que evolucionan (van
cambiando) en el tiempo.
• Se trata de predecir el comportamiento futuro del fenómeno o sistema dinámico que genera esos
valores basándose en una colección de datos históricos.
• Ej.: La predicción del consumo de energía eléctrica o la predicción del n° de vacunas contra la
gripe que se van a demandar en una región determinada.
• La mejor manera de resolver esto es encontrando la ley subyacente que genera dichos procesos:
◦ Se puede obtener mediante métodos analíticos, como puede ser un conjunto de ecuaciones
diferenciales.
• La información que se tendrá del proceso va a ser generalmente parcial o incompleta:
◦ La predicción no dispone de un modelo analítico conocido.
• Se intentara descubrir alguna regularidad empirica fuerte en las observaciones de las series
temporales:
◦ En muchos problemas del mundo real algunas regularidades, como la periodicidad, aparecen
enmascaradas por ruidos.
◦ Algunos procesos dinámicos se describen por series de tiempo caóticas, donde los datos
parecen aleatorios sin periodicidades aparentes.
◦ El caos impide cualquier predicción a largo plazo.
◦ Se consiguen buenos resultados para predicciones a corto plazo utilizando red neuronal que
emplean una función multivariante no lineal:
▪ y(t) = F[y{t-1), y(t-2),..., y(t-k)]
▪ y(í), t = m, m-1, …, k, son las muestras dadas de la serie de tiempo.
▪ F es una función no lineal desconocida.
▪ k<m.
• La mayoría de las técnicas disponibles suponen relaciones lineales:
◦ Entre las variables, o.
◦ Entre las variables desfasadas en el tiempo.
• La formulación de modelos no lineales razonables es una tarea muy difícil.
• Las red neuronal son una buena alternativa para el cálculo de predicciones.
• El problema principal es la dificultad de encontrar la red adecuada para cada caso.
• El perceptrón multicapa es el modelo más utilizado de red neuronal para predicción de valores
futuros.
• La unidad de salida da una combinación lineal de las salidas de todas las unidades ocultas:
h k

◦ y(t) = ω0 + Σ ω Ψ (Σ ω
i=1
j j
i=1
ji y(t-1) + ωj0 )

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 230
Bases de Datos II – Licenciatura en Sistemas de Información

◦ Ψj es la función de activación.
◦ Los pesos sinápticos ωji y ωj se van ajustando durante el proceso de aprendizaje y pueden
ser positivos, negativos o nulos.
• Para diseñar la red neuronal se tiene que ver cuántas neuronas ocultas debemos utilizar:
◦ Generalmente es proporcional al tamaño de la muestra que se utiliza para el entrenamiento
de la red.
• El comportamiento de la red se valora según la función de error:
◦ E(ω) = (y(k) - y(k))
2

◦ P es el n° de muestras utilizadas en el entrenamiento.


• Se ha demostrado que:
◦ Para p muestras de entrenamiento.
◦ Un perceptrón con una sóla capa oculta de p-1 neuronas.
◦ Puede implementar dicho conjunto de entrenamiento.
◦ Son suficientes p-1 neuronas, pero generalmente se necesitarán menos.
• Otro modelo alternativo al perceptrón es la red neuronal que emplea funciones de base radial, es
decir, su salida es de la forma:
h k

◦ y(t) = ω0 + Σ ω ø (Σ ω
i=1
j i
i=1
ji y(t-1) + ωj0 )
◦ X(t)=(y(t-l),...,y(t-k))'
Ci  R (i = 1, 2,..., h) Son los centros de las funciones de base radial.
k

◦ Una función de base radial muy utilizada es la función gaussiana:
ø(r) = exp(-r /σ )
2 2

• Se ha demostrado experimentalmente que las red neuronal con funciones de base radial
aproximan una amplia clase de funciones multidimensionales
• Presentan la ventaja sobre el perceptrón de que sus tiempos de entrenamiento son mucho
menores

Análisis de Componentes Principales con Redes Neuronales

• Se sabe que la obtencion de las componentes principales permitirá:


◦ Una disminución de la dimensionalidad perdiendo poca información.
◦ La detección de los rasgos característico del conjunto de datos.
• Puede ser útil en problemas de clasificación y reconocimiento.
• Se considerará una red neuronal cuya salida viene dada por:
◦ y = ω'x.
◦ x = (x1, x2, …,xn)' el vector de entrada a la unidad de p roceso (neurona).
◦ ω = (ω1, ω2, …,ωn)' el vector de pesos sinapticos.
• La regla de aprendizaje que se sonsiderará fue propuesta por hebb (aprendizaje hebbiano).
• El postulado de hebb establece que las variaciones de los pesos sinápticos (cambios de la eficacia
sináptica)
• Son proporcionales al producto de:
◦ Las señales presinápticas (entrada), x.
◦ La señal postsináptica, y.
• Es decir:
◦ Δω(k + 1) = ωj(k + 1) — ωj(k) = ηxj(k)y(k), j = 1, 2, ..., n
• En forma vectorial:
◦ Δω(k + 1) = ηy(k)x(k), siendo η > k la tasa de aprendizaje.
• Se supone ahora que el vector de entradas x es un vector aleatorio con función de densidad f(x).
• En cada instante de tiempo k, k = 1, 2,... Se le presenta a la red un vector de entrada x.
• Es un valor del vector aleatorio que tienen como función de densidad f(x).
• Se van actualizando los pesos sinápticos según la regla de Hebb.
• Se puede considerar que:
◦ Δω(k + 1) = es un vector aleatorio cuyo valor esperado es:
▪ E[Δω(k + 1)] = E[ηy(k)x(k)] = E[ηx(k)(x(k)'ω(k))] = ηE[(x(k)x(k)')ω(k)]
◦ Si se supone que x y ú) son estadísticamente independientes, la expresión anterior es:
▪ ηE[(x(k)x(k)')E[ω(k)]

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 231
Bases de Datos II – Licenciatura en Sistemas de Información

• Se puede suponer, sin pérdida de generalidad:


◦ Que el vector aleatorio x tienen de media cero en todas sus componentes.
◦ La matriz de covarianza es:
▪ C = e[x(k)x'(k)]
• La red podría alcanzar el equilibrio (estabilizarse) si:
◦ E[Δω(k + 1)] = 0.
◦ Cω = 0.
◦ ω* = 0 es el único estado de equilibrio.
• La matriz C (real y simétrica) es:
◦ Semidefinida positiva.
◦ Sus valores propios, λi, i =1, 2, n, son positivos o nulos.
◦ Tiene vectores propios ortogonales α , i =1, 2, n, que satisfacen:
i

Cai = λiα , i =1, 2, n


i

• Se puede probar que:
◦ La solución ω* = 0 no es estable.
◦ La ecuación anterior del valor esperado es inestable.
◦ Esta regla conduce a un crecimiento ilimitado del vector de pesos sinápticos a).
• Para solucionar este problema hay que incorporar algún tipo de normalización o saturación en la
regla de aprendizaje que actualiza los pesos sinápticos:
◦ Se llega a la siguiente regla de aprendizaje:
▪ ω(k + 1) = ω(k) + ηy(k)x(k)
||ω(k) + ηy(k)x(k)||
• Una alternativa (regla de oja) propuesta consiste en añadir un término que sustrae una cantidad
proporcional a y2:
◦ ω(k + 1) = ω(k) + ηy(k)x(k) — η(y(k) )ω(k)
2

◦ ω(k + 1) = ω(k) + η[x(k) — y(k)ω(k)]y(k)


• La regla de oja:
◦ Converge en media a un estado ω*.
◦ Maximiza el valor medio de y , E(y ) sujeto a la condición ||ω||=1.
2 2

• ω* es el vector propio principal (aquel que corresponde al mayor valor propio) de la matriz de
covarianza.

Clustering Mediante Redes Neuronales

• Las tecnicas de clustering se ocupan de realizar una partición de un conjunto dado de datos en
varios grupos o categorías.
• Tienen aplicaciones en muchos campos como la medicina, la biología, la zoología y, sobre todo,
en las tecnologías de la información.
• La mayoría de las técnicas que se han desarrollado se puede dividir en tres grandes grupos:
◦ Jerárquicas.
◦ De minimización de costes o distorsiones.
◦ De teoría de grafos.
• Cuando se trata de grandes conjuntos de datos, sólo las técnicas de minimización de costes son
las adecuadas, por razones de complejidad computacional.
Se tiene un conjunto de datos {xi  R , i = 1, 2, …, p}
n

• Los datos corresponden a n valores de un vector aleatorio x cuya función de distribución fx, se
desconoce:
◦ Se sabe que es una mixtura de m funciones de distribución.
• El problema consiste en formar m grupos o categorías con los datos según una cierta función de
distancia o medida de distorsión:
◦ En este caso será el error cuadrático (la distancia euclídea al cuadrado).
• Cada grupo estara representado por su centroide, es decir, su vector media.
Se trata de determinar m centroides, ωi  R , i = 1, 2, …, m de manera que la distorsión entre
n

cada dato y su centroide sea mínima, es decir, minimizar:
n n

◦ j(ω1, ω2, …,ωn) = Σ Σ (x


i=1 ω C
j - ωi)
2

i i

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 232
Bases de Datos II – Licenciatura en Sistemas de Información

• La solucion de este problema conduce a una particion del conjunto de datos en m clases,
categorías o regiones, c = 1,
◦ ωi  Ci  ||xj – ωi|| < ||xj – ωk||, k ≠ i
• Para una particion dada, los vectores de representación ú)¿ , i = 1, 2,..., m, también llamados
prototipos o vectores de referencia, que hacen mínima la distorsión son los centroides del grupo:
n

◦ ωi = Σ
ω C
xj
i i
ni
◦ Donde n, es el n° de elementos del grupo Ci .
• El n° de particiones diferentes de un conjunto de n elementos en k grupos es:
1 n k
◦ S(n, k)= K! Σ (-1)
i=1
k-1
i i
N

• Para resolver este problema se han propuesto muchos algoritmos:


◦ Ej.: El algoritmo de las ^-medias de mcqueen (1967).
◦ Estos algoritmos conducen a soluciones parciales, es decir, a mínimos locales, que no tienen
por qué ser mínimos globales (solución óptima).
◦ La dificultad de este problema radica en que la función objetivo tienen muchos mínimos
locales.
• Para resolver estas agrupaciones se pueden utilizar las red neuronal competitivas con aprendizaje
no supervisado:
◦ Permiten formar grupos o categorías con los datos de entrada.
◦ Cada entrada se asignará a la clase que le especifica la unidad de salida activada.
◦ Las neuronas compiten entre ellas para ver cuál es la que se activa:
▪ Sólo una de ellas se activa.
◦ Aquí la red neuronal, por sí sola (sin supervisión):
▪ Realiza la agrupación de los datos en categorías.
▪ Da los prototipos de cada categoría.
• Este paradigma de aprendizaje fue introducido por Rumelhart y Zipser (1985).
• La red neuronal consta de una capa de m neuronas o unidades de proceso que están conectadas
con las señales o patrones de entrada.
• Dichas conexiones tienen asociados unos pesos sinápticos que van a representar a los patrones
prototipo.
• Cada neurona sólo tiene dos posibles valores de salida:
◦ 0 (no activada).
◦ 1 (activada).
◦ Sólo se activa una neurona para cada patrón de entrada, aquella que recibe un mayor
potencial sináptico.
• Si la neurona i:
◦ Recibe la señal de entrada x = (x1,x2, ...,xn)'.
◦ Tiene los pesos sinapticos ωi = (ωi1,ωi2, ...,ωin)'.
◦ Su potencial sináptico viene dado por la expresión:
n 1 n
▪ hi = Σωx
j=1
ij j -2 Σω j=1
2
ij

• Cuando hr= máx [h,, h2,..., hm } la salida de la red es:


◦ (y1,y2, -. yr-1, yr+v, …, ym) = (0,0,, 0,1,0,..., 0)
◦ hi < hj  d(ωi , x) > d(ωj , x)
◦ Siendo d la distancia euclídea.
• La neurona que se activa es aquella cuyo vector de pesos sináptico está más próximo al patrón
de entrada x
◦ Es el más parecido.
• Se utiliza la regla de aprendizaje competitivo.
• Para deducir esta regla:
◦ Se considera un conjunto de p patrones de entrada:

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 233
Bases de Datos II – Licenciatura en Sistemas de Información

▪ xi = (xi1,xi2, ...,xin)' i = 1, 2..., p, conjunto de entrenamiento de la red.


◦ A partir de estos valores se obtendrá el valor de los pesos sinápticos de cada neurona de la
red.
◦ Si para la entrada jc resulta ganadora la neurona es porque su vector de pesos es el más
parecido y así esta entrada se asigna a la clase R.
• Esto significa que el vector de pesos sinápticos ωr es el que representa al patrón de entrada x.
• Para que esta representación sea lo mejor posible:
◦ ωr debe estar lo más próximo posible a todos los patrones del grupo que representa.
◦ Se debe actualizar (modificar) el vector de pesos sinápticos ωr de la neurona ganadora r
acercándolo al patrón de entrada s.
◦ Si en la etapa k+1 se ha introducido el patrón de entrada x y ha resultado ganadora la
neurona r entonces se modifican sus pesos sinápticos según la expresión:
▪ ωr(k+1) = 1 – ηr(k)ωr(k) + ηr(k)x(k) = ωr(k) + ηr(k)[x(k)ωr(k)]
▪ ηr(k) es la tasa de aprendizaje de la neurona r.
• La expresion anterior es una combinacion lineal entre:
◦ El vector de entrada y el vector de pesos sinápticos.
• Conforme menor sea la tasa de aprendizaje:
◦ Menor será la modificación de los pesos sinápticos.
• La tasa de aprendizaje de cada neurona debe de ser una función decreciente con respecto al n°
de la etapa.
• Después de un n° adecuado de etapas la red neuronal se estabiliza y deja de aprender.
• Las neuronas aprenden individualmente a especializarse sobre conjuntos de patrones y son así
detectoras de características.
• Cada vector de pesos sinápticos representa el prototipo de la clase o grupo que define la neurona
correspondiente.
• Ahalt y Otros (1990) han destacado la conveniencia de utilizar el aprendizaje competitivo porque
conduce a soluciones óptimas o cercanas a la óptima.

Tema 15: Minería de Datos – Minería Web

Minería Web – Técnicas Principales

• Caracteristicas especiales de la extraccion de conocimiento de info. No estructurada:


• Objetivos ligeramente especiales:
◦ Búsqueda de información relevante o relacionada.
◦ Creación de nueva información a partir de información existente (resúmenes, listas, ...).
◦ Personalización de la información.
◦ Aprendizaje a partir de los usuarios, visitantes o consumidores.
• Metodos no apropiados:
◦ Sin una profunda transformación de los datos, muchas técnicas de aprendizaje automático
son inútiles para muchas aplicaciones:
▪ Métodos de clasificación (árboles de decisión, fence & fill,...):
• Están basados en una clase dependiente de un número de atributos predeterminados
(exceptuando naive bayes).
▪ Métodos numéricos (regresión, redes neuronales, ...):
• Los datos son simbólicos, no numéricos.
▪ Métodos por casos (knn, cbr,...):
• Tiempos de respuesta serían muy altos.
• Métodos apropiados:
◦ Estructurados:
▪ Métodos bayesianos.
▪ Otros métodos estadísticos.
▪ Métodos relacionales.
◦ Semiestructurados:
▪ Gramaticales (autómatas).
▪ Métodos relacionales con constructores.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 234
Bases de Datos II – Licenciatura en Sistemas de Información

• Conceptos:
◦ Web mining se refiere al proceso global de descubrir información o conocimiento
potencialmente útil y previamente desconocido a partir de datos de la web (etzioni).
◦ Web mining combina objetivos y técnicas de distintas áreas:
▪ Information retrieval (IR).
▪ Natural language processing (NLP).
▪ Data mining (DM).
▪ Databases (DB).
▪ www research.
▪ Agent technology.
◦ ¿Esta la informacion de la web lo suficientemente estructurada para facilitar minería de datos
efectiva? (etzioni).
◦ Web mining se puede estructurar en fases (kosala & blockeel):
▪ Descubrimiento de recursos.
▪ Extracción de información.
▪ Generalización.
▪ Análisis, validación e interpretación de los patrones.
◦ Descubrimiento de recursos:
▪ Localización de documentos relevantes o no usuales en la red.
▪ Ésta es la función de:
• Índices buscadores: extraen contenido en palabras, zona del documento, idioma.
• Índices temáticos: clasifican los documentos.
◦ Extracción de información:
▪ Extraer determinada información a partir de un documento, ya sea html, xml, texto, ps,
pdf, latex, faqs, ....
◦ Generalización:
▪ Descubrir patrones generales a partir de sitios web individuales: clustering, asociaciones
entre documentos.
• Vision clasica como recuperacion de informacion:
◦ Web mining como information retrieval (ir):
▪ Disparado por consulta (query-triggered):
• Es el objetivo de numerosas herramientas: buscadores e índices.
• Las herramientas son clásicas estadísticas y ad-hoc....
• Visión más ambiciosa como extracción de información:
◦ Web mining como information extraction (ie):
▪ Disparado por datos (data-triggered):
• Es una visión más ambiciosa del web mining.
• Las herramientas son más generales y de aprendizaje automático.
◦ Information Retrieval persigue seleccionar documentos relevantes mientras que Information
Extraction persigue extraer hechos relevantes a partir de los documentos. (kosala &
blockeel).
◦ No sólo se requiere información relevante sino información de calidad o autorizada.
◦ Para ello es importantísimo no analizar los documentos de forma inconexa, sino analizar su
red de interconexiones (sus enlaces).
◦ Mucha información está en enlaces entrantes:
▪ Muchas páginas no se autodescriben. P.ej. Una página puede ser clasificada por los
enlaces que le llegan (referentes), que suelen ir acompañados de una pequeña
descripción de la página o junto a otros enlaces similares (clustering).
◦ También (no tanta) información sobre la página se encuentra en enlaces salientes.
• Clasificación del web mining: clasificación no disjunta (kosala & blockeel):
◦ Web content mining.
◦ Web structure mining.
◦ Web usage mining.
◦ Web content mining:
▪ Extraer información del contenido de los documentos en la web.
▪ Se puede clasificar a su vez en:
• Text mining: si los documentos son textuales (planos).
• Hypertext mining: si los documentos contienen enlaces a otros documentos o a sí

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 235
Bases de Datos II – Licenciatura en Sistemas de Información

mismos.
• Markup mining: si los docs. Son semiestructurados (con marcas).
• Multimedia mining: para imágenes, audio, vídeo,...
◦ Web structure mining:
▪ Se intenta descubrir un modelo a partir de la topología de enlaces de la red.
▪ Este modelo puede ser útil para clasificar o agrupar documentos.
• Web usage mining:
◦ Se intenta extraer información (hábitos, preferencias, etc. De los usuarios o contenidos y
relevancia de documentos) a partir de:
▪ Las sesiones.
▪ Comportamientos de los usuarios y navegantes.
• Web content mining:
◦ Las técnicas varían dependiendo del tipo de documento:
▪ Text mining: técnicas de recuperación de información (ir) fundamentalmente. Técnicas
estadísticas y lingüísticas.
▪ Hypertext mining: no sólo se refiere a enlaces entre documentos sino también intro-
documentos (oem). Se ha de construir un grafo de referencias...
▪ Markup mining: la información de las marcas contiene información (html: secciones,
tablas, negritas: relevancia, cursiva, etc., Xml: mucho más...).
▪ Multimedia mining: algunos trabajos sobre bibliotecas de imágenes.
• Web content mining. Text mining:
◦ Cientos o miles de palabras.
◦ Hay aplicaciones diferentes: text categorization, text clustering.
◦ Existen varias aproximaciones a la representación de la información (hearst and hirsh):
▪ “Bag of words”.
▪ n-gramas o frases.
▪ Representación relacional (primer orden).
▪ Categorías de conceptos.
◦ Algunos problemas:
▪ “Vocabulary problem” (furnas).
▪ Sinonimia y quasi-sinonimia (comunicado, declaración).
▪ Polisemia (bomba).
▪ Lemas (descubrir, descubrimiento).
▪ Etcétera.
◦ “Bag of words”:
▪ Cada palabra constituye una posición de un vector.
▪ El valor se corresponde con el n° de veces que ha aparecido.
◦ N-gramas o frases:
▪ Permite tener en cuenta el orden de las palabras.
▪ Trata mejor frases negativas “... Excepto ...” “... Pero no...”, Que tomarían en otro caso
las palabras que le siguen como relevantes.
◦ Representación relacional (primer orden):
▪ Permite detectar patrones más complejos:
• Si la palabra x está a la izquierda de la palabra 7 en la misma frase.
◦ Categorías de conceptos.
• Clasificando texto con NB classifier:
◦ Ejemplo:
▪ Consideremos documentos de texto o de hipertexto t, que se pueden clasificar en varias
clases, p.ej. (interesante, no-interesante) o en diferentes temas.
▪ Definimos un atributo ai como cada posición i de cada palabra en el texto:
◦ Por ejemplo, dado este párrafo, tendríamos 40 atributos, donde el valor ¿7 para
el primer atributo sería “definimos”, el valor para el segundo sería “un”, etc.
◦ Se debe hacer la siguiente suposicion falsa:
▪ La probabilidad de una palabra es independiente de sus precedentes y sus siguientes.
▪ Los p(a¡|vj) son independientes entre sí.
◦ Falso, por ejemplo, con las palabras “por” y “ejemplo”.
◦ Este supuesto no es tan grave en general y permite utilizar el clasificador bayesiano naïve.
|T|

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 236
Bases de Datos II – Licenciatura en Sistemas de Información

vNB = arg max P(vj) .


vj  {si, no}
Π P(a = t | v )
i=1
i i j

• A primera vista, parece que:


◦ P(vj) es fácil de determinar (la proporción de documentos de cada clase).
◦ P(ai = wk | vj), sin embargo, requeriría millones de casos para tener una estimación.
• Otra suposición (más razonable):
◦ Las probabilidades son independientes de la posición
• Quitando las primeras y últimas, la probabilidad que una palabra aparezca en la posición 45 es la
misma que en la 87.
• Esto quiere decir que:
◦ P(ai = wk | vj) = P(am = wk | vj), para todo i, j, k, m.
• Esto supone estimar únicamente las P(wk | vj), es decir, la probabilidad de aparición de cada
palabra según la clase.
• Se adopta un m-estimado:

nk + |voc| + 1
P(wk | vj) = nk + mp = |voc| = nk + 1
n+m n+m n+m

• Donde n es el número total de posiciones de palabras en los ejemplos de entrenamiento


(documentos) donde la clase es vj:
◦ Es la suma de las longitudes (en n° de palabras) de todos los documentos de la clase v r
• Donde nk es el número de veces que se ha encontrado en estos documentos de la clase v r
• |voc| es el número de palabras del lenguaje considerado (inglés, castellano, o lenguajes
informáticos):
◦ voc puede ser un subconjunto (se pueden eliminar palabras muy usuales: preposiciones,
artículos, verbos muy comunes, etc.).
• Clasificando texto por conceptos:
◦ Una manera de evitar el problema del vocabulario es clasificar por conceptos (loh).
◦ Se realiza en dos fases:
▪ Primer paso:
• Asociar las palabras con distintos conceptos.
• Con el objetivo de no utilizar análisis sintáctico del texto (técnicas lingüísticas
costosas), se utiliza razonamiento difuso (fuzzy).
• Las asociaciones del estilo, term concept, son difusas.
• Ejemplo:
◦ {crime, crimes, fraud, fraudulent, illegal, ...}.
◦ Se asocian con el concepto “crimes”.
◦ {election, elections, term, reelection, voter, elected, electorate, ...}.
◦ Se asocian con el concepto “elections”.
▪ Segundo paso:
• Asociar conceptos con conceptos, como p.ej. “crimes” “elections”.
• Web structure mining:
◦ Consiste en estudiar la estructura de enlaces entre e intra documentos
◦ Las técnicas se inspiran en el estudio de redes sociales y análisis de citaciones (chakrabarti):
▪ Una página (persona, artículo) se ve reforzado por la cantidad de referencias (amistades,
citas) que tiene.
◦ Grafo de enlaces:
▪ Cada página es un nodo y cada hipervínculo de página a página, constituye un arco
dirigido.
▪ Los enlaces duplicados se ignoran.
▪ Los enlaces entre páginas del mismo dominio se ignoran (no son autorizativos y suelen
ser de navegación: back, ...).
• Ejemplo:
◦ El sistema clever (chakrabarti).
◦ Analiza los hiperenlaces para descubrir:
▪ Autoridades, que proporcionan la mejor fuente sobre un determinado tema.

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 237
Bases de Datos II – Licenciatura en Sistemas de Información

▪ “hubs”, que proporcionan colecciones de enlaces a autoridades.


• Aproximaciones relacionales:
◦ Al trabajar con un grafo:
▪ No se pueden aplicar técnicas proposicionales.
▪ Las técnicas ad-hoc no pueden combinar web structure mining con web content mining,
porque dicha información es difícil de expresar en el grafo (hacen falta otros grafos o
subgrafos).
◦ Solución:
▪ Problema relacional => técnicas de ilp (instruction-level parallelism).
▪ Se añaden predicados en el background para representar:
• Documentos enlazan con otros documentos.
• Documentos contienen palabras u otros objetos.
• Tipo de documento (.HTML, .DOC, .TXT, ...).
• Xml mining:
◦ Extracción de información a partir de docs. Xml.
◦ Distintos objetivos:
▪ Schema extraction:
• Esquema es algo similar a un dtd (document type definition) o un xml-schema,
aunque representado con otros formalismos (programas lógicos, grafos, ...).
▪ Dataguides:
• Especie de resumen estructurado de datos semiestructurados, a veces aproximado.
▪ Multi-layer-databases (MLDB):
• Hay distintos niveles de granularidad en el esquema extraído. Se pueden construir lo
que se denominan mldbs (nestorov), en la que cada capa se obtiene por
generalizaciones de capas inferiores.
▪ Clasificación.
• Un documento xml (sin oids) es un arbol...
• La cosa se complica si es xml con oids:
◦ La estructura del documento se debe representar como un grafo y no como un árbol.
• Esto también puede ocurrir con documentos html u otros que utilizan el modelo de intercambio
de objetos (oem) (abiteboul).
• Grafo:
◦ Los nodos del grafo son los objetos, que están formados de un identificador (oid) y un valor
que puede ser atómico (entero, cadena, gif, html, ...) O referencia, denotado por un conjunto
de pares (etiquetas, oid).
◦ Las aristas del grafo están etiquetadas.
• Ejemplo:
• Equivalencia documento xml con una estructura relacional. El xml del ejemplo anterior:
<biblioteca oid= “&oid2” escritor= “&oid3 &oid4” libro= “&oid5 &oid6”>
<escritor oid=“&oid3” es_autor_de=“&oid5 &oid6” nombre= “&oid7”> </escritor>
<escritor oid=“&oid4” es_autor_de=“&oidl5” nombre= “&oid8”> </escritor>
<libro oid=“&oid5” escrito_por=“&oid3” titulo= “&oid9”> </libro>
<libro oid=“&oid6” .... >
<nombre oid=“&oid7” > cervantes </nombre>
<nombre oid=“&oid8” > ausias march </nombre>
<titulo oid=“&oid9” > el quijote </titulo>
...
</biblioteca>
Expresado relacionalmente:
Obj value
&oid7 “cervantes”
&oid8 “ausias march”
&oid9 “el quijote”
Source label dest
&oid1 “biblioteca” &oid2
&oid2 “escritor” &oid3
&oid2 “escritor” &oid4
&oid2 “libro” &oid5

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 238
Bases de Datos II – Licenciatura en Sistemas de Información

&oid2 “libro” &oid6


&oid3 “es autor de” &oid5
&oid3 “es autor de” &oid6
&oid3 “nombre” &oid7
&oid4 “es autor de” &oid15
&oid4 “nombre” &oid8
&oid5 “escrito_por” &oid3
&oid5 “titulo” &oid9
• Xml mining y técnicas relacionales:
◦ Aunque ya esté en una forma (tabla) tratable aparentemente por técnicas tradicionales.
◦ Sea con transformación o sin ella, los datos con oids tienen referencias (grafo) y son
relacionales.
◦ Sólo ILP (instruction-level parallelism) o técnicas ad-hoc pueden tratar con estos tipos de
problema relacionales o de grafos.
• Web usage mining (minería de utilización de la web):
◦ Se centra en técnicas que puedan predecir el comportamiento del usuario cuando
interacciona con la web.
◦ También se considera información sobre la topología y relevancia de los enlaces.
◦ Esta información puede residir en:
▪ Clientes web: p.ej. Cookies.
▪ Servidores.
▪ Proxies.
▪ Servidores de banner: doubleclick.com...
◦ Previa a la mineria, esta informacion debe ser preprocesada:
▪ Eliminar reintentos.
▪ Separar distintos usuarios.
▪ Unir diferentes sesiones.
▪ Juntar páginas con marcos.
▪ Filtrar por tiempos.
▪ Cribar páginas irrelevantes.
▪ Etcétera.
◦ El resultado del preprocesado puede ser:
▪ Datos específicos para métodos específicos.
▪ Datos relacionales (una B.D. Corriente).
▪ Datos en xml.
◦ Sea como sea la representación, muchas técnicas proposicionales no son útiles:
▪ Los patrones de navegación suelen ser grafos.
▪ Se requiere de nuevo expresividad relacional.
◦ Además, la importancia del conocimiento previo es fundamental:
▪ Estos comportamientos dependen de la topología de la red, del contenido de las páginas y
de categorías de conceptos.

• Batch process (learning process):

◦ On line process:
▪ Ej.: Recomendación de visitas.
◦ Buscando patrones de navegación:
▪ Las sesiones o log files de navegación toman la forma de secuencias de enlaces recorridos
por un usuarios, conocidos como navigation trails o sesiones.
▪ Las distintas sesiones de un mismo usuario se separan cuando entre la visita de un
enlace y otro existe más de 30 minutos de diferencia.
▪ Este valor se determina como 1.5 desviación estándar de la media de tiempo entre visitas
de enlaces (borges & levene):
• También se puede utilizar porciones más pequeñas, llamadas episodios.
▪ A partir de ahora consideraremos enlace como sinónimo de página, documento, url o
visita.
◦ Buscando patrones de navegación mediante hpgs (hypertext probabilistic grammar) (borges
& le vene):

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 239
Bases de Datos II – Licenciatura en Sistemas de Información

▪ Los “navigation trails” se utilizan para construir una hypertext probabilistic Grammar
(HPG).
▪ Una HPG:
• Es una tupla <V, Σ, S, P>.
• No es más que un tipo especial de gramáticas probabilísticas regulares, con la
característica especial que tienen el mismo número de terminales i que no terminales
v (con lo que se hace una correspondencia 1 a 1 entre ellos).
◦ Se construye el grafo de transiciones de la gramática de la siguiente manera:
▪ Se añade un único nodo inicial S y un nodo final F, que no corresponden con ningún url.
▪ Se añaden tantos nodos como urls distintos
▪ ¿Qué valores probabilísticos ponemos en las flechas?.
▪ Existen dos parámetros para construir esta HPG:
• α: importancia de inicio:
◦ Si α=0 sólo habrá flechas de s a los nodos que han sido alguna vez inicio de
sesión, y el valor de la flecha dependerá de cuántas veces lo han sido.
◦ Si α=1 el peso de las flechas dependerá de la probabilidad de visitas a cada nodo,
independientemente de que fueran iniciales.
◦ Si α>0 habrá flechas con peso > 0 de s a todos los nodos.
• N (donde n>1):
◦ Valor de n-grama.
◦ Determina la memoria cuando se navega la red, es decir el número de urls
anteriores que pueden influir en la elección del próximo url.
◦ Si n=1 el resultado será una cadena de markov.
• Ejemplo: supongamos la siguiente tabla de navigation trails:

▪ De aqui extraemos los no terminales y los terminales correspondientes:
• V = {S,A1,A2,A3,A4,A5,A6,F}.
• Σ = {a1, a2, a4, a5, a6}.
▪ Tenemos 6 trails y 24 visitas, donde al9 p.ej., Fue visitada 4 veces, 2 de las cuales como
pagina de inicio.
▪ Por tanto, tomando p.ej. oc=0.5 y n=1, podemos calcular la probabilidad de la produccion
p(s -> axax) que corresponde con la flecha de s a a1 en el grafo de transiciones de la
siguiente manera:
• P(s → a1A1) = (0.5 4)/24 + (0.5 2)/6 = 0.25.
▪ Las flechas interiores se calculan de manera similar.
▪ P.ej.: Si a4 se ha visitado 4 veces, 1 justo antes del final, otra antes de ae y dos antes de
al tenemos:
• P(a4->a1) = 2/4.
▪ P(a4->a6) = ¼.
• P(a4->f) = ¼.
▪ Siguiendo así para el resto se tiene:
• En forma tabular podemos expresar el conjunto de producciones probabilísticas p
derivadas del grafo anterior (para oc=0.5 y n=\ ):
Start prod. transitive prod. final prod.
S → a1A1 0.25 A1 → a2A2 0.25 A1 → F 0.25
S → a2A2 0.08 A1 → a2A2 0.5 A1 → F 0.4
S → a3A3 0.11 A1 → a2A2 0.75 A1 → F 0.25
S → a4A4 0.17 A1 → a2A2 0.25 A1 → F 1.0
S → a5A5 0.35 A1 → a2A2 0.4
S → a6A6 0.04 A1 → a2A2 0.2
A1 → a2A2 0.5
A1 → a2A2 0.25
A1 → a2A2 0.6
A1 → a2A2 0.4
• Perspectivas:
• La navegación es mucho más que un recorrido de enlaces.
• Ls páginas web son cada día más interactivas,
• Existen búsquedas, formularios,... (mena).

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 240
Bases de Datos II – Licenciatura en Sistemas de Información

• Por ejemplo:
◦ If search-keywords are “reliarle software”
◦ And age 24-29
◦ Then download =‘linux’
◦ With accuracy = 20% and support = 1%
• Existe una tendencia hacia “adaptive web sites” (perkowitz & ertzioni).
• Nos acercamos al “application usage mining”, o la extracción de conocimiento automático
sobre cómo un usuario utiliza una determinada aplicación software, sea distribuida o no:
• Personalización

Facultad de Ciencias Exactas y Naturales y Agrimensura


Universidad Nacional del Nordeste Página 241

También podría gustarte