You are on page 1of 147

Licenciatura Informtica Administrativa

Sistemas Manejadores de Bases de Datos

Licenciatura en Informtica Administrativa

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

SEGUNDO DOCUMENTO: GUA DIDCTICA ----------------------------- 9


BIENVENIDO------------------------------------------------------------------------------------------ 9 PRESENTACIN DE LA GUA DE ESTUDIO----------------------------------------------- 10 CRDITOS -------------------------------------------------------------------------------------------- 10 OBJETIVOS GENERALES DE LA ASIGNATURA. --------------------------------------- 11 DESCRIPCIN DEL CURSO. ------------------------------------------------------------------- 11 METODOLOGA------------------------------------------------------------------------------------- 11 CRITERIOS DE EVALUACIN ----------------------------------------------------------------- 13 POLTICAS DEL CURSO. ------------------------------------------------------------------------ 14 AYUDAS ----------------------------------------------------------------------------------------------- 14 HERRAMIENTAS Y UTILERAS ---------------------------------------------------------------- 15

INTRODUCCIN ------------------------------------------------------------------- 17 UNIDAD 01. BASES DE DATOS ORIENTADAS A OBJETOS-------- 18


1.1 OBJETIVOS PARTICULARES ------------------------------------------------------------- 18 1.2 TEMAS Y SUBTEMAS:----------------------------------------------------------------------- 18 1.3 LECTURAS RECOMENDADAS ----------------------------------------------------------- 18 1.4 CONCEPTOS Y TPICOS A REVISAR EN LAS LECTURAS --------------------- 18 1.5 ACTIVIDADES DE APRENDIZAJE UNIDAD 01--------------------------------------- 19 1.6 AUTOEVALUACIN UNIDAD 01 --------------------------------------------------------- 19

UNIDAD 02. XML------------------------------------------------------------------- 20


2.1 OBJETIVOS PARTICULARES ------------------------------------------------------------- 20 2.2 TEMAS Y SUBTEMAS:----------------------------------------------------------------------- 20 2.3 LECTURAS RECOMENDADAS ----------------------------------------------------------- 20 2.4 CONCEPTOS Y TPICOS A REVISAR EN LAS LECTURAS --------------------- 20 2.5 ACTIVIDADES DE APRENDIZAJE UNIDAD 02--------------------------------------- 20 2.6 AUTOEVALUACIN -------------------------------------------------------------------------- 21

UNIDAD 03. PROCESAMIENTO Y OPTIMIZACIN DE CONSULTAS ------------------------------------------------------------------------------------------ 22


3.1 OBJETIVOS PARTICULARES ------------------------------------------------------------- 22 3.2 TEMAS Y SUBTEMAS:----------------------------------------------------------------------- 22 3.3 LECTURAS RECOMENDADAS ----------------------------------------------------------- 22

UNIVERSIDAD VASCO DE QUIROGA

II

Licenciatura en Informtica Administrativa

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

UNIDAD 04. CONTROL DE CONCURRENCIA ---------------------------- 24


4.1 OBJETIVOS PARTICULARES ------------------------------------------------------------- 24 4.2 TEMAS Y SUBTEMAS: -------------------------------------------------------------------- 24 4.3 LECTURAS RECOMENDADAS ----------------------------------------------------------- 24 4.4 CONCEPTOS Y TPICOS A REVISAR EN LAS LECTURAS --------------------- 25 4.5 ACTIVIDADES DE APRENDIZAJE UNIDAD 04--------------------------------------- 25 4.6 AUTOEVALUACIN UNIDAD 04 --------------------------------------------------------- 25

UNIDAD 05. SISTEMA DE RECUPERACIN ----------------------------- 26


5.1 OBJETIVOS PARTICULARES ------------------------------------------------------------- 26 5.2 TEMAS Y SUBTEMAS:----------------------------------------------------------------------- 26 5.3 LECTURAS RECOMENDADAS ----------------------------------------------------------- 26 5.4 CONCEPTOS Y TPICOS A REVISAR EN LAS LECTURAS --------------------- 26 5.5 ACTIVIDADES DE APRENDIZAJE UNIDAD 05--------------------------------------- 27 5.6 AUTOEVALUACIN UNIDAD 05 --------------------------------------------------------- 27

UNIDAD 06. MINERA DE DATOS -------------------------------------------- 28


6.1 OBJETIVOS PARTICULARES ------------------------------------------------------------- 28 6.2 TEMAS Y SUBTEMAS:----------------------------------------------------------------------- 28 6.3 LECTURAS RECOMENDADAS ----------------------------------------------------------- 28 6.4 CONCEPTOS Y TPICOS A REVISAR EN LAS LECTURAS --------------------- 29 6.5 ACTIVIDADES DE APRENDIZAJE UNIDAD 06--------------------------------------- 29 6.6 AUTOEVALUACIN UNIDAD 06 --------------------------------------------------------- 29

UNIDAD 07. SISTEMAS DE BASES DE DATOS ------------------------- 30


7.1 OBJETIVOS PARTICULARES ------------------------------------------------------------- 30 7.2 TEMAS Y SUBTEMAS:----------------------------------------------------------------------- 30 7.3 LECTURAS RECOMENDADAS ----------------------------------------------------------- 30 7.4 CONCEPTOS Y TPICOS A REVISAR EN LAS LECTURAS --------------------- 31 7.5 ACTIVIDADES DE APRENDIZAJE UNIDAD 07--------------------------------------- 31 7.6 AUTOEVALUACIN UNIDAD 07 --------------------------------------------------------- 31

TERCER DOCUMENTO: TEXTO DE AUTO APRENDIZAJE---------- 33


P R E S E N T A C I N ---------------------------------------------------------------------------- 33 OBJETIVOS GENERALES----------------------------------------------------------------------- 35

UNIDAD 01. BASES DE DATOS ORIENTADAS A OBJETOS-------- 36


OBJETIVOS PARTICULARES --------------------------------------------------------------------------- 36 TEMAS Y SUBTEMAS: ------------------------------------------------------------------------------------ 36 Breve Historia del Desarrollo de las Bases de Datos ----------------------------------------------- 38 Conceptos fundamentales -------------------------------------------------------------------------------- 38

1.1. BASES DE DATOS ORIENTADAS A OBJETOS (BDOO) ------------------------------------- 40


Qu es O.O.? ----------------------------------------------------------------------------------------------- 40 Por qu O.O.? ---------------------------------------------------------------------------------------------- 41

UNIVERSIDAD VASCO DE QUIROGA

III

Licenciatura en Informtica Administrativa

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

UNIDAD 02. XML------------------------------------------------------------------- 50


OBJETIVOS PARTICULARES --------------------------------------------------------------------------- 50 TEMAS Y SUBTEMAS: ------------------------------------------------------------------------------------ 50

2.1. LENGUAJE DE MARCAS EXTENSIBLE --------------------------------------------------------- 51


Definicin ------------------------------------------------------------------------------------------------------ 51 Relacin XML y HTML ------------------------------------------------------------------------------------- 52 Estructura XML ---------------------------------------------------------------------------------------------- 53 DTD ------------------------------------------------------------------------------------------------------------- 54 Schema XML ------------------------------------------------------------------------------------------------- 54 RELAN NG ---------------------------------------------------------------------------------------------------- 55 Tecnologa XML --------------------------------------------------------------------------------------------- 56 Ejemplos ------------------------------------------------------------------------------------------------------- 58

UNIDAD 03. PROCESAMIENTO Y OPTIMIZACIN DE CONSULTAS ------------------------------------------------------------------------------------------ 61


OBJETIVOS PARTICULARES --------------------------------------------------------------------------- 61 TEMAS Y SUBTEMAS: ------------------------------------------------------------------------------------ 61

LGEBRA RELACIONAL ------------------------------------------------------------------------------- 62


Conceptos bsicos ------------------------------------------------------------------------------------------ 62 Las operaciones Bsicas ---------------------------------------------------------------------------------- 62 Operaciones no bsicas ----------------------------------------------------------------------------------- 64 Ejemplos ------------------------------------------------------------------------------------------------------- 65

3.1. PROCESAMIENTO DE CONSULTAS------------------------------------------------------------- 70


Introduccin --------------------------------------------------------------------------------------------------- 70 Proceso de consultas relacionales ---------------------------------------------------------------------- 73 Descomposicin de consultas ----------------------------------------------------------------------------74 Normalizacin de expresiones --------------------------------------------------------------------------- 74 Anlisis semntico ------------------------------------------------------------------------------------------ 75 Simplificacin de expresiones ----------------------------------------------------------------------------80 Reestructuracin algebraica ------------------------------------------------------------------------------ 80

3.2. OPTIMIZACIN DE CONSULTAS ---------------------------------------------------------------- 85


Fase de optimizacin --------------------------------------------------------------------------------------- 85 Optimizacin basada en reglas (Rule based) -------------------------------------------------------- 86 Optimizacin basada en costes (Cost based) -------------------------------------------------------- 87

UNIDAD 04. CONTROL DE CONCURRENCIA ---------------------------- 88


OBJETIVOS PARTICULARES --------------------------------------------------------------------------- 88 TEMAS Y SUBTEMAS: ------------------------------------------------------------------------------------ 88

UNIVERSIDAD VASCO DE QUIROGA

IV

Licenciatura en Informtica Administrativa

INTRODUCCIN----------------------------------------------------------------------------------------- 89 4.1 MECANISMOS DE CONTROL DE CONCURRENCIA -------------------------------------------- 89


Taxonoma de los mecanismos de control de concurrencia -------------------------------------- 89 Algoritmos basados en candados ----------------------------------------------------------------------- 90 Candados de dos fases (2PL) ----------------------------------------------------------------------------91 Candados de dos fases centralizados------------------------------------------------------------------ 92 Candados de dos fases distribuidos -------------------------------------------------------------------- 93 Algoritmos basados en estampas de tiempo --------------------------------------------------------- 93 Control de concurrencia optimista ----------------------------------------------------------------------- 95

UNIDAD 05. SISTEMA DE RECUPERACIN ----------------------------- 98


OBJETIVOS PARTICULARES --------------------------------------------------------------------------- 98 TEMAS Y SUBTEMAS: ------------------------------------------------------------------------------------ 98

5.1 SISTEMA DE RECUPERACIN ------------------------------------------------------------------- 99


Introduccin --------------------------------------------------------------------------------------------------- 99

DEFINICIN DE UNA TRANSACCIN ----------------------------------------------------------------- 99


Condiciones de terminacin de una transaccin--------------------------------------------------- 101 Caracterizacin de transacciones --------------------------------------------------------------------- 101 Formalizacin del concepto de transaccin --------------------------------------------------------- 102

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

UNIDAD 06. MINERA DE DATOS ------------------------------------------ 109


OBJETIVOS PARTICULARES ------------------------------------------------------------------------- 109 TEMAS Y SUBTEMAS: ---------------------------------------------------------------------------------- 109

INTRODUCCIN--------------------------------------------------------------------------------------- 110 6.1. DATA MINNING---------------------------------------------------------------------------------- 110


Introduccin ------------------------------------------------------------------------------------------------- 110 Algunas Definiciones ------------------------------------------------------------------------------------- 111 Definiciones amplias y reducidas ---------------------------------------------------------------------- 112 Beneficios clave del uso de Data Mining ------------------------------------------------------------ 113 Arquitectura de Data Mining ---------------------------------------------------------------------------- 113 Aspectos funcionales ------------------------------------------------------------------------------------- 113 Metodologa para Data Mining ------------------------------------------------------------------------- 114 CRISP-DM -------------------------------------------------------------------------------------------------- 115 Tcnicas de Data Minning ------------------------------------------------------------------------------- 132

6.2 HERRAMIENTAS DE PROCESAMIENTO ANALTICO EN LNEA (OLAP) ------------------ 134


OLAP, R-OLAP y M-OLAP ------------------------------------------------------------------------------ 134 Funcionamiento -------------------------------------------------------------------------------------------- 135 Operaciones bsicas ------------------------------------------------------------------------------------- 136 Funcionamiento -------------------------------------------------------------------------------------------- 136 Componentes de software necesarios para el acceso a OLAP -------------------------------- 137

BIBLIOGRAFA ------------------------------------------------------------------- 140


Libros --------------------------------------------------------------------------------------------------------- 140 Publicaciones en Internet -------------------------------------------------------------------------------- 140 Bibliotecas electrnicas: --------------------------------------------------------------------------------- 141

UNIVERSIDAD VASCO DE QUIROGA

Licenciatura en Informtica Administrativa

UNIVERSIDAD VASCO DE QUIROGA

VI

Licenciatura en Informtica Administrativa

Manual del Estudiante

UNIVERSIDAD VASCO DE QUIROGA

Licenciatura en Informtica Administrativa

PRIMER DOCUMENTO: MANUAL DEL ESTUDIANTE


1. LOS MATERIALES DIDCTICOS.
La Licenciatura en Informtica Administrativa de la Universidad Vasco de Quiroga, con la misin de ofrecer a la comunidad los mejores servicios profesionales a nivel superior, para toda aquella persona que busca la superacin personal y acadmica que en la actualidad se requiere, y que por no poderse ajustar a los sistemas tradicionales necesita de alternativas serias y accesibles para continuar con la construccin de una vida con mayores elementos para su crecimiento, por lo tanto, ofrece los estudios de Informtica Administrativa en su Modalidad No Escolarizada. Donde estudiante encontrar:

La Mejor Alternativa de Estudios Superiores de Licenciatura en Informtica Administrativa en su modalidad No Escolarizada.

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:

UNIVERSIDAD VASCO DE QUIROGA

Licenciatura en Informtica Administrativa

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

Licenciatura en Informtica Administrativa

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.

2. CARACTERSTICAS DE LA MODALIDAD EDUCATIVA NO ESCOLARIZADA.


La modalidad de Educacin No Escolarizada, se basa en el estudio independiente (autodidactismo o proceso autogestivo del aprendizaje), dirigido a personas que por distintas causas no pueden integrarse al sistema tradicional escolarizado, pero que estn comprometidos con la superacin humana y profesional. Es por ello que la Lic. en Informtica Administrativa de la Universidad Vasco de Quiroga, es la mejor opcin de desarrollo para sus protagonistas, debido a que la institucin se encuentra constituida por una comunidad acadmica, que, de modo riguroso y crtico, contribuye a la tutela y desarrollo de la dignidad humana, de la herencia cultural y la develacin de la verdad mediante la investigacin, la enseanza y los diversos servicios ofrecidos a las comunidades locales, nacionales e internacionales. En donde los estudiantes son personas que se transforman en sujetos activos y comprometidos en el proceso de aprendizaje, y sus Asesores, son profesionales en contenidos curriculares y aspectos pedaggicos, que utilizan los instrumentos didcticos que le ofrece la tecnologa educativa, para orientar, guiar o aconsejar a los estudiantes del sistema no escolarizado, y as alcanzar la verdad. La Lic. Informtica Administrativa de la Universidad Vasco de Quiroga, con el propsito de garantizar el xito de todos estos grandes esfuerzos, ha establecido Curso de Induccin que tiene como propsito dejar en claro la misin de la universidad, tanto en lo general como en lo particular del programa elegido. Adems por ser fundamental, informar del perfil y de los compromisos que el aspirante debe cumplir al momento de ser aceptado, y que son: El convencimiento de que sus habilidades y limitaciones como estudiantes independientes son los mnimos indispensables para iniciar la licenciatura en este modelo educativo.

UNIVERSIDAD VASCO DE QUIROGA

Licenciatura en Informtica Administrativa

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

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

Licenciatura en Informtica Administrativa

4. CARACTERSTICAS PROPIAS DE LA MATERIA DE: SISTEMAS MANEJADORES DE BASES DE DATOS.


El objetivo de nuestra carrera es generar sistemas que nos permitan generar informacin relevante, oportuna y confiable a nuestros usuarios. Los manejadores de bases de datos nos permiten cumplir con ese objetivo. Los avances en la informtica han generado nuevos retos en el almacenamiento, resguardo y explotacin de la informacin. En esta materia veremos herramientas para optimizar consultas a nuestros repositorios de informacin.

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.

!!!!!BIENVENIDO LA ESTUDIO DE LA MANEJADORES DE BASES DE DATOS Y MUCHO XITO!!!!!

UNIVERSIDAD VASCO DE QUIROGA

Licenciatura en Informtica Administrativa

Gua didctica

UNIVERSIDAD VASCO DE QUIROGA

Licenciatura en Informtica Administrativa

SEGUNDO DOCUMENTO: GUA DIDCTICA


BIENVENIDO
LA UNIVERSIDAD VASCO DE QUIROGA Te da la ms cordial bienvenida al estudio de SISTEMAS MANEJADORES DE BASES DE DATOS. Esta asignatura se imparte dentro la modalidad de Educacin No Escolarizada y es parte integrante DE LA LICENCIATURA EN INFORMTICA ADMINISTRATIVA. Queremos refrendarte una calurosa felicitacin por haber seleccionado esta forma de estudio como una opcin de acrecentar tus conocimientos. Solo ten presente que la tecnologa es solo una herramienta para poderte hacer llegar el conocimiento y que para poder asimilarlo se requiere de un importante esfuerzo y compromiso por parte tuya. Recuerda que durante este proceso de aprendizaje eres la parte ms importante y que nosotros estamos para que puedas lograr con xito tus metas de estudio; cuentas con todas las herramientas necesarias y un gran equipo de personas expertas en diferentes especialidades estn listas para poder auxiliarte en caso de que surja algn inconveniente o problema. Ten presente que para poder acreditar el curso debes de realizar las actividades que te marque tu profesor/asesor. Adems debes participar activamente en las reuniones que tu asesor convenga con el grupo para clarificar tus dudas. Para poder seguir satisfactoriamente los cursos que ofrecemos en la modalidad No Escolarizada te requerimos tengas conocimientos bsicos de herramientas computacionales y que sepas navegar por internet, ya que ste medio nos puede servir como herramienta en la bsqueda de conocimientos, adems de canal de comunicacin, el caso que sientas que no cuentas con la experiencia necesaria en el manejo de la computadora te aconsejamos que puedas tomar algn curso especial. Recuerda siempre que ante cualquier duda, comentario o sugerencia puedes hacrnoslo saber para as poder mejorar y poder brindarte un servicio educativo de calidad, puedes hacerlo a travs del asesor de la materia que ests cursando o puedes dirigirte al Coordinador Acadmico. Esperamos que disfrutes la experiencia de estudiar en esta modalidad, pronto descubrirs las grandes ventajas y bondades que tiene esta forma de estudio, por lo pronto dedcate a estudiar con empeo y recuerda que no ests solo, estamos contigo. Mucho xito!

UNIVERSIDAD VASCO DE QUIROGA

Licenciatura en Informtica Administrativa

PRESENTACIN DE LA GUA DE ESTUDIO


Esta gua es un auxiliar para los estudiantes que cursan los estudios en la modalidad No Escolarizada. En especial, busca orientarlos sobre el contenido de la asignatura de SISTEMAS MANEJADORES DE BASES DE DATOS, as como de las actividades que se realizarn durante la duracin del mismo. Toda la informacin se encuentra contenida en esta gua.

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.

UNIVERSIDAD VASCO DE QUIROGA

10

Licenciatura en Informtica Administrativa

OBJETIVOS GENERALES DE LA ASIGNATURA.


El alumno ser capaz de identificar cada uno de los componentes que integran un sistema de cmputo, y podr analizar su rendimiento, y la manera de actualizarlo o ayudar en la toma de decisiones para la optimizacin de estos recursos.

DESCRIPCIN DEL CURSO.


El curso de SISTEMAS MANEJADORES DE BASES DE DATOS, comprende las bases de la administracin, considerando los siguientes temas generales 1. 2. 3. 4. 5. 6. 7. BASES DE DATOS ORIENTADAS A OBJETOS XML PROCESAMIENTO Y OPTIMIZACIN DE CONSULTAS CONTROL DE CONCURRENCIA SISTEMA DE RECUPERACIN MINERA DE DATOS SISTEMAS DE BASES DE DATOS

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

UNIVERSIDAD VASCO DE QUIROGA

11

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

12

Licenciatura en Informtica Administrativa

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

PUES BIEN, CAMINEMOS JUNTOS!!!!!

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:

UNIVERSIDAD VASCO DE QUIROGA

13

Licenciatura en Informtica Administrativa

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

POLTICAS DEL CURSO.


Los horarios y fechas para asesoras sern establecidas por el asesor o consensadas entre los participantes del curso y se definirn los canales de comunicacin que debern ser utilizados para tal fin. Las tareas sern realizadas segn las instrucciones del Asesor, algunas de ellas tendrn que se elaboradas individualmente y otras de manera grupal. En el caso de actividades grupales, el asesor les indicar la metodologa a seguir para que puedan estar en contacto con los dems miembros que conforman el grupo. Las actividades a realizar tienen fechas lmite de entrega, por lo que se pide se respeten. En caso de no terminarlas dentro de las fechas establecidas la calificacin correspondiente a esa actividad ser de CERO. Algunas de las actividades requieren que se entreguen por escrito, esto ser por medio de un archivo magntico, en el formato y con el nombre que se les seale y deber ser enviado por correo electrnico. En el caso de tener problemas para el envo de tareas favor de comunicarlos oportunamente a su Asesor. Cualquier situacin no contemplada en esta seccin ser tratada de manera particular por parte del Asesor.

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

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

15

Licenciatura en Informtica Administrativa

Yahoo Messenger .- Mensajero instantneo de Yahoo.

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.

UNIVERSIDAD VASCO DE QUIROGA

16

Licenciatura en Informtica Administrativa

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

UNIVERSIDAD VASCO DE QUIROGA

17

Licenciatura en Informtica Administrativa

UNIDAD 01. BASES DE DATOS ORIENTADAS A OBJETOS


1.1 OBJETIVOS PARTICULARES
Al finalizar esta Unidad el estudiante:

Conocer el modelo relacional orientado a objetos combinando caractersticas del modelo relacional y del modelo orientado a objetos.

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

1.3 LECTURAS RECOMENDADAS


LECTURA BSICA: SISTEMAS MANEJADORES DE BASES DE DATOS, Educacin a Distancia, Universidad Vasco de Quiroga.

1.4 CONCEPTOS Y TPICOS A REVISAR EN LAS LECTURAS


A) Objetos B) Base de datos orientada o objetos C) Tipos de datos complejos

UNIVERSIDAD VASCO DE QUIROGA

18

Licenciatura en Informtica Administrativa

1.5 ACTIVIDADES DE APRENDIZAJE UNIDAD 01


Actividad 1.- Explica en ensayo de una cuartilla, con tus propias palabras, en qu consisten las bases de datos orientadas a objetos Actividad 2.- Elabora un diagrama en el que describas el funcionamiento de las bases de datos orientadas a objetos

1.6 AUTOEVALUACIN UNIDAD 01


Contrasta el resultado de tus actividades con el texto de auto aprendizaje.

UNIVERSIDAD VASCO DE QUIROGA

19

Licenciatura en Informtica Administrativa

UNIDAD 02. XML


2.1 OBJETIVOS PARTICULARES
Al finalizar esta Unidad el estudiante:

Conocer el lenguaje XML y estudiar la gestin de los datos XML con las tcnicas de bases de datos.

2.2 TEMAS Y SUBTEMAS:


XML 2.1 Lenguaje de Marcas Extensible (XML)

2.3 LECTURAS RECOMENDADAS


LECTURA BSICA: SISTEMAS MANEJADORES DE BASES DE DATOS, Educacin a Distancia, Universidad Vasco de Quiroga.

2.4 CONCEPTOS Y TPICOS A REVISAR EN LAS LECTURAS


A) XML

2.5 ACTIVIDADES DE APRENDIZAJE UNIDAD 02


Actividad 1.- Explica en ensayo de una cuartilla, con tus propias palabras, cmo funciona el XML y cul es su utilidad

UNIVERSIDAD VASCO DE QUIROGA

20

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

21

Licenciatura en Informtica Administrativa

UNIDAD 03. PROCESAMIENTO Y OPTIMIZACIN DE CONSULTAS

3.1 OBJETIVOS PARTICULARES


Al finalizar esta Unidad el estudiante:

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.

3.2 TEMAS Y SUBTEMAS:


3.PROCESAMIENTO Y OPTIMIZACIN DE CONSULTAS 3.1 Procesamiento de Consultas 3.2 Optimizacin de Consultas

3.3 LECTURAS RECOMENDADAS


LECTURA BSICA: SISTEMAS MANEJADORES DE BASES DE DATOS, Educacin a Distancia, Universidad Vasco de Quiroga. UNIVERSIDAD VASCO DE QUIROGA 22

Licenciatura en Informtica Administrativa

LECTURAS COMPLEMENTARIAS:

3.4 CONCEPTOS Y TPICOS A REVISAR EN LAS LECTURAS


A) Proceso de consulta B) Optimizacin de consultas C) Mtodos de optimizacin de consultas

3.5 ACTIVIDADES DE APRENDIZAJE UNIDAD 03


Actividad 1.- Explica en un ensayo de una cuartilla, con tus propias palabras el proceso de consulta y su utilidad Actividad 2.- Explica en un ensayo de una cuartilla, con tus propias palabras el proceso de optimizacin de consultas y su utilidad Actividad 3: Elabora un diagrama en el que describas los procesos de consulta y optimizacin de consultas. Actividad 4: Elabora un ejemplo de optimizacin de consultas.

3.6 AUTOEVALUACIN UNIDAD 03


Contrasta el resultado de tus actividades con el texto de auto aprendizaje.

UNIVERSIDAD VASCO DE QUIROGA

23

Licenciatura en Informtica Administrativa

UNIDAD 04. CONTROL DE CONCURRENCIA


4.1 OBJETIVOS PARTICULARES
Al finalizar esta Unidad el estudiante:

Describir los mecanismos de control de concurrencia que ayudan a implementar la propiedad de aislamiento.

4.2 TEMAS Y SUBTEMAS:


4. CONTROL DE CONCURRENCIA 4.1 Mecanismos de Control de Concurrencia

4.3 LECTURAS RECOMENDADAS


LECTURA BSICA: SISTEMAS MANEJADORES DE BASES DE DATOS, Educacin a Distancia, Universidad Vasco de Quiroga.

UNIVERSIDAD VASCO DE QUIROGA

24

Licenciatura en Informtica Administrativa

4.4 CONCEPTOS Y TPICOS A REVISAR EN LAS LECTURAS


A) Concurrencia B) Mecanismos de concurrencia

4.5 ACTIVIDADES DE APRENDIZAJE UNIDAD 04


Actividad 1.- Explica en un ensayo de una cuartilla, con tus propias palabras, cmo funciona el proceso de concurrencia y su utilidad Actividad 2.- Elabora un diagrama en el que describas el proceso de concurrencia. Actividad 3.- Propn un ejemplo en el que utilices control de concurrencia.

4.6 AUTOEVALUACIN UNIDAD 04


Contrasta el resultado de tus actividades con el texto de auto aprendizaje.

UNIVERSIDAD VASCO DE QUIROGA

25

Licenciatura en Informtica Administrativa

UNIDAD 05. SISTEMA DE RECUPERACIN


5.1 OBJETIVOS PARTICULARES
Al finalizar esta Unidad el estudiante: Describir el componente de las bases de datos para la administracin de las recuperaciones, que implementa las propiedades de atomicidad y de durabilidad.

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

5.3 LECTURAS RECOMENDADAS


LECTURA BSICA: SISTEMAS MANEJADORES DE BASES DE DATOS, Educacin a Distancia, Universidad Vasco de Quiroga.

5.4 CONCEPTOS Y TPICOS A REVISAR EN LAS LECTURAS


A) Esquemas de recuperacin

UNIVERSIDAD VASCO DE QUIROGA

26

Licenciatura en Informtica Administrativa

B) Restauracin de bases de datos

5.5 ACTIVIDADES DE APRENDIZAJE UNIDAD 05


Actividad 1.- Explica en ensayo de una cuartilla, con tus propias palabras, en qu consiste el sistema de recuperacin y qu utilidad tiene. Actividad 2.- Elabora un diagrama en el que describas cmo se recupera una base de datos Actividad 3.- Propn y muestra evidencia, en cualquier sistema de una base de datos recuperada.

5.6 AUTOEVALUACIN UNIDAD 05


Contrasta el resultado de tus actividades con el texto de auto aprendizaje.

UNIVERSIDAD VASCO DE QUIROGA

27

Licenciatura en Informtica Administrativa

UNIDAD 06. MINERA DE DATOS


6.1 OBJETIVOS PARTICULARES
Al finalizar esta Unidad el estudiante: Conocer otro enfoque para obtener informacin de los datos, pretendiendo detectar varios tipos de estructuras en grandes volmenes de datos

6.2 TEMAS Y SUBTEMAS:


6. DATA MINING 6.1 Minera de Datos 6.2 Herramientas de Procesamiento analtico en lnea (OLAP)

6.3 LECTURAS RECOMENDADAS


LECTURA BSICA: SISTEMAS MANEJADORES DE BASES DE DATOS, Educacin a Distancia, Universidad Vasco de Quiroga.

UNIVERSIDAD VASCO DE QUIROGA

28

Licenciatura en Informtica Administrativa

6.4 CONCEPTOS Y TPICOS A REVISAR EN LAS LECTURAS


A) Minera de datos B) Sistemas de minera de datos

6.5 ACTIVIDADES DE APRENDIZAJE UNIDAD 06


Actividad 1.- Explica en ensayo de una cuartilla, con tus propias palabras, cmo funciona la minera de datos y cul es su utilidad Actividad 2.- Elabora un diagrama en el que describas cmo funciona la minera de datos.

6.6 AUTOEVALUACIN UNIDAD 06


Contrasta el resultado de tus actividades con el texto de auto aprendizaje.

UNIVERSIDAD VASCO DE QUIROGA

29

Licenciatura en Informtica Administrativa

UNIDAD 07. SISTEMAS DE BASES DE DATOS


7.1 OBJETIVOS PARTICULARES
Al finalizar esta Unidad el estudiante: Investigar los Sistemas de Bases de Datos ms usados en la actualidad, tanto comerciales, como sistemas libres.

7.2 TEMAS Y SUBTEMAS:


7. SISTEMAS DE BASES DE DATOS 7.1 Sistemas de Bases de Datos ms Usados en la actualidad.

7.3 LECTURAS RECOMENDADAS


LECTURA BSICA: SISTEMAS MANEJADORES DE BASES DE DATOS, Educacin a Distancia, Universidad Vasco de Quiroga. www.oracle.com http://www.microsoft.com/latam/sqlserver/

UNIVERSIDAD VASCO DE QUIROGA

30

Licenciatura en Informtica Administrativa

www.sybase.com http://www.firebirdsql.org/ http://www.embarcadero.com/products/interbase-smp http://www.mysql.com/ http://www.postgresql.org/ http://www.smallsql.de/

7.4 CONCEPTOS Y TPICOS A REVISAR EN LAS LECTURAS


A) Comparacin de sistemas de bases de datos

7.5 ACTIVIDADES DE APRENDIZAJE UNIDAD 07


Actividad 1.- Elabora un cuadro en el que compares tres sistemas de BD comerciales, su funcionalidad, ventajas y desventajas Actividad 2.- Elabora un cuadro en el que compares tres sistemas libres de BD su funcionalidad, ventajas y desventajas Actividad 3.- Disea un cuadro en el que propongas, de acuerdo a criterios que determines, cual es la BD que implementaras, en qu contexto, porqu y que ventajas ofreceras.

7.6 AUTOEVALUACIN UNIDAD 07


Contrasta el resultado de tus actividades con el texto de auto aprendizaje.

UNIVERSIDAD VASCO DE QUIROGA

31

Licenciatura en Informtica Administrativa

Texto de Autoaprendizaje

UNIVERSIDAD VASCO DE QUIROGA

32

Licenciatura en Informtica Administrativa

TERCER DOCUMENTO: TEXTO DE AUTO APRENDIZAJE


PRESENTACIN
Presentamos los principales conceptos que ayuden a entender los sistemas de manejo de bases de datos No pretendemos agotar el tema, situacin por dems imposible, lo que buscamos es presentar conceptos que comprender herramientas y mtodos para manejar ms adecuadamente la informacin. La evolucin de los sistemas manejadores de bases de datos ha ido a la par del desarrollo de la tecnologa de informacin y de la creciente complejidad del mundo en el que vivimos. El perfeccionamiento de mtodos, modelos y herramientas nos ha permitido contar con mejores sistemas para explotar la informacin. A continuacin se presenta un pequeo esbozo de la evolucin de los sistemas de bases de datos:

UNIVERSIDAD VASCO DE QUIROGA

33

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

34

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

35

Licenciatura en Informtica Administrativa

UNIDAD 01. BASES DE DATOS ORIENTADAS A OBJETOS


OBJETIVOS PARTICULARES 1.1. Bases de datos orientadas a objetos

Al finalizar esta Unidad el estudiante:

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.

UNIVERSIDAD VASCO DE QUIROGA

36

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

37

Licenciatura en Informtica Administrativa

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

UNIVERSIDAD VASCO DE QUIROGA

38

Licenciatura en Informtica Administrativa

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

UNIVERSIDAD VASCO DE QUIROGA

39

Licenciatura en Informtica Administrativa

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.

1.1. Bases de datos orientadas a objetos (BDOO)


QU ES O.O.? En esos mundos OO, el conocimiento se descentraliza en todos los objetos que lo componen, cada objeto sabe hacer lo suyo y no le interesa saber cmo el vecino

UNIVERSIDAD VASCO DE QUIROGA

40

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

41

Licenciatura en Informtica Administrativa

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 (); };

UNIVERSIDAD VASCO DE QUIROGA

42

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

43

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

44

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

45

Licenciatura en Informtica Administrativa

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

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

47

Licenciatura en Informtica Administrativa

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

UNIVERSIDAD VASCO DE QUIROGA

48

Licenciatura en Informtica Administrativa

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

UNIVERSIDAD VASCO DE QUIROGA

49

Licenciatura en Informtica Administrativa

UNIDAD 02. XML


OBJETIVOS PARTICULARES Al finalizar esta Unidad el estudiante:

Conocer el lenguaje XML y estudiar la gestin de los datos XML con las tcnicas de bases de datos.

TEMAS Y SUBTEMAS: XML 2.1 Lenguaje de Marcas Extensible (XML)

UNIVERSIDAD VASCO DE QUIROGA

50

Licenciatura en Informtica Administrativa

2.1. Lenguaje de marcas extensible


DEFINICIN XML es un lenguaje de etiquetado extensible (eXtensible Markup Language) con una importante funcin en el proceso de intercambio, estructuracin y envo de datos en la Web. Describe los datos de tal manera que es posible estructurarlos utilizando para ello etiquetas, como lo hace HTML, pero que no estn predefinidas, delimitando de esta manera los datos, a la vez que favoreciendo la interoperabilidad de los mismos. XML naci como un subconjunto de SGML (structured generalized markup language), en la prctica corresponde a un estndar ISO para documentos estructurados que permite a diferentes aplicaciones interactuar con facilidad a travs de la Red. XML es algo as como SGML simplificado, de forma que una aplicacin no necesita comprender SGML completo para interpretar un documento, sino slo el subconjunto que se defina. Los editores SGML, sin embargo, pueden comprender XML. El lenguaje XML fue creado al amparo del World Wide Web Consortium (W3C) organismo que vela por el desarrollo de WWW partiendo de las amplias especificaciones de SGML. Su desarrollo se comenz en 1996 y la primera versin sali a la luz el 10 de febrero de 1998. La primera definicin que apareci fue: Sistema para definir validar y compartir formatos de documentos en la web. Tiene los siguientes objetivos, tal como se enumeran en el documento de definicin del estndar: 1. 2. 3. 4. XML debe ser utilizable directamente sobre Internet. XML debe soportar una amplia variedad de aplicaciones. XML debe ser compatible con SGML. Ha de resultar fcil escribir programas que procesen documentos XML. 5. El nmero de caractersticas opcionales en XML debe ser mantenido en un mnimo, idealmente cero. 6. Los documentos XML deben ser legibles por un ser humano y razonablemente claros. 7. El diseo de XML debe ser preparado rpidamente. 8. El diseo de XML debe ser formal y conciso. 9. Los documentos XML han de ser fciles de crear. 10. La brevedad en la marcacin reviste mnima importancia.

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.

UNIVERSIDAD VASCO DE QUIROGA

51

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

52

Licenciatura en Informtica Administrativa

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:

UNIVERSIDAD VASCO DE QUIROGA

53

Licenciatura en Informtica Administrativa

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

Licenciatura en Informtica Administrativa

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

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

56

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

57

Licenciatura en Informtica Administrativa

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>

Ejemplo de transformacin XSL:


<!-- Transforma el documento XML anterior en un documento XHTML --> <xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:strip-space elements="libro capitulo titulo"/> <xsl:output method="xml" indent="yes" encoding="iso-8859-1" doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"/> <!-- Utiliza el ttulo del libro como ttulo del documento XHTML --> <xsl:template match="libro"> <html> <head> <title> <xsl:value-of select="titulo"/> </title> </head> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <!-- Y tambin como ttulo de nivel H1 --> <xsl:template match="libro/titulo"> <h1> <xsl:apply-templates/> </h1> </xsl:template> <!-- Los ttulos de los captulos aparecern como H2 --> <xsl:template match="capitulo/titulo">

UNIVERSIDAD VASCO DE QUIROGA

58

Licenciatura en Informtica Administrativa

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

Ejemplo de cdigo XPath:


<!-- Toma todos los elementos titulo dentro del elemento captulo y los elementos autor dentro del elemento capitulo --> /doc/capitulo/titulo | /doc/capitulo/autor

Ejemplo de cdigo XLink:


<my:crossReference xlink:href="libro.xml" xlink:role="http://www.example.com/linkprops/listalibros" xlink:title="Lista de libros"> Lista actual de libros </my:crossReference>

Ejemplo de cdigo XPointer:


documento.xml#xpointer( /libro/capitulo[@public])xpointer(/libro/capitulo[@num="1"])

Ejemplo de cdigo de XQuery:


<!-- Libros escritos por Vargas Llosa despus de 1991 --> <bib> { for $b in doc("http://libro.example.com/bib.xml")/bib/libro where $b/autor = "Vargas Llosa" and $b/@anio > 1991 return <libro anio="{ $b/@anio }"> { $b/titulo } </libro> } </bib>

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

UNIVERSIDAD VASCO DE QUIROGA

59

Licenciatura en Informtica Administrativa

UNIVERSIDAD VASCO DE QUIROGA

60

Licenciatura en Informtica Administrativa

UNIDAD 03. PROCESAMIENTO Y OPTIMIZACIN DE CONSULTAS

OBJETIVOS PARTICULARES Al finalizar esta Unidad el estudiante:

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

UNIVERSIDAD VASCO DE QUIROGA

61

Licenciatura en Informtica Administrativa

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:

UNIVERSIDAD VASCO DE QUIROGA

62

Licenciatura en Informtica Administrativa

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:

son atributos de la relacin R .

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

UNIVERSIDAD VASCO DE QUIROGA

63

Licenciatura en Informtica Administrativa

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)

Una combinacin de dos relaciones es equivalente a:

UNIVERSIDAD VASCO DE QUIROGA

64

Licenciatura en Informtica Administrativa

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

UNIVERSIDAD VASCO DE QUIROGA

65

Licenciatura en Informtica Administrativa

04578 05478 Inscrito ID 1 2 3 4 5

Msica Fsica

05-04 20-04

10 15

1.500 3.200

ID_AL 01 01 11 21 41

COD 05478 02145 03547 02145 03547

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

Pedro Pedro Pedro Pedro Juan

Santiago Santiago Santiago Santiago Buenos Aires Buenos Aires Buenos Aires Buenos Aires

14 14 14 14 18

054 457 354 444 054

Vctor Jos Mara Paz Vctor

654644 454654 997455 747423 654644

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

UNIVERSIDAD VASCO DE QUIROGA

66

Licenciatura en Informtica Administrativa

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

Pedro Juan Diego Rosita

Santiago Buenos Aires Lima Concepcin

14 18 12 15

444 457 054 354

Paz Jos Vctor Mara

747423 454654 654644 997455

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

UNIVERSIDAD VASCO DE QUIROGA

67

Licenciatura en Informtica Administrativa

Juan Diego Rosita

Jos Vctor Mara

Resumiendo en un solo paso: Alumnos


Apoderados.ID_ALUMNO

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:

Lo que nos da la tabla:


Resultado 1
ID ID_AL COD (inscritos) COD (cursos) NOMBRE FECHA_INICIO DURACION VALOR

1 2 3 4 5

01 01 11 21 41

05478 02145 03547 02145 03547

05478 02145 03547 02145 03547

Fsica Biologa Matemticas Biologa Matemticas

20-04 15-02 01-03 15-02 01-03

15 12 30 12 30

3.200 2.500 4.000 2.500 4.000

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

UNIVERSIDAD VASCO DE QUIROGA

68

Licenciatura en Informtica Administrativa

O escrito todo junto: Inscritos


Inscritos.COD = Cursos.CODCursos Resultado 1.ID_AL = Alumnos.ID

Alumnos

La tabla de este nuevo resultado sera:


Resultado 2
ID (inscri to) ID_ AL COD (inscrit os) COD (curs os) NOMBRE (curso) FECHA_I NICIO DURAC ION VAL OR ID (alum no) NOMB RE (alumn o) CIUDA D ED AD

01

0547 8 0214 5 0354 7 0214 5 0354 7

054 78 021 45 035 47 021 45 035 47

Fsica

20-04

15

3.2 00 2.5 00 4.0 00 2.5 00 4.0 00

01

Pedr o Pedr o

Santi ago Santi ago Buen os Aires Lima

14

01

Biologa

15-02

12

01

14

11

Matemt icas

01-03

30

11

Juan

18

21

Biologa Matemt icas

15-02

12

21

Dieg o Man uel

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

La expresin completa sera:

UNIVERSIDAD VASCO DE QUIROGA

69

Licenciatura en Informtica Administrativa

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

Cursos Lo que nos entregara la tabla:


Resultado final NOMBRE Biologa Msica VALOR 2.500 1.500

3.1. Procesamiento de consultas


INTRODUCCIN Obtener un resultado en un ambiente de gestin de archivos convencionales requiere la elaboracin (diseo, edicin, compilacin, montaje, catalogacin y pruebas) de un programa de aplicacin. Queda en mano del programador la responsabilidad de seleccin del mejor mtodo posible para obtener el resultado esperado que satisfaga la exigencia o especificacin del resultado. El proceso de consultas en bases de datos relacionales deja al programador de aplicaciones en un escenario distinto al anterior; la razn es el empleo de lenguajes de especificacin1: si se utiliza un lenguaje de especificacin el programador no tiene que disear ni generar un mtodo para ejecutar la especificacin o consulta requerida, es decir el programador es introducido en un escenario no procedural, no est obligado a crear mtodos ni procedimientos para obtener los datos, slo a especificar los datos que requiere. Ejemplo: si en un programa de aplicacin se inserta una instruccin SQL del tipo: SELECT NMatricula,Nombre,Asignatura,Nota FROM notas WHERE curso= 3.

Los lenguajes de especificacin son lenguajes de manipulacin de datos que permiten manipular conjuntos.

UNIVERSIDAD VASCO DE QUIROGA

70

Licenciatura en Informtica Administrativa

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:

Pensando en trminos de equivalencia algebraica cabran, p.ej., estas dos:

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

Licenciatura en Informtica Administrativa

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:

el tamao mximo de los resultados intermedios sera2

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

UNIVERSIDAD VASCO DE QUIROGA

72

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

73

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

74

Licenciatura en Informtica Administrativa

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

UNIVERSIDAD VASCO DE QUIROGA

75

Licenciatura en Informtica Administrativa

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

UNIVERSIDAD VASCO DE QUIROGA

76

Licenciatura en Informtica Administrativa

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

puede especificarse el GCA:

Con este tipo de grafo es difcil verificar la consistencia semntica.

UNIVERSIDAD VASCO DE QUIROGA

77

Licenciatura en Informtica Administrativa

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:

Los joins se representan con arcos entre atributos de distintas relaciones

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:

UNIVERSIDAD VASCO DE QUIROGA

78

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

79

Licenciatura en Informtica Administrativa

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

La condicin (WHERE condicin) puede reexpresarse como:

Es decir, la consulta es equivalente a la expresin simplificada:

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

UNIVERSIDAD VASCO DE QUIROGA

80

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

81

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

82

Licenciatura en Informtica Administrativa

R2. Asociatividad de joins.

R3. Agrupacin de restricciones.

R4. Conmutatividad restriccin/proyeccin

R5. Conmutatividad restriccin/join

R6. Conmutatividad restriccin/unin y diferencia

R7. Commutatividad proyeccin/join

R8. Commutatividad proyeccin/unin

UNIVERSIDAD VASCO DE QUIROGA

83

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

84

Licenciatura en Informtica Administrativa

3.2. Optimizacin de consultas


FASE DE OPTIMIZACIN La fase de optimizacin de una consulta tiene por objeto generar el plan de ejecucin para la consulta a partir del programa algebraico generado en la fase anterior de descomposicin. Deben contemplarse diversos aspectos en esta fase de optimizacin: 1. El momento o modo de generacin del plan. 2. La estrategia de optimizacin de operadores algebraicos del programa. En cuanto al momento de generacin, se contemplan: 1. Planes dinmicos 2. Planes estticos La estrategia de optimizacin permite diferenciar los enfoques de: Optimizacin por reglas Optimizacin por costes

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

UNIVERSIDAD VASCO DE QUIROGA

85

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

86

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

87

Licenciatura en Informtica Administrativa

UNIDAD 04. CONTROL DE CONCURRENCIA


OBJETIVOS PARTICULARES Al finalizar esta Unidad el estudiante:

Describir los mecanismos de control de concurrencia que ayudan a implementar la propiedad de aislamiento.

TEMAS Y SUBTEMAS: 4. CONTROL DE CONCURRENCIA 4.1 Mecanismos de Control de Concurrencia

UNIVERSIDAD VASCO DE QUIROGA

88

Licenciatura en Informtica Administrativa

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.

4.1 Mecanismos de Control de Concurrencia


En este captulo se hace la suposicin de que el sistema distribuido es completamente confiable y no experimente falla alguna. TAXONOMA DE LOS MECANISMOS DE CONTROL DE CONCURRENCIA El criterio de clasificacin ms comn de los algoritmos de control de concurrencia es el tipo de primitiva de sincronizacin. Esto resulta en dos clases: aquellos algoritmos que estn basados en acceso mutuamente exclusivo a datos compartidos (candados) y aquellos que intentar ordenar la ejecucin de las transacciones de acuerdo a un conjunto de reglas (protocolos). Sin embargo, esas primitivas se pueden usar en algoritmos con dos puntos de vista diferentes: el punto de vista pesimista que considera que muchas transacciones tienen conflictos con otras, o el punto de vista optimista que supone que no se presentan muchos conflictos entre transacciones. Los algoritmos pesimistas sincronizan la ejecucin concurrente de las transacciones en su etapa inicial de su ciclo de ejecucin. Los algoritmos optimistas retrasan la sincronizacin de las transacciones hasta su terminacin. El grupo de algoritmos pesimistas consiste de algoritmos basados en candados, algoritmos basados en ordenamiento por estampas de tiempo y algoritmos

UNIVERSIDAD VASCO DE QUIROGA

89

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

90

Licenciatura en Informtica Administrativa

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.

Grfica del uso de los candados de dos fases

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.

UNIVERSIDAD VASCO DE QUIROGA

91

Licenciatura en Informtica Administrativa

Comportamiento de los candados de dos fases estrictos.

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.

Comunicacin en un administrador centralizado de candados de dos fases estrictos

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.

UNIVERSIDAD VASCO DE QUIROGA

92

Licenciatura en Informtica Administrativa

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.

Comunicacin en candados de dos fases distribuidos

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.

UNIVERSIDAD VASCO DE QUIROGA

93

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

94

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

95

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

96

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

97

Licenciatura en Informtica Administrativa

UNIDAD 05. SISTEMA DE RECUPERACIN


OBJETIVOS PARTICULARES Al finalizar esta Unidad el estudiante: Describir el componente de las bases de datos para la administracin de las recuperaciones, que implementa las propiedades de atomicidad y de durabilidad.

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.

UNIVERSIDAD VASCO DE QUIROGA

98

Licenciatura en Informtica Administrativa

5.1 Sistema de recuperacin


INTRODUCCIN Hay ocasiones en las que, por ejemplo, dos consultas tratan de actualizar el mismo elemento de datos u ocurre una falla del sistema durante la ejecucin de una consulta. Dada la naturaleza de una consulta, de lectura o actualizacin, a veces no se puede simplemente reactivar la ejecucin de una consulta, puesto que algunos datos pueden haber sido modificados antes de la falla. El no tomar en cuenta esos factores puede conducir a que la informacin en la base de datos contenga datos incorrectos. El concepto fundamental aqu es la nocin de "ejecucin consistente" o "procesamiento confiable" asociada con el concepto de una consulta. El concepto de una transaccin es usado dentro del dominio de la base de datos como una unidad bsica de cmputo consistente y confiable.

Definicin de una transaccin


Una transaccin es una coleccin de acciones que hacen transformaciones consistentes de los estados de un sistema preservando la consistencia del sistema. Una base de datos est en un estado consistente si obedece todas las restricciones de integridad definidas sobre ella. Los cambios de estado ocurren debido a actualizaciones, inserciones, y supresiones de informacin. Por supuesto, se quiere asegurar que la base de datos nunca entra en un estado de inconsistencia. Sin embargo, durante la ejecucin de una transaccin, la base de datos puede estar temporalmente en un estado inconsistente. El punto importante aqu es asegurar que la base de datos regresa a un estado consistente al fin de la ejecucin de una transaccin (Ver Figura) Lo que se persigue con el manejo de transacciones es por un lado tener una transparencia adecuada de las acciones concurrentes a una base de datos y por otro lado tener una transparencia adecuada en el manejo de las fallas que se pueden presentar en una base de datos.

UNIVERSIDAD VASCO DE QUIROGA

99

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

100

Licenciatura en Informtica Administrativa

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

UNIVERSIDAD VASCO DE QUIROGA

101

Licenciatura en Informtica Administrativa

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) }

UNIVERSIDAD VASCO DE QUIROGA

102

Licenciatura en Informtica Administrativa

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.

Propiedades de las transacciones


La discusin en la seccin previa clarifica el concepto de transaccin. Sin embargo, aun no se ha dado ninguna justificacin para afirmar que las transacciones son unidades de procesamiento consistentes y confiables. Las propiedades de una transaccin son las siguientes: 1. Atomicidad. Se refiere al hecho de que una transaccin se trata como una unidad de operacin. Por lo tanto, o todas las acciones de la transaccin se realizan o ninguna de ellas se lleva a cabo. La atomicidad requiere que si una transaccin se interrumpe por una falla, sus resultados parciales deben ser deshechos. La actividad referente a preservar la atomicidad de transacciones en presencia de abortos debido a errores de entrada, sobrecarga del sistema o interbloqueos se le llama recuperacin de transacciones. La actividad de asegurar la atomicidad en presencia de cadas del sistema se le llama recuperacin de cadas. 2. Consistencia. La consistencia de una transaccin es simplemente su correctitud. En otras palabras, una transaccin es un programa correcto que lleva la base de datos de un estado consistente a otro con la misma caracterstica. Debido a esto, las transacciones no violan las restricciones de integridad de una base de datos. 3. Aislamiento. Una transaccin en ejecucin no puede revelar sus resultados a otras transacciones concurrentes antes de su commit. Ms an, si varias transacciones se ejecutan concurrentemente, los resultados deben ser los mismos que si ellas se hubieran ejecutado de manera secuencial (seriabilidad). 4. Durabilidad. Es la propiedad de las transacciones que asegura que una vez que una transaccin hace su commit, sus resultados son permanentes y no pueden ser borrados de la base de datos. Por lo tanto, los DBMS aseguran que los resultados de una transaccin sobrevivirn a fallas del sistema. Esta propiedad motiva el aspecto de recuperacin de bases de datos, el cual trata sobre como recuperar la base de datos a un estado consistente en donde todas las acciones que han hecho un commit queden reflejadas. En resumen, las transacciones proporcionan una ejecucin atmica y confiable en presencia de fallas, una ejecucin correcta en presencia de accesos de usuario mltiples y un manejo correcto de rplicas (en el caso de que se soporten).

UNIVERSIDAD VASCO DE QUIROGA

103

Licenciatura en Informtica Administrativa

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

UNIVERSIDAD VASCO DE QUIROGA

104

Licenciatura en Informtica Administrativa

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}

UNIVERSIDAD VASCO DE QUIROGA

105

Licenciatura en Informtica Administrativa

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

Aspectos relacionados al procesamiento de transacciones


Los siguientes son los aspectos ms importantes relacionados con el procesamiento de transacciones: Modelo de estructura de transacciones. Es importante considerar si las transacciones son planas o pueden estar anidadas. Consistencia de la base de datos interna. Los algoritmos de control de datos semntico tienen que satisfacer siempre las restricciones de integridad cuando una transaccin pretende hacer un commit. Protocolos de confiabilidad. En transacciones distribuidas es necesario introducir medios de comunicacin entre los diferentes nodos de una red para garantizar la atomicidad y durabilidad de las transacciones. As tambin, se requieren protocolos para la recuperacin local y para efectuar los compromisos (commit) globales. Algoritmos de control de concurrencia. Los algoritmos de control de concurrencia deben sincronizar la ejecucin de transacciones concurrentes bajo el criterio de correctitud. La consistencia entre transacciones se garantiza mediante el aislamiento de las mismas. Protocolos de control de rplicas. El control de rplicas se refiere a cmo garantizar la consistencia mutua de datos replicados. Por ejemplo se puede seguir la estrategia read-one-write-all (ROWA). INCORPORACIN DEL MANEJADOR ARQUITECTURA DE UN SMBD DE TRANSACCIONES A LA

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.

UNIVERSIDAD VASCO DE QUIROGA

106

Licenciatura en Informtica Administrativa

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

UNIVERSIDAD VASCO DE QUIROGA

107

Licenciatura en Informtica Administrativa

los protocolos de comunicacin necesarios para el manejo de transacciones distribuidas

UNIVERSIDAD VASCO DE QUIROGA

108

Licenciatura en Informtica Administrativa

UNIDAD 06. MINERA DE DATOS


OBJETIVOS PARTICULARES Al finalizar esta Unidad el estudiante: Conocer otro enfoque para obtener informacin de los datos, pretendiendo detectar varios tipos de estructuras en grandes volmenes de datos

TEMAS Y SUBTEMAS: 6. DATA MINING 6.1 Minera de Datos 6.2 Herramientas de Procesamiento analtico en lnea (OLAP)

UNIVERSIDAD VASCO DE QUIROGA

109

Licenciatura en Informtica Administrativa

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.

6.1. Data minning


INTRODUCCIN Las tcnicas de Data Mining son el resultado de un largo proceso de investigacin y desarrollo de productos. Esta evolucin comenz cuando los datos de negocios fueron almacenados por primera vez en computadoras, y continu con mejoras en el acceso a los datos, y ms recientemente con tecnologas generadas para permitir a los usuarios navegar a travs de los datos en tiempo real. Data Mining toma este proceso de evolucin ms all del acceso y navegacin retrospectiva de los datos, hacia la entrega de informacin prospectiva y proactiva. Data Mining est listo para su aplicacin en la comunidad de negocios porque est soportado por tres tecnologas que ya estn suficientemente maduras: Recoleccin masiva de datos Equipos con multiprocesadores Tcnicas de Data Mining Las tcnicas de Data Mining han existido por lo menos desde hace 10 aos, pero slo han sido implementadas recientemente como herramientas maduras, confiables, entendibles que consistentemente son ms eficientes que los mtodos estadsticos clsicos. En la transformacin de los datos de negocios a informacin de negocios, cada nuevo paso se basa en el anterior. Por ejemplo, el acceso a datos dinmicos es crtico para las aplicaciones de navegacin de datos (drill through applications), y la habilidad para almacenar grandes bases de datos es crtica para Data Mining. Los componentes esenciales de la tecnologa de Data Mining han estado bajo desarrollo por dcadas, en reas de investigacin como estadsticas, inteligencia artificial y aprendizaje de mquinas. Hoy, la madurez de estas tcnicas, junto con los motores de bases de datos relacionales de alto desempeo, hicieron que estas tecnologas fueran prcticas para los entornos de Data Warehouse actuales.

UNIVERSIDAD VASCO DE QUIROGA

110

Licenciatura en Informtica Administrativa

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.

JEAN-MICHEL-FRANCO, El Data Warehouse. El Data Mining. Ed. Gestin 2000 1997

UNIVERSIDAD VASCO DE QUIROGA

111

Licenciatura en Informtica Administrativa

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

UNIVERSIDAD VASCO DE QUIROGA

112

Licenciatura en Informtica Administrativa

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

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

114

Licenciatura en Informtica Administrativa

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.

CRISP-DM Sitio Web http://www.crisp-dm.org

UNIVERSIDAD VASCO DE QUIROGA

115

Licenciatura en Informtica Administrativa

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:

UNIVERSIDAD VASCO DE QUIROGA

116

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

117

Licenciatura en Informtica Administrativa

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

UNIVERSIDAD VASCO DE QUIROGA

118

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

119

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

120

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

121

Licenciatura en Informtica Administrativa

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:

UNIVERSIDAD VASCO DE QUIROGA

122

Licenciatura en Informtica Administrativa

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

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

124

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

125

Licenciatura en Informtica Administrativa

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

UNIVERSIDAD VASCO DE QUIROGA

126

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

127

Licenciatura en Informtica Administrativa

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

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

129

Licenciatura en Informtica Administrativa

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

UNIVERSIDAD VASCO DE QUIROGA

130

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

131

Licenciatura en Informtica Administrativa

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

UNIVERSIDAD VASCO DE QUIROGA

132

Licenciatura en Informtica Administrativa

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

Licenciatura en Informtica Administrativa

6.2 Herramientas de Procesamiento analtico en lnea (OLAP)


OLAP, R-OLAP Y M-OLAP Un sistema OLAP se puede entender como la generalizacin de un generador de informes. Las aplicaciones informticas clsicas de consulta, orientadas a la toma de decisiones, deben ser programadas. Atendiendo a las necesidades del usuario, se crea una u otra interfaz. Sin embargo, muchos desarrolladores se dieron cuenta de que estas aplicaciones eran susceptibles de ser generalizadas y servir para casi cualquier necesidad, esto es, para casi cualquier base de datos. Los sistemas OLAP evitan la necesidad de desarrollar interfaces de consulta, y ofrecen un entorno nico vlido para el anlisis de cualquier informacin histrica, orientado a la toma de decisiones. A cambio, es necesario definir dimensiones, jerarquas y variables, organizando de esta forma los datos. Para los desarrolladores de aplicaciones acostumbrados a trabajar con bases de datos relacionales, el diseo de una base de datos multidimensional puede ser complejo o al menos, extrao. Pero en general, nuestra experiencia nos dice que el diseo de dimensiones y variables es mucho ms sencillo e intuitivo que un diseo relacional. Esto es debido a que las dimensiones y variables son reflejo directo de los informes en papel utilizados por la organizacin. Una vez que se ha decidido emplear un entorno de consulta OLAP, se ha de elegir entre R-OLAP y M-OLAP. R-OLAP es la arquitectura de base de datos multidimensional en la que los datos se encuentran almacenados en una base de datos relacional, la cual tiene forma de estrella (tambin llamada copo de nieve o araa). En R-OLAP, en principio la base de datos slo almacena informacin relativa a los datos en detalle, evitando acumulados (evitando redundancia). En un sistema M-OLAP, en cambio, los datos se encuentran almacenados en archivos con estructura multidimensional, los cuales reservan espacio para todas las combinaciones de todos los posibles valores de todas las dimensiones de cada una de las variables, incluyendo los valores de dimensin que representan acumulados. Es decir, un sistema M-OLAP contiene precalculados (almacenados) los resultados de todas las posibles consultas a la base de datos. M-OLAP consigue consultas muy rpidas a costa de mayores necesidades de almacenamiento, y retardos en las modificaciones (que no deberan producirse salvo excepcionalmente), y largos procesos batch de carga y clculo de acumulados. En R-OLAP, al contener slo las combinaciones de valores de dimensin que representan detalle, es decir, al no haber redundancia, el archivo

UNIVERSIDAD VASCO DE QUIROGA

134

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

135

Licenciatura en Informtica Administrativa

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

Licenciatura en Informtica Administrativa

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

Licenciatura en Informtica Administrativa

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

Licenciatura en Informtica Administrativa

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.

UNIVERSIDAD VASCO DE QUIROGA

139

Licenciatura en Informtica Administrativa

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

UNIVERSIDAD VASCO DE QUIROGA

140

Licenciatura en Informtica Administrativa

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/

Consultas por Internet :

UNIVERSIDAD VASCO DE QUIROGA

141

You might also like