Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 1
Ingeniera en Sistemas Computacionales
Fundamentos de Bases de datos.
I.S.C. Claudia Gabriela Sanchez Enciso
Semi-escolarizado
4to Cuatrimestre
Ciclo Escolar 2014-2015
Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 2 TABLA DE CONTENIDO Pg. I. PRESENTACIN. 4 II. ANTECEDENTES. 8 III. EVALUACIN. 9 IV. CALENDARIZACIN CUATRIMESTRAL. 11 V. TEMARIO. 16
Tema 1. 1.1. Sistemas de Informacin. 16 1.1.1. Concepto de Sistemas de Informacin. 16 1.2. Sistemas de informacin para la gestin y para la ayuda en la toma de decisiones. 16 1.3. Sistemas de bases de datos y sus aplicaciones 17 1.4. Sistemas de bases de datos frente a los sistemas de archivos. 17 1.5. Los distintitos niveles de abstraccin de una base de datos. 20 1.6. Usuarios y administradores de la base de datos. 22 1.7. Componentes de los sistemas de bases de datos. 23
Tema 2. 2. Modelo Entidad Relacin. 24 2.1. Conceptos bsicos 24 2.1.1. Entidad 24 2.1.2. Relacin. 25 2.2. Diagramas Entidad Relacin. 28 2.3. Diseo de un Esquema de Bases de Datos. 34 2.4. Lenguaje de Modelado Unificado UML (modelo conceptual). 38
Tema 3. 3 Modelo Relacional. 39 3.1 El Modelo Relacional. 39 3.2 lgebra relacional 41
Tema 4 4 Introduccin a SQL. 42 4.1. Introduccin. 42 4.2. Estructura Bsica (SELEC. WHERE). 45 4.3. Funciones de agregacin (GROUPBY, HAVING). 46 4.4. Consultas sobre mltiples tablas 47 4.4.1. Subconsultas 47 4.4.2. Operadores JOIN. 50
Tema 5 5. Diseo de Base de Datos Relacionales 52 5.1. Diseo de esquemas relacionales de bases de datos. 53 5.1.1. Dependencias Funcionales. 53 5.1.2. Anomalas 54 5.1.3. Descomposicin. 54 5.4.1. Formas Normales 55 5.2. Modelo ER y la Normalizacin 56 5.3. Reduccin de un esquema ER a tablas 56 5.4. Anlisis de un Saco Prctico. 57
Tema 6 6. Bases de Datos Relacionadas a Objetos. 57 Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 3 6.1. Relaciones anidadas 57 6.2. Tipos complejos 59 6.3. Herencia 61 6.4. Tipos de referencia 60 6.5. Consultas con Tipos Complejos. 62
Tema 7. 7. XML. 63 7.1. Antecedentes. 63 7.2. Estructura de los Datos XML. 64 7.3. Esquema de los Documentos XML. 65 7.3.1. Definicin de tipos de Documento (DTD). 66 7.3.2. Esquema de XML. 66 7.4. Consulta y Transformacin 68 7.4.1. Xpth. 68 7.4.2. Xquery. 69 7.4.3. XSLT 70 7.5. Almacenamiento de datos XML. 70 7.6. Aplicaciones. 70 VI. BIBLIOGRAFA 73
Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 4 I.- PRESENTACIN
El principal propsito de este Antologa es orientar a los estudiantes que cursan sus estudios en el sistema mixto, el cual tiene las caractersticas de una escuela escolarizada pero tambin de una escuela abierta. En base a lo anterior, el estudiante tendr que comprometerse a cumplir con la asistencia a la institucin para recibir las asesoras que por acuerdo de la Secretaria de Educacin se tienen que tomar bajo la tutora de un especialista en la materia que se denominara ASESOR. A continuacin se presenta una tabla en donde se podrn identificar los datos generales de la asignatura, tales como el nombre, ubicacin en el mapa curricular, la clave, las horas planeas para trabajo con acompaamiento docente y las estimadas de trabajo autnomo, as como el valor de crditos correspondiente, as como el objetivo general de la asignatura:
Carrera: Ingeniera en Sistemas Computacionales.
Asignatura : Fundamentos de Base de Datos
Ciclo: Primero Clave: 421 Seriacin:
Horas con Asesor Horas Independientes Horas por semana Crditos Total horas clase por curso 28 70 7 6 70
Objetivo General de la Asignatura Identificar un panorama amplio y general de lo que es la informtica, computacin y las ramas en que estas se dividen.
Como en este sistema el estudiante tiene la libertad de organizar sus estudios fuera de la Institucin, en los tiempos y lugares que ms le convengan, se vuelve necesario un material que le ayude a lograr los objetivos de aprendizaje y que le facilite el acceso a los materiales didcticos (libros, publicaciones, audiovisuales, etctera) que requiere para su formacin acadmica. Es por ello que la Universidad Contempornea de las Amricas dise la presente Antologa con el objeto de apoyar la enseanza en la Ingeniera en Sistemas Computacionales. El orden de presentacin, as como los textos seleccionados se basan en el Programa Acadmico que la UCLA imparte en el primer cuatrimestre de la carrera de nivel Licenciatura.
Todo este esfuerzo de la Universidad Contempornea de las Amricas es para formar profesionistas que no solo responde a las condiciones actuales del mercado de trabajo, sino que acta como agente que participa y ayuda a la modernizacin del Sector Productivo, se desarrolla en varias disciplinas en las reas funcionales de la empresa, en los sistemas productivos y en el uso de las Bases de Datos, con la finalidad de hacer ms eficiente la toma de decisiones en la administracin, operacin y control de los sistemas computacionales, el diseo de sistemas de informacin y el empleo de tecnologa vanguardista de cmputo. Siempre conducindose a travs de los valores como el Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 5 respeto, la tolerancia, la disciplina y la libertad sin perder de vista la importancia de la tica profesional.
Es elemental sealar que para el logro de estos objetivos, la labor del Asesor es crucial, porque en gran parte depende de l la motivacin y la actitud adoptadas por el alumno hacia la materia. En este sentido, la antologa debe ser considerada tan solo como una herramienta de apoyo para el proceso de enseanza-aprendizaje, por lo que es recomendable que el Asesor gue al alumno para optimizar su utilizacin.
Para la formacin de la presente antologa, se conservan valiosas aportaciones para el estudio de las Bases de Datos y, se incluyen trabajos originales realizados tanto por profesores de la asignatura como de profesionales reconocidos en ste mbito a nivel nacional e internacional. Los artculos incluidos expresan los puntos de vista de cada autor. Con base a la libertad de expresin se respetan las diversas opiniones, considerando que los Asesores retomarn haciendo uso de su libertad de ctedra sin perder de vista los Vnculos con los Objetivos Generales del Curriculum.
Vnculos con los Objetivos Generales del Curriculum Modelara y diseara bases de datos en el desarrollo de sistemas de informacin.
Filosofa universitaria UCLA
La Universidad Contempornea de las Amricas es una institucin que prepara a sus estudiantes para vivir en un mundo globalizado. En este sentido, se educa hacia la apertura, la responsabilidad y el respeto; de igual manera se fomenta el dominio del idioma espaol y el logro de un nivel alto de ingls. Para la UCLA es indispensable promover y fomentar el conocimiento de la cultura mexicana en sus estudiantes y tambin brindarles la oportunidad de conocer y relacionarse con otras culturas, inculcndoles criterios de tolerancia universal, un espritu y vocacin de paz y solidaridad internacional.
La UCLA contribuye al desarrollo de sus estudiantes, proporcionando opciones de formacin acordes con sus capacidades e intereses. En este sentido se busca transmitir los conocimientos, fomentar habilidades y desarrollar en los alumnos la capacidad de elaborar juicios propios, adems de propiciar el desarrollo de su personalidad profesional. Considera a la formacin escolar un medio fundamental para promover el desarrollo integral de los individuos, su aportacin al ambiente familiar, escolar y social, as como el fortalecimiento de actitudes y valores adecuados para la conservacin y el mejoramiento de su salud fsica y mental.
Parte de la tarea educativa de la UCLA consta en inculcar en los alumnos el sentido de la responsabilidad compartida, principalmente para que puedan colaborar (cada uno conforme a su edad) en la realizacin de las clases y en la vida escolar. La formacin y educacin de la gente UCLA es tarea conjunta de padres y escuela. Ello implica, en Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 6 primer lugar, que ambos mantengan una estrecha comunicacin y se pongan en contacto a tiempo cuando se trata de prevenir dificultades que tiendan a afectar el desarrollo escolar de nuestros estudiantes.
La UCLA cuenta con formadores profesionistas acordes al perfil de cada disciplina y materia, colaboradores de apoyo acadmico y personal administrativo, conscientes del compromiso con la educacin y servicios integrales que una institucin de calidad debe tener. Para la Universidad Contempornea de las Amricas, la calidad es uno de los principales aspectos a cuidar en el desarrollo de los procesos que se lleven a cabo dentro de la Institucin, siendo el proceso Enseanza-Aprendizaje el que tenga mayor ponderacin, ya que de ste depender la calidad de los egresados.
Misin. Formar profesionistas con calidad acadmica, competentes, creativos y emprendedores, lderes y autodidactas en sus diferentes reas de profesionalizacin que sean capaces de comprender el entorno nacional e internacional, con un espritu solidario y de amor a la humanidad.
Visin. Ser la mejor opcin educativa en el Estado, en el pas y, por qu no, fuera del mismo, innovando de acuerdo a los avances cientficos y tecnolgicos para usarlos como herramienta indispensable en el proceso de enseanza-aprendizaje del estudiante.
Valores. La Universidad Contempornea de las Amricas educa en un entorno solidario hacia la comunidad, sin distincin social, religiosa y poltica. Siempre basndose en las leyes de convivencia universal como: El respeto, la tolerancia, la disciplina y la libertad, sin perder de vista la importancia de la tica profesional.
Esta Antologa, fue preparada con la intencin de favorecer la adquisicin de mtodos de estudio que contribuyan a mejorar el aprovechamiento y rendimiento acadmico del estudiante universitario por lo tanto es importante saber utilizarla porque ser determinante para en la formacin acadmica, es por ello que se describir a grandes rasgos su estructura y conformacin. A continuacin dar una breve explicacin del contenido de este material:
1. Programa de estudios de la asignatura.
En el programa de estudios de la asignatura se podr identificar en un esquema los temas que se analizarn y desarrollarn durante el transcurso del cuatrimestre, as como el objetivo general del programa de estudios y los objetivos de cada temtica, al igual que la vinculacin y relacin directa o transversal que tiene esta asignatura con el propsito general del plan de estudios de la licenciatura, e incluso con otras asignaturas Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 7 conformantes del mapa curricular de la carrera de Ingeniera en sistemas Computacionales vigente para tu generacin.
2. Planeacin por Unidad o Tema.
I. En primera instancia se encuentra el objetivo particular de la unidad, el cual marca lo que se pretende lograr durante el desarrollo de la temtica, haciendo referencia al resultado esperado del proceso de aprendizaje que se experimentar durante el cuarto cuatrimestre.
II. Despus las actividades de aprendizaje, estas, son las acciones que se realizan por cuenta propia ya sea de forma individual o en equipo (segn se solicite) al recibir la asesora del tema correspondiente y desarrollar mediante ellas el proceso de aprendizaje, durante el desenvolvimiento en dichas actividades, el asesor podr valorar el desempeo y logro de aprendizajes esperados, as como la comprensin de lo temas.
Estas fueron planeadas de forma sistematizada, ordenada y coherente con el propsito de facilitar el proceso de aprendizaje y favorecerlo, para lograr resultados significativos que se reflejen en el marco referencial de los conocimientos del estudiante y as adquirir mtodos de estudio que permitan aprovechar al mximo las investigaciones, lecturas o trabajos realizados en esta y otras asignaturas.
III. Evaluacin, este es un proceso de gran importancia durante la formacin acadmica debido a que valora diversas situaciones del aprendizaje para identificar en cuales se debe mejorar, tales como: el compromiso, la colaboracin, los aprendizajes, los saberes y de igual forma el desempeo del estudiante durante el desarrollo del proceso enseanza aprendizaje, esta se realizar considerado elementos cualitativos que al final sern convertidos por el asesor en resultados cuantitativos promediando lo anterior con el resultado de un examen parcial y as poder asentar la evaluacin alcanzada por el estudiante. Esto se complementar adems con una serie de trabajos finales de unidad o parcial, as como el trabajo final de curso.
En la presente antologa tambin se encontrar el material bsico que contiene los temas a desarrollar en cada una de las unidades, el cual es esencial para contestar las actividades de aprendizaje, sin embargo el contar con algunas lecturas no debe ser limitante, ni pretexto para no indagar en otras fuentes de consulta, ya sean libros, artculos o pginas WEB con soporte acadmico, que puedan complementar el aprendizaje. Para cualquier duda sobre este material se puede acudir con el asesor o director de carrera quienes con mucho gusto atendern las inquietudes. Es tiempo de emprender la experiencia de la formacin profesional, el resultado de la misma depende del compromiso, empeo y disponibilidad que pongas en todas las sesiones de asesora del cuatrimestre, las satisfacciones y el xito depende de ti. Enhorabuena y bienvenido(a)! Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 8 II. ANTECEDENTES Los orgenes de las bases de datos se remontan a la Antigedad donde ya existan bibliotecas y toda clase de registros. Adems tambin se utilizaban para recoger informacin sobre las cosechas y censos. Sin embargo, su bsqueda era lenta y poco eficaz y no se contaba con la ayuda de mquinas que pudiesen reemplazar el trabajo manual. Posteriormente, el uso de las bases de datos se desarroll a partir de las necesidades de almacenar grandes cantidades de informacin o datos. Sobre todo, desde la aparicin de las primeras computadoras, el concepto de bases de datos ha estado siempre ligado a la informtica. El trmino bases de datos fue escuchado por primera vez en un simposio celebrado en California en 1963. En una primera aproximacin, se puede decir que una base de datos es un conjunto de informacin relacionada que se encuentra agrupada o estructurada. Desde el punto de vista informtico, una base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos. Por su parte, un sistema de Gestin de Bases de datos es un tipo de software muy especfico dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan; o lo que es lo mismo, una agrupacin de programas que sirven para definir, construir y manipular una base de datos, permitiendo as almacenar y posteriormente acceder a los datos de forma rpida y estructurada.
Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 9 III. EVALUACIN
El proceso evaluativo es de gran importancia durante el desarrollo de la metodologa, es por ello que tambin debe realizarse de manera estructurada y planeada para darse a conocer al estudiante y as l conozca los estndares de desempeo que se establecen, as como los parmetros dentro de los cuales se desenvolver para lograr un aprovechamiento acadmico ptimo y por consecuencia un resultado reflejo de su trabajo, actitudes y desempeo durante las actividades. Para tal efecto se propone la siguiente metodologa de evaluacin: Estrategia de Trabajo.- Para el desarrollo de los contenidos que integran el modulo se considerarn las siguientes orientaciones generales: Actividades de Introduccin: - Rescatar conocimientos previos respecto a la importancia de las bases de datos. - Analizar la definicin de bases de datos as como sus antecedentes histricos - Conocer la Importancia y la relacin de las bases de datos con respecto a la Ingeniera en Sistemas Computacionales. - Problematizar los procesos de las bases de dados en los sistemas Informticos en relacin al procesamiento de la informacin dentro de la empresa.
Desarrollo: - Abordar las temticas mediante el anlisis de textos, mapas conceptuales, lneas de tiempo y seminarios de discusin. - Analizar los distintos aportes tericos y establecer un panorama sobre los procesos de las bases de datos en los sistemas informticos en la actualidad. - Abordar cuando el tema as lo permita, prcticas que permitan vincular alguna problemtica en especfica. - Debern crear un blog (blogger o wordpress) en el cual publicaran cada una de las actividades, la cuales servir como portafolio de evidencias.
Cierre: - Vincular la informacin terica con algn tema que sea de su inters para realizar una investigacin, as como realizar prcticas cuando as lo requieran los temas.
Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 10 Propuesta de evaluacin La evaluacin ser en los sentidos cuantitativo y cualitativo, para lo cual se presentan los siguientes rasgos a considerar: Criterio Rasgos Valores Productos Entrega de prctica de los temas que as lo requieran. Formato Caractersticas Ortografa Coherencia Extensin Originalidad 10 Puntos Exposiciones Organizacin Dominio del tema Claridad de la explicacin Material de apoyo Retroalimentacin Producto de la sesin 10 puntos Participaciones Constantes Significativas En forma de aportaciones o dudas Constructivas 10 puntos Portafolio de evidencias Completo. Ordenado. Organizado 10 puntos Examen escrito Individual Respuestas correctas 10 puntos
La evaluacin se realizar de forma integral, considerando un valor homogneo para todos los criterios a evaluar, lo que significa que cada uno se valorar en un rango de 0 a 10 segn el grado de cumplimiento de los rasgos de evaluacin, siendo esta ltima la evaluacin mxima a obtener. Al final del parcial se promediarn todos los criterios a evaluar para obtener la calificacin correspondiente al periodo que se est valorando. Cabe resaltar que el proceso evaluativo estar presente en todo momento ya que se valorar desde el inicio del trabajo, durante el desarrollo del mismo y al trmino de las actividades, esto quiere decir que se tomar en consideracin no solamente el producto resultado del trabajo, sino tambin cmo se construy dicho producto, las acciones realizadas para lograrlo, los apoyos brindados y solicitados a los compaeros y/o asesor. Para tener derecho a ser evaluado se deber cumplir con lo normado por la UCLA, es decir asistencia de un 80% a las sesiones de asesora presencial. La evaluacin se har de manera continua considerando el esfuerzo para la realizacin de lecturas, participacin, anlisis, formas de socializacin grupal y resultado del ejercicio de retroalimentacin de conocimientos. La acreditacin numrica ser dada por el promedio obtenido de acuerdo a la ponderacin de las actividades. Numeral mnimo para acreditar el curso ser de 7 en una escala del 0 al 10.
Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 11 I. CALENDARIZACIN CUATRIMESTRAL
A continuacin se presenta como sugerencia la siguiente tabla sobre la planeacin cuatrimestral, donde se puede apreciar el nmero de sesin as como las posibles fechas, el contenido a abordar, el objetivo que se debe cumplir de manera individual, las estrategias de aprendizaje y el responsable de las mismas, el cual podr servir al asesor para organizar y dosificar el contenido de la materia. Se recuerda que este apartado es una proposicin metodolgica flexible, que el encargado de la asignatura pueda decidir retomar o transformar segn su criterio. No. Periodo de desarrollo Contenido temtico Objetivo de la sesin Responsable / Estrategia 1 30/08/2014 Organizacin del trabajo del modulo Presentacin de la Propuesta de planeacin Programacin de actividades por alumno Acuerdo de las estrategias de trabajo y del sistema de evaluacin Presentacin de la temtica del modulo El Asesor ser el responsable de la propuesta, la cual deber ser expuesta de manera clara y contundente, no dejando ningn espacio a la duda ya que el alumno deber comprender de manera clara cmo ser la estrategia de trabajo y como ser evaluado.
El Asesor iniciar con el rescate de conocimientos previos, fomentando la reflexin del estudiante mediante preguntas generadoras sobre las bases de datos.
2 6/09/2014 TEMA 1. Introduccin a los sistemas De bases de datos. 1.1 Sistemas de informacin y bases de datos. 1.1.1 Concepto de sistema de informacin. 1.1.2 Sistemas de informacin para la gestin y para la ayuda en la toma de decisiones. 1.2 Sistemas de informacin para la gestin y para la ayuda en la toma de decisiones. 1.3 Sistemas de bases de datos y sus aplicaciones. 1.4 Sistemas de bases de datos El alumno comprender el concepto de los sistemas de Informacin de las Bases de Datos y la importancia de la informacin dentro de las empresas y corporativos, as mismo conozca a los precursores que contribuyeron a moldear este concepto. El Asesor ser el responsable de transmitir el conocimiento a travs de la exposicin la cual deber estar orientada a la generacin del conocimiento de los alumnos mediante la sistematizacin, la apertura de ideas, la flexibilidad, la reaccin, el cuestionamiento, la provocacin, la interrogacin, la aclaracin, la comprensin profunda, la comunicacin y la participacin de los alumnos. Pueden incluir secuencias de exposicin docente como componente explicativo y evaluativo.
Los Alumnos sern responsables de: Elaborar un mapa conceptual sobre el significado de la informtica y la importancia de la misma.
Elaborar una Lnea de Tiempo donde se presenten cronolgicamente los precursores del computador.
Publicar las actividades en el blog personal Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 12 frente a los sistemas de archivos
3 13/09/2014 1.5 Los distintitos niveles de abstraccin de una base de datos. 1.6 Usuarios y administradores de la base de datos. 1.7 Componentes de los sistemas de bases de datos. 1.8 Arquitectura de los sistemas de bases de datos.
El estudiante Identificar conceptos bsicos de los sistemas de bases de datos.
El Asesor ser el responsable de transmitir el conocimiento a travs de la exposicin la cual deber estar orientada a la generacin del conocimiento de los alumnos mediante la sistematizacin, la apertura de ideas, la flexibilidad, la reaccin, el cuestionamiento, la provocacin, la interrogacin, la aclaracin, la comprensin profunda, la comunicacin y la participacin de los alumnos. Pueden incluir secuencias de exposicin docente como componente explicativo y evaluativo. Los Alumnos sern responsables de: - Realizar un mapa mental con las ideas principales de los temas. - Publicar las actividades en el blog personal 4 20/09/2014 Tema 2. Modelo entidad relacin. 2.1 Conceptos bsicos. 2.1.1 Entidad. 2.1.2 Relacin. 2.2 Diagramas entidad-relacin (ER).
Conocer y analizara la teora del desarrollo de sistemas de bases de datos, las etapas del proceso de desarrollo. Reconocer la importancia de realizar un anlisis minucioso para poder comprender el requerimiento de un sistema de Bases de Datos. Modelar el esquema de una base datos.
El Asesor ser el responsable de transmitir el conocimiento a travs de la exposicin la cual deber estar orientada a la generacin del conocimiento de los alumnos mediante la sistematizacin, la apertura de ideas, la flexibilidad, la reaccin, el cuestionamiento, la provocacin, la interrogacin, la aclaracin, la comprensin profunda, la comunicacin y la participacin de los alumnos. Pueden incluir secuencias de exposicin docente como componente explicativo y evaluativo.
Los alumnos sern responsables de:
- Elaborar un cuadro comparativo donde el alumno pueda caracterizar y establecer relaciones de similitud y diferencia entre las diferentes relaciones en Bases de Datos. Publicar las actividades en el blog personal 5 27/09/2014 2.3 Diseo de un esquema de base datos. 2.4 Lenguaje de Modelado Unificado UML (Modelo Conceptual). Tema 3. Modelo relacional. Conocer y analizara la teora del desarrollo de sistemas de bases de datos, las etapas del proceso de desarrollo. Reconocer la importancia de realizar un anlisis El Asesor ser el responsable de transmitir el conocimiento a travs de la exposicin la cual deber estar orientada a la generacin del conocimiento de los alumnos mediante la sistematizacin, la apertura de ideas, la flexibilidad, la reaccin, el cuestionamiento, la provocacin, la interrogacin, la aclaracin, la comprensin profunda, la comunicacin y la participacin de los alumnos. Pueden Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 13
3.1 El modelo relacional. 3.2 lgebra relacional.
minucioso para poder comprender el requerimiento de un sistema de Bases de Datos. Modelar el esquema de una base datos. Conocer el modelo relacional y emplear lgebra relacional en consultas.
incluir secuencias de exposicin docente como componente explicativo y evaluativo. 6 4/10/2014 Tema 4. Introduccin a SQL.
4.1 Introduccin. 4.2 Estructura bsica (SELECT, WHERE). 4.3 Funciones de agregacin (GROUP BY, HAVING). 4.4 Consultas sobre mltiples tablas Manejar las instrucciones de SQL para consulta y manipulacin de las bases de datos.
El Asesor ser el responsable de transmitir el conocimiento a travs de la exposicin la cual deber estar orientada a la generacin del conocimiento de los alumnos mediante la sistematizacin, la apertura de ideas, la flexibilidad, la reaccin, el cuestionamiento, la provocacin, la interrogacin, la aclaracin, la comprensin profunda, la comunicacin y la participacin de los alumnos. Pueden incluir secuencias de exposicin docente como componente explicativo y evaluativo. 7 11/10/2014 Primera Evaluacin Valorar el desempeo del estudiante durante el primer parcial. Asesor 8 18/10/2014 4.4.1 Subconsultas. 4.4.2 Operadores JOIN. 4.5 Manipulacin de la base de datos (INSERT,UPDA TE,DELETE).
El Alumno conocer el concepto de las Subconsultas, manipulacin de operadores y la manipulacin de las BD. El Asesor ser el responsable de transmitir el conocimiento a travs de la exposicin la cual deber estar orientada a la generacin del conocimiento de los alumnos mediante la sistematizacin, la apertura de ideas, la flexibilidad, la reaccin, el cuestionamiento, la provocacin, la interrogacin, la aclaracin, la comprensin profunda, la comunicacin y la participacin de los alumnos. Pueden incluir secuencias de exposicin docente como componente explicativo y evaluativo.
Los Alumnos sern responsables de:
- Elaborar un cuadro comparativo donde el alumno pueda caracterizar y establecer relaciones de las consultas en BD. - Publicar las actividades en el blog personal Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 14 9 25/10/2014 Tema 5. Diseo de bases de datos Relacionales.
5.1 Diseo de esquemas relacionales de bases de datos. 5.1.1 Dependencias funcionales. 5.1.2 Anomalas. 5.1.3 Descomposici n El alumno disear esquemas relacionales de base de datos.
El Asesor ser el responsable de transmitir el conocimiento a travs de la exposicin la cual deber estar orientada a la generacin del conocimiento de los alumnos mediante la sistematizacin, la apertura de ideas, la flexibilidad, la reaccin, el cuestionamiento, la provocacin, la interrogacin, la aclaracin, la comprensin profunda, la comunicacin y la participacin de los alumnos. Pueden incluir secuencias de exposicin docente como componente explicativo y evaluativo.
10 1/11/2014 5.1.4 Formas normales. 5.2 Modelo ER y la normalizacin. 5.3 Reduccin de un esquema ER a tablas. 5.4 Anlisis de un caso prctico.
El alumno disear esquemas, modelos y normalizacin de base de datos.
El Asesor ser el responsable de transmitir el conocimiento a travs de la exposicin la cual deber estar orientada a la generacin del conocimiento de los alumnos mediante la sistematizacin, la apertura de ideas, la flexibilidad, la reaccin, el cuestionamiento, la provocacin, la interrogacin, la aclaracin, la comprensin profunda, la comunicacin y la participacin de los alumnos. Pueden incluir secuencias de exposicin docente como componente explicativo y evaluativo.
Los Alumnos sern responsables de: De hacer una prctica en un manejador de BD 11 8/11/2014 Tema 6. Bases de datos Relacionales orientadas a Objetos.
6.1 Relaciones anidadas. 6.2 Tipos complejos. 6.3 Herencia. 6.4 Tipos de referencia Ser obtener un modelo lgico normalizado que represente las entidades normalizadas y las interrelaciones. El modelo de bases de datos orientado por objetos es una adaptacin a los sistemas de bases de datos El Asesor ser el responsable de transmitir el conocimiento a travs de la exposicin la cual deber estar orientada a la generacin del conocimiento de los alumnos mediante la sistematizacin, la apertura de ideas, la flexibilidad, la reaccin, el cuestionamiento, la provocacin, la interrogacin, la aclaracin, la comprensin profunda, la comunicacin y la participacin de los alumnos. Pueden incluir secuencias de exposicin docente como componente explicativo y evaluativo.
Los Alumnos sern responsables de: Elaborar u proyecto donde se reflejen los conocimientos adquiridos. 12 15/11/2014 6.5 Consultas con tipos complejos. 6.6 Comparacin entre las bases de datos Ser obtener un modelo lgico normalizado que represente las entidades normalizadas y las El alumno ser responsable de preparar con los temas una Exposicin la cual podr realizarse en equipos de manera clara y estructurada, para que el alumno pueda compartir conocimiento y experiencias. La exposicin deber contar con una Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 15 orientadas a objetos y las bases de datos relacionales orientadas a objetos.
interrelaciones. El modelo de bases de datos orientado por objetos es una adaptacin a los sistemas de bases de datos introduccin, un desarrollo y un desenlace. Debern definir y elaborar los elementos de apoyo necesarios. Debern elaborar un guion, de acuerdo con la estructura de la exposicin. 13 22/11/2014 Tema 7. Xml.
7.1 Antecedentes. 7.2 Estructura de los datos XML. 7.3 Esquema de los documentos XML.
Conocer la utilidad del formato de datos XML y su integracin a los sistemas de bases de datos.
El alumno ser responsable de preparar con los temas una Exposicin la cual podr realizarse en equipos de manera clara y estructurada, para que el alumno pueda compartir conocimiento y experiencias. La exposicin deber contar con una introduccin, un desarrollo y un desenlace. Debern definir y elaborar los elementos de apoyo necesarios. Debern elaborar un guion, de acuerdo con la estructura de la exposicin. 14 29/11/2014 7.3.1 Definicin de tipos de documento (DTD). 7.3.2 Esquemas de XML. 7.4 Consulta y transformacin. 7.4.1 Xpath.
Conocer la utilidad del formato de datos XML y su integracin a los sistemas de bases de datos.
El Asesor ser el responsable de transmitir el conocimiento a travs de la exposicin la cual deber estar orientada a la generacin del conocimiento de los alumnos mediante la sistematizacin, la apertura de ideas, la flexibilidad, la reaccin, el cuestionamiento, la provocacin, la interrogacin, la aclaracin, la comprensin profunda, la comunicacin y la participacin de los alumnos. Pueden incluir secuencias de exposicin docente como componente explicativo y evaluativo.
15 6/12/2014 7.4.2 Xquery. 7.4.3 XSLT. 7.5 Almacenamient o de datos XML. 7.6 Aplicaciones Conocer la utilidad del formato de datos XML y su integracin a los sistemas de bases de datos.
El Asesor ser el responsable de transmitir el conocimiento a travs de la exposicin la cual deber estar orientada a la generacin del conocimiento de los alumnos mediante la sistematizacin, la apertura de ideas, la flexibilidad, la reaccin, el cuestionamiento, la provocacin, la interrogacin, la aclaracin, la comprensin profunda, la comunicacin y la participacin de los alumnos. Pueden incluir secuencias de exposicin docente como componente explicativo y evaluativo.
16 13/12/2014 Segunda Evaluacin Valorar el desempeo del estudiante durante el segundo parcial. Asesor
Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 16 V. TEMARIO
A continuacin se desglosa el marco terico de los temas y subtemas en cada una de las unidades del plan de estudios, el cual es esencial para completar las actividades de aprendizaje, sin embargo el contar con estas no debe ser limitante, ni pretexto para no indagar en otras fuentes de consulta, ya sean libros, artculos o pginas WEB con soporte acadmico, que puedan contribuir a complementar o enriquecer el aprendizaje del alumno.
TEMA 1. INTRODUCCIN A LOS SISTEMAS DE BASES DE DATOS. Introduccin. Empezaremos esta unidad didctica viendo cules son los objetivos de los sistemas de gestin de las bases de datos (SGBD) y, a continuacin, daremos una visin general de la arquitectura, el funcionamiento y el entorno de estos sistemas.
Para disear una base de datos debemos establecer un proceso partiendo del mundo real, de manera que sea posible plasmarlo mediante una serie de datos. La imagen que obtenemos del mundo real se denomina modelo conceptual y consiste en una serie de elementos que definen lo que queremos plasmar del mundo real en la base de datos. La definicin de este modelo se denomina esquema conceptual. Una base de datos es una recopilacin de informacin relativa a un asunto o propsito particular, como el seguimiento de pedidos de clientes o el mantenimiento de una coleccin de msica.
1.1 Sistemas de informacin y bases de datos. 1.1.1 Concepto de sistema de informacin. Sistemas de Informacin (SI: informacin system) Es un conjunto de componentes interrelacionados que renen (u obtienen), procesa, almacena y distribuye informacin para apoyar la toma de decisiones y el control de una organizacin. Un sistema de informacin realiza cuatro actividades blisicas: entrada, almacenamiento, Procesamiento y salida de informacin. 1.2. Sistemas de informacin para la gestin y para la ayuda en la toma de decisiones. Velocidad, para la planificacin, la toma de decisiones y el control. La velocidad y exactitud con que los directivos pueden recibir informacin sobre lo que est funcionando bien o lo que est funcionando mal determinarn, en gran medida, la eficacia que tendrn los sistemas de control. Dado que los sistemas de informacin desempean un papel tan importante en la administracin de instituciones educativas, ahora es fundamental que los directivos entiendan cmo deben disear aplicar y manejar tales sistemas. Ante las presiones econmicas y de inscripciones que las universidades enfrentan en estos Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 17 tiempos, la importancia de los sistemas de informacin administrativa le saltar a la vista, todos los das. 1.3 Sistemas de bases de datos y sus aplicaciones. Definicin: Un Sistema de Base de Datos (s.b.d), se trata de un sistema computarizado con un propsito especial que es almacenar y hacer accesible la informacin que almacena cuando es solicitada. Ventajas de un sistema computarizado: a).- Rapidez: Un sistema informtico nos da ms rapidez al acceder a los datos. Compacto: La misma informacin nos ocupa menos espacio que en un sistema no computarizado. b).- Menos Laborioso: Nos cuesta menos acceder a la informacin. c).- Actual: Tenemos la informacin en el momento preciso puesta al da. No todos los sistemas computarizados son sistemas de bases de datos, tambin podemos encontrar sistemas basados en ficheros. En un sistema de ficheros tenemos a una aplicacin asociada a un fichero de datos. Estos sistemas tienen la desventaja de que las aplicaciones estn muy ligadas a la estructura fsica de los datos, as se crean camino e ndices conforme su estructura de almacenamiento. Mientras en un s.b.d. los ficheros de datos no estn ligados a ninguna aplicacin ni a ninguna estructura. Los datos estn bajo el control del sistema de base de datos. Ventajas de un Sistema de Base de Datos: - Eliminacin, Reduccin de Redundancia: Por redundancia se entiende informacin repetida dentro del s.b.d. Lo ideal es eliminar la redundancia, aunque en determinados casos se usa teniendo en cuenta que al utilizar redundancia cualquier cambio hay que transmitirlo a todas las redundancias. (Propagacin automtica de actualizaciones). Ejemplo: En un sistema de ficheros podramos tener dos programas uno de cuentas corrientes y otro de prstamos; cada uno con un fichero mientras que en un s.b.d. con un solo fichero bastara. 1.4 Sistemas de bases de datos frente a los sistemas de archivos. Si analizamos la situacin (especialmente la situacin pasada) de algunos sistemas de informacin, podemos encontrar sistemas en los que existe una proliferacin de ficheros, especficos cada uno de ellos de una determinada aplicacin (vase figura 1.8). Los datos se recogen varias veces y se encuentran repetidos en los distintos archivos. Esta redundancia, adems de malgastar recursos, origina a menudo divergencias en los Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 18 resultados.
Los sistemas informticos de este tipo han sido llamados a veces sistemas orientados hacia el proceso, debido a que en ellos se pone el nfasis en los tratamientos que reciben los datos, los cuales se almacenan en ficheros diseados para una determinada aplicacin. Las aplicaciones se analizan e implantan con entera independencia una de otras, y los datos no se suelen transferir entre ellas, sino que se duplican siempre que los correspondientes trabajos los necesitan. Este planteamiento produce, adems de una ocupacin intil de memoria secundaria, un aumento de los tiempos de proceso, al repetirse los mismos controles y operaciones en los distintos ficheros. Pero ms graves todava son las inconsistencias que a menudo se presentan en estos sistemas, debido a que la actualizacin de los mismos datos, cuando se encuentran en ms de un fichero, no se suele realizar de forma simultnea en todos ellos. Por otra parte, la dependencia de los datos respecto al soporte fsico y a los programas da lugar a una falta de flexibilidad y de adaptabilidad frente a los cambios que repercute muy negativamente en el rendimiento de conjunto del sistema informtico. De este anlisis se deduce claramente la necesidad de una gestin ms racional del conjunto de datos surgiendo as un nuevo enfoque que se apoya sobre una base de datos, en la cual los datos son recogidos y almacenados una sola vez, con independencia de los tratamientos
Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 19
Las bases de datos, surgidas como respuesta al nuevo planteamiento de los sistemas orientados hacia los datos para mejorar la calidad de las prestaciones de los sistemas informticos y aumentar su rendimiento, presentan una multitud de ventajas frente a los sistemas clsicos de ficheros. Las ventajas de los sistemas de bases de datos son, entre otras, las siguientes: A) Independencia de los datos respecto a los tratamientos y viceversa.- La mutua independencia de datos y tratamientos lleva a que un cambio de estos ltimos no imponga un nuevo diseo de la base de datos. Por otra parte, la inclusin de nuevas informaciones, desaparicin de otras, cambios en la estructura fsica o en los caminos de acceso, etc., no deben obligar a alterar los programas. Esta independencia de los tratamientos frente a la estructura de la base de datos, supone una considerable ventaja, al evitar el importante esfuerzo que origina la reprogramacin de las aplicaciones cuando se producen cambios en los datos. B) Coherencia de los resultados.- Debido a que la informacin de la base de datos se recoge y almacena una sola vez, en los tratamientos se utilizan los mismos datos, por lo que los resultados de todos ellos son coherentes y perfectamente comparables. Adems, al no existir (o al menos disminuir en gran medida) la redundancia en los datos, desaparece el problema que se presentaba en el enfoque clsico de que el cambio de un dato obligaba a actualizar una serie de ficheros. De esta forma se elimina tambin el inconveniente de las divergencias en los resultados debidas a actualizaciones no simultneas en todos los ficheros. C) Mejor disponibilidad de los datos para el conjunto de los usuarios.- Cuando se aplica la metodologa de bases de datos, cada usuario ya no es propietario de los datos, puesto que estos se comparten entre el conjunto de aplicaciones, existiendo una mejor Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 20 disponibilidad de los datos para todos los que tienen necesidad de ellos, siempre que estn autorizados para su acceso. Hay tambin una mayor transparencia respecto a la informacin existente, ya que todos los datos que se encuentran en la base se deben relacionar en un catlogo o diccionario que puede ser ampliamente difundido y accedido por medios informticos. D) Mayor valor informativo.- Puesto que la base de datos ha de ser reflejo del mundo real, en ella se recogen las interrelaciones entre los datos, por lo que el valor informativo del conjunto es superior a la suma del valor informativo de los elementos individuales que lo constituyen; es decir, acta el efecto de sinergia. E) Mejor y ms normalizada documentacin de la informacin, la cual est integrada con los datos.- En el enfoque clsico los datos se encuentran separados de su contenido semntico; los primeros se almacenan en ficheros y su descripcin se hace mediante un lenguaje de programacin que se encuentra en los programas. La documentacin de los datos, realizada por el analista o programador, es en general insuficiente, y a veces incluso inexistente. Adems, por lo comn, la estandarizacin brilla por su ausencia. Este problema se atena en gran medida en las bases de datos, ya que en la misma base se incluyen no solo los datos, sino tambin la semntica de los mismos. F) Mayor eficiencia en la recogida, validacin e introduccin de los datos en el sistema.- Al no existir apenas redundancias, los datos se recogen y validan una sola vez, aumentando as el rendimiento de todo el proceso previo al almacenamiento. G) Reduccin del espacio de almacenamiento.- La desaparicin (o disminucin) de las redundancias, as como la aplicacin de tcnicas de compactacin, lleva en los sistemas de bases de datos a una menor ocupacin de almacenamiento secundario disco magntico Se ha de tener presente, sin embargo, que los elementos del sistema (diccionario, referencias, punteros, ficheros invertidos, etc.) ocupan bastante espacio. 1.5 Los distintitos niveles de abstraccin de una base de datos. La estructura lgica de usuario o esquema externo es la visin que tiene de la base de datos cada usuario en particular; la estructura lgica global (tambin denominada esquema conceptual) responde al enfoque del conjunto de la empresa y la estructura fsica (o esquema interno) es la forma en que se organizan los datos en el almacenamiento fsico. La estructuracin de una base de datos en estos tres niveles de abstraccin tiene como principal objetivo conseguir la independencia entre datos y aplicaciones. ESTRUCTURA LGICA DE USUARIO: ESQUEMA EXTERNO Debido a que un esquema externo es la visin que de la base de datos tiene un usuario en particular, en l debern encontrarse reflejados slo aquellos datos e interrelaciones que necesite el correspondiente usuario. Tambin habrn de especificarse las Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 21 restricciones de uso, como puede ser el derecho a insertar o borrar determinados datos o el acceso a los mismos, etc. Aunque esto no sea lo ms conveniente, ya que indica una dependencia fsico-lgica, pueden que aparezcan en este nivel los aminos de acceso a los datos, hecho que depender en gran medida del modelo de los datos en el que se apoya el correspondiente SGBD; en el modelo relacional los caminos de acceso slo se encuentran en el nivel, no siendo nunca visibles por los usuarios. Habr tantos esquemas externos como exijan las diferentes aplicaciones. Un mismo esquema externo podr ser utilizado por varias aplicaciones. ESTRUCTURA LGICA GLOBAL: ESQUEMA CONCEPTUAL En el esquema conceptual, por ser la visin global de los datos, deber incluirse la descripcin de todos los datos e interrelaciones entre estos, as como las restricciones de integridad y de confidencialidad. La estabilidad de estos conceptos disminuye en el orden en el que los hemos citado. As, las restricciones de confidencialidad sern menos estables que las de integridad, y estas, a su vez, sern menos estables que las interrelaciones o que los datos. Por esta razn, algunos autores proponen que este esquema se divida en varios, uno para cada concepto, de modo que, por ejemplo, un cambio en las restricciones no lleve consigo una nueva definicin de todo el esquema. ESTRUCTURA FSICA: ESQUEMA INTERNO Aunque el contenido del esquema interno depende mucho de cada SGBD, podemos distinguir tres clases de aspectos que deben especificarse en l. Estrategia de almacenamiento.- En este apartado se incluye la asignacin de espacios de almacenamiento para el conjunto de datos. Tambin deber indicarse la estrategia de emplazamiento de los datos que ha sido utilizada para optimizar tiempos de respuestas y espacio de memoria secundaria; por ultimo debern aparecer aspectos como el tratamiento de los desbordamientos, etc. Caminos de acceso.- Incluimos en los caminos de acceso la especificacin de claves, as como la de ndices o punteros. Miscelnea.- Adems de los aspectos citados, habra que incluir, en el esquema interno, otros varios, como tcnicas de compresin de datos, de criptografiado, la correspondencia entre esquema interno y esquema conceptual, tcnicas de ajuste o afinamiento (tuning), optimizacin, etc. El administrador de la base de datos habr de especificar: Dispositivos de memoria: Tamao de la pgina, nmero de pginas asignadas a cada rea de almacenamiento, tamao de las reas de entrada/salida (buffers), etc. Correspondencia entre esquemas (mapping): Por omisin, se suele suponer que existe una correspondencia uno a uno entre los registros del esquema conceptual y los registros Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 22 almacenados; en caso contrario, el administrador debe indicar la relacin existente entre ellos. Organizaciones fsicas: Para mejorar la recuperacin y los tiempos de acceso, el sistema debe dar facilidades para que el administrador defina el tipo de organizacin (dispersin hashing-, agrupamientos, ndices, etc.) que considere ms adecuada a fin de lograr la mxima eficiencia; dependiendo del SGBD podr definir tambin definir punteros entre registros, privilegiando as determinados caminos de acceso. Controles de acceso: Permite definir reglas para proteger la confidencialidad de los datos 1.6 Usuarios y administradores de la base de datos. Usuarios normales: Son aquellos no sofisticados que estn en contacto con el sistema por un programa de aplicacin con una interfaz de formularios, donde se puede volver a llenar los campos apropiados del formulario, pueden tambin solo leer informes generados por la base de datos. Usuarios sofisticados. Interactan con el sistema sin programas escritos, usan el lenguaje de consulta de base de datos para hacer las consultas. Los analistas que envan las consultas para explorar los datos en la base de datos entran en esta categora, usando ellos las herramientas de procesamiento analtico en lnea (OLAP, OnLine Analytical Processing), o herramientas de recopilacin de datos. Usuarios especializados. Son usuarios muy sofisticados que escriben aplicaciones de bases de datos especializadas y adecuadas para el procesamiento de datos tradicional. Entre estas aplicaciones estn los sistemas de diseo asistido por computadora, sistemas de base de conocimientos y sistemas expertos, sistemas que almacenan datos de tipos de datos complejos (como grficos y de audio) y sistemas de modelado de entorno. Administradores de la base de datos (ABD). Son aquellas que tienen el control central del SGBD. Entre las funciones del ABD se encuentran: - Definicin del esquema de la base de datos. - Definicin de la estructura y el mtodo de acceso. - Modificacin del esquema y la organizacin fsica. - Concesin de autorizacin para el acceso a los datos. - Mantenimiento rutinario.
Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 23
1.7 Componentes de los sistemas de bases de datos. Definicion. Consiste en una coleccin de datos interrelacionados y un conjunto de programas para acceder a esos datos. El Objetivo primordial de un SGBD es proporcionar un entorno que sea a la vez conveniente y eficiente para ser utilizado al extraer y almacenar informacin de la base de datos (KORTH, 1995). Estructura general de un sistema de gestin de Base de Datos. Un Sistema de Gestin de Base de Datos se divide en mdulos que tratan cada una de las responsabilidades del sistema general. Los componentes funcionales de un SGBD (KORTH, 1995) incluyen: 1.- Procesador de Consultas. Traduce sentencias en un lenguaje de consultas a instrucciones de bajo nivel que entiende el gestor de la base de datos. 2.- Gestor de la Base de Datos. Proporciona la interface entre los datos de bajo nivel almacenados en la base de datos y los programas de aplicacin y las consultas que se hacen en el sistema. 3.- Gestor de Archivos. Gestiona la asignacin de espacio en la memoria del disco y de las estructuras de datos usadas para representar la informacin almacenada en disco. 4.- Pre compilador del Lenguaje de Manipulacin de Datos DML. Convierte las sentencias en DML incorporadas en un programa de aplicacin en llamadas normales a procedimientos en el lenguaje principal. 5.- Compilador del Lenguaje de Definicin de Datos DDL. Convierte sentencias en DDL en un conjunto de tablas metadatos o datos sobre datos. 6.- Gestor del Diccionario de Datos. Almacena metadatos sobre la estructura de la base de datos. 7.- Control de autorizacin. Este mdulo comprueba que el usuario tiene los permisos necesarios para llevar a cabo la operacin que solicita. 8.- Procesador de comandos. Una vez que el sistema ha comprobado los permisos del usuario, se pasa el control al procesador de comandos. 9.- Control de la integridad. Cuando una operacin cambia los datos de la base de datos, este mdulo debe comprobar que la operacin a realizar satisface todas las restricciones de integridad necesarias. Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 24 10.- Optimizador de consultas. Este mdulo determina la estrategia ptima para la ejecucin de las consultas. 11.- Gestor de transacciones. Este mdulo realiza el procesamiento de las transacciones. 12.- Planificador (scheduler). Este mdulo es el responsable de asegurar que las operaciones que se realizan concurrentemente sobre la base de datos tienen lugar sin conflictos. 13.- Gestor de recuperacin. Este mdulo garantiza que la base de datos permanece en un estado consistente en caso de que se produzca algn fallo. 14.- Gestor de buffers. Este mdulo es el responsable de transferir los datos entre memoria principal y los dispositivos de almacenamiento secundario. A este mdulo tambin se le denomina gestor de datos. 1.8 Arquitectura de los sistemas de bases de datos. TEMA 2. Modelo Entidad Relacin. El modelo E-R se basa en una percepcin del mundo real, la cual est formada por objetos bsicos llamados entidades y las relaciones entre estos objetos as como las caractersticas de estos objetos llamados atributos. 2.1 Conceptos bsicos. El modelo E-R (Entidad-Relacin) es un modelo de datos conceptual de alto nivel y que se suele utilizar bastante en el diseo de bases de datos. Se basa en una percepcin del mundo real que consiste en un conjunto de objetos bsicos denominados entidades y relaciones, y se desarroll para facilitar el diseo de bases de datos. El modelo E-R crea un modelo de la realidad que se corresponde con la parcela de la realidad que queremos modelar, y lo hace de forma que es independiente de la implementacin posterior, ofreciendo un alto nivel de abstraccin, y siendo una herramienta grfica fcil de comprender. El resultado del modelado E-R es un diagrama E-R que representa una estructura lgica general de la base de datos. 2.1.1 Entidad. Cualquier tipo de objeto o concepto sobre el que se recoge informacin: cosa, persona, concepto abstracto o suceso. Por ejemplo: coches, casas, empleados, clientes, empresas, oficios, diseos de productos, conciertos, excursiones, etc. Las entidades se representan grficamente mediante rectngulos y su nombre aparece en el interior. Un nombre de entidad slo puede aparecer una vez en el esquema conceptual. Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 25 Hay dos tipos de entidades: fuertes y dbiles. Una entidad dbil es una entidad cuya existencia depende de la existencia de otra entidad. Una entidad fuerte es una entidad que no es dbil.
2.1.2 Relacin. Es una correspondencia o asociacin entre dos o ms entidades. Cada relacin tiene un nombre que describe su funcin. Las relaciones se representan grficamente mediante rombos y su nombre aparece en el interior. Las entidades que estn involucradas en una determinada relacin se denominan entidades participantes. El nmero de participantes en una relacin es lo que se denomina grado de la relacin. Por lo tanto, una relacin en la que participan dos entidades es una relacin binaria; si son tres las entidades participantes, la relacin es ternaria; etc. Una relacin recursiva es una relacin donde la misma entidad participa ms de una vez en la relacin con distintos papeles. El nombre de estos papeles es importante para determinar la funcin de cada participacin. La cardinalidad con la que una entidad participa en una relacin especifica el nmero mnimo y el nmero mximo de correspondencias en las que puede tomar parte cada ocurrencia de dicha entidad. La participacin de una entidad en una relacin es obligatoria (total) si la existencia de cada una de sus ocurrencias requiere la existencia de, al menos, una ocurrencia de la otra entidad participante. Si no, la participacin es opcional (parcial). Las reglas que definen la cardinalidad de las relaciones son las reglas de negocio. A veces, surgen problemas cuando se est diseado un esquema conceptual. Estos problemas, denominados trampas, suelen producirse a causa de una mala interpretacin en el significado de alguna relacin, por lo que es importante comprobar que el esquema conceptual carece de dichas trampas. En general, para encontrar las trampas, hay que asegurarse de que se entiende completamente el significado de cada relacin. Si no se entienden las relaciones, se puede crear un esquema que no represente fielmente la realidad. Una de las trampas que pueden encontrarse ocurre cuando el esquema representa una relacin entre entidades, pero el camino entre algunas de sus ocurrencias es ambiguo. El modo de resolverla es reestructurando el esquema para representar la asociacin entre las entidades correctamente. Otra de las trampas sucede cuando un esquema sugiere la existencia de una relacin entre entidades, pero el camino entre una y otra no existe para algunas de sus Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 26 ocurrencias. En este caso, se produce una prdida de informacin que se puede subsanar introduciendo la relacin que sugera el esquema y que no estaba representada. Una relacin es la asociacin que existe entre dos a ms entidades. Un conjunto de relaciones es un grupo de relaciones del mismo tipo. La cantidad de entidades en una relacin determina el grado de la relacin, por ejemplo la relacin ALUMNO-MATERIA es de grado 2, ya que intervienen la entidad ALUMNO y la entidad MATERIA, la relacin PADRES, puede ser de grado 3, ya que involucra las entidades PADRE, MADRE e HIJO. Aunque el modelo E-R permite relaciones de cualquier grado, la mayora de las aplicaciones del modelo slo consideran relaciones del grado 2. Cuando son de tal tipo, se denominan relaciones binarias. La funcin que tiene una relacin se llama papel, generalmente no se especifican los papeles o roles, a menos que se quiera aclarar el significado de una relacin. Diagrama E-R (sin considerar los atributos, slo las entidades) para los modelos ejemplificados:
Tipos de relaciones: Relacin uno a uno. Se presenta cuando existe una relacin como su nombre lo indica uno a uno, denominado tambin relacin de matrimonio. Una entidad del tipo A solo se puede relacionar con una entidad del tipo B, y viceversa; Por ejemplo: la relacin asignacin de automvil que contiene a las entidades EMPLEADO, AUTO, es una relacin 1 a 1, ya que asocia a un empleado con un nico Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 27 automvil por lo tanto ningn empleado posee ms de un automvil asignado, y ningn vehculo se asigna a ms de un trabajador. Es representado grficamente de la siguiente manera:
A: Representa a una entidad de cualquier tipo diferentea una entidad B. R: en el diagrama representa a la relacin que existe entre las entidades. El extremo de la flecha que se encuentra punteada indica el uno de la relacin, en este caso, una entidad A ligada a una entidad B. Relacin uno a muchos. Significa que una entidad del tipo A puede relacionarse con cualquier cantidad de entidades del tipo B, y una entidad del tipo B solo puede estar relacionada con una entidad del tipo A. Su representacin grfica es la siguiente:
Ntese en este caso que el extremo punteado de la flecha de la relacin de A y B, indica una entidad A conectada a muchas entidades B. Muchos a uno. Indica que una entidad del tipo B puede relacionarse con cualquier cantidad de entidades del tipo A, mientras que cada entidad del tipo A solo puede relacionarse con solo una entidad del tipo B.
Muchas a muchas. Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 28 Establece que cualquier cantidad de entidades del tipo A pueden estar relacionados con cualquier cantidad de entidades del tipo B.
A los tipos de relaciones antes descritos, tambin se le conoce como cardinalidad. La cardinalidad nos especifica los tipos de relaciones que existen entre las entidades en el modelo E-R y establecer con esto las validaciones necesarias para conseguir que los datos de la instancia (valor nico en un momento dado de una base de datos) correspondan con la realidad. Algunos ejemplos de cardinalidades de la vida comn pueden ser: Uno a uno. El noviazgo, el RFC de cada persona, El CURP personal, El acta de nacimiento, ya que solo existe un solo documento de este tipo para cada una de las diferentes personas. Uno a muchos. Cliente Cuenta en un banco, Padre-Hijos, Camin-Pasajeros, zoolgico- animales, rbol hojas. Muchos a muchos. Arquitecto proyectos, fiesta personas, estudiante materias. Cabe mencionar que la cardinalidad para cada conjunto de entidades depende del punto de vista que se le d al modelo en estudio, claro est, sujetndose a la realidad. Otra clase de limitantes lo constituye la dependencia de existencia. Refirindonos a las mismas entidades A y B, decimos que si la entidad A depende de la existencia de la entidad B, entonces A es dependiente de existencia por B, si eliminamos a B tendramos que eliminar por consecuente la entidad A, en este caso B es la entidad Dominante y A es la entidad subordinada. 2.2 Diagramas entidad-relacin (ER). Diagrama Entidad-Relacin Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 29 Denominado por sus siglas como: E-R; Este modelo representa a la realidad a travs de un esquema grfico empleando los terminologa de entidades, que son objetos que existen y son los elementos principales que se identifican en el problema a resolver con el diagramado y se distinguen de otros por sus caractersticas particulares denominadas atributos, el enlace que rige la unin de las entidades est representada por la relacin del modelo. Recordemos que un rectngulo nos representa a las entidades; una elipse a los atributos de las entidades, y una etiqueta dentro de un rombo nos indica la relacin que existe entre las entidades, destacando con lneas las uniones de estas y que la llave primaria de una entidad es aquel atributo que se encuentra subrayado. A continuacin mostraremos algunos ejemplos de modelos E-R, considerando las cardinalidades que existen entre ellos: Relacin Uno a Uno. Problema: Disear el modelo E-R, para la relacin Registro de automvil que consiste en obtener la tarjeta de circulacin de un automvil con los siguientes datos:- Automvil- Modelo, Placas, Color Tarjeta de circulacin -Propietario, No serie, Tipo.
Indicamos con este ejemplo que existe una relacin de pertenencia de uno a uno, ya que existe una tarjeta de circulacin registrada por cada automvil. En este ejemplo, representamos que existe un solo presidente para cada pas.
Relacin muchos a muchos. El siguiente ejemplo indica que un cliente puede tener muchas cuentas, pero que una cuenta puede llegar a pertenecer a un solo cliente (Decimos puede, ya que existen cuentas registradas a favor de ms de una persona). Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 30
Reduccin de diagramas E-R a tablas Un diagrama E-R, puede ser representado tambin a travs de una coleccin de tablas. Para cada una de las entidades y relaciones existe una tabla nica a la que se le asigna como nombre el del conjunto de entidades y de las relaciones respectivamente, cada tabla tiene un nmero de columnas que son definidas por la cantidad de atributos y las cuales tienen el nombre del atributo. La transformacin de nuestro ejemplo Venta en la que intervienen las entidades de Vendedor con los atributos RFC, nombre, puesto, salario y Artculo con los atributos Clave, descripcin, costo. Cuyo diagrama E-R es el siguiente:
Entonces las tablas resultantes siguiendo la descripcin anterior son: Tabla Empleado Nombre Puesto Salario RFC Tefilo Vendedor 2000 TEAT701210XYZ Cesar Auxiliar ventas 1200 COV741120ABC Tabla artculo Clave Descripcin Costo A100 Abanico 460 Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 31 C260 Colcha matrimonial 1200 Tabla Venta RFC Clave TEAT701210XYZ C260 COV741120ABC A100 Ntese que en la tabla de relacin - Venta -, contiene como atributos a las llaves primarias de las entidades que intervienen en dicha relacin, en caso de que exista un atributo en las relaciones, este atributo es anexado como una fila ms de la tabla; Por ejemplo si anexamos el atributo fecha a la relacin venta, la tabla que se originaria sera la siguiente: RFC Clave Fecha TEAT701210XYZ C260 10/12/96 COV741120ABC A100 11/12/96 Diagramas Entidad Relacin. Son esquemas que nos permitan representar conjunto de entidades y sus relaciones mediante la siguiente simbologa.
Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 32 * Conjunto de entidades o relacin con sus atributos * Conjunto entidades con relaciones * Cada elemento debe etiquetarse con su nombre. Cardinalidad de las relaciones.
Notas: a) Las entidades dbiles se sealan como rectngulos de doble pared b) Los papeles se indican etiquetando las lneas que conectan a los rectngulos con los rombos. Ejercicios: Represente mediante Diagramas E-R las siguientes situaciones: Un vdeo club mantiene el control de sus clientes utilizando los siguientes datos: nmero de credencial, nombre, direccin y telfono; l catlogo de pelculas contiene para cada casete los datos clave, titulo, clasificacin y costo de renta. A fin de imprimir los pagars y mantener un control de rentas, se registran tambin las fechas de renta y la cantidad de das que el cliente mantendr la pelcula.
Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 33 Conjunto de Relaciones Con Derivacin Mltiple Puede darse el caso de que una relacin sea binaria: es decir, que asocie a ms de dos conjunto de entidades. En estos casos la nica variacin para representar el modelo consiste en que se establecer CARDINALIDAD para cada pareja de conjuntos de entidades. En un almacn se lleva el control de los artculos que son vendidos y facturados. El objetivo primordial adems de mantener la informacin almacenada consiste en proceso de facturacin. Los datos que se registran: RFC del cliente, nombre del cliente, domicilio, clave del artculo, descripcin, costo unitario, numero de factura, fecha, cantidad de artculos vendidos (de cada uno).
Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 34 2.3 Diseo de un esquema de base datos. Diseo de un esquema de bases de datos Entidad - Relacin. Para un diseo de un esquema de base de datos hay cuatro fases: Especificacin de requisitos del usuario.- Consiste en obtener las necesidades de datos de los usuarios de la base de datos, esto es, sonsacarle al usuario toda la informacin que se desea plasmar en la base de datos. Esta es la fase que se dar en el examen. Diseo conceptual (Entidad - Relacin). Especificacin de requisitos funcionales.- Vamos a definir las operaciones que se harn sobre la base de datos (operaciones permitidas sobre la base de datos) Especificacin de requisitos funcionales.- Primero se procede a realizar el diseo lgico, que consiste en adaptar el diseo conceptual al sistema de gestin de la base de datos, y a continuacin se realiza el diseo fsico, que consiste en dar todas las caractersticas de almacenamiento de la base de datos. Diseo de un Esquema de base de Datos E-R El modelo de datos E-R proporciona un alto grado de flexibilidad en el diseo de un esquema de base de datos para modelar una empresa. Un diseador de base de datos puede elegir entre una amplia variedad de alternativas. Entre las decisiones a tomar se encuentran: - El uso de una relacin ternaria o de un par de relaciones binarias. - Si un concepto de un mundo real se expresa mejor mediante un conjunto de entidades o por un conjunto de relaciones. - El uso de un atributo o de un conjunto de entidades. - El uso de un conjunto de entidades fuerte o dbil. - La oportunidad de utilizar generalizacin. - La oportunidad de utilizar agregacin. Uso de Conjuntos de Entidades o de Conjuntos de Relaciones. La siguiente figura representa un modelo alternativo en el que las cuentas se representan no como entidades, sino como relaciones entre clientes y sucursales con nmero-cuenta y saldo como atributos descriptivos. Uso de Caractersticas de E-R Ampliado. Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 35 - Un conjunto de entidades fuerte y sus conjuntos de entidades dbiles dependientes pueden ser considerados como un objeto nico en la base de datos. - La agregacin agrupa una parte de un diagrama E-R en un conjunto de entidades nicas. - La generalizacin contribuye a la modularidad permitiendo que atributos comunes de conjuntos de entidades similares sean representados una sola vez en un diagrama E-R. Reduccin de Diagramas E-R a tablas. - Con el objeto de observar instancias de las bases de datos, los diagramas E-R se convierten en tablas, Se obtiene una tabla por cada conjunto de entidades o de relaciones. - Existen reglas bien definidas para la conversin de los elementos de un diagrama E-R a tablas: - a) ENTIDADES FUERTES.- Se crea una tabla con una columna para cada atributo del conjunto de entidades. - b) ENTIDADES DBILES.- Se crea una tabla que contiene una columna para los atributos que forman la llave primaria de la entidad fuerte a la que se encuentra subordinada. - c) RELACIN.- se crea una tabla que contiene una columna para cada atributo descriptivo de la relacin y para cada atributo que conforma la llave primaria de las entidades que estn relacionadas. Convierta a tablas y muestre instancias donde pueda observarse la CARDINALIDAD del diagrama E-R en el caso del vdeo club.
Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 36
Generalizacin y Especializacin. Son procesos que tienen por objeto la fusin o descomposicin de atributos que conforman entidades. La generalizacin persigue la minimizaron de redundancia en la base de datos de tal manera que puedan ocultarse las diferencias entre entidades formando as entidades comunes. Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 37
La especializacin en el proceso inverso de la generalizacin; tiene por objeto reducir el espacio de almacenamiento requerido por la base de datos en el medio fsico. Trae como consecuencia una redundancia necesaria, pero suprime el gasto de espacio en el medio secundario para aquellas columnas que no almacenan informacin por entidades bien determinadas.
Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 38 Inconvenientes del modelo. Entre las limitaciones que presenta este modelo destacan dos: 1. No pueden presentarse relaciones entre conjunto de relaciones. 2. No pueden visualizarse instancias mediante los diagramas E-R.
Agregacin. Es una tcnica que permite representar a un bloque de entidades relacionadas como si fueran un solo conjunto de entidades; permitiendo as la relacin entre conjunto de relaciones. 2.4 Lenguaje de Modelado Unificado UML (Modelo Conceptual). El Lenguaje de Modelado Unificado (UML) es la sucesin de una serie de mtodos de anlisis y diseos orientados a objetos que aparecen a fines de los 80's y principios de los 90s. Directamente unifica los mtodos de Booch, Rumbaugh (OMT), y Jacobson, y algo ms.
UML es llamado un lenguaje de modelado, no un mtodo. Los mtodos consisten de ambos de un lenguaje de modelado y de un proceso.
El lenguaje de modelado es la notacin (principalmente grfica) que usan los mtodos para expresar un diseo. El proceso indica los pasos que se deben seguir para llegar a un diseo.
La estandarizacin de un lenguaje de modelado es invaluable, ya que es la parte principal de comunicacin. Si se quiere discutir un diseo con alguien ms, ambos deben conocer el lenguaje de modelado y no as el proceso que se sigui para obtenerlo.
Una de las metas principales de UML es avanzar en el estado de la industria proporcionando herramientas de interoperabilidad para el modelado visual de objetos. Sin embargo para lograr un intercambio exitoso de modelos de informacin entre herramientas, se requiri definirle una semntica y una notacin.
La notacin es la parte grfica que se ve en los modelos y representa la sintaxis del lenguaje de modelado. Por ejemplo, la notacin del diagrama de clases define como se representan los elementos y conceptos como son: una clase, una asociacin y una multiplicidad. Y qu significa exactamente una asociacin o multiplicidad en una clase? Un meta modelo es la manera de definir esto (un diagrama, usualmente de clases, que define la notacin).
Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 39 Para que un proveedor diga que cumple con UML debe cubrir con la semntica y con la notacin.
Una herramienta de UML debe mantener la consistencia entre los diagramas en un mismo modelo. Bajo esta definicin una herramienta que solo dibuje, no puede cumplir con la notacin de UML. Tema 3. Modelo Relacional. 3.1 El modelo relacional. La ventaja del modelo relacional es que los datos se almacenan, al menos conceptualmente, de un modo en que los usuarios entienden con mayor facilidad. Los datos se almacenan como tablas y las relaciones entre las filas y las tablas son visibles en los datos. Este enfoque permite a los usuarios obtener informacin de la base de datos sin asistencia de sistemas profesionales de administracin de informacin. Las caractersticas ms importantes de los modelos relacionales son: a. Es importante saber que las entradas en la tabla tienen un solo valor (son atmicos); no se admiten valores mltiples, por lo tanto la interseccin de un rengln con una columna tiene un solo valor, nunca un conjunto de valores. b. Todas las entradas de cualquier columna son de un solo tipo. Por ejemplo, una columna puede contener nombres de clientes, y en otra puede tener fechas de nacimiento. Cada columna posee un nombre nico, el orden de las comunas no es de importancia para la tabla, las columnas de una tabla se conocen como atributos. Cada atributo tiene un dominio, que es una descripcin fsica y lgica de valores permitidos. c. No existen 2 filas en la tabla que sean idnticas. d. La informacin en las bases de datos son representados como datos explcitos, no existen apuntadores o ligas entre las tablas. En el enfoque relacional es sustancialmente distinto de otros enfoques en trminos de sus estructuras lgicas y del modo de las operaciones de entrada/salida. En el enfoque relacional, los datos se organizan en tablas llamadas relaciones, cada una de las cuales se implanta como un archivo. En terminologa relacional una fila en una relacin representa un registro o una entidad; Cada columna en una relacin representa un campo o un atributo. As, una relacin se compone de una coleccin de entidades(o registros) cuyos propietarios estn descritos por cierto nmero de atributos predeterminados implantados como campos. Estructura de las bases de datos relacionales Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 40 La arquitectura relacional se puede expresar en trminos de tres niveles de abstraccin: nivel interno, conceptual y de visin. La arquitectura relacional consta de los siguientes componentes: 1. Modelo relacional de datos: En el nivel conceptual, el modelo relacional de datos est representado por una coleccin de relaciones almacenadas. Cada registro de tipo conceptual en un modelo relacional de datos se implanta como un archivo almacenado distinto. 2. Submodelo de datos: Los esquemas externos de un sistema relacional se llaman submodelos relacionales de datos; cada uno consta de uno a ms escenarios (vistas) para describir los datos requeridos por una aplicacin dada. Un escenario puede incluir datos de una o ms tablas de datos. Cada programa de aplicacin est provisto de un buffer ("rea de trabajo de usuario") donde el DBMS puede depositar los datos recuperados de la base para su procesamiento, o puede guardar temporalmente sus salidas antes de que el DBMS las escriba en la base de datos. 3. Esquema de almacenamiento: En el nivel interno, cada tabla base se implanta como un archivo almacenado. Para las recuperaciones sobre las claves principal o secundaria se pueden establecer uno o ms ndices para accesar un archivo almacenado. 4. Sublenguaje de datos:Es un lenguaje de manejo de datos para el sistema relacional, el lgebra relacional y clculo relacional, ambos lenguajes son "relacionalmente completos", esto es, cualquier relacin que pueda derivarse de una o ms tablas de datos, tambin se puede derivar con u solo comando del sublenguaje. Por tanto, el modo de operacin de entrada/Salida en un sistema relacional se puede procesar en la forma: una tabla a la vez en lugar de: un registro a la vez; en otras palabras, se puede recuperar una tabla en vez de un solo registro con la ejecucin de un comando del sublenguaje de datos. El modelo relacional En 1970, el modo en que se vean las bases de datos cambi por completo cuando E. F. Codd introdujo el modelo relacional. En aquellos momentos, el enfoque existente para la estructura de las bases de datos utilizaba punteros fsicos (direcciones de disco) para relacionar registros de distintos ficheros. Si, por ejemplo, se quera relacionar un registro con un registro , se deba aadir al registro un campo conteniendo la direccin en disco del registro . Este campo aadido, un puntero fsico, siempre sealara desde el registro al registro . Codd demostr que estas bases de datos limitaban en gran Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 41 medida los tipos de operaciones que los usuarios podan realizar sobre los datos. Adems, estas bases de datos eran muy vulnerables a cambios en el entorno fsico. Si se aadan los controladores de un nuevo disco al sistema y los datos se movan de una localizacin fsica a otra, se requera una conversin de los ficheros de datos. Estos sistemas se basaban en el modelo de red y el modelo jerrquico, los dos modelos lgicos que constituyeron la primera generacin de los SGBD. El modelo relacional representa la segunda generacin de los SGBD. En l, todos los datos estn estructurados a nivel lgico como tablas formadas por filas y columnas, aunque a nivel fsico pueden tener una estructura completamente distinta. Un punto fuerte del modelo relacional es la sencillez de su estructura lgica. Pero detrs de esa simple estructura hay un fundamento terico importante del que carecen los SGBD de la primera generacin, lo que constituye otro punto a su favor. Dada la popularidad del modelo relacional, muchos sistemas de la primera generacin se han modificado para proporcionar una interfaz de usuario relacional, con independencia del modelo lgico que soportan (de red o jerrquico). Por ejemplo, el sistema de red IDMS ha evolucionado a IDMS/R e IDMS/SQL, ofreciendo una visin relacional de los datos. En los ltimos aos, se han propuesto algunas extensiones al modelo relacional para capturar mejor el significado de los datos, para disponer de los conceptos de la orientacin a objetos y para disponer de capacidad deductiva. El modelo relacional, como todo modelo de datos, tiene que ver con tres aspectos de los datos: - Estructura de datos. - Integridad de datos. - Manejo de datos. 3.2 lgebra relacional. El lgebra relacional es un lenguaje formal con una serie de operadores que trabajan sobre una o varias relaciones para obtener otra relacin resultado, sin que cambien las relaciones originales. Tanto los operando como los resultados son relaciones, por lo que la salida de una operacin puede ser la entrada de otra operacin. Esto permite anidar expresiones del lgebra, del mismo modo que se pueden anidar las expresiones aritmticas. A esta propiedad se le denomina clausura: las relaciones son cerradas bajo el lgebra, del mismo modo que los nmeros son cerrados bajo las operaciones aritmticas. En este apartado se presentan los operadores del lgebra relacional de un modo informal. Las definiciones formales pueden encontrarse en la bibliografa que se comenta al final del captulo. Primero se describen los ocho operadores originalmente propuestos por Codd y despus se estudian algunos operadores adicionales que aaden potencia al lenguaje. Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 42 De los ocho operadores, slo hay cinco que son fundamentales: restriccin, proyeccin, producto cartesiano, unin y diferencia, que permiten realizar la mayora de las operaciones de obtencin de datos. Los operadores no fundamentales son la concatenacin (join), la interseccin y la divisin, que se pueden expresar a partir de los cinco operadores fundamentales. La restriccin y la proyeccin son operaciones unarias porque operan sobre una sola relacin. El resto de las operaciones son binarias porque trabajan sobre pares de relaciones. En las definiciones que se presentan a continuacin, se supone que R y S son dos relaciones cuyos atributos son A=(a , a , ..., a ) y B=(b , b , ..., b ) respectivamente. TEMA 4. Introduccin a SQL. Un lenguaje de consulta comercial proporciona una interfaz ms amigable al usuario. Un ejemplo de este tipo de lenguaje es el SQL, (Structured Query Languaje, Lenguaje de Consulta Estructurado). Las partes ms importantes del SQL son: DDL: Lenguaje de definicin de datos (que nos permite crear las estructuras) DML: Lenguaje de manipulacin de datos (que nos permite tener acceso a las estructuras para suprimir, modificar e insertar) 4.1 Introduccin. El lenguaje de consulta estructurado (SQL) es un lenguaje de base de datos normalizado, utilizado por el motor de base de datos de Microsoft Jet. SQL se utiliza para crear objetos QueryDef, como el argumento de origen del mtodo OpenRecordSet y como la propiedad RecordSource del control de datos. Tambin se puede utilizar con el mtodo Execute para crear y manipular directamente las bases de datos Jet y crear consultas SQL de paso a travs para manipular bases de datos remotas cliente - servidor. El lenguaje SQL est compuesto por comandos, clusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos. Comandos Existen dos tipos de comandos SQL: - Los DLL que permiten crear y definir nuevas bases de datos, campos e ndices. Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 43 - Los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.
Comandos DLL Comando Descripcin CREATE Utilizado para crear nuevas tablas, campos e ndices DROP Empleado para eliminar tablas e ndices ALTER Utilizado para modificar las tablas agregando campos o cambiando la definicin de los campos.
Comandos DML Comando Descripcin SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado INSERT Utilizado para cargar lotes de datos en la base de datos en una nica operacin. UPDATE Utilizado para modificar los valores de los campos y registros especificados DELETE Utilizado para eliminar registros de una tabla de una base de datos
Clusulas Las clusulas son condiciones de modificacin utilizadas para definir los datos que desea seleccionar o manipular. Comando Descripcin FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros WHERE Utilizada para especificar las condiciones que deben reunir los Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 44 registros que se van a seleccionar GROUP BY Utilizada para separar los registros seleccionados en grupos especficos HAVING Utilizada para expresar la condicin que debe satisfacer cada grupo ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden especfico
Operadores Lgicos Operador Uso AND Es el "y" lgico. Evala dos condiciones y devuelve un valor de verdad slo si ambas son ciertas. OR Es el "o" lgico. Evala dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta. NOT Negacin lgica. Devuelve el valor contrario de la expresin.
Operadores de Comparacin Operador Uso < Menor que > Mayor que <> Distinto de <= Menor Igual que >= Mayor Igual que BETWEEN Utilizado para especificar un intervalo de valores. LIKE Utilizado en la comparacin de un modelo In Utilizado para especificar registros de una base de datos
Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 45
Funciones de Agregado Las funciones de agregado se usan dentro de una clusula SELECT en grupos de registros para devolver un nico valor que se aplica a un grupo de registros. Comando Descripcin AVG Utilizada para calcular el promedio de los valores de un campo determinado COUNT Utilizada para devolver el nmero de registros de la seleccin SUM Utilizada para devolver la suma de todos los valores de un campo determinado MAX Utilizada para devolver el valor ms alto de un campo especificado MIN Utilizada para devolver el valor ms bajo de un campo especificado
4.2 Estructura bsica (SELECT, WHERE). La estructura bsica de una expresin en SQL contiene 3 partes, Select, From y Where. La clusula Select se usa para listar los atributos que se desean en el resultado de una consulta. From, Lista las relaciones que se van a examinar en la evaluacin de la expresin. Where, es la definicin de las condiciones a las que puede estar sujeta una consulta. La consulta tpica de SQL tiene la siguiente forma: Select A1,A2,A3...An From r1,r2,r3...rm Where Condicin(es) Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 46 Donde: A1,A2,A3...An: Representan a cada atributo(s) o campos de las tablas de la base de datos relacional. R1,r2,r3...rm: Representan a la(s) tabla(s) involucradas en la consulta. Condicin: Es el enunciado que rige el resultado de la consulta. Si se omite la clusula Where, la condicin es considerada como verdadera, la lista de atributos (A1,A2..An) puede sustituirse por un asterisco (*), para seleccionar todos los atributos de todas las tablas que aparecen en la clusula From. Funcionamiento del SQL. El SQL forma el producto cartesiano de las tablas involucradas en la clusula From, cumpliendo con la condicin establecida en la orden Where y despus proyecta el resultado con la orden select. 4.3 Funciones de agregacin (GROUPBY, HAVING). Combina los registros con valores idnticos, en la lista de campos especificados, en un nico registro. Para cada registro se crea un valor sumario si se incluye una funcin SQL agregada, como por ejemplo Sum o Count, en la instruccin SELECT. Su sintaxis es: SELECT campos FROM tabla WHERE criterio GROUP BY campos del grupo GROUP BY es opcional. Los valores de resumen se omiten si no existe una funcin SQL agregada en la instruccin SELECT. Los valores Null en los campos GROUP BY se agrupan y no se omiten. No obstante, los valores Null no se evalan en ninguna de las funciones SQL agregadas. Se utiliza la clusula WHERE para excluir aquellas filas que no desea agrupar, y la clusula HAVING para filtrar los registros una vez agrupados. A menos que contenga un dato Memo u Objeto OLE , un campo de la lista de campos GROUP BY puede referirse a cualquier campo de las tablas que aparecen en la clusula FROM, incluso si el campo no esta incluido en la instruccin SELECT, siempre y cuando la instruccin SELECT incluya al menos una funcin SQL agregada. Todos los campos de la lista de campos de SELECT deben o bien incluirse en la clusula GROUP BY o como argumentos de una funcin SQL agregada. SELECT Id_Familia, Sum(Stock) FROM Productos GROUP BY Id_Familia; Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 47 Una vez que GROUP BY ha combinado los registros, HAVING muestra cualquier registro agrupado por la clusula GROUP BY que satisfaga las condiciones de la clusula HAVING. HAVING es similar a WHERE, determina qu registros se seleccionan. Una vez que los registros se han agrupado utilizando GROUP BY, HAVING determina cuales de ellos se van a mostrar. SELECT Id_Familia Sum(Stock) FROM Productos GROUP BY Id_Familia HAVING Sum(Stock) > 100 AND NombreProducto Like BOS*;
La clusula GROUP BY especifica una consulta sumaria. En vez de producir una fila de resultados por cada fila de datos de la base de datos, una consulta sumaria agrupa todas las filas similares y luego produce una fila sumaria de resultados para cada grupo. Seguido de la clusula GROUP BY se especifican los nombres de uno o ms campos cuyos resultados se desean agrupados. Tiene la forma: GROUP BY expresin_columna expresin_columna debe coincidir con la expresin de columna utilizada en la clusula SELECT. Puede ser uno o ms nombres de campo de una tabla, separados por coma o una o ms expresiones separadas por comas. SELECT RUBRO_CLAVE, COUNT(*) FROM ACTIVOS WHERE TIPO = 'Compra' GROUP BY RUBRO_CLAVE Esta sentencia nos devolver una fila por cada area RUBRO_CLAVE, y el nmero de veces de cada uno. 4.4 Consultas sobre mltiples tablas. 4.4.1 Subconsultas. Una subconsulta es una instruccin SELECT anidada dentro de una instruccin SELECT, SELECT...INTO, INSERT...INTO, DELETE, o UPDATE o dentro de otra subconsulta. Puede utilizar tres formas de sintaxis para crear una subconsulta: comparacin [ANY | ALL | SOME] (instruccin sql) expresin [NOT] IN (instruccin sql) Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 48 [NOT] EXISTS (instruccin sql) En donde: comparacin: Es una expresin y un operador de comparacin que compara la expresin con el resultado de la subconsulta. expresin: Es una expresin por la que se busca el conjunto resultante de la subconsulta. instruccin sql : Es una instruccin SELECT, que sigue el mismo formato y reglas que cualquier otra instruccin SELECT. Debe ir entre parntesis. Se puede utilizar una subconsulta en lugar de una expresin en la lista de campos de una instruccin SELECT o en una clusula WHERE o HAVING. En una subconsulta, se utiliza una instruccin SELECT para proporcionar un conjunto de uno o ms valores especificados para evaluar en la expresin de la clusula WHERE o HAVING. Se puede utilizar el predicado ANY o SOME, los cuales son sinnimos, para recuperar registros de la consulta principal, que satisfagan la comparacin con cualquier otro registro recuperado en la subconsulta. El ejemplo siguiente devuelve todos los productos cuyo precio unitario es mayor que el de cualquier producto vendido con un descuento igual o mayor al 25 por ciento: SELECT * FROM Productos WHERE PrecioUnidad > ANY (SELECT PrecioUnidad FROM DetallePedido WHERE Descuento >= 0 .25); El predicado ALL se utiliza para recuperar nicamente aquellos registros de la consulta principal que satisfacen la comparacin con todos los registros recuperados en la subconsulta. Si se cambia ANY por ALL en el ejemplo anterior, la consulta devolver nicamente aquellos productos cuyo precio unitario sea mayor que el de todos los productos vendidos con un descuento igual o mayor al 25 por ciento. Esto es mucho ms restrictivo. El predicado IN se emplea para recuperar nicamente aquellos registros de la consulta principal para los que algunos registros de la subconsulta contienen un valor igual. El ejemplo siguiente devuelve todos los productos vendidos con un descuento igual o mayor al 25 por ciento: SELECT * FROM Productos WHERE IDProducto IN Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 49 (SELECT IDProducto FROM DetallePedido WHERE Descuento >= 0.25); Inversamente se puede utilizar NOT IN para recuperar nicamente aquellos registros de la consulta principal para los que no hay ningn registro de la subconsulta que contenga un valor igual. El predicado EXISTS (con la palabra reservada NOT opcional) se utiliza en comparaciones de verdad/falso para determinar si la subconsulta devuelve algn registro. Se puede utilizar tambin alias del nombre de la tabla en una subconsulta para referirse a tablas listadas en la clusula FROM fuera de la subconsulta. El ejemplo siguiente devuelve los nombres de los empleados cuyo salario es igual o mayor que el salario medio de todos los empleados con el mismo ttulo. A la tabla Empleados se le ha dado el alias T1:: SELECT Apellido, Nombre, Titulo, Salario FROM Empleados AS T1 WHERE Salario >= (SELECT Avg(Salario) FROM Empleados WHERE T1.Titulo = Empleados.Titulo) ORDER BY Titulo; En el ejemplo anterior, la palabra reservada AS es opcional. SELECT Apellidos, Nombre, Cargo, Salario FROM Empleados WHERE Cargo LIKE "Agente Ven*" AND Salario > ALL (SELECT Salario FROM Empleados WHERE (Cargo LIKE "*Jefe*") OR (Cargo LIKE "*Director*")); Obtiene una lista con el nombre, cargo y salario de todos los agentes de ventas cuyo salario es mayor que el de todos los jefes y directores. SELECT DISTINCTROW NombreProducto, Precio_Unidad FROM Productos WHERE (Precio_Unidad = (SELECT Precio_Unidad FROM Productos WHERE Nombre_Producto = "Almbar anisado"); Obtiene una lista con el nombre y el precio unitario de todos los productos con el mismo precio que el almbar anisado. SELECT DISTINCTROW Nombre_Contacto, Nombre_Compaia, Cargo_Contacto, Telefono FROM Clientes WHERE (ID_Cliente IN (SELECT DISTINCTROW ID_Cliente FROM Pedidos WHERE Fecha_Pedido >= #04/1/93# <#07/1/93#); Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 50 Obtiene una lista de las compaas y los contactos de todos los clientes que han realizado un pedido en el segundo trimestre de 1993. SELECT Nombre, Apellidos FROM Empleados AS E WHERE EXISTS (SELECT * FROM Pedidos AS O WHERE O.ID_Empleado = E.ID_Empleado); Selecciona el nombre de todos los empleados que han reservado al menos un pedido. SELECT DISTINCTROW Pedidos.Id_Producto, Pedidos.Cantidad, (SELECT DISTINCTROW Productos.Nombre FROM Productos WHERE Productos.Id_Producto = Pedidos.Id_Producto) AS ElProducto FROM Pedidos WHERE Pedidos.Cantidad > 150 ORDER BY Pedidos.Id_Producto; Recupera el Cdigo del Producto y la Cantidad pedida de la tabla pedidos, extrayendo el nombre del producto de la tabla de productos. 4.4.2 Operadores JOIN. 1. Para las siguientes relaciones
computar 1. 2. 3. 4. 5. 6. 7. Operadores Join-Like Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 51 Existen varios operadores del estilo del join que son provistos por bases de datos comerciales. o El semijoin de las relaciones y , es el multiconjunto de tuplas tal que hay al menos una tupla en que concuerda con en todos los atributos comunes de y . o El antisemijoin , es la bolsa de tuplas en que no concuerdan con ninguna tupla de en los atributos . o El outerjoin se forma con ms el agregado de las dangling tuples de o , donde una tupla est colgando si esta no se junta con ninguna de la otra relacin. Las tuplas agregadas se rellenan con el smbolo de indefinido o nulo , en aquellos atributos que la tupla colgante no posee pero que si aparecen en la relacin resultante. o El leftouterjoin es como el outerjoin, pero solo las tuplas colgantes de son rellenadas con y agregadas al resultado. o El rightouterjoin tambin es como el outerjoin, pero esta vez el argumento que genera las dangling tuples es el derecho. 2. Dar expresiones para los cinco operadores definidos en el prrafo anterior usando solamente los operadores standard del lgebra relacional. Para las variantes ``outerjoin'' puede usar una relacin nula que consiste de una nica tupla con en cada componente. 3. Un operador unario es idempotente si, . Para cada uno de los operadores , explique por qu son idempotentes o muestre un contraejemplo. 4. Cuando es posible empujar una seleccin en los dos argumentos de un operador binario, es necesario decidir si hacerlo o no. Cmo afectara la existencia de ndices en uno de los argumentos?. Considere, por ejemplo, una expresin , donde se tiene un ndice sobre . 5. Dar ejemplos donde se muestre que la eliminacin de duplicados no puede ser empujada por debajo de la unin o diferencia de multiconjuntos. 6. Los operadores similares al join del ejercicio 2 obedecen algunas reglas comunes y otras no. Para cada caso pruebe o de un contraejemplo para las siguientes leyes. o o Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 52 o o 7. Reemplace los join naturales en las expresiones siguientes por theta-joins y proyecciones. Diga cuando los theta-join resultantes forman un grupo asociativo y conmutativo. 0. 1. 2. 8. Dar reglas para convertir cada una de las siguientes formas de condicin en lgebra relacional. Asuma que las condiciones se aplican a una relacin y no estn correlacionadas a ella. Tenga especial cuidado para no introducir o eliminar duplicados respecto a la definicin formal de SQL. o o , donde es un atributo de o , donde es un atributo de 9. Transforme la siguiente query en un plan lgico y trate de mejorarlo aplicando leyes algebraicas. 10. 11. SELECT starName 12. FROM Actor1996 13. WHERE studioName="Paramount"; donde hay dos vistas definidas
CREATE VIEW Actor1996 AS SELECT starName, studioName FROM MoviesOf1996 NATURAL JOIN starsIn;
CREATE VIEW MovieOf1996 AS SELECT * FROM Movie WHERE year=1996;
y los esquemas son
Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 53 Movie(title,year,length,inColor,studioName,producerC#) StarsIn(title,year,starName)
4.5 Manipulacin de la base de datos (INSERT,UPDATE,DELETE). TEMA 5. Diseo de Base de Datos Relacionales Uno de los retos en el diseo de la base de datos es el de obtener una estructura estable y lgica tal que: 1. El sistema de base de datos no sufra de anomalas de almacenamiento. 2. El modelo lgico pueda modificarse fcilmente para admitir nuevos requerimientos. Una base de datos implantada sobre un modelo bien diseado tiene mayor esperanza de vida aun en un ambiente dinmico, que una base de datos con un diseo pobre. En promedio, una base de datos experimenta una reorganizacin general cada seis aos, dependiendo de lo dinmico de los requerimientos de los usuarios. Una base de datos bien diseada tendr un buen desempeo aunque aumente su tamao, y ser lo suficientemente flexible para incorporar nuevos requerimientos o caractersticas adicionales. Existen diversos riesgos en el diseo de las bases de datos relacionales que afecten la funcionalidad de la misma, los riesgos generalmente son la redundancia de informacin y la inconsistencia de datos. La normalizacin es el proceso de simplificar la relacin entre los campos de un registro. Por medio de la normalizacin un conjunto de datos en un registro se reemplaza por varios registros que son ms simples y predecibles y, por lo tanto, ms manejables. La normalizacin se lleva a cabo por cuatro razones:
- Estructurar los datos de forma que se puedan representar las relaciones pertinentes entre los datos. - Permitir la recuperacin sencilla de los datos en respuesta a las solicitudes de consultas y reportes. - Simplificar el mantenimiento de los datos actualizndolos, insertndolos y borrndolos. - Reducir la necesidad de reestructurar o reorganizar los datos cuando surjan nuevas aplicaciones 5.1 Diseo de esquemas relacionales de bases de datos.
5.1.1 Dependencias funcionales. Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 54
Las dependencias funcionales son una restriccin al conjunto de relaciones legales. Nos permiten expresar hechos acerca de la empresa que estamos modelando con la base de datos.
Superclave se puede definir como sigue, sea R un esquema de relaciones. Un subconjunto K de R es una superclave de R s, en cualquier relacin legal r(R), para todos los pares t1 y t2 de tuplas de r tales que t1 &out t2, t1[K] &out1; t2[K]. Es decir, dos tuplas en cualquier relacin legal r(R) no pueden tener el mismo valor en el conjunto de atributos K.
La nocin de dependencia funcional generaliza la definicin de superclave. Sea &i_o;_ R y |_ R. La dependencia funcional &i_o;| se cumple en R si en cualquier relacin legal r(R), para todos los pares de tuplas t1 yt2 en r tales que t1[&i_o;]=t2[&i_o; ], tambin se cumple que t1[| ]=t2[| ].
Utilizando la notacin de la dependencia funcional, decimos que K es una superclave de R si KR. Es decir, K es una superclase s siempre que t1[K]=t2[K]. , tambin se cumpla que t1[R]=t2[R] (es decir, t1 = t2).
Las dependencias funcionales nos permiten expresar restricciones que no pueden expresarse por medio de superclaves. Considrese el esquema siguiente: Esquema - prstamo = nombre - sucursal, numero - prstamo, nombre - cliente, cantidad. Ejemplo: si un prstamo se hace a ms de un cliente en este caso a marido/mujer, entonces no esperaramos que el atributo numero - prstamo fuera una superclave.
Aplicaciones. Las dependencias funcionales se usan de dos formas: 1. - Para especificar restricciones en el conjunto deceleraciones legales. O sea solo se interesa por las relaciones que satisfagan un conjunto dado de dependencias funcionales. Si queremos limitarnos a las relaciones de esquema R que satisfacen F, decimos que F se cumple en R. 2. - Para probar si una relacin es legal bajo un conjunto dado de dependencias funcionales. Si una relacin r es legal bajo un conjunto F de dependencias funcionales, decimos que r satisface a F. Considrese la relacin r de la siguiente figura y veamos que dependencias funcionales se satisfacen. Obsrvese que AC se satisface. Hay dos tuplas que tienen el valor de a1 en A. Estas tuplas tienen el mismo valor en C, c1 ´ . De manera similar, las dos tuplas con valor a2 en A tienen el mismo valor en C, c2 ´ . No existen otros pares de tuplas distintos que tengan el mismo valor en A. Sin embargo, no se satisface la dependencia funcional CA. Para ver esto considrense las tuplas t1 = ( a2 ,b3 ,c2 , d3) y t2 = ( a3 ,b3 ,c2 , d4). Estas dos tuplas tienen el mismo valor en C, c2´ y distintos valores en A, a2 y a3´ respectivamente. As hemos encontrado un par de tuplas t1 y t2 tales que t1[C]=t2[C] pero t1[A]¹ t2[A] Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 55
5.1.2 Anomalas. 5.1.3 Descomposicin. Propiedades deseables de una descomposicin: sea R un esquema de relacin, F un conjunto de dependencias funcionales de R, y sean R1 y R2 una descomposicin de R. Esta descomposicin es una descomposicin de reunin sin prdida si al menos una de las siguientes dependencias est en F+: R1R2 R1 o R1R2 R2. Cuando se realiza una actualizacin, el sistema debe ser capaz de comprobar que la actualizacin no crea una relacin ilegal. Para comprobar las actualizaciones eficientemente, se deben disear unos esquemas de bases de datos relacionales que permiten validar la actualizacin sin tener que calcular las reuniones. Sea F un conjunto de dependencias funcionales en el esquema R y sean R1,R2,,Rn una descomposicin de R. La restriccin de F en Ri es el conjunto Fi que contiene todas las dependencias funcionales de F+ que incluyen solamente atributos de Ri. Tomando F'=F1F2Fn, una descomposicin que tenga la propiedad F'+ = F+ se dice que es una descomposicin que conserva las dependencias. La ausencia de redundancia en una descomposicin es claramente deseable. Las etapas por las cuales se alcanza esta ausencia de redundancia se representa por varias formas normales, que se discuten a continuacin. 5.1.4 Formas Normales. Se dice que una forma normal particular si satisface cierto conjunto especifico de restricciones; por ejemplo, se dice que una relacin esta en primera forma normal si y solo si satisface la restriccin de contener nicamente valores atmicos. A continuacin se mencionan las formas normales que existen. Primera Forma Normal Una relacin R esta en primera forma normal (1NF) y si y solo si todos los dominios subyacentes solo contienen valores atmicos. Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 56 Un dominio es atmico si los elementos del dominio se consideran unidades invisibles. Esta definicin trata de decirnos que cualquier relacin normalizada esta en 1NF. Una relacin que tan solo est en primera forma normal es decir, una relacin en 1NF que, adems no est 2NF y, por tanto, tampoco no est en 3NF se dice que tiene una estructura indeseable. Segunda Forma Normal. Una relacin R esta en segunda forma normal (2NF) si y solo si esta en 1NF y cada atributo no es primo completamente dependiente de la primera llave primaria. Un atributo es no primo si no participa en la llave primaria. Tercera Forma Normal. En aquellos casos en los que no pueden satisfacerse los tres criterios de diseo, abandonamos BCNF y aceptamos una forma normal ms dbil llamada TERCERA FORMA NORMAL (3NF). Veremos que siempre es posible encontrar una descomposicin de producto sin perdida que conserve las dependencias que estn en 3NF. 5.2 Modelo ER y la normalizacin. En trminos ms sencillos la normalizacin trata de simplificar el diseo de una base de datos, esto a travs de la bsqueda de la mejor estructuracin que pueda utilizarse con las entidades involucradas en ella. Pasos de la normalizacin: 1. Descomponer todos los grupos de datos en registros bidimensionales. 2. Eliminar todas las relaciones en la que los datos no dependan completamente de la llave primaria del registro. 3. Eliminar todas las relaciones que contengan dependencias transitivas. La teora de normalizacin tiene como fundamento el concepto de formas normales; se dice que una relacin est en una determinada forma normal si satisface un conjunto de restricciones. 5.3 Reduccin de un esquema ER a tablas. Una base de datos que se ajusta a un esquema de bases de datos ER se puede representar por una coleccin de tablas. Para cada conjunto de entidades de la base de datos y para cada conjunto de relaciones de la base de datos hay una nica tabla a la que se asigna el nombre del conjunto de entidades o del conjunto de relaciones Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 57 correspondiente. Cada tabla tiene varias columnas, cada una de las cuales tiene un nombre nico. Los modelos ER y el de bases de datos relacionales son representaciones abstractas y lgicas de empresas del mundo real. Debido a que los dos modelos emplean principios de diseo similares, se puede convertir un diseo ER en un diseo relacional. Convertir una representacin de bases de datos de un diagrama ER a un formato de tablas es la base para la derivacin de un diseo de bases de datos relacional desde un diagrama ER. Aunque existen diferencias importantes entre una relacin y una tabla, una relacin se puede considerar informalmente como una tabla de valores. Las restricciones especificadas en un diagrama ER, tales como las claves primarias y las restricciones de cardinalidad, se corresponden con restricciones sobre las tablas generadas a partir del diagrama ER. Un diagrama ER, puede ser representado tambin a travs de una coleccin de tablas. Para cada una de las entidades y relaciones existe una tabla nica a la que se le asigna como nombre el del conjunto de entidades y de las relaciones respectivamente, cada tabla tiene un nmero de columnas que son definidas por la cantidad de atributos y las cuales tienen el nombre del atributo. La transformacin de nuestro ejemplo Venta en la que intervienen las entidades de Vendedor con los atributos RFC, nombre, puesto, salario y Artculo con los atributos Clave, descripcin, costo. Cuyo diagrama ER es el siguiente: Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 58
5.4 Anlisis de un caso prctico.
TEMA 6. Bases de Datos Relacionadas a Objetos. 6.1 Relaciones anidadas. No todas las aplicaciones son compatibles con el supuesto 1FN (todos los atributos tienen dominios atmicos; unidades indivisibles). Los usuarios ven la base de datos como un conjunto de objetos ms que como un conjunto de registros. Puede que cada objeto necesite varios registros para su representacin. El modelo relacional anidado es una extensin del modelo relacional en la que los dominios pueden ser atmicos o de relacin. Por tanto, el valor de las tuplas de los atributos puede ser una relacin, y las relaciones pueden guardarse en otras relaciones. Los objetos complejos, por tanto, pueden representarse mediante una nica tupla de las relaciones anidadas. Si se consideran las tuplas de las relaciones anidadas como elementos de datos, se tiene una correspondencia uno a uno entre los elementos de datos y los objetos de la vista de la base de datos del usuario. Las relaciones anidadas se ilustran mediante un ejemplo extrado de una biblioteca. Considrese que para cada libro se almacena la informacin siguiente: Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 59 - Ttulo del libro. - Lista de autores. - Editorial. - Lista de palabras clave. Ttulo Listaautores Editorial (nombresucursal) Listapalabrasclave Compiladores Gomez,Santos (McGraw-Hill, Nueva York) {traduccion, analisis} redes Santos,Escudero (Oxford, Londres) {Internet, Web} Puede verse que, si se define una relacin para la informacin anterior, varios de los dominios sern no atmicos. - Autores. Un libro puede tener varios autores. No obstante, puede que se desee hallar todos los documentos entre cuyos autores estuviera Santos. Por tanto, hay inters en una parte del elemento del dominio conjunto de autores. - Palabras clave. Si se guarda un conjunto de palabras clave de cada documento se espera poder recuperar todos los documentos cuyas claves incluyan una o varias de las palabras clave especificadas. Por tanto, se considera que el dominio de la lista de palabras clave no es atmico. - Editorial. A diferencia de palabras clave y autores, editorial no tiene un dominio de tipo conjunto. Sin embargo, se puede considerar que editorial consiste en los subcampos nombre y sucursal. Esta manera de considerarlo hace que el dominio de editorial no sea atmico. La relacin doc puede representarse en 1FN de la siguiente manera: Ttulo Autor Dia Mes Ao Palabraclave Plan de ventas Gomez 1 Abril 89 Beneficios Plan de ventas Santos 1 Abril 89 Beneficios Plan de ventas Gomez 1 Abril 89 Estrategia Plan de ventas Santos 1 Abril 89 Estrategia ... ... ... ... ... ... Dado que se desea tener acceso a los diferentes autores y palabras clave, hace falta una tupla para cada par, de modo que los dominios sean atmicos. El atributo fecha se sustituye por tres atributos, uno por cada campo. Gran parte de la dificultad se elimina si se supone que se cumplen las dependencias multivaloradas siguientes: Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 60 - Ttulo -> -> Autor - Ttulo -> -> Palabra-clave - Ttulo -> -> Da Mes Ao Por tanto, la relacin se puede descomponer en 4FN utilizando los esquemas: - (Ttulo, Autor) - (Ttulo, Palabra-clave) - (Ttulo, Da, Mes, Ao) A continuacin se muestra la proyeccin de la relacin en la descomposicin anterior: Ttulo Dia Mes Ao Plan de ventas 1 Abril 89 Informe de situacin 17 Junio 94
Ttulo Autor Plan de ventas Gomez Plan de ventas Santos Informe de situacin Santos Informe de situacin Escudero
Ttulo Palabra-clave Plan de ventas Beneficios Plan de ventas Estrategia Informe de situacin Beneficios Informe de situacin Personal
6.2 Tipos complejos. Los sistemas de tipos complejos y la POO permiten que los conceptos del modelo ER, como la identidad de las entidades, los atributos multivalorados y la generalizacin y la especializacin se representen directamente sin que haga falta una compleja traduccin al modelo relacional. Objetos de gran tamao (LOB) Muchas aplicaciones actuales de bases de datos necesitan almacenar atributos grandes (del orden de varios Kbytes), tales como la fotografa de una persona, o muy grandes (del Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 61 orden de varios Mbytes o incluso Gbytes), tales como imagenes mdicas de alta resolucin o clips de video. SQL: 1999 proporciona por tanto nuevos tipos de datos para objetos de gran tamao para datos de caracteres (clob) y binarios (blob). Las letras "lob" en estos tipos de datos son acrnimos de "Large OBject" (objeto grande). Los objetos grandes se usan normalmente en aplicaciones externas, y tiene poco sentido extraerlos completamente en SQL. En su lugar, una aplicacin conseguira un "localizador" de un objeto grande y lo usara para manipularlo desde el lenguaje anfitrin. Tipos estructurados Los tipos estructurados permiten la representacin directa de atributos compuestos de los diagramas ER. Un tipo estructurado puede tener metodos definidos sobre el. Los metodos se declaran como parte de la definicin de tipos de un tipo estructurado. Constructores Hay que definir funciones constructoras para crear valores de tipos estructurados. En SQL1999 y en muchos otros lenguajes se utiliza una funcin con el mismo nombre que un tipo estructurado como funcin constructora. De manera predeterminada, cada tipo estructurado tiene un constructor sin argumentos, que establece los atributos a sus valores predefinidos. Cualquier otra funcin constructora tiene que crearse explcitamente. Puede haber ms de una constructora para el mismo tipo estructurado, aunque tengan el mismo nombre, solo tienen que ser distinguibles por el nmero de argumentos y sus tipos. Las debilidades y limitaciones de los tipos complejos - Pobre representacin de las entidades del mundo real. - Sobrecarga y poca riqueza semnticas. - Soporte inadecuado para las restricciones de integridad y empresariales - Estructura de datos homognea - Operaciones limitadas - Dificultades para gestionar las consultas recursivas - Desadaptacin de impedancias - Problemas asociados a la concurrencia, cambios en los esquemas y el inadecuado acceso navegacional. - No ofrecen soporte para tipos definidos por el usuario (slo dominios) 6.3 Herencia. Las clases en un sistema orientado a objetos se representan en forma jerrquica como en el diagrama anterior, as que las propiedades o caractersticas del elemento persona las contendrn (heredaran) los elementos alumno y maestro. Decimos que tanto la entidad Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 62 Alumno y maestro son subclases de la clase persona este concepto es similar al utilizado en la de especializacin (la relacin ISA) del modelo E-R. Se pueden crear muchas agrupaciones (clases) para simplificar un modelo as que una jerarqua (en forma grfica) puede quedar muy extensa, en estos casos tenemos que tener bien delimitados los elementos que intervienen en una clase y aquellos objetos que las heredan. Herencia: frecuentemente, varias de las clases son parecidas entre s. Para permitir la representacin directa de los parecidos entre las clases, hay que ubicarlas en una jerarqua de especializaciones. Por ejemplo, los empleados y los clientes pueden presentarse mediante clases que son especializaciones de la clase persona, pero cliente y empleado tienen sus variables y mtodos especficos, mientras que las variables y mtodos comunes se asocian a la clase persona. La palabra clave isa se utiliza para indicar que una clase es una especializacin de otra. La herencia es la propiedad de que los objetos de una clase (una subclase) contengan las variables definidas en sus superclases. Tambin se heredan igualmente los mtodos. La mayor parte de los sistemas orientados a objetos permiten que la especializacin sea parcial; es decir, permiten objetos que pertenezcan a una clase, pero que no pertenezcan a ninguna de las subclases de la misma. Herencia mltiple: en la mayor parte de los casos, una organizacin de clases con estructura de rbol resulta adecuada para describir las aplicaciones, aunque hay situaciones en que no se puede representar bien una jerarqua de clases con estructura rbol. Por ejemplo, si dos subclases tienen a su vez dos subclases iguales. Esta dificultad se resuelve mediante el concepto de herencia mltiple, que es la posibilidad que tienen las clases de heredar variables y mtodos de varias superclases. Esta relacin se representa mediante un grafo acclico dirigido (GAD), y se realiza definiendo una clase temporal por cada subclase que se repite, y esta clase temporal tiene sus propias variables y mtodos.
6.4 Tipos de referencia. Las variables de tipos de referencia, conocidas como objetos, almacenan referencias a los datos reales. Esta seccin presenta las palabras clave siguientes utilizadas para declarar tipos de referencia: Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 63 - class - interface - delegate Esta seccin tambin presenta los siguientes tipos de referencia integrados: - object - string
6.5 Consultas con tipos complejos. En este apartado se presenta una extensin del lenguaje de consulta SQL para trabajar con los tipos complejos Acceso a datos estructurados Se hace referencia al nombre del atributo compuesto utilizando una notacin con un punto. Se ver mejor con un ejemplo sencillo: averiguar el ttulo y el nombre de la editorial de cada documento. la consulta siguiente lleva a cabo esa tarea. select ttulo, editorial. Nombrefrom libros Obsrvese que se hace referencia al campo nombre del atributo compuesto editorial. Expresiones de ruta Las referencias se desreferencian en SQL:1999 con el smbolo . Considrese otra vez la tabla departamentos. Se puede usar la siguiente consulta para hallar los nombres y direcciones de los directores de todos los departamentos. select director -$>$nombre, director -$>$direccinfrom departamentos Una expresin como director->nombre se denomina una expresin de ruta. Dado que directores una referencia a una tupla de la tabla persona, el atributo nombre en la consulta anterior es el atributo nombre de la tupla de la tabla persona. Atributos de tipo coleccin Los arrays son el nico tipo coleccin soportado por SQL:1999. Una expresin que se evalu a una coleccin puede aparecer en cualquier lugar en que aparezca un nombre de Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 64 relacin, tal como en la clusula from, como ilustran los siguientes ejemplos (Se usa la tabla Libros definida en el libro). Si se desea hallar todos los documentos que tienen las palabras base de datos entre sus palabras clave se puede utilizar la consulta siguiente: select ttulofrom libroswhere base de datos in (lista - palabras - clave)) Obsrvese que se ha usado el operador unnest(lista - palabras - clave) en una posicin en la que SQL sin relaciones anidadas habra exigido una subexpresin select - from - where. La transformacin de una relacin anidada en una forma con menos (o sin) atributos de tipo relacin se denomina des anidamiento. El proceso inverso de transformar una relacin 1FN en una relacin anidada se denomina anidamiento. 6.6 Comparacin entre las bases de datos orientadas a objetos y las bases de datos relacionales orientadas a objetos. TEMA 7. XML. 7.1 Antecedentes. XML proviene de un lenguaje inventado por IBM en los aos setenta, llamado GML (General Markup Language), que surgi por la necesidad que tena la empresa de almacenar grandes cantidades de informacin. Este lenguaje gust a la ISO, por lo que en 1986 trabajaron para normalizarlo, creando SGML (Standard General Markup Language), capaz de adaptarse a un gran abanico de problemas. A partir de l se han creado otros sistemas para almacenar informacin. En el ao 1989 Tim Berners Lee cre la web, y junto con ella el lenguaje HTML. Este lenguaje se defini en el marco de SGML y fue de lejos la aplicacin ms conocida de este estndar. Los navegadores web sin embargo siempre han puesto pocas exigencias al cdigo HTML que interpretan y as las pginas web son caticas y no cumplen con la sintaxis. Estas pginas web dependen fuertemente de una forma especfica de lidiar con los errores y las ambigedades, lo que hace a las pginas ms frgiles y a los navegadores ms complejos. Otra limitacin de SGML es que cada documento pertenece a un vocabulario fijo, establecido por el DTD. No se pueden combinar elementos de diferentes vocabularios. Asimismo es imposible para un intrprete (por ejemplo un navegador) analizar el documento sin tener conocimiento de su gramtica (del DTD). Por ejemplo, el navegador sabe que antes de una etiqueta debe haberse cerrado cualquier previamente abierto. Los navegadores resolvieron esto incluyendo lgica ad hoc para el HTML, en vez de incluir un analizador genrico. Ambas opciones de todos modos son muy complejas para los navegadores. Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 65 Ventajas del XML Es extensible, lo que quiere decir que una vez diseado un lenguaje y puesto en produccin, igual es posible extenderlo con la adicin de nuevas etiquetas de manera de que los antiguos consumidores de la vieja versin todava puedan entender el nuevo formato. El analizador es un componente estndar, no es necesario crear un analizador especfico para cada lenguaje. Esto posibilita el empleo de uno de los tantos disponibles. De esta manera se evitan bugs y se acelera el desarrollo de la aplicacin. Si un tercero decide usar un documento creado en XML, es sencillo entender su estructura y procesarlo. Mejora la compatibilidad entre aplicaciones. Estructura de un documento XML La tecnologa XML busca dar solucin al problema de expresar informacin estructurada de la manera ms abstracta y reutilizable posible. Que la informacin sea estructurada quiere decir que se compone de partes bien definidas, y que esas partes se componen a su vez de otras partes. Entonces se tiene un rbol de pedazos de informacin. Ejemplos son un tema musical, que se compone de compases, que estn formados a su vez con notas. Estas partes se llaman elementos, y se las seala mediante etiquetas. Una etiqueta consiste en una marca hecha en el documento, que seala una porcin de este como un elemento, un pedazo de informacin con un sentido claro y definido. Las etiquetas tienen la forma, donde nombre es el nombre del elemento que se est sealando. Documentos XML bien formados Los documentos denominados como bien formados (del ingls well formed) son aquellos que cumplen con todas las definiciones bsicas de formato y pueden, por lo tanto, ser analizados correctamente por cualquier analizador sintctico (parser) que cumpla con la norma. Los documentos han de seguir una estructura estrictamente jerrquica con lo que respecta a las etiquetas que delimitan sus elementos. Una etiqueta debe estar correctamente incluida en otra, es decir, las etiquetas deben estar correctamente anidadas. Los elementos con contenido deben estar correctamente cerrados. Los documentos XML slo permiten un elemento raz del que todos los dems sean parte, es decir, solo puede tener un elemento inicial. Los valores atributos en XML siempre deben estar encerrados entre comillas simples o dobles. El XML es sensible a maysculas y minsculas. Existe un conjunto de caracteres llamados espacios en blanco (espacios, tabuladores, retornos de carro, saltos de lnea) que los procesadores XML tratan de forma diferente en el marcado XML. Es necesario asignar nombres a las estructuras, tipos de elementos, entidades, elementos particulares, etc. En XML los nombres tienen alguna caracterstica en comn. Las construcciones como etiquetas, referencias de entidad y declaraciones se denominan marcas; son partes del documento que el procesador XML espera entender.
7.2 Estructura de los datos XML. Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 66 Estructura de un documento XML La tecnologa XML busca dar solucin al problema de expresar informacin estructurada de la manera ms abstracta y reutilizable posible. Que la informacin sea estructurada quiere decir que se compone de partes bien definidas, y que esas partes se componen a su vez de otras partes. Entonces se tiene un rbol de pedazos de informacin. Ejemplos son un tema musical, que se compone de compases, que estn formados a su vez con notas. Estas partes se llaman elementos, y se las seala mediante etiquetas. Una etiqueta consiste en una marca hecha en el documento, que seala una porcin de este como un elemento, un pedazo de informacin con un sentido claro y definido. Las etiquetas tienen la forma <nombre>, donde nombre es el nombre del elemento que se est sealando. A continuacin se muestra un ejemplo para entender la estructura de un documento XML: <?xml version=1.0 encoding=ISO-88591 ?> <!DOCTYPE Edit_Mensaje SYSTEM Lista_datos_mensaje.dtd <!ELEMENT Edit_Mensaje (Mensaje)*>]> <Edit_Mensaje> <Mensaje> <Remitente> <Nombre>Nombre del remitente</Nombre> <Mail> Correo del remitente </Mail> </Remitente> <Destinatario> <Nombre>Nombre del destinatario</Nombre> <Mail> Correo del destinatario</Mail> </Destinatario> <Texto> <Parrafo> </Parrafo> </Texto> </Mensaje> </Edit_Mensaje> 7.3 Esquema de los documentos XML. Las bases de datos tienen esquemas que se usan para restringir qu informacin se puede almacenar en la base de datos y para restringir los tipos de datos de la informacin almacenada. En cambio, los documentos XML se pueden crear de forma predeterminada sin un esquema asociado. Un elemento puede tener entonces cualquier subelemento o atributo. Aunque dicha libertad puede ser aceptable algunas veces, dada la naturaleza autodescriptiva del formato de datos, no es til generalmente cuando los documentos XML se deben Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 67 procesar automticamente como parte de una aplicacin o incluso cuando se van a dar formato en XML a grandes cantidades de datos relacionados. 7.3.1 Definicin de tipos de documento (DTD). Una definicin de tipo de documento o DTD (siglas en ingls de document type definition) es una descripcin de estructura y sintaxis de un documento XML o SGML. Su funcin bsica es la descripcin del formato de datos, para usar un formato comn y mantener la consistencia entre todos los documentos que utilicen la misma DTD. De esta forma, dichos documentos, pueden ser validados, conocen la estructura de los elementos y la descripcin de los datos que trae consigo cada documento, y pueden adems compartir la misma descripcin y forma de validacin dentro de un grupo de trabajo que usa el mismo tipo de informacin. La DTD es una definicin, en un documento SGML o XML, que especifica restricciones en la estructura y sintaxis del mismo. La DTD se puede incluir dentro del archivo del documento, pero normalmente se almacena en un fichero ASCII de texto separado. La sintaxis de las DTD para SGML y XML es similar pero no idntica. La definicin de una DTD especifica la sintaxis de una aplicacin de SGML o XML, que puede ser un estndar ampliamente utilizado como XHTML o una aplicacin local. Qu describe una DTD? Las DTD se emplean generalmente para determinar la estructura de un documento mediante etiquetas (en ingls tags) XML o SGML. Una DTD describe: - Elementos: indican qu etiquetas son permitidas y el contenido de dichas etiquetas. - Estructura: indica el orden en que van las etiquetas en el documento. - Anidamiento: indica qu etiquetas van dentro de otras. 7.3.2 Esquemas de XML. Un intento de reparar muchas de estas deficiencias de DTD produjo un lenguaje de esquema ms sofisticado, XML Schema.Presentamos aqu un ejemplo de XML Schema y se listan algunas reas en las cuales mejora a las DTDs sin dar mucho detalle de la sintaxis de XML Schema. XML Schema es un lenguaje de esquema utilizado para describir la estructura y las restricciones de los contenidos de los documentos XML de una forma muy precisa, ms all de las normas sintcticas impuestas por el propio lenguaje XML. Se consigue as una percepcin del tipo de documento con un nivel alto de abstraccin. Fue desarrollado por el World Wide Web Consortium (W3C) y alcanz el nivel de recomendacin en mayo de 2001. Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 68 El trmino "XML Schema" es utilizado con varios significados dentro del mismo contexto de descripcin de documentos, y es importante tener en cuenta las siguientes consideraciones: 1. "XML Schema" (Esquema XML) es el nombre oficial otorgado a la recomendacin del W3C, que elabor el primer lenguaje de esquema separado de XML (la definicin de tipo de documentos (DTD) forma parte de XML). 2. Es habitual referirse a los esquemas como "XML schema" de forma genrica, pero se recomienda utilizar el trmino documento esquema (schema document) o "definicin de esquema"(schema definition), y reservar XML Schema para la denominacin de este lenguaje especfico. 3. Aunque genricamente se utilice "XML schemas", XSDL (XML Schema Definition Language) es el nombre tcnico de los lenguajes de esquema de XML como: Definicin de Tipo de Documento (DTD) XML Schema RELAX NG Schematron Namespace Routing Language (NRL) Document Schema Definition Languages (DSDL) Document Definition Markup Language (DDML) Document Structure Description (DSD) SGML Schema for Object-Oriented XML (SOX) XML Schema es un lenguaje de esquema escrito en XML, basado en la gramtica y pensado para proporcionar una mayor potencia expresiva que las DTD, menos capaz al describir los documentos a nivel formal. Los documentos esquema (usualmente con extensin .xsd de XML Schema Definition (XSD)) se concibieron como una alternativa a las DTD, ms complejas, intentando superar sus puntos dbiles y buscar nuevas capacidades a la hora de definir estructuras para documentos XML. El principal aporte de XML Schema es el gran nmero de tipos de datos que incorpora. De esta manera, XML Schema aumenta las posibilidades y funcionalidades de aplicaciones de procesado de datos, incluyendo tipos de datos complejos como fechas, nmeros y strings. Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 69 Los esquemas XML Schema superan muchas de las limitaciones y debilidades de las DTDs. Fue diseado completamente alrededor de namespaces y soporta tipos de datos tpicos de los lenguajes de programacin, como tambin tipos personalizados simples y complejos. Un esquema se define pensando en su uso final. La programacin en Schema XML se basa en Namespaces. Podemos encontrar una analoga entre stos y los llamados packages en Java. Cada Namespace contiene elementos y atributos que estn estrechamente relacionados con el Namespace. As, a la hora de definir un elemento o un atributo de un Namespace, siempre se crear una conexin entre los diferentes campos de ste. Adems, esta forma de trabajar nos permite relacionar elementos que no estn en el mismo Namespace. Despus de escribir un Schema XML se puede confirmar la correcta realizacin mediante la validacin de esquemas XML: Validacin XML. 7.4 Consulta y transformacin. Dado el creciente nmero de aplicaciones que usan XML para intercambiar, transmitir y almacenar datos, las herramientas para una gestin efectiva de datos XML estn siendo cada vez ms importantes. En particular las herramientas para consultar y transformar los datos XML son esenciales para extraer informacin de grandes cuerpos de datos XML y para convertir los datos entre distintas representaciones (esquemas) en XML. Al igual que la salida de una consulta relacional es una relacin, la salida de una consulta XML puede ser un documento XML. Como resultado, la consulta y la transformacin se pueden combinar en una nica herramienta. Varios lenguajes proporcionan grados crecientes de capacidades de consulta y transformacin: - X Pathes un lenguaje para expresiones de rutas de accesos y es realmente un bloque constructor losdos lenguajes de consulta restantes. - XSLT fue diseado para ser un lenguaje de transformacin como parte del sistema de hojas de estilo XSL, que se usa para controlar el formato de los datos XML en HTML u otro lenguaje de impresin o visualizacin. Aunque diseado para el formato, XSLT puede generar XML como salida y puede expresar muchas consultas interesantes. Adems, es actualmente el lenguaje ms ampliamente disponible para manipular datos XML. - X Query? ha sido propuesto como un estndar para consultar datos XML. X Query combina las caractersticas de muchas propuestas anteriores para la consulta de XML, en particular el lenguaje Quilt. Se usa en todos estos lenguajes un modelo de rbol de datos XML. Un documento XML se modela como un rbol con nodos para los elementos y atributos. Los nodos elemento pueden tener nodos hijo, los cuales pueden ser subelementos o atributos del elemento. De igual forma, cada nodo (ya sea atributo o elemento) distinto del elemento raz tiene un nodo padre, que es un elemento. El orden de los elementos y atributos en el documento XML se modela ordenando los nodos hijos de un rbol. Los trminos padre, hijo, ascendiente, descendiente y hermano se interpretan en el modelo de rbol de datos XML. Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 70 7.4.1 Xpath. XPATH es un lenguaje que permite construir expresiones que recorren y procesan un documento XML. La idea es parecida a las expresiones regulares para seleccionar partes de un texto sin atributos. X Path permite buscar y seleccionar teniendo en cuenta la estructura jerrquica del XML. X Path fue creado para su uso en el estndar XSLT, en el que se usa para seleccionar y examinar la estructura del documento de entrada de la transformacin. X Path en s es un lenguaje sofisticado y complejo, pero distinto de los lenguajes que usamos (C, C++, Basic, Java). Adems, como casi todo en el mundo de XML, an est en estado de desarrollo, por lo que no es fcil encontrar herramientas que incorporen todas sus funcionalidades. X Path es la base sobre la que se han especificado nuevas herramientas que aprovechar, para el tratamiento de documentos XML. 7.4.2 Xquery. XQuery es un lenguaje de consulta diseado para consultar colecciones de datos XML. Es semnticamente similar a SQL, pero incluye algunas capacidades de programacin. El XQuery 1.0 fue desarrollado por el grupo de trabajo de Consulta XML del W3C. El XQuery 1.0 es una Recomendacin del W3C desde el 23 de enero de 2007. XQuery 1.0 no incluye capacidad de actualizar los documentos XML. Tampoco puede realizar bsquedas textuales. Estas dos capacidades estn siendo objeto de desarrollo para su posible incorporacin en la siguiente versin del lenguaje. XQuery es un lenguaje de programacin funcional que consta en su totalidad de expresiones. No hay sentencias, aun cuando algunas de las palabras claves utilizadas pueden sugerir un comportamiento similar al de una sentencia. Para ejecutar una funcin, la expresin dentro del cuerpo de la misma se evala y se retorna el resultado obtenido. CARCTERSTICAS DE XQUERY Proporciona los medios para extraer y manipular informacin de documentos XML, o de cualquier fuente de datos que pueda ser representada mediante XML, como por ejemplo Bases de Datos Relacionales o documentos ofimticos. XQuery utiliza expresiones XPath para acceder a determinadas partes del documento XML. Aade adems unas expresiones similares a las usadas en SQL, conocidas como expresiones FLWOR. Las expresiones FLWOR toman su nombre de los 5 tipos de sentencias de las que pueden estar compuestas: FOR, LET, WHERE, ORDER BY y RETURN. Tambin incluye la posibilidad de construir nuevos documentos XML a partir de los resultados de la consulta. APLICACIONES *Extraer informacin de una base de datos para usarla en un Servicio Web. Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 71 *Generar un resumen de la informacin almacenada en una base de datos XML. Realizar bsquedas textuales en la web y compilar los resultados de la misma. *Seleccionar y transformar datos de XML a XHTML de forma que se puedan publicar en la Web. *Obtener datos desde diferentes fuentes con vistas a ser integradas por la aplicacin. *Dividir un documento XML que representa una serie de mltiples transacciones en varios documentos XML, uno por cada transaccin. 7.4.3 XSLT. XSLT o Transformaciones XSL es un estndar de la organizacin W3C que presenta una forma de transformar documentos XML en otros e incluso a formatos que no son XML. Las hojas de estilo XSLT - aunque el trmino de hojas de estilo no se aplica sobre la funcin directa del XSLT - realizan la transformacin del documento utilizando una o varias reglas de plantilla. Estas reglas de plantilla unidas al documento fuente a transformar alimentan un procesador de XSLT, el que realiza las transformaciones deseadas poniendo el resultado en un archivo de salida, o, como en el caso de una pgina web, las hace directamente en un dispositivo de presentacin tal como el monitor del usuario. Actualmente, XSLT es muy usado en la edicin web, generando pginas HTML o XHTML. La unin de XML y XSLT permite separar contenido y presentacin, aumentando as la productividad. 7.5 Almacenamiento de datos XML. Los documentos y los requerimientos de almacenamiento de datos XML pueden ser pensados a menudo en dos categoras generales: centrados en los datos y centrados en los documentos. Las demandas centradas en los datos suelen incluir documentos menos estructurados, y es apropiada para tems. Si el documento XML tiene una estructura bien definida y contiene datos actualizables usados en maneras diversas, el documento es tpicamente centrado en los datos. Los datos centrados en el documento tienden a ser ms impredecibles en tamao y contenido que los centrados en los datos los cuales son altamente estructurados, con tipos de datos de tamao limitado y reglas menos flexibles para campos opcionales y contenido. Los sistemas de almacenamiento XML deben acomodarse eficientemente con ambos tipos de requerimientos de datos, dado que XML est siendo ampliamente usado en sistemas que administran ambos tipos de datos. Las bases de datos relacionales tradicionales son tpicamente mejores al tratar con requerimientos centrados en los datos, mientras que los sistemas de administracin de contenido y de documentos son tpicamente mejores para almacenar datos centrados en el documento. Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 72 7.6 Aplicaciones. XLM puede tener tres posibles roles: *DE CONTENEDOR DE INFORMACIN Cuando el XML acta de contenedor, ignora por completo la informacin que contiene. Esta informacin ir normalmente almacenada en un elemento del tipo CDATA, estos elementos no son analizados por el parser de XML. Imaginemos que tenemos dos aplicaciones distintas en un proyecto, podemos establecer una gramtica XML para encapsular los mensajes XML (aadiendo una cabecera al documento), y tener un programa que procese las cabeceras de los mensajes y direcciones a la aplicacin correspondiente. Tambin nos puede servir para definir un flujo de datos en un workflow. *PARA DEFINIR EL CONTENIDO DE LOS MENSAJES Para que se puedan intercambiar informacin dos aplicaciones y puedan procesarla automticamente. *PARA DESCRIBIR EL CONTENIDO DE LOS MENSAJES Si lo utilizamos con este rol, podemos describir el esquema de contenidos de los mensajes. Estamos definiendo recursos, lo utilizamos como metadatos. Podemos facilitar el acceso a la informacin a los agentes de software. Estos son algunos roles y posibles aplicaciones del XML, pero se nos pueden ocurrir. Descargar Trabajo en el Servidor. Soporte a Clientes. Gracias a los enlaces extendidos (XLL), el cliente si tiene algn tipo de problema, pinchando sobre un enlace de este tipo le puede salir una lista con la persona concreta de contacto, partes de manuales concretos donde resolver esa duda, departamentos determinados, ect. Personalizacin de la Web Gracias al XSL/XSLT, podemos transformar y dar el formato que queramos a un mismo documento XML, por lo tanto si sabemos gracias a las cookies, o, los logins, quin es el usuario/cliente que accede podemos personalizar la vista de la informacin. El cliente/Usuario de esta forma se sentir ms a gusto, considerar que esa informacin es suya y que es reconocido en la Web. Muy til para los Sites de Comercio Electrnico. Buscador Web. Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 73 Si disponemos de un Site donde toda la informacin se encuentre etiquetada en documentos XML, las bsquedas seran mucho ms efectivas, ya que se conjuga la potencia de la bsqueda indexada junto la bsqueda semntica. Intercambio de informacin. Si contratamos a una empresa un servicio de noticias, y nos facilitan la estructura de los datos que vamos a recibir (DTD/Schema), sabremos en todo momento que tipos de documentos XML estamos recibiendo, y podremos tratarlos de la forma que deseemos.
AVISO LEGAL Las lecturas que presenta la Coordinacin del sistema escolarizado y semi-escolarizado de la UCLA en esta Antologa, son fotocopias parciales de los originales y se reproducen solo con propsitos educativos, de investigacin y sin perseguir la obtencin de lucro conforme a los artculos 1o y 148o fracciones I, III y IV de la Ley Federal de Derechos de Autor. El precio que se cobra es para recuperar el costo de produccin de la misma. Coordinacin del sistema escolarizado y semi-escolarizado. Universidad Contempornea de las Amricas.
Ingeniera en Sistemas Computacionales Fundamentos de base de datos. Pgina 74 VI. BIBLIOGRAFA
Referencias Bibliogrficas Thomas M. Connolly, Carol E. Begg; "Sistemas de base de datos, un enfoque prctico para diseo, implementacin y gestin. ", Cuarta edicin; Addison Wesley; Madrid; 2005.Captulo 6: Base de datos orientada a objetos. Silberschatz. Korth. Sudarshan. Fundamentos de bases de datos 4ta.Edicin. Mc Graw Hill. Adoracin de Miguel Mario Piattini. Fundamentos y modelos de base dedatos. Adoracin de Miguel Mario Piattini. C.J. Date.Introduccin a los sistemas de bases de datos 7ma. Edicin.Pretince Hall. Jeffrey D. Ullman, Jennifer Widom. Introduccin a los sistemas debases de datos. Prentice Hall. Ramez Elmasri, Shamkant B. Navathe. Diseo y desarrollo de aplicaciones Tercera edicin Michael V. Mannino University of Colorado at Denver. Addison-Wesley, 2002 -962 pginas
Catherine M. Ricardo Iona College Revisin tcnica Ingeniero Antonio Gonzlez y Pea Universidad Iberoamericana, Ciudad de Mxico Doctor Francisco Javier Cartujano Revisin tcnica Carlos Villegas Quezada