Professional Documents
Culture Documents
NDICE
PRIMER DOCUMENTO: MANUAL DEL ESTUDIANTE ------------------ 2
1. LOS MATERIALES DIDCTICOS. ---------------------------------------------------------- 2 2. CARACTERSTICAS DE LA MODALIDAD EDUCATIVA NO ESCOLARIZADA. ------------------------------------------------------------------------------------------------------------ 4 3. RECOMENDACIONES PARA FACILITAR EL ESTUDIO INDEPENDIENTE. --- 5 4. CARACTERSTICAS PROPIAS DE LA MATERIA DE: SISTEMAS MANEJADORES DE BASES DE DATOS. ---------------------------------------------------- 7
II
3.4 CONCEPTOS Y TPICOS A REVISAR EN LAS LECTURAS --------------------- 23 3.5 ACTIVIDADES DE APRENDIZAJE UNIDAD 03--------------------------------------- 23 3.6 AUTOEVALUACIN UNIDAD 03 --------------------------------------------------------- 23
III
Qu es una BDOO?--------------------------------------------------------------------------------------- 41 Un Modelo Conceptual Unificado------------------------------------------------------------------------ 41 Arquitectura de Una BDOO ------------------------------------------------------------------------------- 41 Desarrollo con Bases de Datos OO --------------------------------------------------------------------- 42 Tres Enfoques de Construccin de Bases de Datos OO ------------------------------------------ 43 Un ejemplo de BDOO -------------------------------------------------------------------------------------- 44 Impacto de la Orientacin a Objetos en la Ingeniera del Software. ---------------------------- 44 Ventajas en BDOOs ---------------------------------------------------------------------------------------- 45 Posibles Desventajas--------------------------------------------------------------------------------------- 46 Rendimiento -------------------------------------------------------------------------------------------------- 46 Caractersticas mandatorias reglas de oro --------------------------------------------------------- 47
IV
PROPIEDADES DE LAS TRANSACCIONES--------------------------------------------------------- 103 TIPOS DE TRANSACCIONES ------------------------------------------------------------------------ 104 ESTRUCTURA DE TRANSACCIONES --------------------------------------------------------------- 104 ASPECTOS RELACIONADOS AL PROCESAMIENTO DE TRANSACCIONES -------------------- 106
Incorporacin del manejador de transacciones a la arquitectura de un SMBD------------- 106
VI
MATERIALES DIDCTICOS DE ALTA CALIDAD. Son los elementos de apoyo para el aprendizaje, lo constituyen la Gua Didctica de Estudio y el propio Texto de Autoaprendizaje por asignatura de la Universidad Vasco de Quiroga, diseados para lograr la mejor comprensin de los diferentes contenidos temticos y as alcanzar los objetivos acadmicos preestablecidos. Los materiales especiales para el Sistema No Escolarizado, estn concebidos de tal forma, que se cumplan los objetivos del curso, que satisfagan las necesidades que reclaman las actividades de aprendizaje e integradoras, es decir, que constituyan un verdadero instrumento de apoyo para los estudiantes, mediante el cual se facilite responsablemente el logro de todo el quehacer acadmico de la asignatura. Para una mejor identificacin y aprovechamiento de los referidos Materiales Didcticos, a continuacin se aporta una breve semblanza de stos: 1. GUA DIDCTICA DE ESTUDIO. Que constituye precisamente la gua para el estudiante que se integra a la modalidad no escolarizada y que desea aprobar cada una de las asignaturas. Gua que contiene objetivos generales y particulares de aprendizaje, desarrollo temtico y de subtemas, actividades de aprendizaje, actividades integradoras, formas de evaluacin y acreditacin, bibliografa bsica y complementaria, cuestionarios de auto evaluacin, glosarios y dems elementos importantes para lograr el autoaprendizaje, que a continuacin se detallan: Las Guas Didcticas de Estudio, se integran por las partes siguientes:
a) Presentacin. Que seala el objetivo de la misma (Objetivo de Aprendizaje). Enunciado propositivo que establece qu se espera de un estudiante al trmino del proceso de aprendizaje, (por curso, materia o unidad), la temtica, los propsitos de las actividades de aprendizaje e integradoras y los mecanismos para mantener un contacto permanente con los estudiantes. b) Sugerencias Metodolgicas. Descripcin del mtodo o tcnicas utilizadas por el asesor, importantes para la mejor comprensin de los temas, as como sugerencias en cuanto a la bsqueda de la informacin, el desarrollo de actividades y los mecanismos de intercambio de experiencias significativas. c) Criterios de Evaluacin. Donde el asesor considere aspectos tales como el desarrollo de actividades de aprendizaje por tema, entrega de actividades integradores, actividades complementarias y exmenes. Criterios que deben de sealarse desde el principio a los estudiantes, con el fin de generar un clima de orden y confianza entre el asesor y el estudiante. d) Introduccin a la Asignatura. Donde se proporcione al alumno un panorama general del contenido y pueda percibir de forma completa el propsito de la asignatura y de la gua didctica, evitando con esto dispersin y desgaste innecesario de energas. e) Estructura por Unidad de Aprendizaje. En donde se conformarn los Objetivos de Aprendizaje, los temas, los conceptos y tpicos a revisar, las Fuentes de Informacin Bsicas y Secundarias y, las actividades de aprendizaje. Que buscarn con todo ello verificar el aprendizaje significativo. f) Actividad de Aprendizaje. Son todas aquellas actividades que el asesor prev con el propsito de facilitar y comprobar el aprendizaje de los alumnos y la adquisicin de las habilidades necesarias para aplicar los conocimientos adquiridos a su vida personal y futuro ejercicio profesional. g) Actividad Integradora. Que debe buscar el desarrollo de habilidades propuestas para cada curso, una actitud crtica y de anlisis ante los objetos de estudio, aplicacin de conocimientos en los casos prcticos planteados por el asesor, asimilacin del mtodo de trabajo, y sobre todo, calidad y profundidad.
2. TEXTO DE AUTOAPRENDIZAJE. (TEXTO DE AUTOENSEANZA). Que consiste en la Seleccin de informacin bsica y complementaria, necesaria para cubrir los objetivos temticos de aprendizaje que exige la asignatura, conformado por: Presentacin. UNIVERSIDAD VASCO DE QUIROGA 3
ndice. Introduccin. Objetivos Generales de la Asignatura. Desarrollo del Contenido Temtico. Unidad Temtica desarrollada en Temas y Subtemas. Texto de las Lecturas Bsicas correspondientes a la unidad temtica. Actividades de Aprendizaje Autoevaluacin. Datos Bibliogrficos de los Textos Bsicos y Complementarios. Glosario de Trminos propios de la Asignatura.
Que est dispuesto a afrontar el reto personal de utilizar los mtodos y tcnicas de estudio que el sistema requiere. Que es capaz de planear adecuadamente su tiempo para el estudio y la evaluacin. Que est dispuesto a retomar las tcnicas de estudio sugeridas por el asesor, as como materiales y actividades. No utilizar ningn pretexto para evadir su responsabilidad. Que valore la importancia de los imprevistos ante sus compromisos de estudio.
Los estudiantes del sistema no escolarizado deben tener la certeza que se cuenta con los mejores asesores, los cuales han demostrado tener disposicin y capacidad para: a) Crear ambientes propicios para el aprendizaje. b) Facilitar la retroalimentacin de experiencias que le permita anticiparse a los problemas, sugiriendo alternativas de solucin, buscando respuestas y explicaciones a los mismos. c) Generar reflexin, confrontacin y anlisis que permitan la construccin de conocimientos significativos. d) Respetar el ritmo de aprendizaje y los intereses del estudiante. e) No fragmentar el conocimiento, sino integrar lgicamente los contenidos con una perspectiva interdisciplinaria. f) Apoyar la investigacin como instrumento de generacin de respuestas a interrogantes y soluciones a problemas. g) Provocar que los estudiantes arriben a la sntesis fundada y motivada del tema visto, a la aportacin de nuevas experiencias de aprendizaje, a generar preguntas sobre aspectos dudosos, para que al final generen su propia autoevaluacin.
3. RECOMENDACIONES INDEPENDIENTE.
PARA
FACILITAR
EL
ESTUDIO
PRIMERA. Para obtener mejores resultados de los materiales didcticos del sistema no escolarizado, el estudiante debe consultar las guas, tratar de realizar de forma ordenada las actividades para el logro de objetivos, reunirse con el asesor cuantas veces lo necesite en los tiempos predeterminados y a travs de los medios de comunicacin elegidos, acudir a los grupos de estudio que existan en su localidad, apoyarse en conferencias complementarias, relacionar lo que aprende con su vida prctica, asistir a las sesiones de retroalimentacin, contemplar sus actividades fijas y su tiempo libre, tener presente los tiempos necesarios para el descanso y la vida cotidiana, establecer tiempos fijos de estudio y prever flexibilidad para los imprevistos. Los materiales didcticos para educacin no escolarizada, recurdese que son elaborados por equipos interdisciplinarios, cuyos contenidos forman un paquete UNIVERSIDAD VASCO DE QUIROGA 5
didctico. Que responden a las preguntas: Por qu se elabora el material? A quin est dirigido? Quin lo selecciona y cmo se va a organizar? Qu medios de comunicacin son los ms idneos? Materiales que provienen y remiten a distintas fuentes de informacin, con el propsito de provocar la reflexin y actitud crtica de los participantes, su inventiva y originalidad de respuestas, estn elaborados en base a los contenidos a ensear as como los intereses y necesidades de los participantes. Organizados a travs de situaciones problemticas, que requieran una solucin y pueda plantearse en el curso. SEGUNDA. Las asesoras sern individuales o grupales. Asesora Individual. Deber partir de una evaluacin diagnstica y compromisos de tiempo de estudio y evaluacin, para seguir con la obtencin de informacin de la materia a cursar, en donde el estudiante debe de esforzarse por resolver el problema, antes de acudir con el asesor, quien precisamente le clarificar sus dudas y se retroalimentar de informacin complementaria significativa. Asesora Grupal. Que buscar el intercambio de experiencias de aprendizaje, actualizando y profundizando el conocimiento de la materia, que le permita facilitar la elaboracin de sus actividades, mediante la socializacin y confrontacin de opiniones, para aplicar lo tericamente adquirido al campo de la realidad. TERCERA. Las principales Obligaciones del estudiante son: Estudiar personalmente de cada asignatura, ya que de l depender el xito de su aprendizaje. Asistir o participar en las Asesoras, de manera presencial o utilizando los medios electrnicos. El alumno que no asista o no participe en las asesoras, debe informar a su asesor para acordar conjuntamente las acciones a seguir, sobre todo en aquellos casos en los que la evaluacin no se sujete solo a un examen, sino existan adems, trabajos que presentar o actividades que desarrollar, las cuales deben ser reportadas puntualmente. Acordar con los asesores sobre los procedimientos a seguir para la recepcin de trabajos, en el caso de los alumnos forneos. Presentarse en los tiempos y formas establecidas por la Universidad para la prctica de las evaluaciones correspondientes, as como entregar el producto de las actividades solicitadas. No recibir o prestar ayuda fraudulenta en las evaluaciones o exmenes correspondientes. La asistencia a las asesoras no es obligatoria, pero s recomendable por las importantes aclaraciones, aportaciones y correcciones que pueda sugerirle el asesor de forma personalizada.
Finalmente se debe mencionar que, no hubiera sido posible todo este gran esfuerzo, sin el apoyo incondicional otorgado por la Universidad Vasco de Quiroga, el cual se agradece sinceramente.
Gua didctica
CRDITOS
El material utilizado para el desarrollo de la presente asignatura fue producido y digitalizado por la Direccin de Educacin a Distancia de la Universidad Vasco de Quiroga.
10
Para con todo esto, al concluir con el Aprendizaje de MANEJADORES DE BASES DE DATOS, contars con conocimientos que te servirn de referencia para otras materias en el transcurso de tu carrera.
METODOLOGA
La presente GUA DIDCTICA, se enfoca principalmente a recordarte que en ningn instante estars sin apoyo, para ello, buscar siempre el intercambio de experiencias entre los interlocutores para aclarar dudas, facilitar la investigacin y ofrecer sugerencias sobre el mejor manejo de la informacin, as como incorporar toda aportacin que surja para mejorar el Ambiente de Aprendizaje. Se te sugiere que para lograr de mejor forma estos propsitos, es conveniente que sigas los pasos que se te sealan a continuacin: Primer Paso. Conoce los Objetivos Generales y de cada Unidad, sus temas, subtemas, sus conceptos y tpicos, con el fin de obtener un panorama completo de los contenidos a tratar, reflexionando sobre los mismos, obteniendo notas personales sobre lo que es importante destacar en cada lectura. Segundo Paso. Una vez conocido el contenido de cada Unidad de forma muy general (y slo despus de esto, ya que de lo contrario su ptica sera parcial), se dar inicio a la realizacin de lo que se denomina ACTIVIDADES DE APRENDIZAJE, con las
11
cuales se lograr llegar a conocer, aprender, aplicar, analizar y elaborar cada uno de los conceptos y tpicos de manera sustentada y no simples opiniones. Actividades que posteriormente te podrs AUTOEVALUAR. Tercer Paso. Si despus de llevado a cabo lo anterior, quedaron dudas, no te preocupes, stas se eliminarn si ests en comunicacin permanente con tu ASESOR, a quien entregars las actividades de aprendizaje solicitadas (investigaciones, cuestionarios), para que sean revisadas, evaluadas y corregidas para tu mejor comprensin. Pero para ello es importante que participes en todas y cada una de las actividades de aprendizaje que se te recomienden. Utilizando las herramientas informativas que se sugieran y que se puedan tener al alcance. Cuarto Paso. Enseguida, debemos comprobar que el Aprendizaje de la MANEJADORES DE BASES DE DATOS, sea real y consistente, y esto se logra mediante una forma que se denomina ACTIVIDAD INTEGRADORA. Actividad propia del estudiante y reflejo de la Investigacin diaria. Actividad a la cual se le otorga el mayor grado de calificacin, al momento de evaluar la participacin del alumno, en la materia, y que ser proporcionada por tu ASESOR. Quinto Paso. El hecho de que se determinen Objetivos, Temas, Conceptos, Tpicos, Actividades de Aprendizaje y Autoevaluaciones por Unidad, no significa que se trate del conocimiento de contenidos aislados, sino que, todos los conocimientos que se van adquiriendo forman parte del aprendizaje integral, as pues, lo que se aprende al principio del curso se aplica hasta el final, por lo tanto se requiere de dedicacin y prctica para que el presente documento sea de gran utilidad y su contenido haga efectivo el aprendizaje significativo.
Tareas a realizar por los alumnos de los Cursos No Escolarizados: 1. Leer los textos de auto aprendizaje. 2. Resolver las Actividades de Aprendizaje, y si el Asesor lo indica, envirselas va correo electrnico para su revisin. 3. Contestar las Autoevaluaciones lo ms honestamente posible, con la finalidad de que midas si has adquirido los conocimientos, ya resueltas, podrs verificar si tus respuestas fueron acertadas en la hoja de respuestas que se ubica al final del documento. 4. Realizar las Actividades Integradoras que te indique tu Profesor/Asesor con la finalidad de otorgarte una calificacin.
12
Finalmente, se aprovecha la oportunidad para sealar la BIBLIOGRAFA BSICA, con que cuenta el MANEJADORES DE BASES DE DATOS, y que es precisamente la siguiente: SILBERSCHATZ | KORTH | SUDARSHAN, Philip, Fundamentos de Bases de Datos, 5. Edicin, Ed. Mc Graw Hill, 2006 DATE, C.J., tr. de Sergio Luis Mara Ruz Faudn Introduccin a los sistemas de bases de datos -- 5 y 7 ed.a.Ed. -- Mxico : Pearson Educacin, 1993, c2001 Garg W. Hansen y James V. Hansen; tr. de Miguel Katrib Mora y rev. de Sebastin Dormido Bencomo, Diseo y administracin de bases de datos, 2a.Ed.-- Madrid : Prentice-Hall, 1998
CRITERIOS DE EVALUACIN
Se realizar una evaluacin continua sobre la participacin en actividades de aprendizaje, elaboracin de prcticas, resolucin de las autoevaluaciones y las actividades integradoras que seale el Asesor. De manera fundamental se considerar la calidad del compromiso en cuanto al cumplimiento del alumno a las actividades propuestas, es decir, cumplir en tiempo y forma con las tareas que indique el Asesor, siendo retroalimentado por el mismo. Si llegamos a este punto, es precisamente porque nos importa conocer nuestro trabajo, saber con que dedicacin y seriedad lo hemos venido realizando, pero sobre todo saber, si las metas de aprendizaje se logran, o bien conocer, sobre que aspectos debemos trabajar doblemente en beneficio de todos. Y para ello, se tomarn en cuenta los siguientes CRITERIOS: ACTIVIDADES DE APRENDIZAJE 50% DE LA CALIFICACIN En las que se calificar: a) Conocimiento General y Particular de los contenidos trabajados. b) Aplicacin de la teora en la prctica. c) Elaboracin de las actividades propuestas. d) Actitud y dedicacin. EXAMEN CUATRIMESTRAL ORDINARIO 50% DE LA CALIFICACIN Para acreditar cada materia en un ciclo escolar, los estudiantes tendrn hasta dos oportunidades (evaluacin ordinaria, y evaluacin extraordinaria) si cumplen con las condiciones:
13
El alumno que cumpla con el 60% de actividades acadmicas exigidas por la Universidad-Asesor en la materia respectiva y que haya cubierto el total de sus cuotas, tendr derecho a presentar examen ordinario (final del semestre) que constituye la primera oportunidad. Actividades que sern dadas a conocer a los estudiantes al inicio de cada materia, llevndose un control minucioso de fechas de entrega, por parte del asesor. El alumno que no cumpla en tiempo y forma con el 60% de las actividades acadmicas, pero s ms del 40% de las actividades, tendr derecho a presentar el examen extraordinario (esto constituye la segunda) siempre y cuando no est en esta situacin en ms de dos materias de las que integra el ciclo escolar que cursa. Estos porcentajes pueden llegar a variar, previo aviso del profesor, en algunas unidades en donde se le dar mayor porcentaje a las actividades En caso que alguno de que el examen extraordinario o no rena el 40% de las actividades del curso, el estudiante tendr que tomar el curso nuevamente. RECUERDA, EL LOGRO DEL APRENDIZAJE ES NUESTRA JUSTIFICACIN POR LO TANTO TU PARTICIPACIN ES DECISIVA
AYUDAS
En el caso de requerir ayuda acadmica se puede enviar correo electrnico al Asesor de la materia, mismo que l proporcionar. UNIVERSIDAD VASCO DE QUIROGA 14
El asesor tambin podr estar disponible en lnea a travs de herramientas en lnea como lo son los Mensajeros Instantneos de Hotmail, Yahoo, segn lo convenga con el grupo en fecha y horario.
HERRAMIENTAS Y UTILERAS
Todo el material que es desarrollado para nuestros cursos es producido usando programas de uso comn, los cuales pueden ser encontrados fcilmente en internet. En caso de no poder utilizar algn material, puede ser el caso de que necesite instalar alguno de estos programas. Si requiere ayuda para su instalacin no dude en contactarse con el asesor. Para poder visualizar las lecturas deber tener instalado en su computadora los programas adecuados, en particular deber tener el Acrobat Reader. Este puede encontrarse en internet y obtenerse de manera gratuita en la siguiente direccin electrnica: http://www.latinoamerica.adobe.com/products/acrobat/readstep2.html Una lista de todos los programas que puedes obtener de manera gratuita y que es importante los pudiera tener instalados en su computadora son los mostrados a continuacin: Acrobat Reader .- Para leer archivos creados en formato pdf. Antivirus.- Es una versin libre de un antivirus, es importante que te protejas de los virus informticos. ICQ .- Programa de la categora de mensajeros instantneos. IEXPLORER.- Navegador para internet, para plataformas Windows. Mozilla Firefox. Navegador de Internet, para plataformas Linux y Windows. MSN Messenger.- El mensajero instantneo de Microsoft. Netmeeting.- Programa de comunicacin que permite interactuar en lnea utilizando diversos formatos de archivos. Open Office.- Grupo de programas de uso libre similar al Microsoft Office. Real One Player .- Reproductor de audio y video. WinZip.- Compactador y descompactador de archivos.
15
Si necesita ayuda para saber donde obtener estos programas y conocer la forma de instalar estos programas podemos auxiliarlo con mucho gusto, solo pngase en contacto con el Asesor de la materia y el le dar instrucciones detalladas.
16
INTRODUCCIN
Las bases de datos son una de las principales herramientas con la que manejamos el insumo ms relevante de la informtica: la informacin. El conocimiento de los sistemas manejadores de bases de datos nos permitir ser ms eficientes en el cumplimiento de los objetivos de nuestras empresas y de nuestra carrera.
!!!!!BIENVENIDO SEAS!!!!!
17
Conocer el modelo relacional orientado a objetos combinando caractersticas del modelo relacional y del modelo orientado a objetos.
18
19
Conocer el lenguaje XML y estudiar la gestin de los datos XML con las tcnicas de bases de datos.
20
Actividad 2.- Investiga ejemplos de aplicacin de XML y propn una aplicacin prctica
2.6 AUTOEVALUACIN
Contrasta el resultado de tus actividades con el texto de auto aprendizaje.
21
Describir el modo en el que se procesan las consultas. Conocer el proceso de hallar el mtodo de coste mnimo para evaluar una consulta dada.
LECTURAS COMPLEMENTARIAS:
23
Describir los mecanismos de control de concurrencia que ayudan a implementar la propiedad de aislamiento.
24
25
26
27
28
29
30
31
Texto de Autoaprendizaje
32
33
Actualmente, el modelo de bases de datos relacional es el estndar en bases de datos. Se requiere poca programacin, bsicamente porque se cuenta con el SQL, que permite hacer consultas y reportes de forma sencilla y amigable. Las bases de datos con informacin cada vez ms compleja gener la necesidad de un ambiente conceptual grfico, con lo que se cre el diagrama Entidad Relacin ERD, que dio pie a una nueva generacin de aplicaciones y herramientas de diseo. Conforme se fueron incorporando elementos ms complejos como imgenes, sonidos y videos, se hicieron necesarios sistemas que pudieran administrar y ejecutar esos recursos. Es as que surgen los modelos de datos semiticos (SDM), que es la base para las bases de datos orientadas a objetos. As, los objetos que comparten caractersticas se agrupan en clases. Una clase es un conjunto de objetos similares con estructura (atributos) y comportamiento (mtodos) compartidos. Las clases se organizan en jerarquas en las que cada objeto tiene un padre. Las bases de datos relacionales han adaptado gran parte de esas caractersticas, convirtindose en la manera ms general de uso de bases de datos. Iniciemos nuestro recorrido por los sistemas manejadores de bases de datos.
34
OBJETIVOS GENERALES
Al finalizar esta asignatura, el alumno: El alumno ser capaz de plantear un sistema de bases de datos para alguna empresa, disearlo y ponerlo en marcha para resolver problemas de manejo de grandes volmenes de informacin tales como resguardo, recuperacin y mantenimiento de la misma.
35
Conocer el modelo relacional orientado a objetos combinando caractersticas del modelo relacional y del modelo orientado a objetos.
TEMAS Y SUBTEMAS: 1.BASES DE DATOS ORIENTADAS A OBJETOS 1.1 Bases de datos basadas en objetos que permiten trabajar con tipos de datos complejos.
36
Introduccin
En este tema hablaremos de la evolucin de los diferentes tipos de Bases de Datos y por consiguiente del surgimiento de las Bases de Datos Orientadas a Objetos (BDOO). Las BDOO almacenan y manipulan informacin que puede ser digitalizada (representada) por objetos, proporcionan una estructura flexible con acceso gil, rpido, con gran capacidad de modificacin. Adems combina las mejores cualidades de los archivos planos, las bases jerrquicas y relacionales. Como veremos a continuacin las BDOO representan el siguiente paso en la evolucin de las Bases de Datos para soportar el anlisis, diseo y programacin Orientada a Objetos. Ests permiten el desarrollo y mantenimiento de aplicaciones complejas ya que se puede utilizar un mismo modelo conceptual y as aplicarlo al anlisis, diseo y programacin, esto reduce el problema entre los diferentes modelos a travs de todo el ciclo de vida, con un costo significativamente menor. Como cualquier base de datos programable, una base de datos orientada a objetos (BDOO) da un ambiente para el desarrollo de aplicaciones con un depsito persistente listo para su explotacin. Permiten que el mismo modelo conceptual se aplique al anlisis, diseo, programacin, definicin y acceso a la base de datos. Esto reduce el problema del operador de traduccin entre los diferentes modelos a travs de todo el ciclo de vida. Adems las BDOO ofrecen un mejor rendimiento de la mquina que las bases de datos por relacin, para aplicaciones clases con estructuras complejas de datos. Sin embargo, las BDOO coexistirn con las bases de datos por relacin como una forma de estructura de datos dentro de una BDOO.
37
(Figura No.1)
BREVE HISTORIA DEL DESARROLLO DE LAS BASES DE DATOS Como se muestra en la (Figura No.1), cuatro generaciones de sistemas han manejado datos de computacin. Al principio, los lenguajes y las instrucciones de mquina eran muy similares, lo que produca un modelo de programacin orientado por procesos. Por ejemplo, los programas para la suma se organizaban en torno al proceso de suma de la mquina: los nmeros se cargaban en registros, se ejecutaba la instruccin de suma y se trabajaban los posibles errores de desbordamiento superior inferior. Algunos resultados se almacenaban para su uso posterior. En principio los programas ejecutaban las tareas y nunca las escriban en un dispositivo de almacenamiento. En esta etapa, uno de los pocos elementos que se almacenaban era el propio programa. Sin embargo, los programadores pronto se dieron cuenta del valor de registrar los resultados. La grabacin de los resultados del programa aument con el advenimiento del almacenamiento en discos magnticos rotatorios, lo que ofreci la posibilidad del acceso aleatorio a grandes cantidades de datos almacenados. CONCEPTOS FUNDAMENTALES Objeto: es cualquier cosa real abstracta acerca de la cual almacenamos datos y los mtodos que controlan dichos datos. Por ejem. En una empresa EMPLEADO se aplica a los objetos que son personas empleadas por alguna organizacin alguna INSTANCIA podra ser Juan Prez, Mara Snchez etc.
38
Tipo de Objeto: es una categora de objeto. Ejem: EMPLEADO. Un objeto es una Instancia de un tipo de objeto. PERSONA (Juan Prez) Encapsulado: es el resultado ( o acto) de ocultar los detalles de implantacin de un objeto respecto de su usuario. Una Solicitud: invoca una operacin especfica, con uno ms objetos como parmetros. Es decir, es para que se lleve a cabo la operacin indicada y que se produzca el resultado. En consecuencia las implantaciones se refieren a los objetos como solicitudes. Clase: es una implantacin de un tipo de objetos. Especifica una estructura de datos y los mtodos operativos permisibles que se aplican a cada uno de sus objetos. Herencia: Una clase implanta el tipo de objeto. Una Subclase hereda propiedades de su clase padre, una subclase puede heredar la estructura y los mtodos algunos de los mtodos. En las BDOO los datos estn encapsulados y se dice que estos son activos ms que pasivos; debido a que por ejemplo: La clase mayor detecta si tiene un hijo (objeto) ms o uno menos, es por esto que se dice que estn activos ya que cuentan los hijos u objetos que tiene. En el modelo de objetos existen las siguientes caractersticas fundamentales: 1. Abstraccin: denota las caractersticas esenciales de un objeto que lo distinguen de todos los dems tipos objeto, y proporciona as fronteras conceptuales ntidamente definidas respecto a la perspectiva del observador". Una abstraccin se centra en la visin externa de un objeto, y, por tanto sirve para separar el comportamiento esencial de un objeto de su implantacin. 2. Modularidad: Se basa en el concepto de fragmentacin de los programas en componentes individuales para reducir su complejidad en algn grado, y para crear adems una serie de fronteras bien definidas y documentadas dentro del programa, dnde estas fronteras o interfaces tienen un incalculable valor cara a la comprensin del programa. 3. Jerarqua: una clasificacin u ordenacin de abstracciones. 4. Tipos: Es un conjunto de objetos que tienen un mismo comportamiento (comparten una misma funcionalidad) que se puede observar desde afuera. 5. Genericidad: permite construir clases genricas para otras clases. Objetos Complejos: Estn construidos mediante algunos ms simples mediante la aplicacin de constructores a ellos. Los Objetos ms simples son objetos como: Integer, Carcter, String de Bytes de cualquier longitud, booleanos
39
punto flotante y algunos pueden ser Hay varios constructores de objetos complejos como son:
de
tipo
atmico.
Listas y arreglos. Por ejemplo: El juego mnimo de constructores que el sistema debe tener son una lista y un Arreglo. Las listas y arreglos son importantes porque, pueden capturar ordenes las cuales ocurren en el mundo real y tambin se pueden levantar en muchas especificaciones cientficas donde las necesidades de la gente son matrices, series de tiempo de informacin datos. Identidad de Objetos: Un modelo significa en un modelo una identidad de objeto. El objeto tiene una existencia la cual es independiente de su valor, esto es dos nociones de equivalencia del objeto. Dos objetos pueden ser idnticos, que tengan el mismo objeto pueden ser iguales, que tengan el mismo valor; este tiene dos implicaciones una es la comparticin del objeto y la otra es la actualizacin del objeto. Comparticin de Objetos: Es un modelo basado en la identidad de dos objetos contener compartir un componente la representacin pictrica de un objeto complejo es una grfica mientras que estn limitadas en un rbol sin identidad de objeto. Considere el siguiente ejemplo: Una persona tiene un nombre y una edad y un juego de nios. Asumiendo que Pedro y Susana ambos tienen un nio de 15 aos de edad llamado Juan en la vida real estas dos situaciones pueden levantarse para presentarse como: Susana y Pedro son padres del mismo nio dos nios estn envueltos por: (Pedro,40,{(Juan,15,{})})Y Susana es representada por:(Susana,41,{(Juan,15,{})}) Es decir, no hay forma de expresar que Pedro y Susana son padres del mismo nio en un modelo basado en la identidad estas dos estructuras pueden compartir una parte comn Juan 15 no. Esto es capturando ambas situaciones. Asumiendo que Pedro y Susana son obviamente padres de un nio llamado Juan en este caso todas las actualizaciones al hijo de Juan van a ser aplicadas al objeto de Juan y consecuentemente tambin aplicadas al hijo de Pedro.
40
hace su trabajo, pero sabe que lo hace y qu es lo que puede hacer. Como bien lo defini Dan Ingalls de Smalltalk con las siguientes palabras: "La orientacin a objetos proporciona una solucin que conduce a un Universo de Objetos 'bien educados' que se piden de manera corts, concederse mutuamente sus deseos". POR QU O.O.? La meta es dejar la etapa en la que la construccin del software es una labor de artesanos, y pasar a la etapa en la que se pueda tener fbricas de software, con gran capacidad de reutilizacin de cdigo y con metodologa eficientes y efectivas que se apliquen al proceso de produccin. QU ES UNA BDOO? A finales de los 80's aparecieron las primeras BDOO, es una base de datos inteligente. Soporta el paradigma orientado a objetos almacenando datos y mtodos, y no slo datos. Est diseada para ser eficaz, desde el punto de vista fsico, para almacenar objetos complejos. Evita el acceso a los datos; esto es mediante los mtodos almacenados en ella. Es ms segura ya que no permite tener acceso a los datos (objetos); esto debido a que para poder entrar se tiene que hacer por los mtodos que haya utilizado el programador. UN MODELO CONCEPTUAL UNIFICADO Las tcnicas OO utilizan los mismos modelos conceptuales para el anlisis, diseo y construccin. La tecnologa de las BDOO da un paso ms hacia la unificacin, el modelo conceptual de la base de datos OO es igual al del resto del mundo OO, en lugar de utilizar tablas por relacin independientes como SQL ARQUITECTURA DE UNA BDOO En la siguiente Tabla se muestran algunos de los principales productos de BDOO y sus vendedores. Los primeros se disearon como una extensin de los lenguajes de programacin como Smalltalk C++. El LMD ( lenguaje para el manipulacin de datos; tambin conocido como DML) y el LDD (lenguaje para la definicin de los datos; tambin conocido como DDL) construan un lenguaje OO comn.
41
Producto Gemstone Itasca Objectivity Object Store Ontos Versant (Tabla No.1)
Proveedor Servio Corporation, Alameda,CA Itasca Systems,Inc.,Minneapolis,MN Objectivity,Menlo Park,Ca Object Design,Inc.,Burlington,MA Ontos Inc.,Bellerica,MA Versant Object Technology,Menlo Park,CA
Seis Productos de BDOO y sus Proveedores. Algunas caractersticas son independientes de la arquitectura fundamental de una BDOO pero son comunes a la mayora de ellas: Versiones.- La mayora de los sistemas de bases de datos slo permiten que exista una representacin de un ente de la base de datos dentro de esta. Las versiones permiten que las representaciones alternas existan en forma simultnea. Transacciones compartidas.- Las transacciones compartidas soportan grupos de usuarios en estaciones de trabajo, los cuales desean coordinar sus esfuerzos en tiempo real, los usuarios pueden compartir los resultados intermedios de una base de datos. La transaccin compartida permite que varias personas intervengan en una sola transaccin DESARROLLO CON BASES DE DATOS OO Las BDOO se desarrollan al describir en primer lugar los tipos de objetos importantes del dominio de aquellos tipos de objetos. Estos tipos de objetos determinan las clases que conformarn la definicin de la BDOO. Por ejemplo: Una base de datos diseada para almacenar la geometra de ciertas partes mecnicas incluira clases como CILINDRO, ESFERA Y CUBO. El comportamiento de CILINDRO podra incluir informacin relativa a sus dimensiones, volumen rea superficial: Clase de CILINDRO{ ALTURA FLOTANTE (); RADIO FLOTANTE (); VOLUMEN FLOTANTE (); AREA DE SUPERFICIE FLOTANTE (); };
42
Se puede llegar a definiciones similares para el cubo y la esfera. En la definicin anterior, ALTURA,RADIO y REA representan los mensajes que se pueden enviar a un objeto CILINDRO . La Implantacin se lleva a cabo en el mismo lenguaje, escribiendo funciones correspondientes a las solicitudes OO: CILINDRO::ALTURA () {RETORNA CILINDRO_ALTURA;} CILINDRO::VOLUMEN () {RETORNA PI*RADIO ()*ALTURA ();} En este caso, la Altura se almacena como un elemento de los datos, mientras que volumen se calcula mediante la frmula apropiada. Observe que la implantacin interna de volume utiliza solicitudes para obtener altura y radio. Sin embargo, el aspecto ms importante es la sencillez y uniformidad que experimentan los usuarios de CILINDRO. Slo necesitan conocer la forma de enviar una solicitud y las solicitudes disponibles. TRES ENFOQUES DE CONSTRUCCIN DE BASES DE DATOS OO Las BDOO se pueden construir mediante alguno de los tres enfoques siguientes: El Primero.- se puede utilizar el cdigo actual altamente complejo de los sistemas de administracin de las bases de datos, de modo que una BDOO se implante ms rpido sin tener que iniciar de cero. Las tcnicas orientadas a objetos se pueden utilizar como medios para el diseo sencillo de sistemas complejos. Los sistemas se construyen a partir de componentes ya probados con un formato definido para las solicitudes de las operaciones del componente. El Segundo: considera a la BDOO como una extensin de la tecnologa de las bases de datos por relacin. De este modo, las herramientas, tcnicas, y vasta experiencia de la tecnologa por relacin se utilizan para construir un nuevo SMBD. Se pueden aadir apuntadores a las tablas de relacin para ligarlas con objetos binarios de gran tamao (BLOB). La base de datos tambin debe proporcionar a las aplicaciones clientes un acceso aleatorio y por partes a grandes objetos, con el fin de que slo sea necesario recuperar a travs de la red la parte solicitada de los datos. El Tercero: reflexiona sobre la arquitectura de los sistemas de bases de datos y produce una nueva arquitectura optimizada, que cumple las necesidades de la tecnologa OO. Las compaas como Versant, Objectivity, Itasca, etc. Utilizan est enfoque y afirman que la tecnologa de relacin es un subconjunto de una capacidad ms general. Adems que las BDOO no de relacin son aproximadamente dos veces ms rpidas que las bases de datos por relacin para almacenar y recuperar la informacin compleja.
43
Por lo tanto, son esenciales en aplicaciones como CAD y permitiran que un depsito CASE fuera una facilidad de tiempo real en vez de una facilidad por lotes. UN EJEMPLO DE BDOO La Arquitectura de Versant est designada al soporte Cliente/Servidor con acercamiento a la computacin distribuida; cualquier aplicacin de Cliente el servidor la procesa, usa las EDT y las mquinas servidoras que pueden cooperar en una BD distribuida de Versant. Las BD pueden estar levantadas como un sistema m-Cliente/n-Servidor. Un servidor en el medioambiente de Versant es una mquina que est corriendo los procesos del servidor, esta soporta accesos concurrentes por usuarios mltiples de una o ms BD. Un cliente es un proceso de aplicacin este tiene acceso a espacios de trabajo de BD persistentes privadas y en adicin puede accesar diversas BD sobre servidores concurrentes con otras aplicaciones de cliente.
Fig. No. 2 Arquitectura de Versant IMPACTO DE LA ORIENTACIN A OBJETOS EN LA INGENIERA DEL SOFTWARE. En las BDOO, la organizacin "Gestin Manejadora de Datos Objeto (ODMG)" representa el 100% de las BDOO industriales y ha establecido un estndar de definicin (ODL - Lenguaje de Definicin de datos) y manipulacin (OQL Lenguaje de consulta) de bases de datos equivalente a SQL.
44
Respecto a las relacionales, todas (Oracle, Informix, etc.) estn aadiendo en mayor o menor grado algunos aspectos de la orientacin a objetos. ANSI (Instituto Nacional Estadounidense de Estndar), por su parte, est definiendo un SQL-3 que incorpora muchos aspectos de la orientacin a objetos. El futuro del SQL-3 es sin embargo incierto, ya que ODMG ha ofrecido a ANSI su estndar para que sirva de base para un nuevo SQL, con lo que solo habra un nico estndar de base de datos. El grupo ODMG (Grupo Manejador de Datos Objeto) naci de un grupo ms grande, llamado "Grupo Manejador de Objetos (OMG)", donde estn representadas todas las cosas con alguna influencia en el sector. Este grupo est definiendo un estndar universal por objetos. Este estndar permitir que un objeto sea programado en cualquier lenguaje y sistema operativo. Esto facilitar enormemente el desarrollo de sistemas abiertos cliente-servidor. VENTAJAS EN BDOOS Est su flexibilidad, y soporte para el manejo de tipos de datos complejos. Por ejemplo, en una base de datos convencional, si una empresa adquiere varios clientes por referencia de clientes servicio, pero la base de datos existente, que mantiene la informacin de clientes y sus compras, no tiene un campo para registrar quin proporcion la referencia, de qu manera fue dicho contacto, o si debe compensarse con una comisin, sera necesario reestructurar la base de datos para aadir este tipo de modificaciones. Por el contrario, en una BDOO, el usuario puede aadir una "subclase" de la clase de clientes para manejar las modificaciones que representan los clientes por referencia. La subclase heredar todos los atributos, caractersticas de la definicin original, adems se especializar en especificar los nuevos campos que se requieren as como los mtodos para manipular solamente estos campos. Naturalmente se generan los espacios para almacenar la informacin adicional de los nuevos campos. Esto presenta la ventaja adicional que una BDOO puede ajustarse a usar siempre el espacio de los campos que son necesarios, eliminando espacio desperdiciado en registros con campos que nunca usan. La segunda ventaja de una BDOO, es que manipula datos complejos en forma rpida y gilmente. La estructura de la base de datos est dada por referencias (o apuntadores lgicos) entre objetos.
45
POSIBLES DESVENTAJAS Al considerar la adopcin de la tecnologa orientada a objetos, la inmadurez del mercado de BDOO constituye una posible fuente de problemas por lo que debe analizarse con detalle la presencia en el mercado del proveedor para adoptar su producto en una lnea de produccin sustantiva. Por eso, en este artculo se propone que se explore esta tecnologa en un proyecto piloto. El segundo problema es la falta de estndares en la industria orientada a objetos. Sin embargo, el "Grupo Manejador de Objetos" (OMG), es una organizacin Internacional de proveedores de sistemas de informacin y usuarios dedicada a promover estndares para el desarrollo de aplicaciones y sistemas orientados a objetos en ambientes de cmputo en red. La implantacin de una nueva tecnologa requiere que los usuarios iniciales acepten cierto riesgo. Aquellos que esperan resultados a corto plazo y con un costo reducido quedarn desilusionados. Sin embargo, para aquellos usuarios que planean a un futuro intermedio con una visin tecnolgica avanzada, el uso de tecnologa avanzada, el uso de tecnologa orientada a objetos, paulatinamente compensar todos los riesgos. RENDIMIENTO Las BDOO permiten que los objetos hagan referencia directamente a otro mediante apuntadores suaves. Esto hace que las BDOO pasen ms rpido del objeto A al objeto B que las BDR, las cuales deben utilizar comandos JOIN para lograr esto. Incluso el JOIN optimizado es ms lento que un recorrido de los objetos. As, incluso sin alguna afinacin especial, una BDOO es en general ms rpida en esta mecnica de caza-apuntadores. Las BDOO hacen que el agrupamiento sea ms eficiente. La mayora de los sistemas de bases de datos permiten que el operador coloque cerca las estructuras relacionadas entre s, en el espacio de almacenamiento en disco. Esto reduce en forma radical el tiempo de recuperacin de los datos relacionados, puesto que todos los datos se leen con una lectura de disco en vez de varias. Sin embargo, en una BDR, los objetos de la implantacin se traducen en representaciones tabulares que generalmente se dispersan en varias tablas. As, en una BDR, estos renglones relacionados deben quedar agrupados, de modo que todo el objeto se pueda recuperar mediante una nica lectura del disco. Esto es automtico en una BDOO. Adems, el agrupamiento de los datos relacionados, como todas las subpartes de un ensamble, puede afectar radicalmente el rendimiento general de una aplicacin. Esto es relativamente directo en una BDOO, puesto que representa el primer nivel de agrupamiento. UNIVERSIDAD VASCO DE QUIROGA 46
Por el contrario, el agrupamiento fsico es imposible en una BDR, puesto que esto requiere un segundo nivel de agrupamiento: un nivel para agrupar las hileras que representan a los objetos individuales y un segundo para los grupos de hileras que representan a los objetos relacionados. CARACTERSTICAS MANDATORIAS REGLAS DE ORO Un sistema de BDOO debe satisfacer dos criterios: Debe tener un BDMS Debe ser un sistema OO Por ejemplo: para la extensin posible este debe ser consistente en los actuales cortes de lenguajes de programacin OO El primer criterio se traduce en 5 caractersticas como son: Persistencia, Manejador de almacenamiento secundario, Concurrencia, Recuperacin, y Facilidad de Query, La Segunda se traduce en 8 caractersticas: Objetos Complejos, Identidad del objeto, Encapsulacin, Tipos Clases, Sobre paso con combinacin retrasada, Extensibilidad y Completacin Computacional. 2.12.1 Manifiesto de sistema de gestin de BDOO Esta publicacin intenta definir un sistema de BDOO y describe las principales caractersticas. Hemos separado estas caractersticas en 3 grupos: Mandatorias.- Son las que el Sistema debe satisfacer a orden de tener un sistema de BDOO y estos son: Objetos complejos, Identidad de objetos, Encapsulacin, Tipos Clases, Sobre paso combinado con unin retardada, Extensibilidad, Completacin Computacional, Persistencia y Manejador de almacenamiento secundario, Concurrencia, Recuperacin y Facilidad de Query. Opcional.- Son las que pueden ser aadidas para hacer el sistema mejor pero que no son Mandatarias estas son de: herencia mltiple, chequeo de tipos e inferencia distribucin y diseo de transacciones y versiones. Abiertas.- Son los puntos donde el diseador puede hacer un nmero de opciones y estas son el paradigma de la programacin la representacin del sistema el tipo de sistema y su uniformidad. Hemos tomado una posicin no muy a la expectativa para tener una palabra final ms bien para proveer un punto de orientacin para un debate futuro.
47
Caractersticas obligatorias Este es un punto que no debe faltar en una BD. Predominancia combinada con enlace retardado.- Se puede definir que sea Excel, Autocad, etc. desde la programacin. Extensibilidad.- Proporciona los tipos de datos como: Caracter, booleano, String, etc. Concurrencia.- Permite que varios usuarios tengan acceso a una BD al mismo tiempo. Recuperacin.- Cuando se hace una transaccin pero no se puede realizar y se regresa al mismo estado. Facilidad de "Consultas a Modo".- Esto es que se tienen diferentes estndares. Caractersticas opcionales Esta depende del producto que se vaya a realizar. Herencia Mltiple.- Tienen caractersticas de padres diferentes y proporcionan mecanismos para saber de 2 o ms opciones cual conviene. Verificacin de tipos de inferencia Distribucin.- Que se puede tener parte de una BD en un servidor y otra parte en otro. Sistema de Representacin.- Forma en cmo se presentan los esquemas. Uniformidad.- Todo debe ser igual. Diseo de ventanas, etc. Asociaciones y Cardinalidad de Asociaciones.- Cardinalidad: 1:1 (Uno a Uno),1:M (Uno a Muchos),M:1(Muchos a Uno),M:M (Muchos a Muchos). Caractersticas abiertas Es como si fuera una especializacin con cierta marca de software Caractersticas generales Control de Concurrencia
48
Modo Pesimista.- Tomo el dato no dejo que nadie lo tome para que no accesen al mismo dato. Modo Optimista.- Es el que dice yo le saco una copia y piensa nadie lo va a modificar. Modo Mixto.- Combinacin del Pesimista y el Optimista. Modo Semioptimista.- Toma las virtudes del Optimista. Bloqueos Bloqueos de Lectura.- Leer una dato y que no quieres que nadie lo modifique mientras los estas usando. Bloqueos de Escritura.- Bloquear el Objeto mientras yo estoy escribiendo(nadie ms puede escribir). Bloqueos Nulos.- Es para Sincronizacin.(ejem. "papel Out"notificacin de una impresora). Bloqueos de Notificacin.- Es para Sincronizacin.(ejem."papel Out" notificacin de una impresora). GLOSARIO BDOO: Bases de Datos Orientadas a Objetos BDR: Bases de Datos por Relacin BLOB: Objetos Binarios de Gran Tamao BDOO94: Bases de Datos orientados a Objetos 94 CAD: Diseo Asistido por Computadora CAE: Ingeniera Apoyada por computadora CORBA: (Common Object Request Broker Arquitecture) EDT: Estacin de Trabajo A-TREE: Unico rbol para todas las clases de Jerarqua H-TREE: Un rbol para cada clase en la Jerarqua LDD DDL: Lenguaje de definicin de Datos LMD DML: Lenguaje de Manejo de Datos LOB'S: Tales como Vdeo, Programas Ejecutables etc. OO: Orientacin a Objetos ODL: Estndar de Definicin de Lenguaje de Datos OMG: Grupo Manejador de Objetos OML: Lenguaje de Manipulacin de Datos ODMG: Gestin Manejadora de datos Objeto OQL: Equivalente al SQL(Lenguaje de Consulta) SQL: Lenguaje de Consulta para bsqueda en BD SGBD: Sistema de Gestin de Bases de Datos SGBDOO: Sistema de Gestin de Bases de Datos Orientada a Objeto SO: Sistema Operativo
49
Conocer el lenguaje XML y estudiar la gestin de los datos XML con las tcnicas de bases de datos.
50
Este lenguaje permite definir la estructura de tipos especficos de documentos (o conjuntos de datos) por medio de DTD (como en SGML) o de XML Schemas, creando as lenguajes, vocabularios o aplicaciones, que definen sus elementos y los atributos de stos.
51
RELACIN XML Y HTML XML y HTML son lenguajes muy diferentes. Ambos nacen de la misma inspiracin llamada SGML por lo que su sintaxis es similar, aunque cada uno fue diseado para cumplir distintas funciones: El XML (eXtensive Markup Language) es un lenguaje que fue concebido para describir informacin. Su funcin principal es ayudarnos a organizar contenidos y eso hace que los documentos XML sean portables hacia diferentes tipos de aplicaciones. El HTML (HyperText Markup Language) sin embargo, ha sido concebido para mostrar informacin, determinar como acta y que hace. Su funcin radica en ayudarnos a darle formato a los diversos contenidos de una pgina. Resumiendo el XML puede interpretar las frases de manera semntica, mientras que el HTML no las puede interpretar. Esto es debido a que el XMl al tener todo ordenado de una manera lgica puede procesar la informacin con mucha facilidad. Otra de las diferencias entre ambos lenguajes es que XML es para crear documentos bien formados (well formed) o con una estructura definida, mientras que en HTML podemos colocar las etiquetas como queramos, es decir, que en XML tenemos que respetar los tags o etiquetas siendo anidados correctamente, por ejemplo:
Tambin debemos prestar atencin importante a que todos los tags o etiquetas del XML deben ser cerrados. Por todo esto, el XML est ayudando a que seamos ms ordenados y respetemos el lenguaje que gracias a la tolerancia de los navegadores ha ido disminuyendo.
52
Otra diferencia del XML es que ste es un lenguaje que puede extenderse. Trabajando con documentos XML podemos establecer nuestros propios tags y la estructura de los documentos para trabajar. En XML el tag es vlido por que yo lo puedo definir y utilizar sin ningn problema. Por el contrario, en el HTML todos los tags ya han sido predefinidos y son parte del estndar HTML definido por el W3C. A pesar de que el HTML tiene sus definiciones, la tolerancia de los navegadores ha hecho que documentos mal formados funcionen. Por ello nace el esfuerzo de juntar lo mejor de los dos lenguajes, HTML y XML, en XHTML. El XHTML (eXtensive HyperText Markup Language) es una familia de tipos de documentos y mdulos que reproducen, definen y extienden el HTML reformulando gracias al XML.
ESTRUCTURA XML Para que un documento XML tenga validez, se deber establecer a que estructura se adhiere la informacin que hay en el documento. Esto se realiza mediante un esquema, que describe la organizacin de los datos de marcado y de los caracteres en un documento XML. Los esquemas posibilitan la creacin de vocabularios XML especficos, definiendo claramente las relaciones entre los elementos del documento XML. De esta manera se pueden definir vocabularios para el mbitos del dominio que se necesiten, desde marcar informacin para dispositivos WAP (vocabulario WML) o hasta para representar grficos (vocabulario SVG). Los esquemas establecen restricciones en la estructura de los documentos de dos formas:
53
Estableciendo el modelo de contenido de los documentos, es decir, definiendo el orden y la anidacin de los elementos. Estableciendo los tipos de datos de los elementos. Las dos tecnologas ms extendidas son los DTD y los schema XML DTD Tienen su origen en el SGML, y sirve como mecanismo estndar de esquemas para validar documentos SGML. Puesto que XML es un subconjunto de SGML, parece razonable usar la misma solucin de esquemas. Una gran ventaja del uso de las DTD consiste en que las herramientas SGML ya existentes sirven para manipularlas. Una crtica a los DTD es que usen una sintaxis propia, bastante crptica y poco intuitiva, siendo que podan haber usado el lenguaje XML (o SGML en su da) para ello. Los DTD describen informacin vital sobre la estructura de un documento que utiliza declaraciones de marcado; se pueden situar dentro del documento XML (DTD interna), fuera (DTD externa) o en los dos sitios. Habitualmente se usar una DTD externa porque puede ser usada por varios documentos XML, y adems aporte orden a la organizacin de los documentos. Solo sera recomendable la creacin de una DTD interna en los casos en los que la creacin de un documento supusiera un gran coste. En los DTD se pueden inclur los siguientes tipos de declaraciones de marcado: Los tipos de elementos que se permiten en el documento, as como los modelos de contenido que tendrn estos elementos. Los atributos que se pueden asignar a cada elemento. Las entidades que se permiten en el documento. Estas declaraciones de marcado definen la estructura lgica y fsica de una clase de documentos, lo que tambin se conoce como tipo de documento. Los DTD tambin pueden ayudar a la hora de desarrollar el contenido de los documentos XML, porque contienen informacin sobre los datos; por ejempo, para saber usar un elemento o ponerle valores adecuados a un atributo. SCHEMA XML El W3C ha desarrollado esta alternativa para definir la estructura de un documento XML, con sintaxis XML. Se llaman esquemas XSD (XML Schema Definition Language). La primera versin fue liberada en Mayo del 2001. UNIVERSIDAD VASCO DE QUIROGA 54
Tanto los DTD como los schema XML describen los modelos de contenido de los documentos, permitiendo la validacin de los documentos. Pero los schema XML van ms all, permiten asociar tipos de datos a los elementos. Esto permite que en la validacin de un documento XML tambin se valide su contenido. En una DTD slo se permite establecer que el contenido de un elemento sea una cadena de texto; mientras que en los schema XML se puede validar que sea, por ejemplo, un entero. Otra ventaja respecto a las DTD consiste en que los schema XML estn expresados en sintaxis XML, habiendo slo que aprender unas pocas etiquetas para codificar este tipo de elementos. Pero en contra, tenemos que las herramientas existentes para SGML valen para los DTD. El modelo de contenido de los schema XML es abierto, esto quiere decir que es posible aadir elementos y atributos secundarios que hubieran sido definidos en el esquema del documento. Contrariamente, los DTD tienen modelos de contenido cerrados, lo que hace que fuese necesario declarar todos los elementos y atributos que se fueran a usar. El modelo de contenido abierto proporciona flexibilidad, porque permite ampliar el vocabulario de los esquemas y seguir siendo capaz de crear documentos vlidos. Esto ayuda a la reutilizacin del software, porque es posible usar un schema XML existente, al que le podra faltar algn elemento o atributo, para validar un nuevo documento XML. Los schema XML permiten la herencia de elementos, consistente en asociar elementos derivados entre si, reteniendo las relaciones existentes entre ellos. Esta caracterstica no exista en los DTD, en donde se usan entidades de parmetros para almacenar componentes de declaracin que se utilizaban con frecuencia, pero que no mantienen informacin sobre los elementos que utilizan eses datos, simplemente substituyen texto en el lugar adecuado. Tambin permiten los tipos de datos restringidos, con los que se puede controlar el intervalo o el formato de los datos de un determinado elemento o atributo. El uso de los espacios de nombres en los schema XML permite que dos elementos distintos tengan el mismo nombre (cada uno correspondiendo a su espacio de nombres). Para ello utilizan los URI (Uniform Resource Identifiers), que garantiza que sean nicos los recursos a los que se hace referencia. RELAN NG Es otra solucin para representar la estructura de un documento XML, que usa sintaxis XML. Su principal caracterstica es la facilidad de aprendizaje y de uso. Ha UNIVERSIDAD VASCO DE QUIROGA 55
sido desarrollado en OASIS por el RELAX NG Technical Committee, y la especificacin fue publicada en diciembre del 2001. Es una evolucin y generalizacin de los DTDs. Pero adems soporta espacios de nombres; y permite aadir libreras de datos, desde las ms simple consistentes slo en strings, hasta otras ms complejas, como las definidas en XML Schema Part 2: Datatypes (evidentemente, tambin estn permitidas en Schema XML). Los schema XML son una solucin mejor que los DTD, de forma clara; pero hay que tener en cuenta que, relativamente, son de reciente creacin, y que han sido creados una vez que haban sido vistas las carencias de los DTD para los documentos XML. Posteriormente a la existencia de estas dos alternativas, apareci RELAX NG, que vena a simplicar la sintaxis de la opcin del Schema XML. Algunos motivos para usar los DTD pueden ser que existen desde la creacin de SGML y muchos sistemas funcionan en base a ellos Ejemplo de estructura de XML:
TECNOLOGA XML Entre las tecnologas XML disponibles se pueden destacar: XSL : Lenguaje Extensible de Hojas de Estilo, cuyo objetivo principal es mostrar cmo debera estar estructurado el contenido, cmo debera ser diseado el contenido de origen y cmo debera ser paginado en un medio de presentacin como puede ser una ventana de un navegador Web o un dispositivo mvil, o un conjunto de pginas de un catlogo, informe o libro.
56
XPath : Lenguaje de Rutas XML, es un lenguaje para acceder a partes de un documento XML. XLink : Lenguaje de Enlace XML, es un lenguaje que permite insertar elementos en documentos XML para crear enlaces entre recursos XML. XPointer : Lenguaje de Direccionamiento XML, es un lenguaje que permite el acceso a la estructura interna de un documento XML, esto es, a sus elementos, atributos y contenido. XQL : Lenguaje de Consulta XML, es un lenguaje que facilita la extraccin de datos desde documentos XML. Ofrece la posibilidad de realizar consultas flexibles para extraer datos de documentos XML en la Web. Cmo funcionan? XSL funciona como un lenguaje avanzado para crear hojas de estilos. Es capaz de transformar, ordenar y filtrar datos XML, y darles formato basndolo en sus valores. XPath identifica partes de un documento XML concreto, como pueden ser sus atributos, elementos, etc. XLink por su lado, describe un camino estndar para aadir hiperenlaces en un archivo XML. Es decir, es un mecanismo de vinculacin a otros documentos XML. Funciona de forma similar a un enlace en una pgina Web, es decir, funciona como lo hara <a href="">, slo que a href es un enlace unidireccional. Sin embargo, XLink permite crear vnculos bidireccionales, lo que implica la posibilidad de moverse en dos direcciones. Esto facilita la obtencin de informacin remota como recursos en lugar de simplemente como pginas Web. XPointer funciona como una sintaxis que apunta a ciertas partes de un documento XML, es como una extensin de XPath. Se utiliza para llegar a ciertas partes de un documento XML. Primero, XLink permite establece el enlace con el recurso XML y luego es XPointer el que va a un punto especfico del documento. Su funcionamiento es muy similar al de los identificadores de fragmentos en un documento HTML ya que se aade al final de una URI y despus lo que hace es encontrar el lugar especificado en el documento XML. Al ser XPointer una extensin de XPath, XPointer tiene todas las ventajas de XPath y adems permite establecer un rango en un documento XML, es decir, con XPointer es posible establecer un punto final y un punto de inicio, lo que incluye todos los elementos XML dentro de esos dos puntos.
57
Finalmente, XQL, lenguaje de consultas, se basa en operadores de bsqueda de un modelo de datos para documentos XML que puede realizar consultas en infinidad de tipos de documentos como son documentos estructurados, colecciones de documentos, bases de datos, estructuras DOM, catlogos, etc. EJEMPLOS Ejemplo de documento XML:
<?xml version="1.0" encoding="ISO-8859-1"?> <libro> <titulo></titulo> <capitulo> <titulo></titulo> <seccion> <titulo></titulo> </seccion> </capitulo> </libro>
58
<h2> <xsl:apply-templates/> </h2> </xsl:template> <!-- Los ttulos de las secciones aparecern como H3 --> <xsl:template match="seccion/titulo"> <h3> <xsl:apply-templates/> </h3> </xsl:template> </xsl:stylesheet>
Cooperacin proveedor productor Como se puede ver en un el siguiente grfico, el estndar XML se puede utilizar como un protocolo de comunicacin entre proveedores y productores
59
60
Describir el modo en el que se procesan las consultas. Conocer el proceso de hallar el mtodo de coste mnimo para evaluar una consulta dada.
TEMAS Y SUBTEMAS: 3.PROCESAMIENTO Y OPTIMIZACIN DE CONSULTAS 3.1 Procesamiento de Consultas 3.2 Optimizacin de Consultas
61
lgebra relacional
Cuando trabajamos con bases de datos, hacemos uso de tablas y sus combinaciones. Para calcular la complejidad de las operaciones que realicemos con ellas utilizamos el lgebra relacional. Se llama lgebra relacional a un conjunto de operaciones simples sobre tablas relacionales, a partir de las cuales se definen operaciones ms complejas mediante composicin. Definen, por tanto, un pequeo lenguaje de manipulacin de datos. El elemento fundamental del modelo relacional de bases de datos es la tabla relacional. Una tabla relacional es una representacin extensional de una relacin definida sobre un cierto dominio. El lgebra relacional la manera como se pueden manipular datos en una Base de Datos. Las operaciones se usan como una representacin intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versin ms optimizada y eficiente de dicha consulta. CONCEPTOS BSICOS Tuplas Una relacin es un tipo especial de conjunto. Las tuplas de una relacin ("filas de una tabla" en el lenguaje usual de bases de datos). Unin compatible Una unin es compatible entre dos relaciones, si ellas poseen el mismo grado y su dominio son los mismos de izquierda a derecha. Grado (Aridad) Nmero de atributos. LAS OPERACIONES BSICAS Cada operador del lgebra acepta una o dos relaciones y retorna una relacin como resultado. y son operadores unarios, el resto de los operadores son binarios. Las operaciones bsicas del lgebra relacional son: Seleccin () Permite seleccionar un subconjunto de tuplas de una relacin (R), todas aquellas que cumplan la(s) condicin(es) P, esto es:
62
Ejemplo:
Selecciona todas las tuplas que contengan Gmez como apellido en la relacin Alumnos. Una condicin puede ser una combinacin booleana, donde se pueden usar , combinndolos con operadores . operadores como: Proyeccin () Permite extraer columnas (atributos) de una relacin, dando como resultado un subconjunto vertical de atributos de la relacin, esto es:
Donde Ejemplo:
Selecciona los atributos Apellido, Semestre y NumeroControl de la relacin Alumnos, mostrados como un subconjunto de la relacin Alumnos Producto cartesiano (x) El producto cartesiano de dos relaciones se escribe como:
y entrega una relacin, cuyo esquema corresponde a una combinacin de todas las tuplas de R con cada una de las tuplas de S, y sus atributos corresponden a los de R seguidos por los de S. Ejemplo:
Muestra una nueva relacin, cuyo esquema contiene cada una de las tuplas de la relacin Alumnos junto con las tuplas de la relacin Maestros, mostrando primero
63
las atributos de la relacin Alumnos seguidos por las tuplas de la relacin Maestros. Unin () La operacin
retorna el conjunto de tuplas que estn en R, o en S, o en ambas. R y S deben ser uniones compatibles. Diferencia (-) La diferencia de dos relaciones, R y S denotada por:
Entrega todas aquellas tuplas que estn en R, pero no en S. R y S deben ser uniones compatibles. Estas operaciones son fundamentales en el sentido en que (1) todas las dems operaciones pueden ser expresadas como una combinacin de stas y (2) ninguna de estas operaciones pueden ser omitidas sin que con ello se pierda informacin. OPERACIONES NO BSICAS Entre los operadores no bsicos tenemos: Interseccin () La interseccin de dos relaciones se puede especificar en funcin de otros operadores bsicos:
La interseccin, como en Teora de conjuntos, corresponde al conjunto de todas las tuplas que estn en R y en S, siendo R y S uniones compatibles. Combinacin ( ) (Natural Join)
64
Esto es mucho ms til que el uso del operador bsico producto cartesiano, pues especifica una regla para la combinacin de los atributos. Divisin (/) Supongamos que tenemos dos relaciones A(x, y) y B(y) donde el dominio de y en A y B, es el mismo. El operador divisin A / B retorna todos los distintos valores de x tales que para todo valor y en B existe una tupla en A. EJEMPLOS Suponga las relaciones o tablas:
Alumno ID 01 11 21 31 41 NOMBRE Pedro Juan Diego Rosita Manuel CIUDAD Santiago Buenos Aires Lima Concepcin Lima EDAD 14 18 12 15 17
Apoderado ID 054 457 354 444 Curso COD 01142 02145 03547 NOMBRE Sicologa Biologa Matemticas FECHA_INICIO 13-01 15-02 01-03 DURACION 15 12 30 VALOR 3.000 2.500 4.000 NOMBRE Vctor Jos Mara Paz FONO 654644 454654 997455 747423 ID_ALUMNO 21 11 31 01
65
Msica Fsica
05-04 20-04
10 15
1.500 3.200
ID_AL 01 01 11 21 41
Mostrar los nombres de los alumnos y su apoderado Primero, realizaremos una combinacin entre alumnos y apoderados (pues necesitamos saber a qu alumno le corresponde tal apoderado). La combinacin realizar un producto cartesiano, es decir, para cada tupla de alumnos (todas las filas de alumnos) har una mezcla con cada una tupla de apoderados y seleccionar aquellas nuevas tuplas en que alumnos.id sea igual a apoderados.id_alumno, esto es:
ID (alumno) NOMBRE (alumno) CIUDAD EDAD ID (apoderado) NOMBRE (apoderado) FONO ID_ALUMNO
01 01 01 01 11
Santiago Santiago Santiago Santiago Buenos Aires Buenos Aires Buenos Aires Buenos Aires
14 14 14 14 18
21 11 31 01 21
11
Juan
18
457
Jos
454654
11
11
Juan
18
354
Mara
997455
31
11
Juan
18
444
Paz
747423
01
66
21 21 21 21 31 31 31 31 41 41 41 41
Diego Diego Diego Diego Rosita Rosita Rosita Rosita Manuel Manuel Manuel Manuel
Lima Lima Lima Lima Concepcin Concepcin Concepcin Concepcin Lima Lima Lima Lima
12 12 12 12 15 15 15 15 17 17 17 17
054 457 354 444 054 457 354 444 054 457 354 444
Vctor Jos Mara Paz Vctor Jos Mara Paz Vctor Jos Mara Paz
654644 454654 997455 747423 654644 454654 997455 747423 654644 454654 997455 747423
21 11 31 01 21 11 31 01 21 11 31 01
Por tanto, el resultado final de la combinacin es: Alumnos Alumnos.ID = Apoderados.ID_ALUMNO Apoderados
ID (alumno) NOMBRE (alumno) CIUDAD EDAD ID (apoderado) NOMBRE (apoderado) FONO ID_ALUMNO
01 11 21 31
14 18 12 15
01 11 21 31
Ahora, aqu debemos mostrar solo el nombre del alumno y el nombre del apoderado, esto lo hacemos con un Proyect o Proyeccin, donde la tabla final sera: Alumnos.NOMBRE,Apoderados.NOMBRE
NOMBRE (alumno) NOMBRE (apoderado)
Pedro
Paz
67
Alumnos.ID
Apoderados
Se lee: Proyecta los nombre de alumnos y nombre de apoderados de los alumnos cuyo ID sea el mismo que el ID_ALUMNO de los apoderados. Mostrar el nombre de los alumnos inscritos y el nombre de los cursos que tomaron Comenzaremos con una combinacin entre los inscritos y los cursos para obtener el nombre de los cursos:
1 2 3 4 5
01 01 11 21 41
15 12 30 12 30
Como podemos observar, la combinacin solo nos entrega las combinaciones entre Inscritos y Cursos en que COD sea igual entre los inscritos y el curso correspondiente. Ahora necesitamos los nombres de los alumnos inscritos. Al resultado anterior (Resultado 1) aplicaremos una nueva combinacin comparando los ID de los alumnos para colocar el nombre adecuado con el estudiante adecuado: Resultado 1
Resultado 1.ID_AL = Alumnos.ID
Alumnos
68
Alumnos
01
Fsica
20-04
15
01
Pedr o Pedr o
14
01
Biologa
15-02
12
01
14
11
Matemt icas
01-03
30
11
Juan
18
21
15-02
12
21
12
41
01-03
30
41
Lima
17
Finalmente con una Proyeccin mostraremos el nombre del alumno y el curso inscrito: Resultado2.NOMBRE (alumno),Resultado2.NOMBRE (curso) Resultado 2 Donde la tabla final sera:
Tabla final NOMBRE (alumno) Pedro Pedro Juan Diego Manuel NOMBRE (curso) Fsica Biologa Matemticas Biologa Matemticas
69
Inscritos 'Inscritos.COD = Cursos.CODCursos 'Resultado1.ID_AL = Alumnos.ID Alumnos Mostrar los nombres y precios de los cursos inscritos con valor menor a 3.000
Los lenguajes de especificacin son lenguajes de manipulacin de datos que permiten manipular conjuntos.
70
Lo nico que est aportando el programador es la especificacin de los datos requeridos (qu datos requiere?), pero a diferencia de la obtencin de datos en un ambiente de archivos convencionales no especifica el algoritmo o mtodo de obtencin (cmo o por qu camino obtenerlos?). Se plantea pues: Quin o qu artefacto y cmo llega a fijarse el mtodo de obtencin de los datos para una especificacin o consulta?; la respuesta es El procesador de consultas (PQ) del gestor de la base de datos relacional; PQ asociar la mejor alternativa posible de ejecucin a una especificacin: el plan de ejecucin. El plan de ejecucin ser un programa en cdigo a bajo nivel (cdigo mquina o cdigo eficiente (al menos ms que el cdigo fuente de la especificacin de la consulta) interpretable por el SGBD) generado por el PQ para la especificacin o requerimiento de la consulta deseada. Claro est que este nuevo escenario no slo goza de ventajas (simplificacin del paradigma de programacin, pues no hay que pensar en mtodos) y acarrea una problemtica a resolver en el seno del SGBD: Cmo seleccionar el mejor plan de ejecucin posible de entre todos los que existen? Ejemplo Sea la base de datos de una bodega:
El tiempo de ejecucin de un proceso que manipula datos podra expresarse en trminos de una funcin que implica, fundamentalmente, tiempo de ejecucin en CPU y tiempo asociado a intercambiar entradas/salidas con el medio de almacenamiento; podra expresarse el tiempo de ejecucin de un proceso P: t(P) como una funcin:
El factor ms relevante o influyente en este tiempo de ejecucin es el nmero de entradas/salidas requeridas (NIOs); es decir, la influencia de los otros factores es UNIVERSIDAD VASCO DE QUIROGA 71
casi despreciable cuando se trata de resolver consultas en un proceso P que maneja volmenes significativos en una base de datos de gran tamao; dicho de otro modo:
El objetivo ser reducir el nmero de operaciones de entrada/salida requeridas para resolver la consulta; cuanto menor sea el tamao de los resultados intermedios necesarios para resolver una consulta mayor ser la probabilidad de que estos puedan alojarse en RAM y menor ser tambin el nmero de IOs necesarios, luego el objetivo claro ser: disminuir el tamao de los resultados intermedios hasta obtener el resultado final de la consulta. Con esta directiva podramos comparar las dos alternativas analizadas para la consulta q; podra expresarse:
luego si se reduce el tamao de los resultados intermedios, podr afirmarse que una alternativa tendr un tiempo de ejecucin menor (en un escenario monotarea o concurrente). Bajo una mtrica, para este ejemplo, de las relaciones:
luego,
y, por tanto, la primera alternativa es sustancialmente mejor, en comportamiento de tiempo de ejecucin o througput3, que la segunda.
2 3
El nmero de tuplas de cada relacin que es necesario mantener en memoria Se conoce con este trmino al flujo de transacciones por segundo que es capaz de resolver el gestor de tareas del SGBD; se expresa en nmero de transacciones por segundo. Cuanto menos
72
Se ha abierto un escenario simplificado de la problemtica del proceso de consultas. En el tema se plantear detalladamente el proceso de consultas en bases de datos relacionales y la algortmica necesaria para obtener buenos planes de ejecucin. PROCESO DE CONSULTAS RELACIONALES El problema planteado estriba en conseguir un plan de ejecucin a partir de una consulta expresada en un lenguaje de especificacin (p.ej. SQL). Un plan de ejecucin es un programa de bajo nivel generado por el subsistema de proceso de consultas (PQ) del SGBD. Si es un lenguaje de especificacin en el que puede especificarse la consulta q; es decir, se parte de una expresin q() y se pretende obtener un plan de ejecucin (q), el proceso es el siguiente: i(q) es un programa algebraico seleccionado para la consulta q(); este programa algebraico no es ejecutable, as que requiere la asignacin de cdigo eficiente para las distintas operaciones algebraicas. La fase de optimizacin consistir en asignar este cdigo eficiente a los distintos operadores que forman parte del programa algebraico seleccionado en la fase anterior. Se requiere informacin del esquema interno y, segn el enfoque de optimizacin, puede requerirse el mantenimiento de estadsticas de volumetra de la base de datos (mtricas de los objetos catalogados).
tiempo requiera de ejecucin una tarea o transaccin, mejor ser el througput y por tanto mejor el comportamiento concurrente.
73
Una vez generado el plan (q), este podr ejecutarse con el suministro de parmetros que convenga (generacin dinmica de planes de ejecucin o enfoque de interpretacin) o bien catalogarse y cargarse en memoria las veces que sea necesario (generacin esttica de planes de ejecucin o enfoque de compilacin). Se estudiarn las dos fases de descomposicin y optimizacin de consultas. DESCOMPOSICIN DE CONSULTAS El objetivo es generar un programa algebraico i(q) partiendo de la expresin de la consulta en un lenguaje de especificacin contra un esquema externo: q(). Ya se ha visto en la introduccin que, en general, para una consulta q() puede existir un espacio de soluciones (no necesariamente finito) o expresiones algebraicas Q q() ={i(q)}. El primer problema, pues, es seleccionar un programa algebraico i(q) Q q(), lo que no se presente como trivial ni inmediato. El camino de esta seleccin o bsqueda no pasa por la bsqueda exhaustiva ni por mtodos de exploracin de dicho espacio de soluciones sino ms bien por la aplicacin de heursticas4 que permitan seleccionar una solucin admisible. Se contemplan una serie de etapas hasta llegar a dicho programa algebraico con el menor coste posible, por lo que si se detectan inconvenientes que no permitan continuar, el proceso abortar en la etapa correspondiente. En estas heursticas se consideran una serie de etapas que se estudian a continuacin: Normalizacin de expresiones. Anlisis semntico. Simplificacin de expresiones. Reestructuracin algebraica.
Las tres primeras etapas son problemas bien tratados en el seno de los procesadores de lenguaje y se revisarn en este documento; la ltima, la reestructuracin algebraica, ser objeto de estudio en detalle. NORMALIZACIN DE EXPRESIONES En esta etapa se verifica la sintaxis de la expresin q(). La normalizacin busca el ordenamiento de partculas en q(). Son comnmente empleadas formas prenex, conjuntivas o disyuntivas.
4
Aplicacin heurstica: Se define como una solucin sencilla y eficiente para tomar deciciones.
74
Forma prenex La forma prenex busca el agrupamiento de cuantificadores y la reduccin de parntesis: q( ) x (F (y (G(x, y)))) no est en forma prenex. q( ) xy (F (G(x, y))) est en forma prenex. Forma conjuntiva La forma conjuntiva permite generar subconsultas cuyos resultados se pueden fusionar mediante joins y/o restricciones. q( ) (P11 P12.. P1n ) (P21 P22.. P2n )...(P s1 Ps2.. Psn ) equivale a resolver(generar resultados intermedios para ellas) las subconsultas lq1( ) (P11 P12.. P1n),q2( ) (P21 P22.. P2n),..qs( ) (Ps1 Ps2.. Psn) y fusionar dichos resultados. Forma disyuntiva La forma disyuntiva permite generar subconsultas cuyos resultados se pueden fusionar mediante uniones. q( ) (P11 P12.. P1n ) (P21 P22.. P2n )...(P s1 Ps2.. Psn ) equivale a resolver(generar resultados intermedios para ellas) las subconsultas q1( ) (P11 P12.. P1n),q2( ) (P21 P22.. P2n),..qs( ) (Ps1 Ps2.. Psn) y fusionar dichos resultados mediante unin de los mismos. ANLISIS SEMNTICO Objetivos del anlisis semntico de expresiones Una consulta puede ser contrastada contra el esquema conceptual de la BD con objeto de verificar la consistencia de las estructuras, contra las restricciones de la misma BD y contra s misma con objeto de analizar su consistencia. Este anlisis es independiente de la extensin o estado almacenado en la BD, por lo que, si puede derivarse que dicha consulta ser siempre vaca entonces dicha consulta ser invalidada semnticamente. Se contemplan dos herramientas bsicas para el anlisis de consistencia semntica de expresiones: Grafos de conexin de relaciones (GCR) y grafos de conexin de atributos (GCA).
75
Grafos de conexin de relaciones (GCR) Ms que invalidar la consulta, se trata de dar un aviso (nivel warning de mensaje, por debajo del nivel de error; es decir la consulta puede ser ejecutada pero el resultado es dudoso; p.ej. Warning NULLWHERE clause in SQL expression) en casos de olvidos de clusulas de conectividad entre relaciones en una expresin lgica (p.ej. se olvida especificar un join o una clusula de ligadura). Un GCR es un grafo que dar un camino conexo (sin prdida de conexiones) desde las relaciones hasta el resultado. En nodos se representan las relaciones y el resultado como nodo terminal; los arcos entre nodos recogen las condiciones de join y los arcos recursivos sobre un nodo las restricciones sobre cada relacin; el ltimo arco de conexin entre nodos es la proyeccin que define el resultado. Ejemplo 1: GCR conexo
El grafo es conexo en el camino que asocia las relaciones con el resultado. Ejemplo 2: GCR inconexo
76
El grafo no es conexo en el camino que asocia las relaciones con el resultado. No existe condicin de join entre Cosechas y Vinos, con lo que se est generando una operacin algebraica producto cartesiano entre ambas. Las consultas disyuntivas requieren la descomposicin en tantos GCR como disyunciones (uniones) contemple la consulta. Cada subconsulta (conjuntiva) es analizada mediante un GCR. Grafos de conexin de atributos (GCA, GNCA) Se pretende verificar la consistencia de condiciones (en restricciones y join). Para la consulta
77
Es ms utilizado otro tipo de grafo denominado grafo normalizado de conexin de atributos (GNCA, que se deben a Ronsenkrantz) donde se representan inecuaciones del tipo xy+c con un arco orientado entre los dos nodos x e y. De este modo, pueden diferenciarse restricciones de join del modo siguiente:
Las restricciones entre los atributos y un nodo singular con valor cero 0; as, se representan:
La utilidad de los GNCA es verificar que no existen ciclos de suma negativa, pues equivale a expresar inecuaciones contradictorias: Ejemplo: (A13)(A12) representa condiciones contradictorias en una consulta conjuntiva; en este caso su GNCA ser:
78
Ya que (A13)(0A13) Si se realiza la suma en este ciclo, se obtiene: -13+12=-1. Con esta verificacin es sencillo detectar inconsistencias conjuntivas de predicados.
Ejemplo: contraste semntico con restricciones de integridad. Si se supone almacenada en la metabase de datos la restriccin de integridad Is{(cosecha=1982)(grado>12)}, entonces la consulta:
es una consulta cuya condicin es contradictoria con Is , de modo que para cualquier estado de la BD se generar un resultado vaco para q, luego no tiene sentido generar el plan de ejecucin de dicha consulta. El plan debe ser rechazado por razn de contradiccin semntica con la metabase de datos, ya que el grado de un vino de la cosecha de 1982 no puede ser simultneamente mayor que doce y menor que doce. El GNCA debe resolverse para la conjuncin de la condicin de la consulta y las condiciones de Is.
79
Existe un ciclo de suma negativa para las condiciones del grado, luego saltara la excepcin de contradiccin en el anlisis semntico. SIMPLIFICACIN DE EXPRESIONES Con la simplificacin de expresiones se pretende reducir la complejidad de la consulta que escribe el usuario utilizando, fundamentalmente, equivalencias o leyes lgicas basadas en el lgebra de Boole, Leyes de Morgan, tales como:
El objeto es eliminar redundancias en la propia expresin o en contraste con reglas de integridad de la metabase de datos. Ejemplo
REESTRUCTURACIN ALGEBRAICA Una vez normalizada, contrastada semnticamente y simplificada la expresin de una consulta q(), el problema estriba en la seleccin de un programa algebraico dentro del espacio de soluciones Q q() (AR)={i(q)}.
80
La bsqueda exhaustiva en este espacio no es admisible por razones de coste. La solucin es la implementacin de heursticas; en este caso, la heurstica es conocida como reestructuracin algebraica, consistente en representar un programa algebraico y ordenar (permutar) adecuadamente los operadores de dicho programa. La heurstica tiene en cuenta las siguientes directivas: Complejidad relativa de ejecucin de las operaciones algebraicas; lo que redunda en el coste (tiempo) de ejecucin de dichas operaciones. Reduccin del tamao de los resultados intermedios en cada etapa de ejecucin del programa algebraico.
Complejidad de operaciones algebraicas Se entiende por complejidad de una operacin el coste o tiempo que tardara en ejecutarse dicha operacin en una mquina. A efectos comparativos entre operaciones tiene ms sentido expresar el coste, pues el tiempo de ejecucin depender de muchos ms factores: concurrencia, estados de las redes, situacin del sistema operativo, etc., etc.; sin embargo por coste se entender la funcin que estima el consumo de recursos en funcin del tamao de las relaciones, del tipo de operacin y del modelo interno (existencia de ndices, rutinas de hashing, distribucin de fragmentos, encriptacin, etc.) de la base de datos. As, dadas las relaciones R y R y siendo Card(R) y Card(R) los tamaos respectivos de dichas relaciones expresados en nmero de tuplas (bajo supuesto de tamaos similares de las tuplas de R y R), se pueden estimar los siguientes rdenes de magnitud4 de contribucin o medida de la complejidad de cada operacin:
Mientras que restricciones y proyecciones tienen costes que varan linealmente con el tamao de las relaciones, el producto cartesiano tiene una funcin cuadrtica y la combinacin (join) un coste semicuadrtico.
81
Las operaciones ms comunes en las consultas son los joins entre relaciones; por lo que se prestar especial atencin a su orden de resolucin. Reglas de equivalencia en aplicacin de operadores algebraicos Se define un rbol algebraico como un tipo de rbol que representa el orden de aplicacin de operadores en un programa algebraico, desde la base hasta la cima que expresa el resultado. Ejemplo:
Un posible programa algebraico queda expresado por el rbol siguiente: En este rbol se representan los joins entre relaciones, las restricciones sobre la regin y la cantidad y la proyeccin de vino como resultado.
Se pueden establecer las siguientes reglas de equivalencia que permitirn reordenar expresiones algebraicas: R1. Conmutatividad de joins.
82
83
Mtodos de reestructuracin algebraica La heurstica que se aplicar trata de minimizar el tamao de los resultados intermedios desde la base del rbol algebraico. Adems se intenta resolver primero las operaciones menos costosas (restricciones y proyecciones). Con esto, puede plantearse el siguiente mtodo: 1. Separar restricciones compuestas (predicados compuestos) en sucesivas restricciones de un predicado (R3). 2. Desplazar restricciones hacia la base del rbol (R4,R5,R6) tanto como sea posible. 3. Agrupar restricciones sobre la misma relacin (R3). 4. Desplazar proyecciones hacia la base del rbol (R7,R8) tanto como sea posible. 5. Agrupar proyecciones sobre las mismas relaciones, eliminando las proyecciones redundantes. Si se aplica esta heurstica al rbol anterior:
se obtiene este rbol equivalente que representa un programa algebraico ms eficiente que el programa algebraico de partida.
84
Las estrategias barajan mtodos alternativos para la descomposicin o programa algebraico. Lo normal es asignar un mtodo para cada operador algebraico del programa (se asignan mtodos operacin a operacin) en funcin de las condiciones del esquema interno de la base de datos. Planes dinmicos La generacin de un plan dinmico corresponde a un enfoque de interpretacin de consultas. El plan es generado en el momento en que se especifica la consulta. El procesador de consultas realiza las fases de descomposicin, optimizacin y ejecucin de dicha consulta en cascada; es decir, una a continuacin de otra. El plan de ejecucin se deja residente en memoria y slo es utilizado para esa sesin. Cada vez que se procesa el cdigo fuente de especificacin de la consulta se genera un nuevo plan de ejecucin. Ejemplos de entornos o ambientes de generacin de planes dinmicos son las interfaces de consulta por ejemplo (QBE: Query by Example) de los SGBDs o de las herramientas de desarrollo utilizadas por profesionales (p.ej. SqlWorksheet de
85
Oracle, generadores de consultas de Visual Studio.Net, generador de vistas de Access, etc.). Planes estticos Los planes estticos pueden ser asimilados a un enfoque de compilacin y catalogacin del plan de ejecucin. El plan de ejecucin se genera en un momento distinto al de ejecucin del mismo; es decir, la misin inicial del procesador de consultas es generar dicho plan y catalogarlo (en la misma BD o en libreras al efecto). Con posterioridad, este plan ser cargado y ejecutado en memoria. Ejemplos de este enfoque son las compilaciones de programas que acceden a la BD y que sern ejecutadas por mltiples usuarios en entornos concurrentes y sometidos a cargas relevantes. Comparacin enfoque esttico/dinmico En la siguiente tabla se recogen las caractersticas ms relevantes de cada enfoque:
OPTIMIZACIN BASADA EN REGLAS (RULE BASED) La estrategia de optimizacin basada en reglas slo tiene en cuenta los caminos de acceso existentes en el esquema interno de la BD (ndices primarios, secundarios, clusters, rutinas de hashing, etc.), un conjunto predefinido de reglas (mtodos alternativos) y la manera de especificar las condiciones en la consulta (constantes, variables, uso de funciones, etc.). Es el enfoque clsico de optimizacin.
86
OPTIMIZACIN BASADA EN COSTES (COST BASED) Problemtica de estimacin de costos La optimizacin basada en costes maneja caminos de acceso, como en el caso de optimizacin por reglas, e informacin volumtrica (tamaos) sobre las tablas manejadas en cada consulta. El objetivo es maximizar el througput o minimizar el uso de recursos necesarios para procesar la consulta (minimizar el tamao de resultados intermedios para ejecutar cada operador algebraico). Para cada resultado intermedio es necesario evaluar costes de los mtodos alternativos y el tamao de dicho resultado intermedio. Para ello es fundamental mantener estadsticas en la BD, siendo usual el mantenimiento de las siguientes mtricas de relaciones: Card(R): Nmero de tuplas de la relacin R. Tam(R): Tamao de una tupla de R. Dom(A): Cardinalidad del dominio del atributo A. Ndist(A): Nmero de valores distintos del atributo A. Max(A): Valor mximo del atributo A. Min(A): Valor mnimo del atributo A.
Mantenimiento de estadsticas de la BD El mtodo de optimizacin basado en costes tiene como servidumbre ms importante el mantenimiento de estadsticas de la base de datos. Esto aade una sobrecarga adicional al sistema, pues en operaciones de actualizacin, adems de actualizar las zonas de datos e ndices, ser necesario actualizar los catlogos del sistema con la informacin relativa a estas mtricas. Para reducir el impacto de esta sobrecarga es usual realizar en diferido la recopilacin de informacin estadstica (p.ej. diariamente en horas donde hay menos actividad transaccional sobre el sistema). En entornos SQL es el comando ANALYZE el que permite capturar esta informacin.
87
Describir los mecanismos de control de concurrencia que ayudan a implementar la propiedad de aislamiento.
88
Introduccin
El control de concurrencia trata con los problemas de aislamiento y consistencia del procesamiento de transacciones. El control de concurrencia distribuido de una DDBMS asegura que la consistencia de la base de datos se mantiene en un ambiente distribuido multiusuario. Si las transacciones son internamente consistentes, la manera ms simple de lograr este objetivo es ejecutar cada transaccin sola, una despus de otra. Sin embargo, esto puede afectar grandemente el desempeo de un DDBMS dado que el nivel de concurrencia se reduce al mnimo. El nivel de concurrencia, el nmero de transacciones activas, es probablemente el parmetro ms importante en sistemas distribuidos. Por lo tanto, los mecanismos de control de concurrencia buscan encontrar un balance entre el mantenimiento de la consistencia de la base de datos y el mantenimiento de un alto nivel de concurrencia. Si no se hace un adecuado control de concurrencia, se pueden presentar dos anomalas. En primer lugar, se pueden perder actualizaciones provocando que los efectos de algunas transacciones no se reflejen en la base de datos. En segundo trmino, pueden presentarse recuperaciones de informacin inconsistentes.
89
hbridos. El grupo de los algoritmos optimistas se clasifican por basados en candados y basados en estampas de tiempo
ALGORITMOS BASADOS EN CANDADOS En los algoritmos basados en candados, las transacciones indican sus intenciones solicitando candados al despachador (llamado el administrador de candados). Los candados son de lectura (rl), tambin llamados compartidos, o de escritura (wl), tambin llamados exclusivos. Como se aprecia en la tabla siguiente, los candados de lectura presentan conflictos con los candados de escritura, dado que las operaciones de lectura y escritura son incompatibles. rl wl rl wl si no no no
En sistemas basados en candados, el despachador es un administrador de candados (LM). El administrador de transacciones le pasa al administrador de candados la operacin sobre la base de datos (lectura o escritura) e informacin asociada, como por ejemplo el elemento de datos que es accesado y el identificador de la transaccin que est enviando la operacin a la base de datos.
90
El administrador de candados verifica si el elemento de datos que se quiere accesar ya ha sido bloqueado por un candado. Si candado solicitado es incompatible con el candado con que el dato est bloqueado, entonces, la transaccin solicitante es retrasada. De otra forma, el candado se define sobre el dato en el modo deseado y la operacin a la base de datos es transferida al procesador de datos. El administrador de transacciones es informado luego sobre el resultado de la operacin. La terminacin de una transaccin libera todos los candados y se puede iniciar otra transaccin que estaba esperando el acceso al mismo dato. CANDADOS DE DOS FASES (2PL) En los candados de dos fases una transaccin le pone un candado a un objeto antes de usarlo. Cuando un objeto es bloqueado con un candado por otra transaccin, la transaccin solicitante debe esperar. Cuando una transaccin libera un candado, ya no puede solicitar ms candados. As una transaccin que utiliza candados de dos fases se comporta como en la figura siguiente. En la primera fase solicita y adquiere todos los candados sobre los elementos que va a utilizar y en la segunda fase libera los candados obtenidos uno por uno.
La importancia de los candados de dos fases es que se ha demostrado de manera terica que todos las calendarizaciones generadas por algoritmos de control de concurrencia que obedecen a los candados de dos fases son serializables. Puede suceder que si una transaccin aborta despus de liberar un candado, otras transacciones que hayan accesado el mismo elemento de datos aborten tambin provocando lo que se conoce como abortos en cascada. Para evitar lo anterior, los despachadores para candados de dos fases implementan lo que se conoce como los candados estrictos de dos fases en los cuales se liberan todos los candados juntos cuando la transaccin termina (con commit o aborta). El comportamiento anterior se muestra en la siguiente figura.
91
CANDADOS DE DOS FASES CENTRALIZADOS En sistemas distribuidos puede que la administracin de los candados se dedique a un solo nodo del sistema, por lo tanto, se tiene un despachador central el cual recibe todas las solicitudes de candados del sistema. En la Figura 6.4 se presenta la estructura de la comunicacin de un administrador centralizado de candados de dos fases. La comunicacin se presenta entre el administrador de transacciones del nodo en donde se origina la transaccin (llamado el coordinador TM), el administrador de candados en el nodo central y los procesadores de datos (DP) de todos los nodos participantes. Los nodos participantes son todos aquellos en donde la operacin se va a llevar a cabo.
La crtica ms fuerte a los algoritmos centralizados es el "cuello de botella" que se forma alrededor del nodo central reduciendo los tiempos de respuesta de todo el sistema. Ms an, su disponibilidad es reducida a cero cuando se presentan fallas en el nodo central.
92
CANDADOS DE DOS FASES DISTRIBUIDOS En los candados de dos fases distribuidos se presentan despachadores en cada nodo del sistema. Cada despachador maneja las solicitudes de candados para los datos en ese nodo. Una transaccin puede leer cualquiera de las copias replicada del elemento x, obteniendo un candado de lectura en cualquiera de las copias de x. La escritura sobre x requiere que se obtengan candados para todas las copias de x. La comunicacin entre los nodos que cooperan para ejecutar una transaccin de acuerdo al protocolo de candados distribuidos de dos fases se presenta en la siguiente figura. Los mensajes de solicitud de candados se envan a todos los administradores de candados que participan en el sistema. Las operaciones son pasadas a los procesadores de datos por los administradores de candados. Los procesadores de datos enva su mensaje de "fin de operacin" al administrador de transacciones coordinador.
ALGORITMOS BASADOS EN ESTAMPAS DE TIEMPO A diferencia de los algoritmos basados en candados, los algoritmos basados en estampas de tiempo no pretenden mantener la seriabilidad por exclusin mutua. En lugar de eso, ellos seleccionan un orden de serializacin a priori y ejecutan las transacciones de acuerdo a ellas. Para establecer este ordenamiento, el administrador de transacciones le asigna a cada transaccin Ti una estampa de tiempo nica ts( Ti ) cuando sta inicia. Una estampa de tiempo es un identificador simple que sirve para identificar cada transaccin de manera nica. Otra propiedad de las estampas de tiempo es la monoticidad, esto es, dos estampas de tiempo generadas por el mismo administrador de transacciones deben ser monotonicamente crecientes.
93
As, las estampas de tiempo son valores derivados de un dominio totalmente ordenado. Existen varias formas en que las estampas de tiempo se pueden asignar. Un mtodo es usar un contador global monotonicamente creciente. Sin embargo, el mantenimiento de contadores globales es un problema en sistemas distribuidos. Por lo tanto, es preferible que cada nodo asigne de manera autnoma las estampas de tiempos basndose en un contador local. Para obtener la unicidad, cada nodo le agrega al contador su propio identificador. As, la estampa de tiempo es un par de la forma <contador local, identificador de nodo> Note que el identificador de nodo se agrega en la posicin menos significativa, de manera que, ste sirve solo en el caso en que dos nodos diferentes le asignen el mismo contador local a dos transacciones diferentes. El administrador de transacciones asigna tambin una estampa de tiempo a todas las operaciones solicitadas por una transaccin. Ms an, a cada elemento de datos x se le asigna una estampa de tiempo de escritura, wts(x), y una estampa de tiempo de lectura, rts(x); sus valores indican la estampa de tiempo ms grande para cualquier lectura y escritura de x, respectivamente. El ordenamiento de estampas de tiempo (TO) se realiza mediante la siguiente regla: Regla TO: dadas dos operaciones en conflicto, Oij y Okl, perteneciendo a las transacciones Ti y Tk, respectivamente, Oij es ejecutada antes de Okl, si y solamente si, ts(Ti) < ts(Tk). En este caso Ti se dice ser un transaccin ms vieja y Tk se dice ser una transaccin ms joven. Dado este orden, un conflicto entre operaciones se puede resolver de la siguiente forma: for Ri(x) do begin for Wi(x) do begin if ts(Ti) < wts( x ) then if ts(Ti) < rts(x) and reject Ri(x) ts(Ti) < wts(x) then else reject Wi(x) accept Ri(x) else rts(x) ts(Ti) accept Wi(x) end wts(x) ts(Ti) end La accin de rechazar una operacin, significa que la transaccin que la envi necesita reiniciarse para obtener la estampa de tiempo ms reciente del dato e intentar hacer nuevamente la operacin sobre el dato.
94
Ordenamiento conservador por estampas de tiempo El ordenamiento bsico por estampas de tiempo trata de ejecutar una operacin tan pronto como se recibe una operacin. As, la ejecucin de las operaciones es progresiva pero pueden presentar muchos reinicios de transacciones. El ordenamiento conservador de estampas de tiempo retrasa cada operacin hasta que exista la seguridad de que no ser reiniciada. La forma de asegurar lo anterior es sabiendo que ninguna otra operacin con una estampa de tiempo menor puede llegar al despachador. Un problema que se puede presentar al retrasar las operaciones es que sto puede inducir la creacin de interbloqueos (deadlocks). Ordenamiento por estampas de tiempo mltiples Para prevenir la formacin de interbloqueos se puede seguir la estrategia siguiente. Al hacer una operacin de escritura, no se modifican los valores actuales sino se crean nuevos valores. As, puede haber copias mltiples de un dato. Para crear copias nicas se siguen las siguientes estrategias de acuerdo al tipo de operacin de que se trate: Una operacin de lectura Ri(x) se traduce a una operacin de lectura de x de una sola versin encontrando la versin de x, digamos xv, tal que, ts(xv) es la estampa de tiempo ms grande que tiene un valor menor a ts(Ti). Una operacin de escritura Wi(x) se traduce en una sola version, Wi(xw), y es aceptada si el despachador no ha procesado cualquier lectura Rj(xr), tal que, ts(Ti) < ts(xr) < ts(Tj) CONTROL DE CONCURRENCIA OPTIMISTA Los algoritmos de control de concurrencia discutidos antes son por naturaleza pesimistas. En otras palabras, ellos asumen que los conflictos entre transacciones son muy frecuentes y no permiten el acceso a un dato si existe una transaccin conflictiva que accesa el mismo dato. As, la ejecucin de cualquier operacin de una transaccin sigue la secuencia de fases: validacin (V), lectura (R), cmputo (C) y escritura (W) (ver Figura). Los algoritmos optimistas, por otra parte, retrasan la fase de validacin justo antes de la fase de escritura De esta manera, una operacin sometida a un despachador optimista nunca es retrasada.
95
Las operaciones de lectura, cmputo y escrita de cada transaccin se procesan libremente sin actualizar la base de datos corriente. Cada transaccin inicialmente hace sus cambios en copias locales de los datos. La fase de validacin consiste en verificar si esas actualizaciones conservan la consistencia de la base de datos. Si la respuesta es positiva, los cambios se hacen globales (escritos en la base de datos corriente). De otra manera, la transaccin es abortada y tiene que reiniciar Los mecanismos optimistas para control de concurrencia fueron propuestos originalmente con el uso de estampas de tiempo. Sin embargo, en este tipo de mecanismos las estampas de tiempo se asocian nicamente con las transacciones, no con los datos. Ms an, las estampas de tiempo no se asignan al inicio de una transaccin sino justamente al inicio de su fase de validacin. Esto se debe a que las estampas se requieren nicamente durante la fase de validacin. Cada transaccin Ti se subdivide en varias subtransacciones, cada una de las cuales se puede ejecutar en nodos diferentes. Sea Tij una subtransaccin de Ti que se ejecuta en el nodo j. Supongamos que las transacciones se ejecutan de manera independiente y ellas alcanzan el fin de sus fases de lectura. A todas las subtransacciones se les asigna una estampa de tiempo al final de su fase de lectura. Durante la fase de validacin se realiza una prueba de validacin, si una transaccin falla, todas las transacciones se rechazan. La prueba de validacin se realiza con una de las siguientes reglas: 1. Si todas las transacciones Tk, tales que, ts( Tk ) < ts( Tij ), han terminado su fase de escritura antes que Tij ha iniciado su fase de lectura entonces la validacin tiene xito. En este caso la ejecucin de las transacciones es completamente serial como se muestra en la Figura 6.7a.
96
2. Si existe alguna transaccin Tk, tal que, ts( Tk ) < ts( Tij ) y la cual completa su fase de escritura mientras Tij est en su fase de lectura, entonces, la validacin tiene xito si WS(Tk ) RS(Tij ) = . En este caso, las fases de lectura y escritura se traslapan, como se muestra en la Figura 6.7b, pero Tij no lee datos queson escritos por Tk. 3. Si existe alguna transaccin Tk, tal que, ts( Tk ) < ts( Tij ) y la cual completa su fase de lectura antes que Tij termine su fase de lectura, entonces, la validacin tiene xito si WS(Tk ) RS(Tij ) = y WS(Tk ) WS(Tij ) = . En este caso, las fases de lectura se traslapan, como se muestra en la Figura 6.7c, pero las transacciones no accesan datos comunes.
97
TEMAS Y SUBTEMAS: 5.SISTEMA DE RECUPERACIN 5.1 Esquema de Recuperacin, el cul es responsable de la restauracin de la base de datos al estado consistente previo al fallo.
98
99
Ejemplo Considere la siguiente consulta en SQL para incrementar el 10% del presupuesto del proyecto CAD/CAM de la base de datos de ejemplo.
UPDATE J SET BUDGET = BUDGET*1.1 WHERE JNAME = "CAD/CAM"
Esta consulta puede ser especificada, usando la notacin de SQL, como una transaccin otorgndole un nombre:
Begin_transaction ACTUALIZA_PRESUPUESTO begin UPDATE J SET BUDGET = BUDGET*1.1 WHERE JNAME = "CAD/CAM" end.
Ejemplo Considere una agencia de reservaciones para lneas areas con las siguientes relaciones:
FLIGHT( FNO, DATE, SRC, DEST, STSOLD, CAP ) CUST( CNAME, ADDR, BAL ) FC( FNO, DATE, CNAME, SPECIAL )
Una versin simplificada de una reservacin tpica puede ser implementada mediante la siguiente transaccin:
Begin_transaction Reservacin begin input( flight_no, date, customer_name ); EXEC SQL UPDATE FLIGHT SET STSOLD = STSOLD + 1 WHERE FNO = flight_no AND DATE = date EXEC SQL INSERT INTO FC( FNAME, DATE, CNAME, SPECIAL ) VALUES (flight_no, date, customer_name, null ) output("reservacin terminada"); end.
100
CONDICIONES DE TERMINACIN DE UNA TRANSACCIN Una transaccin siempre termina, aun en la presencia de fallas. Si una transaccin termina de manera exitosa se dice que la transaccin hace un commit (se usar el trmino en ingls cuando no exista un trmino en espaol que refleje con brevedad el sentido del trmino en ingls). Si la transaccin se detiene sin terminar su tarea, se dice que la transaccin aborta. Cuando la transaccin es abortada, su ejecucin es detenida y todas sus acciones ejecutadas hasta el momento son deshechas (undone) regresando a la base de datos al estado antes de su ejecucin. A esta operacin tambin se le conoce como rollback. Ejemplo Considerando de nuevo el ejemplo anterior, veamos el caso cuando no existen asientos disponibles para hacer la reservacin.
Begin_transaction Reservacin begin input( flight_no, date, customer_name ); EXEC SQL SELECT STSOLD, CAP INTO temp1, temp2 FROM FLIGHT WHERE FNO = flight_no AND DATE = date if temp1 = temp2 then output( "no hay asientos libres" ) Abort else EXEC SQL UPDATE FLIGHT SET STSOLD = STSOLD + 1 WHERE FNO = flight_no AND DATE = date EXEC SQL INSERT INTO FC( FNAME, DATE, CNAME, SPECIAL ) VALUES (flight_no, date, customer_name, null ) Commit output("reservacin terminada"); endif end.
CARACTERIZACIN DE TRANSACCIONES Observe que en el ejemplo anterior las transacciones leen y escriben datos. Estas acciones se utilizan como base para caracterizar a las transacciones. Los elementos de datos que lee una transaccin se dice que constituyen el conjunto de lectura (RS).
101
Similarmente, los elementos de datos que una transaccin escribe se les denominan el conjunto de escritura (WS). Note que los conjuntos de lectura y escritura no tienen que ser necesariamente disjuntos. La unin de ambos conjuntos se le conoce como el conjunto base de la transaccin (BS = RS U WS). Ejemplo Los conjuntos de lectura y escritura de la transaccin del ejemplo anterior son:
RS[Reservacin] = { FLIGHT.STSOLD, FLIGHT.CAP } WS[Reservacin] = { FLIGHT.STSOLD, FC.FNO, FC.DATE, FC.NAME, FC.SPECIAL }
FORMALIZACIN DEL CONCEPTO DE TRANSACCIN Sea Oij(x) una operacin Oj de la transaccin Ti la cual trabaja sobre alguna entidad x. Oj {read, write} y Oj es una operacin atmica, esto es, se ejecuta como una unidad indivisible. Se denota por OSi = U j Oij al conjunto de todas las operaciones de la transaccin Ti. Tambin, se denota por Ni la condicin de terminacin para Ti, donde, Ni {abort, commit}. La transaccin Ti es un orden parcial, Ti = { i, <i }, donde i = OSi U {Ni} Para cualesquiera dos operaciones, Oij, Oik OSi, si Oij = R(x) y Oik = W(x) para cualquier elemento de datos x, entonces, Oij <i Oik Oik <i Oij Oij OSi, Oij <i Ni Ejemplo Considere una transaccin simple T que consiste de los siguientes pasos: Read( x ) Read( y ) xx+y Write( x ) Commit La especificacin de su transaccin de acuerdo con la notacin formal que se ha introducido es la siguiente: = { R(x), R(y), W(x), C } <i = { (R(x), W(x)), (R(y), W(x)), (W(x), C), (R(x), C), (R(y), C) }
102
La relacin de ordenamiento especifica el orden relativo de todas las operaciones con respecto a la condicin de terminacin. Esto se debe a la tercera condicin de la definicin de transaccin. Tambin note que no se define el ordenamiento entre cualquier par de operaciones, esto es, debido a que se ha definido un orden parcial.
103
Tipos de Transacciones
Las transacciones pueden pertenecer a varias clases. Aun cuando los problemas fundamentales son los mismos para las diferentes clases, los algoritmos y tcnicas que se usan para tratarlas pueden ser considerablemente diferentes. Las transacciones pueden ser agrupadas a lo largo de las siguientes dimensiones: reas de aplicacin. En primer lugar, las transacciones se pueden ejecutar en aplicaciones no distribuidas. Las transacciones que operan en datos distribuidos se les conocen como transacciones distribuidas. Por otro lado, dado que los resultados de una transaccin que realiza un commit son durables, la nica forma de deshacer los efectos de una transaccin con commit es mediante otra transaccin. A este tipo de transacciones se les conoce como transacciones compensatorias. Finalmente, en ambientes heterogneos se presentan transacciones heterogneas sobre los datos. Tiempo de duracin. Tomando en cuenta el tiempo que transcurre desde que se inicia una transaccin hasta que se realiza un commit o se aborta, las transacciones pueden ser de tipo batch o en lnea. Estas se pueden diferencias tambin como transacciones de corta y larga vida. Las transacciones en lnea se caracterizan por tiempos de respuesta muy cortos y por accesar un porcin relativamente pequea de la base de datos. Por otro lado, las transacciones de tipo batch toman tiempos relativamente largos y accesan grandes porciones de la base de datos. Estructura. Considerando la estructura que puede tener una transaccin se examinan dos aspectos: si una transaccin puede contener a su vez subtransacciones o el orden de las acciones de lectura y escritura dentro de una transaccin.
Estructura de transacciones
Las transacciones planas consisten de una secuencia de operaciones primitivas encerradas entre las palabras clave begin y end. Por ejemplo,
Begin_transaction Reservacin ... end.
En las transacciones anidadas las operaciones de una transaccin pueden ser as mismo transacciones. Por ejemplo,
Begin_transaction Reservacin ...
104
Begin_transaction Vuelo ... end. {Vuelo} ... Begin_transaction Hotel ... end. ... end.
Una transaccin anidada dentro de otra transaccin conserva las mismas propiedades que la de sus padres, esto implica, que puede contener as mismo transacciones dentro de ella. Existen restricciones obvias en una transaccin anidada: debe empezar despus que su padre y debe terminar antes que l. Ms an, el commit de una subtransaccin es condicional al commit de su padre, en otras palabras, si el padre de una o varias transacciones aborta, las subtransacciones hijas tambin sern abortadas. Las transacciones anidadas proporcionan un nivel ms alto de concurrencia entre transacciones. Ya que una transaccin consiste de varios transacciones, es posible tener ms concurrencia dentro de una sola transaccin. As tambin, es posible recuperarse de fallas de manera independiente de cada subtransaccin. Esto limita el dao a un parte ms pequea de la transaccin, haciendo que costo de la recuperacin sea menor. En el segundo punto de vista se considera el orden de las lecturas y escrituras. Si las acciones de lectura y escritura pueden ser mezcladas sin ninguna restriccin, entonces, a este tipo de transacciones se les conoce como generales. En contraste, si se restringe o impone que un dato deber ser ledo antes de que pueda ser escrito entonces se tendrn transacciones restringidas. Si las transacciones son restringidas a que todas las acciones de lectura se realicen antes de las acciones de escritura entonces se les conoce como de dos pasos. Finalmente, existe un modelo de accin para transacciones restringidas en donde se aplica an ms la restriccin de que cada par <read,write> tiene que ser ejecutado de manera atmica. Ejemplo Los siguientes son algunos ejemplos de los modelos de transaccin mencionados antes. General: T1: { R(x), R(y), W(y), R(z), W(x), W(z), W(w), C} Dos pasos: T2: { R(x), R(y), R(z), W(x), W(y), W(z), W(w), C} Restringida: T3: { R(x), R(y), W(y), R(z), W(x), W(z), R(w), W(w), C} Restringida y de dos pasos: T4: { R(x), R(y), R(z), R(w), W(y), W(x), W(z), W(w), C}
105
Accin: T5: { [R(x), W(x)], [R(y), W(y)], [R(z), W(z)], [R(w), W(w)], C}
note que cada par de acciones encerrado en [ ] se ejecuta de manera atmica
Con la introduccin del concepto de transaccin, se requiere revisar el modelo arquitectural presentado en el captulo 2. En esta seccin, se expande el papel del monitor de ejecucin distribuida. El monitor de ejecucin distribuida consiste de dos mdulos: El administrador de transacciones (TM) y el despachador (SC). Como se puede apreciar en la Figura, el administrador de transacciones es responsable de coordinar la ejecucin en la base de datos de las operaciones que realiza una aplicacin. El despachador, por otra parte, es responsable de implementar un algoritmo especfico de control de concurrencia para sincronizar los accesos a la base de datos. Un tercer componente que participa en el manejo de transacciones distribuidas es el administrador de recuperacin local cuya funcin es implementar procedimientos locales que le permitan a una base de datos local recuperarse a un estado consistente despus de una falla.
106
Los administradores de transacciones implementan una interfaz para los programas de aplicacin que consiste de los comandos: Begin_transaction. Read. Write. Commit. Abort. En la siguiente figura, se presenta la arquitectura requerida para la ejecucin centralizada de transacciones.
Las modificaciones requeridas en la arquitectura para una ejecucin distribuida se pueden apreciar en siguiente figura. En esta ltima figura se presentan tambin
107
108
TEMAS Y SUBTEMAS: 6. DATA MINING 6.1 Minera de Datos 6.2 Herramientas de Procesamiento analtico en lnea (OLAP)
109
Introduccin
El procesamiento analtico en lnea (OLAP), el anlisis multidimensional (MOLAP) y el Data Mining (DM) son diferentes tipos de aplicaciones para producir E-Data. El trmino E-Data se refiere a datos que han sido inteligentemente modelados, depurados y consolidados en un Data Warehouse o Data Mart DW ms pequeo; en otras palabras es un DW orientado a algn tema. Empecemos con Data Minnig.
110
El nombre de Data Mining deriva de las similitudes entre buscar informacin valiosa de negocios en grandes bases de datos y minar una montaa para encontrar una veta de metales valiosos. Ambos procesos requieren examinar una inmensa cantidad de material, o investigar inteligentemente hasta encontrar exactamente donde residen los valores. Dadas bases de datos de suficiente tamao y calidad, la tecnologa de Data Mining puede generar nuevas oportunidades de negocios al proveer estas capacidades: Prediccin automatizada de tendencias y comportamientos. Data Mining automatiza el proceso de encontrar informacin predecible en grandes bases de datos. Preguntas que tradicionalmente requeran un intenso anlisis manual, ahora pueden ser contestadas directa y rpidamente desde los datos. Un tpico ejemplo de problema predecible es el marketing apuntado a objetivos (targeted marketing). Por ejemplo, Data Mining usa datos en mailing promocionales anteriores para identificar posibles objetivos para maximizar los resultados de la inversin en futuros mailing. Pronsticos de problemas financieros e identificar segmentos de poblacin que probablemente respondan similarmente a eventos dados. Otros problemas incluyen detectar transacciones fraudulentas por ejemplo de tarjetas de crditos e identificar datos anormales que pueden representar errores de escritura en la carga de datos. ALGUNAS DEFINICIONES El termino DM se emplea a menudo para designar el conjunto de herramientas que permiten al usuario acceder a los datos de la empresa, especialmente los datos histricos, descubriendo modelos implcitos en ellos y analizarlos5 La extraccin de informacin menos estudiada y predecible de grandes colecciones de datos. Una poderosa nueva tecnologa con gran potencial para ayudar a las compaas a concentrarse en la informacin ms importante de sus bases de informacin (Data Warehouse)... Las herramientas de DM predicen futuras tendencias y comportamientos, permitiendo en los negocios tomar decisiones proactivas y conducidas por un conocimiento obtenido a partir de su informacin de negocio... Data Mining es un proceso que, a travs del descubrimiento y cuantificacin de relaciones predictivas en los datos, permite transformar la informacin disponible en conocimiento til.
111
Constituye una de las vas principales de explotacin del Data Warehouse6 DM se refiere al proceso de extraer conocimiento de bases de datos. Su objetivo es descubrir situaciones anmalas y/o interesantes, tendencias, patrones y secuencias en los datos.... El servicio DM ofrece una amplia gama de tcnicas de explotacin de informacin automatizada que permite al analista del negocio descubrir perfiles escondidos en los datos ... DM es una herramienta que ayuda a descubrir patrones y relaciones que puedan pasar desapercibidos en el anlisis del negocio... Data Mining es un trmino genrico que engloba resultados de investigacin, tcnicas y herramientas usadas para extraer informacin til de grandes bases de datos. Data Mining es el proceso de descubrir nuevas correlaciones significantes, modelos y tendencias examinando a travs de grandes cantidades de datos guardados en almacenes y usa tecnologas de reconocimiento de modelo as como tcnicas estadsticas y matemticas7 Esta ltima definicin no se limita a la comprobacin de una simple hiptesis. Las metodologas incluyen reconocimiento del modelo junto con los mtodos estadsticos y matemticos ampliamente definidos. La gran cantidad de datos y tecnologas (reconocimiento del modelo) extiende el DM ms all de las fronteras tradicionales del anlisis estadstico. DEFINICIONES AMPLIAS Y REDUCIDAS Como en muchos campos que estn surgiendo, existen varias definiciones para Data Mining. Como por ejemplo, definiciones que contrastan, amplias y reducidas. La Definicin amplia incluye mtodos estadsticos tradicionales lo que implica la veracidad de la siguiente frase: Somos todos mineros de datos. La Definicin reducida da nfasis a Mtodos Automatizados y Heursticos. Estas definiciones restringen a la bsqueda automatizada y al descubrimiento de mtodos realizados en grandes bases de datos. Tambin, el uso de mtodos heursticos de DM, es un factor distinguible ya que proporcionan respuestas que no pueden prcticamente ser obtenidas.
FERNANDO MARTN SNCHEZ; NIEVES IBARROLA DE ANDRS; GUILLERMO LPEZ CAMPOS. Minera, Visualizacin y Descubrimiento de Conocimiento en Bases de Datos. UNIDAD DE BIOINFORMTICA BIOTIC. 7 GARTNER GROUP. www.gartner.com
112
Finalmente de la misma manera que la minera obtiene el metal, que necesariamente debe tener un mercado; el producto que se genera del procesamiento de la informacin mediante el anlisis del DM es el conocimiento. Este es hoy en da la principal arma de competitividad de los negocios. BENEFICIOS CLAVE DEL USO DE DATA MINING 1. Contribuye a la toma de decisiones tcticas y estratgicas proporcionando un sentido automatizado para identificar informacin clave desde volmenes de datos generados por procesos tradicionales y de E-Business. 2. Permite a los usuarios dar prioridad a decisiones y acciones mostrando factores que tienen una mayor relevancia en un objetivo. 3. Proporciona poderes de decisin a los usuarios del negocio que mejor entienden el problema y el entorno y es capaz de medir las acciones y los resultados de la mejor forma. 4. Modelos descriptivos: En un contexto de objetivos definidos en los negocios permite el DM a empresas, sin tener en cuenta la industria o el tamao, obtener soluciones que impactan en los resultados finales de la cuenta de resultados. 5. Modelos predictivos: Permiten que relaciones no descubiertas e identificadas a travs del proceso de Data Mining sean expresadas como reglas de negocio o modelos predictivos. ARQUITECTURA DE DATA MINING Para integrar la tecnologa de Data Mining se necesita una cierta arquitectura. En el nivel inferior tenemos las comunicaciones y el soporte del sistema. Luego tenemos el middleware, seguido de la gestin de datos y el Data Warehouse. Luego las diversas tecnologas de Data Mining y finalmente los sistemas de visualizacin y descubrimiento de conocimiento. ASPECTOS FUNCIONALES Los datos son crticos para el DM, el primer requisito para que puedan ser analizados es que se encuentren estructurados en bases de datos y gestionados eficientemente para que puedan ser analizados. Estos sistemas pueden ser bases de datos relacionales, de entidad relacin, orientadas a objetos, lgicas o sistemas de almacenamiento de datos (Data Warehousing Systems). Muchos expertos estn de acuerdo en que el 80 % de un proceso de DM implica preparacin de datos. El tipo de modelo de datos utilizado en la base de datos tiene un impacto en el Data Mining. La mayora de los datos estn guardados en bases de datos relacionales y consecuentemente las herramientas de Data Mining se han desarrollado para ser aplicadas a este tipo de datos. UNIVERSIDAD VASCO DE QUIROGA 113
Actualmente cada vez ms datos estn siendo guardados en bases de datos no relacionales como orientadas a objetos, objeto-relacionales y multimedia para los que las herramientas de Data Mining no estn todava propiamente desarrolladas. Una de las formas de hacer Data Mining de una base de datos orientada a objetos pasara por la extraccin de las relaciones entre objetos y su posterior almacenamiento en una base de datos relacional que luego sera analizada. La mayora de los datos que se necesitan para el Data Mining se encuentran en bases de datos heterogneas que necesitan ser integradas para su posterior anlisis. En este sentido el Data Warehouse es una de las tecnologas claves de gestin de datos para llevar a cabo Data Mining. Esencialmente, un Data Warehouse organiza los datos efectivamente para que puedan ser analizados por Data Mining. Mientras que el Data Warehouse formatea los datos y los organiza para apoyar a las funciones de gestin, el Data Mining intenta extraer informacin til adems de predecir tendencias en los datos. No obstante un Data Warehouse estructura los datos de forma que facilita el Data Mining aunque no necesariamente tener un DW significa hacer DM. Se puede tener tambin una herramienta de integracin que lleve a cabo funciones de Data Warehouse y Data Mining. METODOLOGA PARA DATA MINING Si pensamos en el modelo global de descubrimiento de conocimiento, los principales pasos dentro del proceso interactivo e iterativo son los siguientes 1. Desarrollo y entendimiento del dominio de la aplicacin, el conocimiento relevante y los objetivos del usuario final. 2. Creacin del conjunto de datos objetivo, seleccionando el subconjunto de variables o ejemplos sobre los que se realizar el descubrimiento. 3. Pre procesado de los datos: eliminacin de ruido, estrategias para manejar valores ausentes, normalizacin de los datos, etc. 4. Transformacin y reduccin de los datos. Incluye la bsqueda de caractersticas tiles de los datos segn sea el objetivo final, la reduccin del nmero de variables y la proyeccin de los datos sobre espacios de bsqueda en los que sea ms fcil encontrar una solucin. Este es un paso crtico dentro del proceso global que, con frecuencia, marca la diferencia entre el xito o fracaso de la minera de datos. 5. Eleccin del tipo de sistema para minera de datos. Esto depende de s el objetivo del proceso de descubrimiento de conocimiento es la clasificacin, regresin, agrupamiento de conceptos (clustering), deteccin de desviaciones, etc. 6. Eleccin del algoritmo de minera de datos.
114
7. Minera de datos. En este paso se realiza la bsqueda de conocimiento con una determinada representacin del mismo. 8. Interpretacin del conocimiento extrado, con posibilidad de iterar de nuevo desde el primer paso. La obtencin de resultados aceptables depender de factores como: definicin de medidas del inters del conocimiento (de tipo estadstico, en funcin de su sencillez, etc.) que permitan filtrarlo de forma automtica, existencia de tcnicas de visualizacin para facilitar la valoracin de los resultados o bsqueda manual de conocimiento til entre los resultados obtenidos. 9. Consolidacin del conocimiento descubierto, incorporndolo al sistema, o simplemente documentndolo y envindolo a la parte interesada. Este paso incluye la revisin y resolucin de posibles inconsistencias con otro conocimiento extrado previamente.
CRISP-DM El CRISP-DM es un mtodo standard que ha sido desarrollado para ayudar en la realizacin de proyectos de DM. Fue creado por un consorcio de compaas, principalmente en Europa, y se llam Cross-Industry Standard Process for Data Mining, o CRISP-DM8. Aunque se desarroll para grandes proyectos, es suficientemente amplio y flexible para aplicarlo a cualquier tamao de proyecto. El siguiente grfico proporciona una apreciacin global del ciclo de vida de un Proyecto de Data Mining. Contiene las fases de un proyecto, sus respectivas tareas y relaciones entre estas tareas. El ciclo de vida del proyecto de DM consiste en seis fases cuya sucesin no es rgida y se puede mover entre ellas siempre que se requiera. Las flechas indican las dependencias ms importantes y frecuentes entre las fases. El crculo exterior simboliza la naturaleza cclica del DM.
115
La metodologa se presenta en trminos de un proceso jerrquico. Consiste en juegos de tareas descritas en niveles de abstraccin (de lo general a lo especfico): la fase, tarea genrica, tarea especializada y caso del proceso. El objetivo del mtodo es permitir a diferentes empresas usar el mismo vocabulario, metodologa y herramientas en las actividades de DM. El contexto del DM en el CRISP-DM se maneja entre lo genrico y el nivel especializado. Se distinguen cuatro dimensiones diferentes: Dominio de la aplicacin. Especifica el rea en que el proyecto de DM tiene lugar. Tipo de problema. Describe la clase y objetivos del proyecto. Aspecto tcnico. Cubre problemas especficos del DM, describe diferentes desafos que normalmente ocurren. Herramienta tcnica especfica que se aplica durante el proyecto de DM. Los pasos del modelo son los siguientes:
116
Comprensin del Negocio: Este paso requiere una valoracin de varios factores: una comprensin de lo que es el negocio, a dnde va, a dnde debe ir, y qu preguntas del negocio necesitan ser contestadas para llegar all.
117
Algunas actividades: Identificacin de objetivos de negocio y criterios de xito Realizacin de una valoracin circunstancial (recursos, supuestos, riesgos, costos, y beneficios) Determinacin de metas de DM y criterios de xito Produccin de un plan del proyecto Identificacin de los objetivos del negocio. Objetivo: Determinar los objetivos del negocio. El primer objetivo del analista de datos es entender completamente, la perspectiva del negocio. A menudo el cliente tiene muchos objetivos que compiten y deben ser equilibrados apropiadamente. La meta del analista es encontrar factores importantes que puedan influir en el resultado del proyecto. Una posible consecuencia de descuidar este paso es malgastar tiempo y trabajo realizado al responder preguntas si stas no corresponden al objetivo del negocio. Salidas de este proceso son las siguientes: Background: Registrar la informacin actual del negocio al principio del proyecto. Objetivos del negocio: Describir el objetivo principal del cliente, desde la perspectiva del negocio. Adems del objetivo principal, hay otras preguntas del negocio relacionadas con el cliente que sera bueno para el negocio
118
conocer. Por ejemplo, objetivo principal podra ser predecir el comportamiento de los clientes antes que sus competidores. Criterio de xito en el negocio: Describir el criterio para un resultado exitoso o til al proyecto desde el punto de vista del negocio. Esto podra ser bastante especfico y capaz para ser medido objetivamente. En el ltimo caso debe indicarse quin hace el juicio subjetivo. Evaluacin de la situacin. Tarea: Evaluar la situacin. Esta tarea involucra el estudio ms detallado sobre todos los recursos, supuestos y otros factores que deben ser considerados determinando la meta de anlisis de datos y el plan del proyecto. En la tarea anterior, su objetivo era conseguir rpidamente el factor principal de la situacin. Aqu, se quiere encontrar los detalles. Las salidas de estas actividades pueden ser: Inventario de Recursos: Lista de los recursos disponibles en el proyecto, incluyendo: personal (expertos de negocio, expertos de datos, asistencia tcnica, el personal del DM), datos (extractos fijos, accesos a los datawarehouse o los datos operacionales), recursos computados (plataformas del hardware) y software (herramientas de DM, otro software pertinente). Requisitos, supuestos y requerimientos: Listar todos los requisitos del proyecto incluso el horario de realizacin, el alcance, calidad de resultados y seguridad as como los problemas legales. Como parte de esta salida, se debe asegurar que se permiten usar los datos. Listar los supuestos realizados en el proyecto. stos pueden ser sobre los datos que pueden verificarse durante el DM, pero tambin puede incluir supuestos nocontrolables sobre el negocio en el resto del proyecto. Listar los requerimientos del proyecto. stos pueden ser requerimientos de la disponibilidad de los recursos, pero tambin puede incluir requerimientos tecnolgicos como el tamao de datos. Riesgos y contingencias: Listar los riesgos o eventos que podran ocurrir que demoren el proyecto o que a causa de ellos pueda fallar. Listar los planes de contingencia correspondientes; qu accin ser tomada si los riesgos ocurren. Terminologa: Organizar un glosario de terminologa pertinente al proyecto. Incluya dos componentes: (1) un glosario de terminologa del negocio del que forma parte la comprensin del negocio disponible en el proyecto. Construyendo esto el glosario es til en la produccin de conocimiento. (2) Un glosario de la terminologa del DM, ilustrada con ejemplos, pertinente al problema del negocio en cuestin. Costos y beneficios: Construir un anlisis del costo-beneficio para el proyecto que compara los costos del proyecto con el beneficio potencial del negocio si es exitoso. La comparacin debe ser tan especfica como sea posible.
119
Determinar los objetivos del DM. Objetivo: Determinar los objetivos del DM. Una meta del negocio declara objetivos en terminologa de negocio. Por ejemplo, la meta del negocio podra ser las ventas por catlogo a los clientes existentes. Las salidas son las siguientes: Los objetivos del DM: Describir los rendimientos intencionales del proyecto que habilita el logro de los objetivos del negocio. Criterio de xito del DM: Definir el criterio para un resultado exitoso al proyecto en trminos tcnicos, por ejemplo un cierto nivel de exactitud de prediccin, para comparar el perfil con un cierto grado de objetividad. Plan de proyecto. El objetivo es definir el Plan de proyecto. Describir el plan intencional para lograr las metas. El plan debe especificar los pasos a realizar durante el resto del proyecto incluso una seleccin inicial de herramientas y tcnicas. Las salidas son las siguientes: Plan de Proyecto: Listar las fases a ser ejecutadas en el proyecto, junto con su duracin, los recursos requeridos, entradas, salidas y dependencias. Donde es posible haga explcito las iteraciones de gran potencia en los datos del DM. Como parte del plan del proyecto, es tambin importante analizar dependencias entre el tiempo y riesgos. Seale los resultados de estos anlisis explcitamente en el plan del proyecto, con acciones y recomendaciones si los riesgos aparecen9.El plan del proyecto es un documento dinmico en el sentido que al final de cada fase una revisin de progreso y logros es necesaria y una actualizacin del mismo se recomienda de acuerdo con ello. Especifique los puntos de la revisin ya que estos son parte del plan del proyecto, tambin. Valoracin inicial de herramientas y tcnicas: Al final de la primera fase, se realiza tambin una valoracin inicial de herramientas y tcnicas. Aqu, se selecciona la herramienta de DM que apoya los mtodos para las diferentes fases del proceso. Es importante evaluar herramientas y tcnicas en esta fase del proceso, porque stas posiblemente influirn en todo el proyecto.
Entendimiento de datos
El plan del proyecto contiene planes detallados para cada fase. Por ejemplo, aqu debe decidir qu estrategia de evaluacin se usar en la fase de evaluacin.
120
Algunas actividades: Auditora de datos Extraccin de datos de una Base de Datos o DW Unificacin de tablas desde una Base de Datos corporativa Combinacin de archivos de diferentes Sistemas Reconciliacin de Valores inconsistentes de campos Identificacin de valores perdidos, datos incorrectos, o datos extremos Seleccin de los datos Reestructuracin de los datos segn el anlisis lo requiere Transformacin de Campos pertinentes (tomando diferencias, proporciones, etc.)
Recolectar los datos iniciales. Objetivo: Adquirir dentro del proyecto los datos (o acceder a los datos), los que list en el plan de proyecto recursos. Esta recoleccin inicial incluye datos que se cargan si es necesario para la comprensin de los mismos. Si se adquieren los datos de mltiples fuentes, la integracin es un adicional a realizar, aqu o en la fase de preparacin de datos ms tarde.
121
Algunas salidas son: Reporte de recoleccin de datos Inicial: Listar el dataset (o datasets) adquirido, junto con sus localizaciones dentro del proyecto, los mtodos usados en la recoleccin y cualquier problema encontrado. El registro de problemas encontrados y cualquier solucin lograr ayudar en repeticiones futuras de este proyecto o con la ejecucin de proyectos similares. Describir datos. Objetivo: Examinar la totalidad o la superficie de los datos adquiridos e informe los resultados. Algunas salidas son: Reporte de descripcin de los datos: Describir los datos que han sido adquiridos y los incluidos: el formato de los datos, la cantidad de datos, por ejemplo el nmero de registros y campos, en cada tabla, las identidades de los campos y cualquier otro rasgo de la superficie de los datos que se han descubierto. Exploracin de los datos. Objetivo: Explorar los datos. Esta tarea trae preguntas a la minera de datos, que pueden responderse usando encuestas, visualizacin e informes. stos incluyen: distribucin de atributos importantes, por ejemplo el atributo designado de una tarea de prediccin; relaciones entre pares o los nmeros pequeos de atributos; resultados de agregaciones; simple anlisis estadsticos. Estos anlisis pueden dirigir los objetivos de la minera de los datos; y tambin pueden contribuir o refinar la descripcin de los datos y la calidad de los reportes. Salidas: Reporte de exploracin de datos: Sirve para describir resultados de esta tarea que incluye hallazgos o la hiptesis inicial y su impacto en el resto del proyecto. Si es apropiado, incluya los grficos y planos que indican caractersticas de los datos o importancia a los subconjuntos de datos interesantes para un examen detallado. Verificar la calidad de los datos. Examinar la calidad de los datos y realizarse preguntas como: estn completos los datos? (cubre todos los casos requeridos?), son correctos o contienen errores? y si hay errores cuan comn son ellos? Hay valores perdidos en los datos? En ese caso cmo se representan, dnde ocurren ellos y cuan comn son ellos? Salida:
122
Reporte de calidad de los Datos: Es una lista de los resultados de la comprobacin de calidad de datos; si los problemas de calidad existen, lista las posibles soluciones. Las soluciones a los problemas de calidad de datos generalmente depende de procesos pesados de datos y del conocimiento del negocio. Preparacin de datos
Salida: Dataset: Se trata del conjunto de datos (datasets) producido por la fase de preparacin de los datos que ser usado con el modelo o en el trabajo del anlisis del proyecto. UNIVERSIDAD VASCO DE QUIROGA 123
Descripcin del Dataset. (o datasets) eso se usar por el modelo trabajo del anlisis del proyecto.
o el
Datos seleccionados. Objetivo: Seleccionar los datos. Decidir qu datos sern usados para el anlisis. El criterio incluye relevancia de los datos segn los objetivos de DM, calidad y requerimientos tcnicos como lmites en volumen de los datos o tipos de los datos. Tenga presente los atributos de columnas as como filas en las tablas. Salida: Inclusin/exclusin de datos: Listar los datos para ser includos/excludos y las razones para tomar estas decisiones. Datos limpios. Objetivo: Limpiar los datos. Optimizar la calidad de los datos al nivel requerido por las tcnicas del anlisis seleccionado. Esto puede involucrar seleccin de subconjuntos limpios de los datos, la insercin de valores por defecto convenientes o aplicando las tcnicas ms ambiciosas como la estimacin de datos perdidos. Salida: Reporte de Datos limpios: Describir qu decisiones se tomaron y qu acciones para solucionar los problemas de calidad de los datos que se informaron durante la tarea de calidad de datos. Las transformaciones de los datos por limpieza, los propsitos y el posible impacto en los resultados del anlisis deben ser considerado. Estructura de los datos. Objetivo: Estructurar los Datos. Esta tarea incluye las operaciones de preparacin y construccin de datos como la produccin de atributos derivados, completando con los nuevos registros o los valores transformados con los atributos existentes. Salida: Derivacin de atributos: Los atributos derivados son nuevos atributos que se construyen de uno o ms existentes en el mismo registro. Ejemplos: rea = la longitud * la anchura. Generacin de Registros: Describir la creacin de nuevos registros. Ejemplo: creacin de registros para clientes que no hicieron ninguna compra durante el ltimo ao. No haba ninguna razn para tener cosas as grabada en los datos crudos, pero para propsitos del modelo podra tener sentido para representar el hecho explcitamente de ciertos clientes que no hicieron compras.
124
Integrar los datos. Objetivo: Integrar los datos. Se aplican mtodos que combinan informacin de mltiples tablas o archivos para crear nuevos registros o valores. Salida: Unificacin de los datos: El unificar tablas se refiere a unir dos o ms tablas que tienen informacin diferente sobre los mismos objetos. Ejemplo: una cadena de ventas tiene una tabla con informacin sobre las caractersticas generales de cada tienda (ej. superficie, el tipo de centro comercial), otra tabla con ventas resumidas de datos (ej. ganancias, porcentaje de en ventas del ao anterior) y otra con informacin sobre la demografa del rea. Cada una de estas tablas contiene un registro para cada tienda. stos pueden unirse en una nueva tabla con un registro para cada tienda, combinando campos de las tablas fuente. Los datos unidos tambin cubren agregaciones. La agregacin se refiere a los funcionamientos donde los nuevos valores son computados resumiendo informacin. Formato de los datos. Objetivo: Formatear los datos. Las transformaciones de estructuras se refieren a las modificaciones principalmente sintcticas realizadas a los datos que no cambian su significado, pero podra requerirse por la herramienta del modelo. Salida: Reformateo de los datos: Algunas herramientas tienen requisitos en el orden de los atributos, como el primer campo es un nico identificador para cada registro o el ltimo campo siendo el campo del resultado total del modelo a predecir. Podra ser importante cambiar el orden de los registros en el dataset. Quizs la herramienta del modelo requiere que los registros sean ordenados conforme al valor del atributo del resultado. Una situacin comn es que se piden archivos del dataset inicialmente de alguna manera pero el algoritmo necesita que ellos se encuentren ordenados al azar. Por ejemplo, cuando se usa redes neuronales es generalmente mejor que los registros estn presentados en forma aleatoria, aunque algunas herramientas manejan esto automticamente sin intervencin del usuario. Modelo El arte del trabajo especializado de DM toma lugar en este paso. Si se prueban hiptesis especficas o se corren mtodos del descubrimiento automatizados, se interpretan los resultados de anlisis realizados en este paso en el contexto de las preguntas del negocio originales.
125
Algunas actividades: Construccin del Modelo Interpretacin Validacin / Evaluacin Redefinicin y Repeticin
Seleccionando la tcnica de modelado. Objetivo: Seleccionar una tcnica de modelado. Como primer paso del plan, seleccione la tcnica de modelado que usar. Considerando que ya posiblemente se seleccion una herramienta de negocio, esta tarea se refiere a la tcnica modelada especfica, ejrbol de decisin que construye con C4.5 o la generacin de la red neuronal con retropropagacin. Si se aplican tcnicas mltiples, realice esta tarea para cada tcnica separadamente. Salidas: Tcnica Modelada: Documentar la tcnica modelada que ser usada. Supuestos del modelo: Muchas tcnicas modeladas hacen supuestos especficos en los datos, por ej., todos los atributos tienen distribuciones
126
uniformes, ningn valor perdido se permiti, etc. Registre cualquier supuesto que hizo. Generar el plan de prueba. Objetivo: Generar el plan de prueba. Antes que construyamos un modelo necesitamos generar un procedimiento o mecanismo para probar la calidad del modelo y validez. Por ejemplo, las tareas de DM como clasificacin, es comn la generacin de datos errneos como medida de calidad para los datos. Por consiguiente, separe el dataset de la serie de prueba, construya, planee y estime su calidad en el juego de la prueba por separado. Salida: Plan de Prueba: Describir el plan intencional de prueba y evaluar los modelos. Un componente principal del plan es decidir cmo dividir el dataset disponible de datos, datos de prueba y datasets de aprobacin. Construir el modelo. Objetivo: Construir el Modelo. Ejecutar la herramienta modelada en el dataset preparado para crear uno o ms modelos. Salidas: Seteo de Parmetros: Con cualquier herramienta modelada, hay a menudo un nmero grande de parmetros que pueden ajustarse. Listar los parmetros y su valor escogido, a lo largo del proyecto. Modelos: stos son los modelos reales producidos por la herramienta modelada, no un informe. Descripcin del modelo: Describir el modelo resultante. Informe de la interpretacin de los modelos y documente cualquier dificultad encontrada con sus significados. Evaluar el modelo. Objetivo: Evaluar el modelo. El ingeniero de DM interpreta los modelos segn su dominio del conocimiento, los datos, el criterio de xito y el plan de prueba deseado. Esta tarea interfiere con la fase de la evaluacin subsecuente. Considerando que los datos que se minan a juicio del ingeniero defina el xito de la aplicacin de modelo y tcnicas del descubrimiento, l avisa a los analistas del negocio y expertos del dominio despus para discutir los resultados del DM en el contexto del negocio. Es ms, esta tarea slo considera modelos que la fase de la evaluacin tambin tiene en cuenta los otros resultados que se produjeron en el curso del proyecto. El ingeniero de DM intenta alinear los datos a los modelos. l evala los modelos segn el criterio de la evaluacin. Hasta donde se toma en cuenta los objetivos del negocio y los criterios de xito.
127
En la mayora de los proyectos del DM, el ingeniero de DM aplica la misma tcnica ms de una vez o genera los resultados del DM con tcnicas alternativas diferentes. En esta tarea, l compara tambin todos los resultados segn el criterio de la evaluacin. Salida: Evaluacin del Modelo: Resumir los resultados de esta tarea, calidades de la lista de modelos generados (ej., en trminos de exactitud) y alinea su calidad. Revisin del seteo de parmetros: Segn la valoracin, revisar los seteos de parmetro y para la prxima corrida del modelo construido. Iterar el modelo construido y la valoracin hasta que crea que encontr el mejor modelo y documente todas las revisiones y valoraciones. Evaluacin En este paso se evalan los resultados del DM, se formulan recomendaciones y se preparan los materiales de apoyo.
Algunas actividades: Evaluacin de los resultados del DM en trminos de criterio de xito del negocio UNIVERSIDAD VASCO DE QUIROGA 128
Determinacin de recomendaciones y las posibles acciones Toma de decisin Evaluar resultados. Objetivo: Evaluar resultados. Los pasos de evaluacin vistos con anterioridad trataban de la exactitud y generalidad del modelo. Este paso evala el grado en que el modelo rene los objetivos del negocio y busca determinar si existe alguna razn del negocio para la cual este modelo es deficiente. Otra opcin de evaluacin es probar el modelo en aplicaciones con datos reales si hay tiempo y presupuesto. La evaluacin tambin evala otros datos que los resultados de DM generaron. Los resultados de los modelos de DM necesariamente se relacionan con los objetivos del negocio original y todos los otros hallazgos que necesariamente no son relacionados a los objetivos del negocio original pero podra esclarecer a los desafos adicionales, como informacin o indirectas para acciones futuras. Salida: Valoracin de los resultados de DM con respecto al criterio de xito del negocio. Resumir resultados de valoracin en trminos de criterio de xito del negocio incluyendo una declaracin final si el proyecto ya se encuentra cumpliendo los objetivos iniciales del negocio. Modelos aprobados: Despus de generar la valoracin respecto al criterio de xito del negocio, se aprueban los modelos que se encuentran seleccionados. Proceso de Revisin. Objetivo: Procesar Revisin. En este punto el modelo resultante parece ser ptimo y para satisfacer necesidades del negocio. Es ahora apropiado hacer una completa revisin de los datos con el compromiso del DM para determinar si existe algn factor importante o tarea que se ha pasado por alto de algn modo. Esta revisin tambin cubre la conviccin de calidad por ej. construimos correctamente el modelo?, usamos slo atributos que se nos permiten usar? y est eso disponible para los anlisis a futuro? Salida: Revisin del proceso: Resumir la revisin del proceso y resaltar las actividades que faltan y/o deben repetirse. Determinar prximos pasos. Objetivo: Determinar prximos pasos. Segn los resultados de la valoracin del proceso repase el proyecto, decida cmo proceder en esta fase. El proyecto necesita decidir si terminarlo o si comenzar iteraciones extensas o preparar nueva minera de los datos. Esta tarea incluye anlisis de recursos restantes y presupuesto que influye en las decisiones.
129
Salidas: Listar posibles acciones: Listar las potenciales acciones junto con las razones pro y contra de cada opcin. Describir la decisin acerca de cmo proceder a lo largo del proyecto. Implementacin
El paso de la implementacin incluye produccin y entrega del informe final. Dentro del alcance ms grande del negocio, la accin se tomara en este punto. El plan se desarrollara para supervisar cambios debido a las acciones en el orden de evaluar sus efectos y verificar que el modelo del anlisis todava se sostiene. Esto podra comprender el anlisis automatizado que produce advertencias cuando ciertos eventos ocurren (por ejemplo, si la brecha entre el valor predicho y observado excede una cantidad especificada). Los resmenes de tales anlisis
130
sern de inters a una audiencia mayor. Debe preparar un documento que repase el proyecto. Algunas actividades: Produccin y entrega del informe final Plan de monitoreo y mantenimiento de los resultados del DM Revisin del Proyecto Distribucin de resultados
Plan de Implementacin. Objetivo: Plan de Implementacin. Para implementar el DM en el negocio se debe analizar el resultado de la evaluacin y desarrollar una estrategia de implementacin. Si un procedimiento general se ha identificado para crear el pertinente modelo, este procedimiento se documenta aqu para la implementacin. Salida: Plan de Implementacin: Resumir estrategia del desarrollo incluso los pasos necesarios y cmo realizarlos. Plan de monitoreo y mantenimiento. Objetivo: Plan de monitoreo y mantenimiento. El monitoreo y el mantenimiento son problemas importantes en la minera de los datos, para que el resultado sea parte del negocio diario. La preparacin cuidadosa de una estrategia de mantenimiento ayuda a evitar innecesariamente periodos largos de uso incorrecto de datos para los resultados del DM. Salida: Monitoreo y plan de mantenimiento. Resumir el monitoreo y estrategia de mantenimiento incluso los pasos y cmo realizarlos. Informe final. Objetivo: Al final del proyecto, el lder del proyecto y su equipo escriben un informe final. Dependiendo del plan del implementacin, este informe puede ser slo un resumen del proyecto y sus experiencias o puede ser un examen final y presentacin comprensiva de los resultados de DM. Salida: Informe Final: ste es el examen final escrito con el compromiso del DM. Presentacin final: Habr tambin a menudo una reunin donde se presenta los resultados de conclusin del proyecto al cliente. Revisin del Proyecto. Objetivo: Revisar el Proyecto. Evaluar lo que fue correcto y lo que sali mal, lo que se hizo bien y lo que necesita ser mejorado.
131
Salida: Documentacin de Experiencia. Resumir experiencias importantes hechas durante el proyecto. Por ejemplo, las trampas, acercamientos engaosos o indirectas para seleccionar las mejores tcnicas de DM, tambin cualquier informe que ha sido escrito por miembros individuales del proyecto durante las fases del proyecto y sus tareas. TCNICAS DE DATA MINNING A continuacin se presentan las diferentes tcnicas especficas de aplicacin de DM. Las mismas se clasifican en tcnicas inferenciales y no inferenciales. Tcnicas Inferenciales Como es comn para la estadstica inferencial, todas estas tcnicas son usadas para hacer predicciones de una variable dependiente.
Los modelos ms habituales para detectar relaciones funcionales entre variables son los mtodos de regresin, basados en modelos estadsticos. La regresin lineal es la tcnica ms habitualmente utilizada para formalizar relaciones entre datos. Esta tcnica es rpida y eficaz, sin embargo insuficiente para el anlisis de espacios multidimensionales donde se relacionan ms de dos variables. Las tcnicas estadsticas pueden ser inadecuadas cuando el nmero de factores distintos a gestionar se hace demasiado importante Tcnicas Automticas de DM: Tcnicas No Inferenciales
132
La Red Neuronal (RN), que simula el sistema nervioso biolgico, es ms apta para responder a este tipo de necesidades. Una de sus principales caractersticas es su capacidad de aprender y cambiar su comportamiento en funcin de nuevas experiencias. Pero son sin embargo muy costosas en trminos de potencia de hardware y de tiempo de ejecucin. El proceso en las RN es ininteligible para el usuario. Los rboles de decisin permiten dividir datos en grupos basados en valores de variables. Esta tcnica es muy utilizada porque es simple y ms rpida que las RN y da resultados y procesos fcilmente comprensibles por el usuario. El clustering consiste en repartir los elementos en grupos. Pero estos no son constantes y evolucionan progresivamente segn las necesidades. La herramienta debe descubrir los perfiles de comportamiento de los individuos del grupo, pero tambin determinar los diferentes grupos presentes en la base. Los Algoritmos Genticos estn enfocados a problemas de optimizacin. Se comienza con una poblacin de partida y se va alterando y optimizando su composicin para la solucin de un problema particular mediante mecanismos tomados de la teora de la evolucin. La Lgica Difusa proporciona tcnicas de gestin en un ambiente incierto que se funda en el concepto "Todo es cuestin de grado", lo cual permite manejar informacin vaga o de difcil especificacin si quisiramos hacer cambiar con esta informacin el funcionamiento o el estado de un sistema especifico. El mnimo aceptable para elegir una tcnica de DM y luego un producto efectivo depende de si realmente el producto puede beneficiar el negocio, qu significa realmente el beneficio: ingresos aumentados, costes disminuidos o rendimiento de las inversiones (ROI o TIR). Si la tcnica y herramienta no proporcionasen ninguna de estas ventajas de una forma perceptible, sera poco probable que alguien en el negocio tenga tiempo para extraer los datos. Para desarrollar con xito en el negocio, el DM debe ser algo ms que una simple bsqueda de los patrones deseados en el interior de grandes bases de datos. Para hacer una seleccin inteligente de herramientas y tecnologas de DM hay que determinar dnde est la diferencia. Dado que hay demasiadas superposiciones una de las mejores vas para ver las significativas diferencias entre las tcnicas es ver qu es lo que tienen en comn. Sin embargo, sea cual sea la tcnica utilizada y contrariamente a ciertas ideas preconcebidas, las herramientas de Data Mining no son herramientas milagrosas que den automticamente al usuario informaciones pertinentes e inesperadas. Estn inmersas en un proceso complejo que empieza con la preparacin de los datos para terminar con la validacin y el uso de los resultados obtenidos. UNIVERSIDAD VASCO DE QUIROGA 133
134
de base de datos es pequeo. Los procesos batch de carga son rpidos (ya que no se requiere agregacin), y sin embargo, las consultas pueden ser muy lentas, por lo que se aplica la solucin de tener al menos algunas consultas precalculadas. En M-OLAP, el gran tamao de las variables multidimensionales o el retardo en los procesos batch puede ser un inconveniente. En este documento se proponen algunas soluciones a estos problemas, aplicables en tiempo de diseo de la base de datos. FUNCIONAMIENTO Consideramos dos elementos que hemos revisado en el curso: informacin, organizada en Bases de Datos, Data Warehouse, que organiza los datos en un formato comprensible. El ltimo elemento son los cubos OLAP, por los cuales los usuarios pueden manipular la informacin para tomar decisiones.
Por ejemplo: Podemos tener un Data Warehouse de la que escogemos tres dimensiones: Clientes Productos Ventas Cada una de las dimensiones tiene registros que, combinndose pueden dar informacin relevante para distintos actores dentro de la organizacin. Por ejemplo: al rea de ventas le interesa el volumen de clientes y cuanto han comprado. Por su parte, compras, requiere saber qu productos se van a demandar, cuanto hay en inventario y qu expectativas de ventas hay.
135
OPERACIONES BSICAS Rotar y Rebanar: Se pueden cambiar las dimensiones del cubo que se est viendo y obtener una nueva vista de informacin. Por ejemplo, 'Ventas por producto' puede cambiarse fcilmente a 'Ventas por vendedor'. Rebanar es cambiar el valor de una dimensin por otro valor, por ejemplo, de las ventas de Enero a las ventas de Febrero. Taladrar o Drilling: Los datos de las dimensiones se pueden abrir para obtener ms detalle. Una especie de taladro que se hunde ms en la informacin. Por ejemplo, la informacin geogrfica, puede pasar de un continente a un pas y luego a una ciudad en particular. Con esta simple combinacin de cosas, se puede abrir la informacin generada por un negocio o informacin corporativa para todo el personal tomador de decisiones en formas que antes no era posible realizarlo. FUNCIONAMIENTO Niveles de detalle: Las bases de datos OLAP organizan los datos por nivel de detalle, utilizando las mismas categoras que se utilizan para analizar los datos. Por ejemplo, una base de datos de ventas puede tener campos correspondientes al pas, la regin, la ciudad y el lugar de cada venta. Esta informacin puede organizarse desde el menor al mayor nivel de detalle, como se indica a continuacin: UNIVERSIDAD VASCO DE QUIROGA 136
Recuperar datos OLAP: Puede conectarse a los orgenes de datos (origen de datos: conjunto almacenado de informacin de "origen" utilizado para conectarse a una base de datos. Un origen de datos puede incluir el nombre y la ubicacin del servidor de la base de datos, el nombre del controlador de la base de datos e informacin que necesita la base de datos cuando se inicia una sesin.) OLAP como lo hara a otros orgenes de datos externos. Crear cubos a partir de bases de datos relacionales: La mayora de los asistentes para cubos OLAP, permiten organizar datos consultados de bases de datos relacionales, como Microsoft SQL Server, en cubos OLAP. Un cubo permite trabajar con cantidades mayores de datos en un informe de tabla dinmica o grfico dinmico que en otras circunstancias y, adems, agiliza la recuperacin de los datos. Dimensiones y cubos: El conjunto de niveles que abarca un aspecto de los datos, como las reas geogrficas, se denomina dimensin. De forma similar, la informacin del momento en que se hicieron las ventas podra organizarse en una dimensin temporal con niveles para ao, trimestre, mes y da. Las bases de datos OLAP se denominan cubos porque combinan varias dimensiones, como pueden ser tiempo, geografa y lneas de productos, con datos resumidos, como ventas o cifras de inventario. COMPONENTES DE SOFTWARE NECESARIOS PARA EL ACCESO A OLAP Un proveedor OLAP: Para configurar orgenes de datos OLAP (origen de datos: conjunto almacenado de informacin de "origen" utilizado para conectarse a una base de datos. Un origen de datos puede incluir el nombre y la ubicacin del servidor de la base de datos, el nombre del controlador de la base de datos e informacin que necesita la base de datos cuando se inicia una sesin.). Este software puede incluir un controlador de origen de datos y otro software de cliente necesario para conectarse a una base de datos.): Bases de datos de servidor y archivos de cubo: Normalmente, el software de cliente OLAP admite conexiones a dos tipos de bases de datos OLAP. Si en la red hay disponible una base de datos en un servidor OLAP, puede recuperar datos de origen de la misma directamente. Si UNIVERSIDAD VASCO DE QUIROGA 137
tiene un archivo de cubo sin conexin (archivo de cubo sin conexin: archivo que se crea en el disco duro o en un recurso compartido de red para almacenar datos de origen OLAP Orgenes de datos: Un origen de datos proporciona acceso a todos los datos de la base de datos o del archivo de cubo sin conexin. Recuperacin de datos Un servidor OLAP devuelve nuevos datos cada vez que se cambia el diseo del informe. Con otros tipos de datos de origen externo, se consultan todos los datos la vez, o se pueden establecer opciones para que la consulta se realice solamente cuando se muestren elementos de campo de pgina (campo de pgina: campo asignado a una orientacin de pgina en un informe de tabla dinmica o de grfico dinmico. Puede mostrarse un resumen de todos los elementos de un campo de pgina o bien un elemento cada vez que filtre los datos para los dems elementos.) diferentes. Tambin estn disponibles otras opciones para actualizar (actualizar: renovar el contenido de un informe de tabla dinmica o grfico dinmico para reflejar los cambios realizados en el origen de datos subyacente. Si el informe est basado en datos externos, la actualizacin ejecuta la consulta subyacente para recuperar los datos nuevos o modificados.) el informe. Tipos de campos Para los datos de origen OLAP, los campos de dimensin son la estructura que organiza los datos en niveles, como por ejemplo: Pas, Regin y Ciudad para una dimensin Geografa. Acceso a datos de detalle: Para datos de origen OLAP, el servidor determina qu niveles de detalle estn disponibles y calcula los valores de resumen, de modo que los registros de detalle que componen los valores de resumen generalmente no estn disponibles y no es posible mostrar elementos que no contienen datos. No obstante, el servidor puede proporcionar campos de propiedad (campos de propiedad: atributos independientes asociados con elementos, o integrantes, de un cubo) Orden inicial: Para datos de origen OLAP, los elementos aparecen primero en el orden en que los devuelve el servidor OLAP. Despus puede ordenar o reorganizar los UNIVERSIDAD VASCO DE QUIROGA 138
elementos manualmente. Para otros tipos de datos de origen, los elementos de un nuevo informe aparecen ordenados primero en orden ascendente por nombre de elemento. Clculos: Los servidores OLAP proporcionan valores resumidos directamente para un informe, de modo que no se pueden cambiar las funciones de resumen Por ejemplo la funcin de resumen que es un tipo de clculo que combina datos de origen en un informe de tabla dinmica o una tabla de consolidacin, o cuando se insertan subtotales automticos en una lista o base de datos. Algunos ejemplos de funciones de resumen son: Sumar, Contar y Promedio de los campos de datos. Para otros tipos de datos de origen, se puede cambiar la funcin de resumen de un campo de datos y utilizar varias funciones de resumen para el mismo campo de datos. Subtotales: En informes con datos de origen OLAP, no se puede cambiar la funcin de resumen para subtotales ni mostrar subtotales para campos de fila o de columna interiores. Con otros tipos de datos de origen, se pueden cambiar funciones de resumen de subtotales y mostrar u ocultar subtotales para todos los campos de fila y columna.
139
BIBLIOGRAFA
LIBROS ROB, Peter, CORONEL, Carlos, SISTEMAS DE BASES DE DATOS, Pearson, Mxico, 2004 CABELLO, M.A. de Miguel y T. Higuera Toledano, SISTEMAS MANEJADORES DE BASES DE DATOS: teora y ejercicios resueltos, Mxico, Alfaomega, 1997 MORRIS, M. Mano, SISTEMAS MANEJADORES DE BASES DE DATOS; Mxico, Ed. Pearson, 1994, 3 Edicin. HWANG, Kai y Fay A. Briggs; tr. De Alfredo Bautista Paloma., SISTEMAS MANEJADORES DE BASES DE DATOS y Procesamiento Paralelo., Mxico, Ed. McGraw-Hill, 1988 MARTN, James. Anlisis y Diseo Orientado a Objetos.2da.Edicin, Prentice Hall Interamericana. Mxico
PUBLICACIONES EN INTERNET http://www.elrinconcito.com/articulos/BaseDatos/BasesDatos.htm http://www.cs.cinvestav.mx/SC/prof_personal/adiaz/Disdb/ http://descargas.cervantesvirtual.com/servlet/SirveObras/02472741989036164198 835/010010_3.pdf http://www.fceco.uner.edu.ar/extinv/publicdocent/sarangur/pdf/datamining.pdf Universidad de Oviedo. Desarrollo de SGBDOO en Oviedo3 www.Uniovi.es/~oviedo3/belen/jindbd96.html.6/Nov/1999 Boletn Informtico. Panorama de las DBOO http://www.uaemex.mx/publica/informatia/boletin/panorama.html 3/Nov/99 Manifesto de Atkinson . "Sistemas manejadores de bases de datos OO" http://www.cs.cmu.edu/afs/cs.cmu.edu/user/clamen/OODBMS/Manifesto/htManifes to/Manifesto.html10/Dic/99 www.lifia.info.unlp.edu.ar/~luciod/obicour/3.htm www.uniovi.es/~oviedo3/pruebas/a-frames.htm www.uniovi.es/~oviedo3/belen/jingsoft96.html www.tienda.net/tech/visualfoxp.htm www.lml.ls.fi.upm.es/~jjamor/pfc/node22.html www.atenea.lasalle.edu.co/~crojasm/oot101.html
140
BIBLIOTECAS ELECTRNICAS: Universidad Iberoamericana www.bib.uia.mx CREFAL http://atzimba.crefal.edu.mx/bibdigital/ ITESM http://biblioteca.itesm.mx/ UNAM http://www.bibliodgsca.unam.mx/
141