Fcpt5 s gestores_bd

349 views
302 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
349
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Fcpt5 s gestores_bd

  1. 1. COLEGIO DE BACHILLERES DEL ESTADO DE SONORA Director General Mtro. Julio Alfonso Martínez Romero Director Académico Dr. Manuel Valenzuela Valenzuela Director de Administración y Finanzas C.P. Jesús Urbano Limón Tapia Director de Planeación Ing. Raúl Leonel Durazo Amaya GESTORES DE BASE DE DATOS Módulo de Aprendizaje. Copyright ©, 2011 por Colegio de Bachilleres del Estado de Sonora todos los derechos reservados. Segunda edición 2012. Impreso en México. DIRECCIÓN ACADÉMICA Departamento de Desarrollo Curricular Blvd. Agustín de Vildósola, Sector Sur Hermosillo, Sonora. México. C.P. 83280 COMISIÓN ELABORADORA: Elaborador: Ricardo Revilla Reyes Revisión Disciplinaria: María Enedina Duarte Camacho Corrección de Estilo: Flora Inés Cabrera Fregoso Apoyo Metodológico: María Enedina Duarte Camacho Supervisión Académica: Mtra. Luz María Grijalva Díaz Diseño: María Jesús Jiménez Duarte Edición: Francisco Peralta Varela Coordinación Técnica: Claudia Yolanda Lugo Peñúñuri Diana Irene Valenzuela López Coordinación General: Dr. Manuel Valenzuela Valenzuela Esta publicación se terminó de imprimir durante el mes de junio de 2012. Diseñada en Dirección Académica del Colegio de Bachilleres del Estado de Sonora Blvd. Agustín de Vildósola; Sector Sur. Hermosillo, Sonora, México La edición consta de 1,299 ejemplares. 2 PRELIMINARES
  2. 2. DATOS DEL ALUMNO Nombre: _______________________________________________________________ Plantel: __________________________________________________________________ Grupo: _________________ Turno: _____________ Teléfono:___________________ E-mail: _________________________________________________________________ Domicilio: ______________________________________________________________ _______________________________________________________________________ Ubicación Curricular COMPONENTE: FORMACIÓN PARA EL TRABAJO CAPACITACIÓN PARA EL TRABAJO: INFORMÁTICA PRELIMINARES HORAS SEMANALES: 03 CRÉDITOS: 06 3
  3. 3. 4 PRELIMINARES
  4. 4. Índice Presentación ..................................................................................................................................................................7 Mapa de asignatura .......................................................................................................................................................8 BLOQUE 1: SISTEMAS DE GESTORES DE BASES DE DATOS ......................................................................9 Secuencia Didáctica 1: Introducción a los sistemas de gestión de bases de datos ................................................ 10 • Concepto de una base de datos ....................................................................................................................... 11 • Características de las bases de datos ............................................................................................................... 12 • Redundancia de datos ....................................................................................................................................... 12 • Concepto de sistemas de gestión de base de datos ....................................................................................... 14 • Objetivos de los sistemas de gestión de bases de datos ................................................................................ 14 • Ventajas y/o desventajas ................................................................................................................................... 15 • Función de los sistemas de gestión de bases de datos (SDGB) ..................................................................... 15 • Componentes de un sistema de gestión de bases de datos ........................................................................... 21 • Ejemplos de sistemas de gestión de bases de datos ...................................................................................... 22 Secuencia Didáctica 2: Estructura y diseño de archivos ........................................................................................... 26 • Organización básica de un sistema de gestión de archivo .............................................................................. 27 • Estructura del sistema de archivos .................................................................................................................... 30 • Métodos para la organización de los archivos .................................................................................................. 31 • Pilas .................................................................................................................................................................... 31 • Archivo secuencial ............................................................................................................................................. 31 • Archivo secuencial Indizado (indexado) ............................................................................................................ 33 • Archivo Indizado (indexado) .............................................................................................................................. 34 • Fundamentos de los archivos indizados (indexado) ......................................................................................... 34 • Archivos directos o de dispersión ...................................................................................................................... 34 Secuencia Didáctica 3: Estructura y diseño de bases de datos ............................................................................... 37 • Introducción a los sistemas de bases de datos ................................................................................................ 38 • Estructura de una base de datos ....................................................................................................................... 38 • Diseño de una base de datos ............................................................................................................................ 39 • Actividades del diseño ....................................................................................................................................... 39 • Arquitectura de los sistemas de gestión de bases de datos ............................................................................ 41 • Lenguajes de los sistemas de gestión de bases de datos ............................................................................... 42 • Lenguajes de definición de datos ...................................................................................................................... 43 • Lenguajes de manejo de datos ......................................................................................................................... 43 • Lenguajes de cuarta generación ....................................................................................................................... 44 • Esquema de una base de datos ........................................................................................................................ 47 • Modelos de datos .............................................................................................................................................. 47 • Modelo Entidad-Relación ................................................................................................................................... 48 • Clasificación de los sistemas de bases de datos ............................................................................................. 52 • Fundamentos de normalización de una base de datos .................................................................................... 55 BLOQUE 2: UTILIZA VISUAL FOXPRO ............................................................................................................ 61 Secuencia Didáctica 1: Introducción al Visual FoxPro ............................................................................................... 62 • Introducción al Visual FoxPro ............................................................................................................................. 63 • Programación orientada a eventos .................................................................................................................... 63 • Programación orientada a objetos..................................................................................................................... 64 • Características de la programación orientada a objetos .................................................................................. 64 • Tipos de generadores ........................................................................................................................................ 66 • Utiliza los asistentes ........................................................................................................................................... 66 • Estructura una .DBF ........................................................................................................................................... 66 • Tipos de campos................................................................................................................................................ 67 • Modo de operación ............................................................................................................................................ 71 • Introducción a la interfaz de usuario de Microsoft Visual FoxPro ...................................................................... 71 • Descripción de los componentes de la ventana ............................................................................................... 74 • Barra de menú .................................................................................................................................................... 74 • Operaciones básicas ......................................................................................................................................... 77 Secuencia Didáctica 2: Desarrollo de trabajo en Visual FoxPro ................................................................................ 83 • Implementación de un proyecto ........................................................................................................................ 84 • Utiliza la ficha de datos ...................................................................................................................................... 85 PRELIMINARES 5
  5. 5. Índice (continuación) • • • • • • • Crea una tabla en Visual FoxPro ........................................................................................................................ 86 Descripción del área mostrar ............................................................................................................................. 89 Definición de reglas de validación a nivel de campo ........................................................................................ 90 Definición de índices .......................................................................................................................................... 90 Utiliza formulario ................................................................................................................................................. 93 Crea informes ..................................................................................................................................................... 97 Utiliza la herramienta consulta ......................................................................................................................... 103 BLOQUE 3: GENERALIDADES DE PROGRAMACIÓN DE BASES DE DATOS .......................................... 111 Secuencia Didáctica 1: Introducción a los lenguajes de programación ................................................................. 112 • Definición de lenguaje de programación ......................................................................................................... 113 • Tipos de lenguajes de programación .............................................................................................................. 113 • Lenguajes de bajo nivel ................................................................................................................................... 113 • Lenguajes de alto nivel .................................................................................................................................... 113 • Lenguajes de medio nivel ................................................................................................................................ 114 • HTML ................................................................................................................................................................ 114 • Visual FoxPro .................................................................................................................................................... 114 • Visual Basic ...................................................................................................................................................... 114 • Visual Studio ..................................................................................................................................................... 116 • SQL ................................................................................................................................................................... 116 Secuencia Didáctica 2: Operaciones básicas de una base de datos en Microsoft Access................................... 119 • Introducción a las tablas en Microsoft Access ................................................................................................ 120 • Cinta de opciones de Microsoft Access .......................................................................................................... 121 • Ficha crear ........................................................................................................................................................ 121 • Crear tabla ........................................................................................................................................................ 122 • Ficha de inicio .................................................................................................................................................. 127 • Bloque vista ...................................................................................................................................................... 127 • Vista hoja de datos ........................................................................................................................................... 128 • Vista tabla dinámica ......................................................................................................................................... 129 • Vista de diseño ................................................................................................................................................. 129 • Vista SQL .......................................................................................................................................................... 130 • Ejecutar un código en vista SQL...................................................................................................................... 131 • Identifica los requerimientos mínimos de un proyecto ................................................................................... 132 • Realiza consultas en Access ........................................................................................................................... 132 • Utiliza el asistente de formularios .................................................................................................................... 137 • Utiliza el Asistente de informes ........................................................................................................................ 141 Secuencia Didáctica 3: Programación básica en SQL ............................................................................................ 147 • ¿Qué es el SQL? ............................................................................................................................................ 148 • ¿Qué es un ODBC? .......................................................................................................................................... 148 • Características del lenguaje ............................................................................................................................. 148 • Tipos de campos ............................................................................................................................................. 149 • Tipos de datos SQL ......................................................................................................................................... 151 • Tipos de sentencias y sus componentes sintácticos ...................................................................................... 154 • Componentes sintácticos ................................................................................................................................ 155 • Interpretar un diagrama sintáctico ................................................................................................................... 155 • Código SQL para crear una Tabla ................................................................................................................... 158 • La cláusula CONSTRAINT ............................................................................................................................... 162 • Crea índices en SQL ........................................................................................................................................ 165 • Modifica el diseño de una tabla en SQL .......................................................................................................... 166 • Introduce registros en una tabla en SQL ......................................................................................................... 168 • Borrar registros en una tabla en SQL .............................................................................................................. 168 • Edita registros en una tabla en SQL ................................................................................................................ 169 • • • Realiza selecciones eficientemente ......................................................................................................... 169 Crea el código para consultas básicas en SQL ...................................................................................... 171 Utiliza el código en SQL para actualizar una base de datos .................................................................. 171 Bibliografía........................................................................................................................................................ 173 6 PRELIMINARES
  6. 6. Presentación “Una competencia es la integración de habilidades, conocimientos y actitudes en un contexto específico”. El enfoque en competencias considera que los conocimientos por sí mismos no son lo más importante, sino el uso que se hace de ellos en situaciones específicas de la vida personal, social y profesional. De este modo, las competencias requieren una base sólida de conocimientos y ciertas habilidades, los cuales se integran para un mismo propósito en un determinado contexto. El presente Módulo de Aprendizaje de la asignatura Gestores de Base de Datos, es una herramienta de suma importancia, que propiciará tu desarrollo como persona visionaria, competente e innovadora, características que se establecen en los objetivos de la Reforma Integral de Educación Media Superior que actualmente se está implementando a nivel nacional. El Módulo de aprendizaje es uno de los apoyos didácticos que el Colegio de Bachilleres te ofrece con la intención de estar acorde a los nuevos tiempos, a las nuevas políticas educativas, además de lo que demandan los escenarios local, nacional e internacional; el módulo se encuentra organizado a través de bloques de aprendizaje y secuencias didácticas. Una secuencia didáctica es un conjunto de actividades, organizadas en tres momentos: Inicio, desarrollo y cierre. En el inicio desarrollarás actividades que te permitirán identificar y recuperar las experiencias, los saberes, las preconcepciones y los conocimientos que ya has adquirido a través de tu formación, mismos que te ayudarán a abordar con facilidad el tema que se presenta en el desarrollo, donde realizarás actividades que introducen nuevos conocimientos dándote la oportunidad de contextualizarlos en situaciones de la vida cotidiana, con la finalidad de que tu aprendizaje sea significativo. Posteriormente se encuentra el momento de cierre de la secuencia didáctica, donde integrarás todos los saberes que realizaste en las actividades de inicio y desarrollo. En todas las actividades de los tres momentos se consideran los saberes conceptuales, procedimentales y actitudinales. De acuerdo a las características y del propósito de las actividades, éstas se desarrollan de forma individual, binas o equipos. Para el desarrollo del trabajo deberás utilizar diversos recursos, desde material bibliográfico, videos, investigación de campo, etc. La retroalimentación de tus conocimientos es de suma importancia, de ahí que se te invita a participar de forma activa, de esta forma aclararás dudas o bien fortalecerás lo aprendido; además en este momento, el docente podrá tener una visión general del logro de los aprendizajes del grupo. Recuerda que la evaluación en el enfoque en competencias es un proceso continuo, que permite recabar evidencias a través de tu trabajo, donde se tomarán en cuenta los tres saberes: el conceptual, procedimental y actitudinal con el propósito de que apoyado por tu maestro mejores el aprendizaje. Es necesario que realices la autoevaluación, este ejercicio permite que valores tu actuación y reconozcas tus posibilidades, limitaciones y cambios necesarios para mejorar tu aprendizaje. Así también, es recomendable la coevaluación, proceso donde de manera conjunta valoran su actuación, con la finalidad de fomentar la participación, reflexión y crítica ante situaciones de sus aprendizajes, promoviendo las actitudes de responsabilidad e integración del grupo. Nuestra sociedad necesita individuos a nivel medio superior con conocimientos, habilidades, actitudes y valores, que les permitan integrarse y desarrollarse de manera satisfactoria en el mundo social, profesional y laboral. Para que contribuyas en ello, es indispensable que asumas una nueva visión y actitud en cuanto a tu rol, es decir, de ser receptor de contenidos, ahora construirás tu propio conocimiento a través de la problematización y contextualización de los mismos, situación que te permitirá: Aprender a conocer, aprender a hacer, aprender a ser y aprender a vivir juntos. PRELIMINARES 7
  7. 7. Gestores de base de datos Bloque 1. Bloque 2. Bloque 3. Sistemas de Gestores de Bases de Datos. Utiliza Visual FoxPro. Generalidades de Programación de Bases de Datos. Secuencia didáctica 1. Secuencia didáctica 1. Secuencia didáctica 1. Introducción a los sistemas de gestión de bases de datos. Introducción al Visual FoxPro. Introducción a los Lenguajes de Programación. Secuencia didáctica 2. Estructura y diseño de archivos. Secuencia didáctica 2. Secuencia didáctica 2. Desarrollo de trabajo en Visual FoxPro. Operaciones básicas de una base de datos en Microsoft Access. Secuencia didáctica 3. Estructuras y diseño de bases de datos. 8 Secuencia didáctica 3. Programación básica en SQL. PRELIMINARES
  8. 8. Sistemas de gestores de bases de datos. Competencias profesionales:    Desarrolla documentos electrónicos, de acuerdo con los requerimientos establecidos (software). Localiza, obtiene información y se comunica utilizando las tecnologías de la información y de comunicación (software). Resuelve problemas de procesamiento de información utilizando lenguajes, manejadores de bases de datos y metodologías, de acuerdo con los requerimientos del usuario (software). Unidad de competencia: Identifica los objetivos y ventajas de la utilización de sistemas de gestión de bases de datos, y analiza las estructuras de diseño de archivos, para su operación, manejo, desarrollo y mantenimiento, según los requerimientos de la normalización de una base de datos. Atributos a desarrollar en el bloque: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Enfrenta las dificultades que se le presentan y es consciente de sus valores, fortalezas y debilidades. Administra los recursos disponibles teniendo en cuenta las restricciones para el logro de sus metas. Elige alternativas y cursos de acción con base en criterios sustentados y en el marco de un proyecto de vida. Aplica distintas estrategias comunicativas según quienes sean sus interlocutores, el contexto en el que se encuentra y los objetivos que persigue. Maneja las tecnologías de la información y la comunicación para obtener información y expresar ideas. Sigue instrucciones y procedimientos de manera reflexiva, comprendiendo como cada uno de sus pasos contribuye al alcance de un objetivo. Ordena información de acuerdo a categorías, jerarquías y relaciones. Utiliza las tecnologías de la información y comunicación para procesar e interpretar información. Elige las fuentes de información más relevantes para un propósito específico y discrimina entre ellas de acuerdo a su relevancia y confiabilidad. Estructura ideas y argumentos de manera clara, coherente y sintética. Define metas y da seguimiento a sus procesos de construcción de conocimiento. Identifica las actividades que le resultan de menor y mayor interés y dificultad, reconociendo y controlando sus reacciones frente a retos y obstáculos. Articula saberes de diversos campos y establece relaciones entre ellos y su vida cotidiana. Propone maneras de solucionar un problema o desarrollar un proyecto en equipo, definiendo un curso de acción con pasos específicos. Aporta puntos de vista con apertura y considera los de otras personas de manera reflexiva. Asume una actitud constructiva, congruente con los conocimientos y habilidades con los que cuenta dentro de distintos equipos de trabajo. Tiempo asignado: 20 horas
  9. 9. Secuencia didáctica 1. Introducción a los sistemas de gestión de bases de datos. Inicio  Actividad: 1 Desarrolla lo que se te pide y, posteriormente, participa en un debate grupal. 1. Escribe el concepto de sistema. __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ 2. Menciona cinco empresas, las cuales por sus características manipulan grandes cantidades de información. __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ 3. Escribe cinco ventajas que brinda la informática en el almacenamiento y procesamiento de la información. __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ 4. ¿Qué es un sistema de información? __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ Actividad: 1 Conceptual Reconoce el concepto y ventajas de un sistema de información. Autoevaluación 10 Evaluación Producto: Cuestionario. Saberes Procedimental Puntaje: Analiza el concepto y ventajas de un sistema de información. C MC NC Actitudinal Participa de una manera activa y responsable en el desarrollo de la actividad y el debate grupal. Calificación otorgada por el docente SISTEMAS DE GESTORES DE BASES DE DATOS
  10. 10. Desarrollo Concepto de base de datos. Seguro que en más de una ocasión has oído hablar de las bases de datos, y también de modo intrínseco nos hemos hecho nuestra propia concepción de lo que son. Cuando se habla informalmente de una base de datos, se hace referencia a una colección datos mutuamente relacionados, al hardware de una computadora que se emplea para almacenarla y a los programas utilizados para manipularla. Estos datos representan el conocimiento acerca de una empresa, como una compañía, una universidad o una institución gubernamental. Los datos también pueden estar relacionados debido a que corresponden a cierta área problema; tal vez acerca de una enfermedad que preocupa al personal de cierto número de hospitales. Los datos deberán estar organizados de manera que sea posible procesarlos para obtener información. Una base de datos es un conjunto de archivos, destinados a almacenar información de manera sistemática, en campos o delimitadores, teniendo acceso a ella posteriormente tanto en forma separada como conjunta. El término de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en California, USA. A finales de los años sesenta nacen las bases de datos. En estas se guardan los datos utilizados por los usuarios, empresas, etc. Las bases de datos se crearon gracias a la necesidad de las grandes empresas de almacenar grandes cantidades de información de una forma rápida, sencilla y fiable, y que a su vez pudieran acceder a ella en cualquier momento sin necesidad de desplazarse a salas dedicadas a archivar documentación, como hasta hace poco se venía haciendo. Cuando comenzó el despegue de los programas informáticos se empezaron a almacenar datos en los archivos de los programas, lo cual era más cómodo pero aun así tenían grandes dificultades a la hora de querer modificar registros, estructuras o simplemente buscar información. BLOQUE 1 11
  11. 11. Características de las bases de datos. Entre las principales características de los sistemas de base de datos podemos mencionar:         Independencia lógica y física de los datos. Redundancia mínima. Acceso concurrente por parte de múltiples usuarios. Integridad de los datos. Consultas complejas optimizadas. Seguridad de acceso y auditoría. Respaldo y recuperación. Acceso a través de lenguajes de programación estándar. Redundancia de datos. En bases de datos o en ficheros, la redundancia hace referencia al almacenamiento de los mismos datos varias veces en diferentes lugares. La redundancia de datos puede provocar problemas como:    Incremento del trabajo: Como un mismo dato está almacenado en dos o más lugares, esto hace que cuando se graben o actualicen los datos, deban hacerse en todos los lugares a la vez. Desperdicio de espacio de almacenamiento: Ya que los mismos datos están almacenados en varios lugares distintos, ocupando así más bytes del medio de almacenamiento. Este problema es más evidente en grandes bases de datos. Inconsistencia de datos: Esto sucede cuando los datos redundantes no son iguales entre sí. Esto puede suceder, por ejemplo, cuando se actualiza el dato en un lugar, pero el dato duplicado en otro lugar no es actualizado. Nota : Si una base de datos está bien diseñada, no debería haber redundancia de datos (exceptuando la redundancia de datos controlada, que se emplea para mejorar el rendimiento en las consultas). 12 SISTEMAS DE GESTORES DE BASES DE DATOS
  12. 12. Actividad: 2 En equipo de cinco integrantes realiza la siguiente investigación. Elabora tu reporte de observaciones para comentarlo con tu profesor. 1. ¿Cuáles son los datos que contiene la tarjeta de circulación de un automóvil? _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ 2. De los datos de la tarjeta de circulación, ¿cuáles piensas que son los más importantes y porque? _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ 3. ¿Cuáles de los datos de la tarjeta de circulación se pueden repetir en otra u otras tarjetas de circulación? _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ 4. ¿Cuáles son los datos de una tarjeta de circulación que no se pueden repetir en ninguna otra tarjeta de circulación? _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ 5. Describe un escenario en el cual en un departamento de tránsito vehicular, exista la redundancia de datos. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ BLOQUE 1 13
  13. 13. Conceptual Evaluación Producto: Trabajo de Investigación. Saberes Procedimental Reconoce las características de una base de datos, para evitar la redundancia. Evalúa una base de datos para identificar si existe una redundancia de datos. Actividad: 2 Coevaluación C MC NC Puntaje: Actitudinal Colabora con el equipo durante la investigación. Calificación otorgada por el docente Concepto de sistemas de gestión de base de datos. Los sistemas de gestión de bases de datos (en inglés database management system, abreviado DBMS) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Objetivos de los sistemas de gestión de base de datos.       14 Abstracción de la información. Los sistemas de gestión de bases de datos ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción. Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella. Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea. Por otra parte, la base de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. El sistema no debería aceptar datos de un conductor menor de edad. En los sistemas de gestión de bases de datos existen herramientas que facilitan la programación de este tipo de condiciones. Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor. los sistemas de gestión de bases de datos deben garantizar que esta información se encuentra segura de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos. Manejo de transacciones. Una transacción es un programa que se ejecuta como una sola operación. Esto quiere decir que luego de una ejecución en la que se produce una falla es el mismo que se obtendría si el programa no se hubiera ejecutado. Los sistemas de gestión de bases de datos proveen mecanismos para programar las modificaciones de los datos de una forma mucho más simple que si no se dispusiera de ellos. Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el sistema de gestión de bases de datos tarda en darnos la información solicitada y en almacenar los cambios realizados. SISTEMAS DE GESTORES DE BASES DE DATOS
  14. 14. Ventajas. 1. 2. Proveen facilidades para la manipulación de grandes volúmenes de datos. Entre éstas:  Simplifican la programación de equipos de consistencia.  Manejando las políticas de respaldo adecuadas, garantizan que los cambios de la base serán siempre consistentes sin importar si hay errores correctamente, etc.  Organizan los datos con un impacto mínimo en el código de los programas.  Bajan drásticamente los tiempos de desarrollo y aumentan la calidad del sistema desarrollado si son bien explotados por los desarrolladores. Usualmente, proveen interfaces y lenguajes de consulta que simplifican la recuperación de los datos. Desventajas. 1. 2. 3. 4. 5. Típicamente, es necesario disponer de una o más personas que administren la base de datos, en la misma forma en que suele ser necesario en instalaciones de cierto porte disponer de una o más personas que administren los sistemas operativos. Esto puede llegar a incrementar los costos de operación en una empresa. Sin embargo hay que balancear este aspecto con la calidad y confiabilidad del sistema que se obtiene. Si se tienen muy pocos datos que son usados por un único usuario por vez y no hay que realizar consultas complejas sobre los datos, entonces es posible que sea mejor usar una plantilla de cálculo. Complejidad: Los programas (software) muy complejos y las personas que vayan a usarlo deben tener conocimiento de las funcionalidades del mismo para poder aprovecharlo al máximo. Tamaño: la complejidad y la gran cantidad de funciones que tienen hacen que sea un software de gran tamaño, que requiere de gran cantidad de memoria para poder correr. Costo del hardware adicional: los requisitos de hardware para correr un sistema de gestión de bases de datos por lo general son relativamente altos, por lo que estos equipos pueden llegar a costar gran cantidad de dinero. Función de los sistemas de gestión de bases de datos (SDGB). Edgar Frank Codd, el creador del modelo relacional, ha establecido una lista con los ocho servicios que debe ofrecer todo sistema de gestión de base de datos. 1. 2. BLOQUE 1 Debe proporcionar a los usuarios la capacidad de almacenar datos, acceder a ellos y actualizarlos. Esta es la función fundamental de un sistema de gestión de bases de datos y por supuesto ocultar al usuario la estructura física interna (la organización de los ficheros y las estructuras de almacenamiento). Proporciona un catálogo en el que se almacenen las descripciones de los datos y que sea accesible por los usuarios. Este catálogo es lo que se denomina diccionario de datos y contiene información que describe los datos (metadatos). Normalmente, un diccionario de datos almacena:  Nombre, tipo y tamaño de los datos.  Nombre de las relaciones entre los datos.  Restricciones de integridad sobre los datos.  Nombre de los usuarios autorizados a acceder a la base de datos.  Esquemas externos, conceptuales e internos, y correspondencia entre los esquemas.  Estadísticas de utilización, tales como la frecuencia de las transacciones y el número de accesos realizados a los objetos de la base de datos. 15
  15. 15. Beneficios que reporta el diccionario de datos:          La información sobre los datos se puede almacenar de un modo centralizado. Esto ayuda a mantener el control sobre los datos, como un recurso que son. El significado de los datos se puede definir, lo que ayudará a los usuarios a entender el propósito de los mismos. La comunicación se simplifica ya que se almacena el significado exacto. El diccionario de datos también puede identificar al usuario o usuarios que poseen los datos o que los acceden. Las redundancias y las inconsistencias se pueden identificar más fácilmente ya que los datos están centralizados. Se puede tener un historial de los cambios realizados sobre la base de datos. El impacto que puede producir un cambio se puede determinar antes de que sea implementado, ya que el diccionario de datos mantiene información sobre cada tipo de dato, todas sus relaciones y todos sus usuarios. Se puede hacer respetar la seguridad. Se puede garantizar la integridad. Se puede proporcionar información para auditorías. 3. Debe permitir un mecanismo que garantice todas las actualizaciones correspondientes a una determinada transacción se realicen, o que no se realice ninguna. Una transacción es un conjunto de acciones que cambian el contenido de la base de datos. Una transacción en el sistema informático de la empresa inmobiliaria sería dar de alta a un empleado o eliminar un inmueble. Una transacción un poco más complicada sería eliminar un empleado y reasignar sus inmuebles a otro empleado. En este caso hay que realizar varios cambios sobre la base de datos. Si la transacción falla durante su realización, por ejemplo porque falla el hardware, la base de datos quedará en un estado inconsistente. Algunos de los cambios se habrán hecho y otros no, por lo tanto, los cambios realizados deberán ser deshechos para devolver la base de datos a un estado consistente. 4. Un sistema de gestión de base de datos, debe proporcionar un mecanismo que asegure que la base de datos se actualice correctamente cuando varios usuarios la están actualizando concurrentemente. Uno de los principales objetivos de los sistemas de gestión es el permitir que varios usuarios tengan acceso concurrente a los datos que comparten. El acceso concurrente es relativamente fácil de gestionar si todos los usuarios se dedican a leer datos, ya que no pueden interferir unos con otros. Sin embargo, cuando dos o más usuarios están accediendo a la base de datos y al menos uno de ellos está actualizando datos, pueden interferir de modo que se produzcan inconsistencias en la base de datos. el sistema de gestión de bases de datos se debe encargar de que estas interferencias no se produzcan en el acceso simultáneo. 16 SISTEMAS DE GESTORES DE BASES DE DATOS
  16. 16. 5. Proporciona un mecanismo capaz de recuperar la base de datos en caso de que ocurra algún suceso que la dañe. Como se ha comentado antes, cuando el sistema falla en medio de una transacción, la base de datos se debe devolver a un estado consistente. Este fallo puede ser a causa de algún dispositivo hardware o un error del software, que hagan que el sistema de gestión de bases de datos aborte, o puede ser a causa de que el usuario detecte un error durante la transacción y la aborte antes de que finalice. En todos estos casos, el sistema de gestión de bases de datos debe proporcionar un mecanismo capaz de recuperar la base de datos llevándola a un estado consistente. 6. Un sistema de gestión de base de datos, debe proporcionar un mecanismo que garantice que sólo los usuarios autorizados pueden acceder a la base de datos. La protección debe ser contra accesos no autorizados, tanto intencionados como accidentales. 7. Debe ser capaz de integrarse con algún software de comunicación. Muchos usuarios acceden a la base de datos desde terminales. En ocasiones estos terminales se encuentran conectados directamente a la máquina sobre la que funciona el sistema de gestión de bases de datos. En otras ocasiones los terminales están en lugares remotos, por lo que la comunicación con la máquina que alberga al sistema de gestión de bases de datos se debe hacer a través de una red. En cualquiera de los dos casos, el sistema de gestión recibe peticiones en forma de mensajes y responde de modo similar. Todas estas transmisiones de mensajes las maneja el gestor de comunicaciones de datos. 8. Un sistema de gestión de bases de datos debe proporcionar los medios necesarios para garantizar que tanto los datos de la base de datos, como los cambios que se realizan sobre estos datos, sigan ciertas reglas. La integridad de la base de datos requiere la validez y consistencia de los datos almacenados. Se puede considerar como otro modo de proteger la base de datos, pero además de tener que ver con la seguridad, tiene otras implicaciones. La integridad se ocupa de la calidad de los datos. Normalmente se expresa mediante restricciones, que son una serie de reglas que la base de datos no puede violar. Por ejemplo, se puede establecer la restricción de que cada empleado no puede tener asignados más de diez inmuebles. En este caso sería deseable que el sistema de gestión de bases de datos controlara que no se sobrepase este límite cada vez que se asigne un inmueble a un empleado. Además, de estas ocho funciones, es razonable esperar que los sistemas de gestión de bases de datos proporcionen un par de servicios más: 1. Un sistema de gestión de bases de datos debe permitir que se mantenga la independencia entre los programas y la estructura de la base de datos. La independencia de datos se alcanza mediante las vistas o subesquemas. La independencia de datos física es más fácil de alcanzar, de hecho hay varios tipos de cambios que se pueden realizar sobre la estructura física de la base de datos sin afectar a las vistas. Sin embargo, lograr una completa independencia de datos lógica es más difícil. Añadir una nueva entidad, un atributo o una relación puede ser sencillo, pero no es tan sencillo eliminarlos. BLOQUE 1 17
  17. 17. 2. Un sistema de gestión de bases de datos debe proporcionar una serie de herramientas que permitan administrar la base de datos de modo efectivo. Algunas herramientas trabajan a nivel externo, por lo que habrán sido producidas por el administrador de la base de datos. Las herramientas que trabajan a nivel interno deben ser proporcionadas por el distribuidor del sistema de gestión de bases de datos. Algunas de ellas son:  Para importar y exportar datos.  Monitorizar el uso y el funcionamiento de la base de datos.  Programas de análisis estadístico para examinar las prestaciones o las estadísticas de utilización.  Reorganización de índices.  Para aprovechar el espacio dejado en el almacenamiento físico por los registros borrados y que consoliden el espacio liberado para reutilizarlo cuando sea necesario. Actividad: 3 En binas completa, las siguientes tablas y posteriormente participa en un debate grupal. Concepto de Sistema de gestión de base de datos. Escribe aquí el concepto. Abstracción de la información. Objetivos de los sistemas de gestión de base de datos. Descripción de los objetivos. Independencia. Consistencia. Seguridad. Manejo de transacciones. Manejo de transacciones. 18 SISTEMAS DE GESTORES DE BASES DE DATOS
  18. 18. Actividad: 3 (continuación) Completa la siguiente tabla sobre las ventajas y desventajas de un sistema de gestión de bases de datos. Sistemas de gestión de bases de datos Ventajas Actividad: 3 Conceptual Clasifica los objetivos, ventajas y desventajas de un sistema de gestión de bases de datos. Coevaluación BLOQUE 1 Desventajas Evaluación Producto: Tablas. Saberes Procedimental Puntaje: Actitudinal Interpreta los objetivos, las ventajas y desventajas de un sistema de gestión de bases de datos. C MC NC Realiza las actividades del bloque de forma ordenada. Calificación otorgada por el docente 19
  19. 19. Actividad: 4 Elabora un diagrama sobre las funciones de los sistemas de gestión de bases de datos (SDGB), posteriormente coméntalo con tus compañeros. Actividad: 4 Conceptual Identifica las funciones de los sistemas de gestión de bases de datos. Autoevaluación 20 Evaluación Producto: Diagrama. Saberes Procedimental Puntaje: Actitudinal Plasma en un diagrama las funciones de un sistema de gestión de base de datos. C MC NC Muestra una actitud positiva en el desarrollo de la actividad. Calificación otorgada por el docente SISTEMAS DE GESTORES DE BASES DE DATOS
  20. 20. Componentes de un sistema de gestión de bases de datos. Los sistemas de gestión de base de datos son paquetes de programas muy complejos y sofisticados, formado por varios módulos los cuales llevan a cabo una función específica.   El procesador de consultas es el componente principal en la gestión de bases de datos. Transforma las consultas en un conjunto de instrucciones de bajo nivel que se dirigen al gestor de la base de datos. El gestor de la base de datos es la interface con los programas de aplicación y las consultas de los usuarios. Acepta consultas y examina los esquemas externo y conceptual para determinar qué registros se requieren para satisfacer la petición. Entonces el gestor de la base de datos realiza una llamada al gestor de ficheros para ejecutar la petición.     El gestor de ficheros maneja los ficheros en disco en donde se almacena la base de datos. Este gestor establece y mantiene la lista de estructuras e índices definidos en el esquema interno. Si se utilizan ficheros dispersos, llama a la función de dispersión para generar la dirección de los registros. Pero el gestor de ficheros no realiza directamente la entrada y salida de datos. Lo que hace es pasar la petición a los métodos de acceso del sistema operativo que se encargan de leer o escribir los datos en el buffer del sistema. El preprocesador del LMD convierte las sentencias del LMD embebidas en los programas de aplicación, en llamadas a funciones estándar escritas en el lenguaje anfitrión. El preprocesador del LMD debe trabajar con el procesador de consultas para generar el código apropiado. El compilador del LDD (Lenguaje de Definición de Datos) convierte las sentencias del LDD en un conjunto de tablas que contienen metadatos. Estas tablas se almacenan en el diccionario de datos. El gestor del diccionario controla los accesos al diccionario de datos y se encarga de mantenerlo. La mayoría de los componentes del sistema de gestión de bases de datos acceden al diccionario de datos. Principales componentes del gestor de la base de datos:       Control de autorización. Este módulo comprueba que el usuario tiene los permisos necesarios para llevar a cabo la operación que solicita. Procesador de comandos. Una vez que el sistema ha comprobado los permisos del usuario, se pasa el control al procesador de comandos. Control de la integridad. Cuando una operación cambia los datos de la base de datos, este módulo debe comprobar que la operación a realizar satisface todas las restricciones de integridad necesarias. Optimizador de consultas. Este módulo determina la estrategia óptima para la ejecución de las consultas. Gestor de transacciones. Este módulo realiza el procesamiento de las transacciones. Planificador (scheduler). Este módulo es el responsable de asegurar que las operaciones que se realizan concurrentemente sobre la base de datos tienen lugar sin conflictos. BLOQUE 1 LMD: Un lenguaje de manipulación de datos (Data Manipulation Language, o DML en inglés) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado. 21
  21. 21.  Gestor de recuperación. Este módulo garantiza que la base de datos permanece en un estado consistente en caso de que se produzca algún fallo.  Gestor de buffers. Este módulo es el responsable de transferir los datos entre memoria principal y los dispositivos de almacenamiento secundario. A este módulo también se le denomina gestor de datos. Ejemplos de sistemas de gestión de bases de datos.  Libres:       No Libres:           22 PostgreSQL, licencia BSD. Firebrid basada en la versión 6 de Interbase, Initial Developer's PUBLIC LICENSE Version 1.0. SQLite, licencia de dominio público DB2 Express-C. Apache Derby. Licencia Dual, depende el uso (no se sabe hasta cuándo, ya que la compró Oracle). o Sin embargo, existen 2 versiones: una gratuita que sería equivalente a la edición "express" SQL server de Microsoft Windows y otra más completa de pago, ese pago se haría en la licencia de ella ya que permitiría usarse en otras distribuciones sin usar la licencia GNU. Advantage Database DBase FileMaker Fox Pro IBM DB2 Universal Database (DB2 UDB) IBM Informix Interbase de CodeGear, filial de Borland MAGIC Microsoft Access SISTEMAS DE GESTORES DE BASES DE DATOS
  22. 22.              Microsoft SQL Server NexusDB. Open Access. Oracle. Paradox. PervasiveSQL. Progress (DBMS). Sybase ASE. Sybase ASA. Sybase IQ. WindowBase. IBM IMS Base de Datos Jerárquica. CA-IDMS. Actividad: 5 En binas completa las siguientes tablas y posteriormente participa en un debate grupal. 1) En la siguiente tabla, menciona las funciones de los módulos de los sistemas de gestión de bases de datos. Módulos Función Procesador de consultas. Gestor de la base de datos. Gestor de ficheros. Preprocesador del LMD. Compilador del LDD. Gestor del diccionario. BLOQUE 1 23
  23. 23. Actividad: 5 (continuación) 2) En la siguiente tabla, menciona la descripción de los principales componentes de un sistema de gestión de bases de datos. Componentes Descripción Control de autorización. Procesador de Comandos. Control de la integridad. Optimizador de consultas. Gestor de transacciones. Planificador (scheduler). Gestor de recuperación. Gestor de buffers. Actividad: 5 Conceptual Identifica los módulos y componentes de un sistema de gestión de bases de datos. Coevaluación 24 Evaluación Producto: Tablas. Puntaje: Saberes Procedimental Actitudinal Diferencia un módulo de un Participa activamente en el componente de un sistema de debate. gestión de bases de datos. C MC NC Calificación otorgada por el docente SISTEMAS DE GESTORES DE BASES DE DATOS
  24. 24. Cierre Actividad: 6 Desarrolla lo que se te pide y posteriormente participa en un debate grupal. 1) Escribe el concepto de base de datos. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ 2) ¿Qué es un sistema de gestión de bases de datos? _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ 3) Además de las ocho funciones de un sistema de gestión de bases de datos, describe los dos servicios adicionales que proporciona SGBD. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ 4) Menciona tres sistemas de gestión de bases de datos libres, no libres y, no libres y gratuitos. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ Actividad: 6 Conceptual Reconoce el concepto de base de datos y sistemas de gestión de bases de datos. Autoevaluación BLOQUE 1 Evaluación Producto: Cuestionario. Puntaje: Saberes Procedimental Actitudinal Distingue los dos servicios Está atento a la participación de adicionales de un sistema de sus compañeros durante el gestión de bases de datos. debate grupal. C MC NC Calificación otorgada por el docente 25
  25. 25. Secuencia didáctica 2. Estructura y diseño de archivos. Inicio  Actividad: 1 Desarrolla lo que se te pide y posteriormente participa en un debate grupal. 1) Escribe el concepto de una base de datos. __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ 2) En la estructura de una base de datos, ¿Qué es un campo? __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ 3) ¿Define qué es un registro? __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ Actividad: 1 Conceptual Reconoce el concepto de base de datos Autoevaluación 26 Evaluación Producto: Cuestionario. Saberes Procedimental Puntaje: Actitudinal Analiza los conceptos básicos de una base de datos. C MC NC Está atento a la participación de sus compañeros durante el debate grupal. Calificación otorgada por el docente SISTEMAS DE GESTORES DE BASES DE DATOS
  26. 26. Desarrollo Organización básica de un sistema de gestión de archivos. Antes de comenzar a hablar de lo que es un Sistema de Gestión de Archivos sería conveniente aclarar que es un archivo y cuáles son sus utilidades: Cuando hablamos de archivos, habitualmente se utilizan cuatro términos: Campo, Registro, Archivo y Base de datos. Se puede decir que estos términos forman una estructura de datos agrupados y relacionados de alguna manera en particular donde uno contiene al otro y que nos facilitan la manera de almacenarlos y recuperarlos. Un Campo es el elemento de datos básico, como ejemplo: un campo individual contiene un valor único, como el apellido de un empleado, una fecha o un valor leído por un sensor. Lo más importante de un campo es su longitud (que puede ser fija o variable) y el tipo de datos que contenga (ya sea una cadena ASCII o un dígito decimal). Un Registro es un conjunto de campos relacionados que pueden tratarse como una unidad por algunos programas de aplicación. Por ejemplo: un registro de nombre “empleado” contendría campos tales como nombre, DNI, fecha de contratación, etc. Un registro puede ser de longitud variable en el caso de que el número de campos pueda variar, esto dependerá de su diseño. Un Archivo es un conjunto de registros similares. Los usuarios y las aplicaciones se refieren a él por un nombre que es único y que puede crearse y borrarse. Las restricciones al control de acceso suelen aplicarse a los archivos. Es decir en un sistema compartido, el acceso de los usuarios y los programas se garantiza o deniega a archivos completos, en otros casos se aplica a los registros e incluso a los campos. Una Base de datos es un conjunto de datos relacionados. El aspecto fundamental es que está diseñada para ser usada por varias aplicaciones diferentes. Puede contener toda la información relativa a una organización o proyecto.     Un Sistema de Gestión de Archivos es el software del sistema que proporciona servicios a usuarios y aplicaciones para el uso de archivos. Normalmente la única forma en que un usuario o aplicación puede acceder a los archivos es mediante el sistema de gestión de archivos. Los objetivos para un sistema de gestión de archivos son:      BLOQUE 1 Cumplir con las necesidades de gestión de datos y con los requerimientos del usuario. Garantizar que los datos de los archivos sean válidos. Optimizar el rendimiento en términos de productividad y tiempo de respuesta. Ofrecer soporte de E/S para los distintos dispositivos de almacenamiento. Minimizar o eliminar la posibilidad de pérdida o destrucción de datos. 27
  27. 27. Con respecto al primer punto. Para un sistema interactivo, de propósito general, deben cumplirse los siguientes requisitos mínimos: 1. Cada usuario debe ser capaz de crear, borrar, y cambiar los archivos. 2. Puede tener acceso controlado a los archivos de otros usuarios. 3. Puede controlar qué tipos de acceso estarán permitidos a sus archivos. 4. Debe poder reestructurar sus archivos de manera adecuada al problema. 5. Ser capaz de mover datos entre los archivos. 6. Ser capaz de guardar una copia de reserva y recuperar sus archivos en el caso de que hayan sufrido algún daño. 7. Ser capaz de acceder a sus archivos mediante un nombre simbólico. Estos objetivos y requerimientos deben tenerse en cuenta en todo el estudio de los sistemas de gestión de archivos. Las características básicas convenientes para los sistemas que almacenan grandes cantidades de datos son el rápido acceso para la recuperación, la actualización conveniente y la economía de almacenamiento. La capacidad para representar estructuras de información del mundo real, la confiabilidad, la protección de la privacidad y el mantenimiento de la integridad son importantes criterios secundarios. El diseño de bases de datos requiere un análisis para la predicción del desempeño, y esto a su vez requiere que la organización de archivo pueda abastecerse fácilmente. Todos estos criterios tienden a entrar en conflicto entre sí. La elección del método de organización de archivo determina la adecuación relativa de un sistema según estos criterios. Inicialmente se evaluaran los archivos de acuerdo con los criterios básicos. Para el éxito del sistema resultante es vital que las capacidades proporcionadas por el sistema de archivo estén de acuerdo con las prioridades asignadas a los criterios, según lo determines los objetivos para la base de datos. 28 SISTEMAS DE GESTORES DE BASES DE DATOS
  28. 28. Actividad: 2 Completa las siguientes tablas y posteriormente participa en un debate grupal. 1) En la siguiente tabla define cada uno de los conceptos. Definición Campo Registro Archivo Base de datos 2) En la siguiente tabla escribe los requisitos mínimos para un sistema interactivo y de propósito general. Requisitos para un sistema interactivo de propósito general. 1 2 3 4 5 6 7 Actividad: 2 Conceptual Reconoce el concepto de registro, campo, archivo y base de datos. Autoevaluación BLOQUE 1 Evaluación Producto: Cuestionario. Puntaje: Saberes Procedimental Actitudinal Analiza mediante el debate grupal Atiende las indicaciones del los requisitos para un sistema docente para el llenado de las interactivo de propósito general. tablas. C MC NC Calificación otorgada por el docente 29
  29. 29. Estructura del sistema de archivos. El proporcionar una estructura de sistema de archivos común asegura que los usuarios y programas pueden acceder y escribir a los archivos. Los sistemas de archivos dividen en dos categorías lógicas:   Archivos compartibles vs. no compartibles. Archivos variables vs. Estáticos. Los archivos compartibles son aquéllos a los que se puede acceder desde varios hosts; mientras que los archivos no compartibles sólo están disponibles localmente. Los archivos variables, tales como documentos, pueden cambiar en cualquier momento; los archivos estáticos, tales como binarios, no cambian sin una actuación por parte del administrador de sistemas. Organización de los archivos Los archivos se encuentran organizados lógicamente como una secuencia de registros de varias longitudes diferentes.  Los archivos de registros de longitud fija: Son los que almacenan la información en los archivos mediante un encabezado y luego se introducen uno a uno los registros ubicados en posiciones consecutivas.  Los registros de longitud variable: Es el almacenamiento de registros de varios tipos en un archivo y permite uno o más campos de longitudes variables y dichos campos pueden ser repetidos. La longitud de los registros debe estar definida correctamente para poder leer y escribir de forma efectiva. Enfoques generales para la organización de archivos   30 Enfoque de acceso secuencial: Se refiere al procesamiento de los archivos de acuerdo con el orden específico. Ejemplo archivo secuenciales y de texto. Enfoque de acceso Directo Permite recuperar registros individuales sin leer otros registros del archivo, ejemplos archivos indizados (indexados). SISTEMAS DE GESTORES DE BASES DE DATOS
  30. 30. Métodos para la organización de archivos. Pilas. Este método rara vez resulta práctico, pero proporciona una base para la evaluación de métodos más estructurados. Los datos en un apilo se colectan en el orden en que llegan. No se analizan, categorizan o forzan para que coincidan con las definiciones de campo o los tamaños de campo. En el mejor de los casos el orden de los registros puede ser cronológico. Los registros pueden ser de longitud variable y no necesariamente tienen conjuntos semejantes de elementos dato. Sin embargo, es necesario cumplir con algunas restricciones a fin de permitir el procesamiento de los datos para extraer la información. Un registro debe consistir en elementos dato relacionados y cada valor dato debe tener una identificación de sus significado. Esta puede ser un nombre explicito, un código o una posición que indique su tipo de atributo, tal como la altura, peso, matricula, etc. Características: a) Es la forma más fácil de organizar un archivo. Los datos se recogen en el orden en que llegan. b) Su objetivo es simplemente acumular una masa de datos y guardarla. c) Los registros pueden tener campos diferentes o similares en un orden distinto. Cada campo debe ser auto descriptivo, incluyendo tanto un campo de nombre como el valor. La longitud de cada campo debe indicarse implícitamente con delimitadores, explícitamente incluidos como un subcampo más. d) El acceso a los registros se hace por búsquedas exhaustiva y son fáciles de actualizar. Si se quiere encontrar un registro que contiene un campo particular y un valor determinado, es necesario examinar cada registro de la pila hasta encontrar el registro deseado. Si se quieren encontrar todos los registros que contienen un campo particular o que tienen un valor determinado para ese campo, debe buscarse el archivo entero. e) Se aplica cuando los datos se recogen o almacenan antes de procesarlos o cuando no son fáciles de organizar. Esta clase de archivo aprovecha bien el espacio cuando los datos almacenados varían en tamaño y estructura. Fuera de estos usos limitados, este tipo de archivos no se adapta a la mayoría de las aplicaciones. Archivo secuencial. Este método proporciona dos cambios estructurales diferentes en relación con la organización de apilo. La primera mejora es que los registros dato se ordenan en una secuencia específica y la segunda es que los atributos de los datos se clasifican por categorías, de manera que los registros individuales contienen todos los valores de atributos de los datos en el mismo orden y posiblemente en la misma posición. Entonces, los nombres de los atributos de los datos necesitan aparecer solo una vez en la descripción del archivo. En vez de almacena pares de nombre de atributo-valor se asocia a cada nombre un conjunto completo de valores, al que se denomina columna. Ejemplo de archivo secuencial Con el fin de proporcionar una secuencia para los registros, se define una llave para cada uno. Uno o más atributos se volverán los atributos llave para los registros en el archivo. El conjunto de valores para los atributos llave comúnmente identifica el objeto descrito por el registro; es decir, el número de placa de un automóvil o el nombre de una persona. Se espera poder identificar los registros en forma única con base en sus llaves. Entonces, los registros en el archivo se conservan en orden de acuerdo con los atributos llave. Un atributo llave proporcionará la llave primaria de clasificación de alto orden, y si este atributo no identifica en forma única al objeto, entonces pueden especificarse atributos llaves secundarios o inferiores hasta que el orden se determine por completo. BLOQUE 1 31
  31. 31. Los registros son escritos consecutivamente cuando el archivo es creado, por lo tanto, los registros son físicamente almacenados en su orden lógico secuencial y podrán ser accesados consecutivamente cuando el archivo sea usado posteriormente como entrada. En esta técnica de organización de archivos el proceso secuencial y el proceso en serie son expresiones sinónimas ya que los registros se alojan en el archivo en secuencia y en serie. La característica más importante de este tipo de archivos es que solo permite el acceso secuencial. Esta característica impide que el archivo secuencial sea usado en procesos en línea o interactivos debido a que no se puede accesar rápidamente a un registro, restringiéndose su aplicación a los procesos en lote, donde se aprovecha la habilidad de la técnica secuencial de organización de archivos para accesar al siguiente registró rápidamente. Es la forma básica de organizar un conjunto de registros, que forman un archivo, utilizando una organización secuencial. En un archivo organizado secuencialmente, lo registros quedan grabados consecutivamente cuando el archivo se utiliza como entrada. En la mayoría de los casos, los registros de un archivo secuencial quedan ordenados de acuerdo con el valor de algún campo de cada registro. Semejante archivo se dice que es un archivo ordenado; el campo, o los campos, cuyo valor se utiliza para determinar el ordenamiento es conocido como la llave del ordenamiento. Un archivo puede ordenarse ascendente o descendentemente con base en su llave de ordenamiento. Características: a) Es la forma más común de estructura de archivos. b) Se emplea un formato fijo para los registros, son de la misma longitud y constan del mismo número de campos de tamaño fijo con un orden determinado. c) Se necesita almacenar los valores de cada campo; el nombre del campo y la longitud de cada uno son atributos de la estructura del archivo. Cada registro tiene un campo clave que lo identifica (generalmente es el primero de cada registro). Los registros se almacenan en secuencia por la clave. d) Se utilizan normalmente en aplicaciones de procesos por lotes, ya que es la única organización de archivos que se puede guardar tanto en cintas como en discos. e) Para las aplicaciones interactivas que incluyen peticiones o actualizaciones de registros individuales, los archivos secuenciales no son óptimos. El acceso requiere una búsqueda secuencial de correspondencias con la clave. Si el archivo entero o gran parte de él pueden traerse a la memoria principal de una sola vez, se podrán aplicar técnicas de búsquedas más eficientes. Al acceder un registro de un archivo secuencial grande, se produce un procesamiento extra y un retardo considerable. f) La organización física del archivo en una cinta o disco se corresponde exactamente con la organización lógica del archivo, por lo tanto el procedimiento habitual es ubicar los nuevos registros en un archivo de pila separado, es llamado archivo de registro o archivo de transacciones. g) Una alternativa es organizar físicamente el archivo secuencial como una lista enlazada, en cada bloque físico se almacena uno o más registros y cada bloque del disco contiene un puntero al bloque siguiente. La inserción de un nuevo registro implica la manipulación de puntero, pero no requiere que el nuevo registro ocupe una posición particular del bloque físico. 32 SISTEMAS DE GESTORES DE BASES DE DATOS
  32. 32. Archivo secuencial indizado (indexado). El diseño de archivo secuencial indizado intenta superar el problema de acceso inherente a la organización de archivo secuencial, sin perder todos los beneficios de los archivos secuenciales. Para obtener este tercer tipo de organización de archivos se agregan dos características a la organización de archivo secuencial. Una característica adicional es un índice de archivo para proporcionar mejor acceso aleatorio; la otra es un área de derrama que proporciona un medio de manejar adiciones al archivo. Características: a) Los registros se organizan en una secuencia basada en un campo clave presentando dos características, un índice del archivo para soportar los accesos aleatorios y un archivo de desbordamiento. El índice proporciona una capacidad de búsqueda para llagar rápidamente al registro deseado y el archivo de desbordamiento es similar al archivo de registros usado en un archivo secuencial, pero está integrado de forma que los archivos de desbordamiento se ubiquen siguiendo un puntero desde su registro predecesor. b) La estructura más simple tiene como índice un archivo secuencial simple, cada registro del archivo índice tiene dos campos, un campo clave igual al del archivo principal y un puntero al archivo principal. Para encontrar un campo especifico se busca en el índice hasta encontrar el valor mayor de la clave que es iguale o precede al valor deseado de la clave, la búsqueda continua en el archivo principal a partir de la posición que indique el puntero. c) Cada registro del archivo principal tiene un campo adicional que es un puntero al archivo de desbordamiento. Cuando se inserta un nuevo registro al archivo, también se añade al archivo de desbordamiento. El registro del archivo principal que precede inmediatamente al nuevo registro según la secuencia lógica se actualiza con un puntero del registro nuevo en el archivo de desbordamiento, si el registro inmediatamente anterior está también en el archivo de desbordamiento se actualizará el puntero en el registro. d) Para procesar secuencialmente un archivo completo, los registros del archivo principal se procesarán en secuencia hasta encontrar un puntero al archivo de desbordamiento, el acceso continúa en el archivo de desbordamiento hasta que encuentra un puntero nulo, entonces renueva el acceso donde se abandonó en el archivo principal. BLOQUE 1 33
  33. 33. Archivo indizado (indexado). Es la aplicación de incluir índices en el almacenamiento de los archivos; de esta forma nos será más fácil buscar algún registro sin necesidad de ver todo el archivo. Un índice en un archivo consiste en un listado de los valores del campo clave que ocurren en el archivo, junto con la posición de registro correspondiente en el almacenamiento masivo. Características: a) Explotan la capacidad de los discos para acceder directamente a cualquier bloque de dirección conocida. b) Se requiere un campo clave en cada registro. c) Los archivos directos son muy usados donde se necesita un acceso muy rápido, donde se usan registros de longitud fija y donde siempre se accede a los registros de una vez. Fundamentos de archivos indizados (indexados).     La colocación de un listado al inicio del archivo: para la identificación del contenido. La presentación de un segundo índice: para reflejar la información de cada punto principal del índice anterior. La actualización de los índices: Cuando se insertan y eliminan archivos, es preciso actualizar los índices para evitar contratiempos actualizando un archivo. La organización de un índice: Nos evita examinar archivo por archivo para recuperar algún registro buscado; por lo tanto ahorraríamos tiempo si tenemos una adecuado organización de los índices. Algunos lenguajes de alto nivel cuentan con subtítulos para manipular los archivos de un registro indizado. Valiéndose de las subrutinas es posible escribir programas sin tener que preocuparse por la estructura real del sistema de índices que se aplique. Archivos directos o de dispersión.    34 Explotan la capacidad de los discos para acceder directamente a cualquier bloque de dirección conocida. Se requiere un campo clave en cada registro. Los archivos directos son muy usados donde se necesita un acceso muy rápido, donde se usan registros de longitud fija y donde siempre se accede a los registros de una vez. SISTEMAS DE GESTORES DE BASES DE DATOS
  34. 34. Actividad: 3 En binas desarrolla lo que a continuación se te solicita y participa en un debate grupal. 1) Completa la siguiente tabla, sobre los métodos para la organización de archivos. Descripción Características Pilas Secuenciales Secuenciales indizados (indexados) Evaluación Actividad: x Producto: Conceptual Indizados (indexados) Autoevaluación Puntaje: Saberes Procedimental C MC NC Actitudinal Calificación otorgada por el docente Directos o de dispersión. Actividad: 3 Conceptual Identifica los métodos para la organización de archivos. Coevaluación BLOQUE 1 Evaluación Producto: Tablas. Saberes Procedimental Puntaje: Analiza los diferentes métodos para la organización de archivos. C MC NC Actitudinal Muestra interés en la realización de la actividad y respeto a sus compañeros durante el debate grupal. Calificación otorgada por el docente 35
  35. 35. Cierre Actividad: 4 Desarrolla lo que se te solicita y posteriormente participa en un debate grupal. 1) Menciona dos categorías lógicas en las cuales se dividen los sistemas de archivos. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ 2) Escribe la descripción de los archivos de longitud fija. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ 3) ¿Qué son los archivos de longitud variable? _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ 4) ¿A qué se refiere el enfoque secuencial? _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ 5) ¿Cuál es la ventaja del enfoque directo a un archivo? _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ Actividad: 4 Conceptual Identifica los conceptos básicos de los sistemas de archivos. Autoevaluación 36 Evaluación Producto: Cuestionario. Saberes Procedimental Puntaje: Actitudinal Contrasta el acceso a un archivo mediante el enfoque secuencial con el enfoque directo. C MC NC Atiende las indicaciones del docente, al realizar la actividad. Calificación otorgada por el docente SISTEMAS DE GESTORES DE BASES DE DATOS
  36. 36. Secuencia didáctica 3. Estructura y diseño de bases de datos. Inicio  Actividad: 1 Desarrolla lo que se te solicita y posteriormente participa en un debate grupal. 1) Menciona cinco campos, que se utilizan durante la inscripción de los alumnos del Cobach. A. ____________________________ B. ____________________________ C. ____________________________ D. ____________________________ E. ____________________________ 2) Elabora la estructura de la siguiente base de datos “Control de Alumnos de una Escuela”. Utiliza los campos descritos en el punto anterior. Agrega cinco registros. Actividad: 1 Conceptual Reconoce la estructura de una base de datos. Autoevaluación BLOQUE 1 Evaluación Producto: Ejercicio. Saberes Procedimental Puntaje: Actitudinal Identifica los componentes de una base de datos en la práctica. C MC NC Atiende las indicaciones del docente, al realizar la actividad. Calificación otorgada por el docente 37
  37. 37. Desarrollo Introducción a los sistemas de base de datos. Un sistema de base de datos es la combinación de programas y archivos, que se utilizan conjuntamente. Estructura de una base de datos. La estructura de una base de datos hace referencia a los tipos de datos, los vínculos o relaciones y las restricciones que deben cumplir esos datos (integridad de datos y redundancia de datos). Un ejemplo a modo de descripción de la estructura de una base de datos puede ser:   38 ALUMNO: Número de alumno (entero de 6 números), nombre (cadena de 30 caracteres), apellido (cadena de 30 caracteres), año de nacimiento (entero de 4 números), especialidad (entero de 3 números). ESPECIALIDAD: Número de especialidad (entero de 3 números), nombre de especialidad (cadena de 30 caracteres). SISTEMAS DE GESTORES DE BASES DE DATOS
  38. 38. Diseño de una base de datos. El diseño incluye diferentes modelos y esquemas, como también software de gestión de la misma (sistemas de gestión de bases de datos). El diseñador de bases de datos, es la persona que se encarga de identificar los datos que se almacenarán en la base de datos y elegir las estructuras apropiadas para la misma. Esta tarea suele realizarse antes de que se implemente y se llene de datos la base de datos, aunque muchas veces un diseñador debe trabajar sobre la misma cuando ya está en funcionamiento. El o los diseñadores de bases de datos se encargan de determinar los requerimientos de los usuarios que usarán la base de datos. Actividades del diseño.  Diseño conceptual de bases de datos: Conjunto de actividades que resultan en un esquema conceptual de alto nivel de una base de datos, independiente del software gestor(sistemas de gestión de bases de datos), partiendo de especificaciones de requerimientos.  Diseño lógicos de bases de datos: Parte del esquema conceptual de una base de datos, resultando en un esquema lógico el cual es una descripción de la estructura que puede procesar un sistema de gestión.  Diseño físico de bases de datos: Es una descripción de la implementación de una base de datos en memoria secundaria, describiendo las estructuras de almacenamiento y los métodos de acceso a esos datos. BLOQUE 1 39
  39. 39. Actividad: 2 En equipo de cinco integrantes, realiza la siguiente práctica y posteriormente lleva a cabo una exposición sobre los resultados obtenidos. Práctica: Dentro de un contexto escolar, para llevar a cabo el control de los alumno, establece los datos necesarios que se deben almacenar en su base de datos. Es importante que comentes con tus compañeros de equipo, que campos vas a utilizar y a continuación elabora un diagrama del diseño de la base de datos, con tres registros, con sus campos debidamente capturados (Pueden ser datos ficticios). Actividad: 2 Conceptual Organiza la información utilizando una base de datos. Coevaluación 40 Evaluación Producto: Práctica. Saberes Procedimental Puntaje: Diseña una base de datos en un contexto escolar. C MC NC Actitudinal Comparte su opinión con sus compañeros de equipo con respecto a la información que se utilizara en la base de datos. Calificación otorgada por el docente SISTEMAS DE GESTORES DE BASES DE DATOS
  40. 40. Arquitectura de los sistemas de gestión de bases de datos. Hay tres características importantes inherentes a los sistemas de bases de datos: la separación entre los programas de aplicación y los datos, el manejo de múltiples vistas por parte de los usuarios y el uso de un catálogo para almacenar el esquema de la base de datos. En 1975, el comité ANSISPARC (American National Standard Institute - Standards Planning and Requirements Committee) propuso una arquitectura de tres niveles para los sistemas de bases de datos, que resulta muy útil a la hora de conseguir estas tres características. El objetivo de la arquitectura de tres niveles es el de separar los programas de aplicación de la base de datos física. En esta arquitectura, el esquema de una base de datos define tres niveles de abstracción distintos: 1) En el nivel interno se describe la estructura física de la base de datos mediante un esquema interno. Este esquema se especifica mediante un modelo físico y describe todos los detalles para el almacenamiento de la base de datos, así como los métodos de acceso. 2) En el nivel conceptual se describe la estructura de toda la base de datos para una comunidad de usuarios (todos los de una empresa u organización), mediante un esquema conceptual. Este esquema oculta los detalles de las estructuras de almacenamiento y se concentra en describir entidades, atributos, relaciones, operaciones de los usuarios y restricciones. En este nivel se puede utilizar un modelo conceptual o un modelo lógico para especificar el esquema. 3) En el nivel externo se describen varios esquemas externos o vistas de usuario. Cada esquema externo describe la parte de la base de datos que interesa a un grupo de usuarios determinados y ocultos a ese grupo el resto de la base de datos. En este nivel se puede utilizar un modelo conceptual o un modelo lógico para especificar los esquemas. Hay que destacar que los tres esquemas no son más que descripciones de los mismos datos pero con distintos niveles de abstracción. Los únicos datos que existen realmente están a nivel físico, almacenados en un dispositivo como puede ser un disco. En un sistema de gestión de bases de datos, basado en la arquitectura de tres niveles, cada grupo de usuarios hace referencia exclusivamente a su propio esquema externo. Por lo tanto, el sistema de gestión de bases de datos debe transformar cualquier petición expresada en términos de un esquema externo a una petición expresada en términos del esquema conceptual, y luego, a una petición en el esquema interno, que se procesará sobre la base de datos almacenada. Si la petición es de una obtención (consulta) de datos, será preciso modificar el formato de la información extraída de la base de datos almacenada, para que coincida con la vista externa del usuario. El proceso de transformar peticiones y resultados de un nivel a otro se denomina correspondencia o transformación. Estas correspondencias pueden requerir bastante tiempo, por lo que algunos sistemas de gestión de bases de datos no cuentan con vistas externas. La arquitectura de tres niveles es útil para explicar el concepto de independencia de datos que podemos definir como la capacidad para modificar el esquema en un nivel del sistema sin tener que modificar el esquema del nivel inmediato superior. Se pueden definir dos tipos de independencia de datos: BLOQUE 1 41
  41. 41.  La independencia lógica es la capacidad de modificar el esquema conceptual sin tener que alterar los esquemas externos ni los programas de aplicación. Se puede modificar el esquema conceptual para ampliar la base de datos o para reducirla. Si, por ejemplo, se reduce la base de datos eliminando una entidad, los esquemas externos que no se refieran a ella no deberán verse afectados.  La independencia física es la capacidad de modificar el esquema interno sin tener que alterar el esquema conceptual (o los externos). Por ejemplo, puede ser necesario reorganizar ciertos ficheros físicos con el fin de mejorar el rendimiento de las operaciones de consulta o de actualización de datos. Dado que la independencia física se refiere sólo a la separación entre las aplicaciones y las estructuras físicas de almacenamiento, es más fácil de conseguir que la independencia lógica. En los sistemas de gestión de bases de datos que tienen la arquitectura de varios niveles es necesario ampliar el catálogo o diccionario, de modo que incluya información sobre cómo establecer la correspondencia entre las peticiones de los usuarios y los datos, entre los diversos niveles. El sistema de gestión de bases de datos utiliza una serie de procedimientos adicionales para realizar estas correspondencias haciendo referencia a la información de correspondencia que se encuentra en el catálogo. La independencia de datos se consigue porque al modificarse el esquema en algún nivel, el esquema del nivel inmediato superior permanece sin cambios, sólo se modifica la correspondencia entre los dos niveles. No es preciso modificar los programas de aplicación que hacen referencia al esquema del nivel superior. Por lo tanto, la arquitectura de tres niveles puede facilitar la obtención de la verdadera independencia de datos, tanto física como lógica. Sin embargo, los dos niveles de correspondencia implican un gasto extra durante la ejecución de una consulta o de un programa, lo cual reduce la eficiencia del sistema de gestión de bases de datos. Es por esto que muy pocos sistemas de gestión de bases de datos han implementado esta arquitectura completa. Lenguajes de los sistemas de gestión de bases de datos. Los sistemas de gestión de bases de datos deben ofrecer lenguajes e interfaces apropiadas para cada tipo de usuario: administradores de la base de datos, diseñadores, programadores de aplicaciones y usuarios finales. 42 SISTEMAS DE GESTORES DE BASES DE DATOS
  42. 42. Lenguajes de definición de datos. Una vez finalizado el diseño de una base de datos y escogido un sistema de gestión de bases de datos para su implementación, el primer paso consiste en especificar el esquema conceptual y el esquema interno de la base de datos, y la correspondencia entre ambos. En muchos sistemas de gestión de bases de datos no se mantiene una separación estricta de niveles, por lo que el administrador de la base de datos y los diseñadores utilizan el mismo lenguaje para definir ambos esquemas, es el lenguaje de definición de datos (LDD). El sistema de gestión de bases de datos posee un compilador de LDD cuya función consiste en procesar las sentencias del lenguaje para identificar las descripciones de los distintos elementos de los esquemas y almacenar la descripción del esquema en el catálogo o diccionario de datos. Se dice que el diccionario contiene metadatos: describe los objetos de la base de datos. Cuando en un sistema de gestión de bases de datos hay una clara separación entre los niveles conceptual e interno, el LDD sólo sirve para especificar el esquema conceptual. Para especificar el esquema interno se utiliza un lenguaje de definición de almacenamiento (LDA). Las correspondencias entre ambos esquemas se pueden especificar en cualquiera de los dos lenguajes. Para tener una verdadera arquitectura de tres niveles sería necesario disponer de un tercer lenguaje, el lenguaje de definición de vistas (LDV), que se utilizaría para especificar las vistas de los usuarios y su correspondencia con el esquema conceptual. Lenguajes de manejo de datos. Una vez creados los esquemas de la base de datos, los usuarios necesitan un lenguaje que les permita manipular los datos de la base de datos: realizar consultas, inserciones, eliminaciones y modificaciones. Este lenguaje es el que se denomina lenguaje de manejo de datos (LMD). Hay dos tipos de LMD: los procedurales y los no procedurales. Con un LMD procedural el usuario (normalmente será un programador) especifica qué datos se necesitan y cómo hay que obtenerlos. Esto quiere decir que el usuario debe especificar todas las operaciones de acceso a datos llamando a los procedimientos necesarios para obtener la información requerida. Estos lenguajes acceden a un registro, lo procesan y basándose en los resultados obtenidos, acceden a otro registro, que también deben procesar. Así se va accediendo a registros y se van procesando hasta que se obtienen los datos deseados. Las sentencias de un LMD procedural deben estar embebidas en un lenguaje de alto nivel, ya que se necesitan sus estructuras (bucles, condicionales, etc.) para obtener y procesar cada registro individual. A este lenguaje se le denomina lenguaje anfitrión. Las bases de datos jerárquicas y de red utilizan LMD procedurales. BLOQUE 1 43

×