COLEGIO DE BACHILLERES DEL ESTADO DE SONORA Director General Mtro. Julio Alfonso Martínez Romero Director Académico Mtro. Víctor Manuel Gámez Blanco Director de Administración y Finanzas C.P. Jesús Urbano Limón Tapia Director de Planeación Mtro. Pedro Hernández Peña
GESTORES DE BASE DE DATOS Módulo de Aprendizaje. Copyright ©, 2011 por Colegio de Bachilleres del Estado de Sonora todos los derechos reservados. Primera edición 2011. 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: Mtro. Víctor Manuel Gámez Blanco
Esta publicación se terminó de imprimir durante el mes de junio de 2011. 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,274 ejemplares.
2
PRELIMINARES
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
4
PRELIMINARES
Í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
Í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
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
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.
8
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.
Secuencia didáctica 3.
Estructuras y diseño de bases de datos.
Programación básica en SQL.
PRELIMINARES
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Un LMD no procedural se puede utilizar de manera independiente para especificar operaciones complejas sobre la base de datos de forma concisa. En muchos sistemas de gestión de bases de datos se pueden introducir interactivamente instrucciones del LMD desde un terminal o bien embeberlas en un lenguaje de programación de alto nivel. Los LMD no procedurales permiten especificar los datos a obtener en una consulta o los datos que se deben actualizar, mediante una sola y sencilla sentencia. El usuario o programador especifica qué datos quiere obtener sin decir cómo se debe acceder a ellos. El sistema de gestión de bases de datos traduce las sentencias del LMD en uno o varios procedimientos que manipulan los conjuntos de registros necesarios. Esto libera al usuario de tener que conocer cuál es la estructura física de los datos y qué algoritmos se deben utilizar para acceder a ellos. A los LMD no procedurales también se les denomina declarativos. Las bases de datos relacionales utilizan LMD no procedurales, como SQL (Structured Query Language) o QBE (Query-By-Example). Los lenguajes no procedurales son más fáciles de aprender y de usar que los procedurales, y el usuario debe realizar menos trabajo, siendo el sistema de gestión de bases de datos quien hace la mayor parte. La parte de los LMD no procedurales que realiza la obtención de datos es lo que se denomina un lenguaje de consultas. En general, las órdenes tanto de obtención como de actualización de datos de un LMD no procedural se pueden utilizar interactivamente, por lo que al conjunto completo de sentencias del LMD se le denomina lenguaje de consultas, aunque es técnicamente incorrecto.
Lenguajes de cuarta generación. No existe consenso sobre lo que es un lenguaje de cuarta generación (4GL). Lo que en un lenguaje de tercera generación (3GL) como COBOL requiere cientos de líneas de código, tan solo necesita diez o veinte líneas en un 4GL. Comparado con un 3GL, que es procedural, un 4GL es un lenguaje no procedural: el usuario define qué se debe hacer, no cómo debe hacerse. Los 4GL se apoyan en unas herramientas de mucho más alto nivel denominadas herramientas de cuarta generación. El usuario no debe definir los pasos a seguir en un programa para realizar una determinada tarea, tan sólo debe definir una serie de parámetros que estas herramientas utilizarán para generar un programa de aplicación. Se dice que los 4GL pueden mejorar la productividad de los programadores en un factor de 10, aunque se limita el tipo de problemas que pueden resolver. Los 4GL abarcan:
Lenguajes de presentación, como lenguajes de consultas y generadores de informes. Lenguajes especializados, como hojas de cálculo y lenguajes de bases de datos. Generadores de aplicaciones que definen, insertan, actualizan y obtienen datos de la base de datos. Lenguajes de muy alto nivel que se utilizan para generar el código de la aplicación.
Los lenguajes SQL y QBE son ejemplos de 4GL. Hay otros tipos de 4GL:
44
Un generador de formularios es una herramienta interactiva que permite crear rápidamente formularios de pantalla para introducir o visualizar datos. Los generadores de formularios permiten que el usuario defina el aspecto de la pantalla, qué información se debe visualizar y en qué lugar de la pantalla debe visualizarse. Algunos generadores de formularios permiten la creación de atributos derivados utilizando operadores aritméticos y también permiten especificar controles para la validación de los datos de entrada. Un generador de informes es una herramienta para crear informes a partir de los datos almacenados en la base de datos. Se parece a un lenguaje de consultas en que permite al usuario hacer preguntas sobre la base de datos y obtener información de ella para un informe. Sin embargo, en el generador de informes se tiene un mayor control sobre el aspecto de la salida. Se puede dejar que el generador determine automáticamente el aspecto de la salida o se puede diseñar ésta para que tenga el aspecto que desee el usuario final.
SISTEMAS DE GESTORES DE BASES DE DATOS
Un generador de gráficos es una herramienta para obtener datos de la base de datos y visualizarlos en un gráfico mostrando tendencias y relaciones entre datos. Normalmente se pueden diseñar distintos tipos de gráficos: barras, líneas, etc. Un generador de aplicaciones es una herramienta para crear programas que hagan de interface entre el usuario y la base de datos. El uso de un generador de aplicaciones puede reducir el tiempo que se necesita para diseñar un programa de aplicación. Los generadores de aplicaciones constan de procedimientos que realizan las funciones fundamentales que se utilizan en la mayoría de los programas. Estos procedimientos están escritos en un lenguaje de programación de alto nivel y forman una librería de funciones entre las que escoger. El usuario especifica qué debe hacer el programa y el generador de aplicaciones es quien determina cómo realizar la tarea.
Actividad: 3 En binas, completa las siguientes tablas y participa en un debate grupal. 1) Con respecto a la arquitectura de una base de datos, completa la siguiente tabla en la cual, define en tres niveles de abstracción, en la arquitectura de los sistemas de bases de datos. Arquitectura de tres niveles para los sistemas de bases de datos. Nivel interno Definición:
BLOQUE 1
Nivel conceptual Definición:
Nivel externo Definición:
45
Actividad: 3 (continuación) 2)
La independencia de datos se definir como la capacidad para modificar el esquema en un nivel del sistema, sin tener que modificar el esquema del nivel inmediato superior. En la siguiente tabla escribe la definición de los dos tipos de independencia de datos: Tipos de independencia de datos
Actividad: 3 Conceptual Reconoce los niveles de abstracción en las bases de datos, así como los tipos de independencia de datos. Coevaluación
46
Evaluación Producto: Tabla. Saberes Procedimental
Puntaje: Actitudinal
Analiza los niveles de abstracción de bases de datos y los tipos de independencia de datos. C
MC
NC
Muestra una actitud positiva durante el desarrollo de la actividad.
Calificación otorgada por el docente
SISTEMAS DE GESTORES DE BASES DE DATOS
Esquemas de una base de datos.
Esquema conceptual de alto nivel de una base de datos: El diseño conceptual parte de las especificaciones de requisitos de usuario y su resultado es el esquema conceptual de la base de datos. Un esquema conceptual es una descripción de alto nivel de la estructura de la base de datos, independientemente del sistema de gestión de bases de datos que se vaya a utilizar para manipularla. Un modelo conceptual es un lenguaje que se utiliza para describir esquemas conceptuales. El objetivo del diseño conceptual es describir el contenido de información de la base de datos y no las estructuras de almacenamiento que se necesitarán para manejar esta información. Esquema lógico de la base de datos: El diseño lógico parte del esquema conceptual y da como resultado un esquema lógico. Un esquema lógico es una descripción de la estructura de la base de datos en términos de las estructuras de datos que puede procesar un tipo de sistemas de gestión de bases de datos. Un modelo lógico es un lenguaje usado para especificar esquemas lógicos (modelo relacional, modelo de red, etc.). El diseño lógico depende del tipo de sistemas de gestión de bases de datos que se vaya a utilizar, no depende del producto concreto. Esquema físico de la base de datos: El diseño físico parte del esquema lógico y da como resultado un esquema físico. Un esquema físico es una descripción de la implementación de una base de datos en memoria secundaria: las estructuras de almacenamiento y los métodos utilizados para tener un acceso eficiente a los datos. Por ello, el diseño físico depende del sistema de gestión de bases de datos concretos y el esquema físico se expresa mediante su lenguaje de definición de datos.
Modelos de datos. Un modelo de datos es una serie de conceptos que puede utilizarse para describir un conjunto de datos y las operaciones para manipularlos. Hay dos tipos de modelos de datos: los conceptuales y los lógicos. Los modelos conceptuales se utilizan para representar la realidad a un alto nivel de abstracción. Se puede construir una descripción de la realidad fácil de entender. En los modelos lógicos, las descripciones de los datos tienen una correspondencia sencilla con la estructura física de la base de datos. En el diseño de bases de datos se usan primero los modelos conceptuales para lograr una descripción de alto nivel de la realidad, y luego se transforma el esquema conceptual en un
BLOQUE 1
47
esquema lógico. El motivo de realizar estas dos etapas es la dificultad de abstraer la estructura de una base de datos que presente cierta complejidad. Un esquema es un conjunto de representaciones lingüísticas o gráficas que describen la estructura de los datos de interés. Los modelos conceptuales deben ser buenas herramientas para representar la realidad, por lo que deben poseer las siguientes cualidades: 1) 2) 3) 4)
Expresividad: deben tener suficientes conceptos para expresar perfectamente la realidad. Simplicidad: deben ser simples para que los esquemas sean fáciles de entender. Minimalidad: cada concepto debe tener un significado distinto. Formalidad: todos los conceptos deben tener una interpretación única, precisa y bien definida.
En general, un modelo no es capaz de expresar todas las propiedades de una realidad determinada, por lo que hay que añadir aserciones que complementen el esquema.
Modelo Entidad-Relación. El modelo entidad-relación es el modelo conceptual más utilizado para el diseño conceptual de bases de datos. Fue introducido por Peter Chen en 1976. Está formado por un conjunto de conceptos que permiten describir la realidad mediante un conjunto de representaciones gráficas y lingüísticas. Originalmente, el modelo entidad-relación sólo incluía los conceptos de entidad, relación y atributo. Más tarde, se añadieron otros conceptos, como los atributos compuestos y las jerarquías de generalización, en lo que se ha denominado modelo entidad-relación extendido. Entidad Cualquier tipo de objeto o concepto sobre el que se recoge información: cosa, persona, concepto abstracto o suceso. Por ejemplo: coches, casas, empleados, clientes, empresas, oficios, diseños de productos, conciertos, excursiones, etc. Las entidades se representan gráficamente mediante rectángulos y su nombre aparece en el interior. Un nombre de entidad sólo puede aparecer una vez en el esquema conceptual. Hay dos tipos de entidades: fuertes y débiles. Una entidad débil es una entidad cuya existencia depende de la existencia de otra entidad. Una entidad fuertes es una entidad en la cual su existencia no depende de la existencia de otra entidad. Relación (interrelación) Es una correspondencia o asociación entre dos o más entidades. Cada relación tiene un nombre que describe su función. Las relaciones se representan gráficamente mediante rombos y su nombre aparece en el interior. Las entidades que están involucradas en una determinada relación se denominan entidades participantes. El número de participantes en una relación es lo que se denomina grado de la relación. Por lo tanto, una relación en la que participan dos entidades es una relación binaria; si son tres las entidades participantes, la relación es ternaria; etc. Una relación recursiva es una relación donde la misma entidad participa más de una vez en la relación con distintos papeles. El nombre de estos papeles es importante para determinar la función de cada participación.
48
SISTEMAS DE GESTORES DE BASES DE DATOS
La cardinalidad con la que una entidad participa en una relación especifica el número mínimo y el número máximo de correspondencias en las que puede tomar parte cada ocurrencia de dicha entidad. La participación de una entidad en una relación es obligatoria (total) si la existencia de cada una de sus ocurrencias requiere la existencia de, al menos, una ocurrencia de la otra entidad participante. Si no, la participación es opcional (parcial). Las reglas que definen la cardinalidad de las relaciones son las reglas de negocio. ´
´
A veces, surgen problemas cuando se está diseñado un esquema conceptual. Estos problemas, denominados trampas, suelen producirse a causa de una mala interpretación en el significado de alguna relación, por lo que es importante comprobar que el esquema conceptual carece de dichas trampas. En general, para encontrar las trampas, hay que asegurarse de que se entiende completamente el significado de cada relación. Si no se entienden las relaciones, se puede crear un esquema que no represente fielmente la realidad. Una de las trampas que pueden encontrarse ocurre cuando el esquema representa una relación entre entidades, pero el camino entre algunas de sus ocurrencias es ambiguo. El modo de resolverla es reestructurando el esquema para representar la asociación entre las entidades correctamente. Otra de las trampas sucede cuando un esquema sugiere la existencia de una relación entre entidades, pero el camino entre una y otra no existe para algunas de sus ocurrencias. En este caso, se produce una pérdida de ´ información que se puede subsanar introduciendo la relación que sugería el esquema y que no estaba ´ representada. Atributos Es una característica de interés o un hecho sobre una entidad o sobre una relación. Los atributos representan las propiedades básicas de las entidades y de las relaciones. Toda la información extensiva es portada por los atributos. Gráficamente, se representan mediante bolitas que cuelgan de las entidades o relaciones a las que pertenecen. Cada atributo tiene un conjunto de valores asociados denominado dominio. El dominio define todos los valores posibles que puede tomar un atributo. Puede haber varios atributos definidos sobre un mismo dominio. Los atributos pueden ser simples o compuestos. Un atributo simple es un atributo que tiene un solo componente, que no se puede dividir en partes más pequeñas que tengan un significado propio. Un atributo compuesto es un atributo con varios componentes, cada uno con un significado por sí mismo. Un grupo de atributos se representa mediante un atributo compuesto cuando tienen afinidad en cuanto a su significado, o en cuanto a su uso. Un atributo compuesto se representa gráficamente mediante un óvalo.
BLOQUE 1
49
Los atributos también pueden clasificarse en monovalentes o polivalentes. Un atributo monovalente es aquel que tiene un solo valor para cada ocurrencia de la entidad o relación a la que pertenece. Un atributo polivalente es aquel que tiene varios valores para cada ocurrencia de la entidad o relación a la que pertenece. A estos atributos también se les denomina multivaluados, y pueden tener un número máximo y un número mínimo de valores. La cardinalidad de un atributo indica el número mínimo y el número máximo de valores que puede tomar para cada ocurrencia de la entidad o relación a la que pertenece. El valor por omisión es. Por último, los atributos pueden ser derivados. Un atributo derivado es aquel que representa un valor que se puede obtener a partir del valor de uno o varios atributos, que no necesariamente deben pertenecer a la misma entidad o relación. Identificador Un identificador de una entidad es un atributo o conjunto de atributos que determina de modo único cada ocurrencia de esa entidad. Un identificador de una entidad debe cumplir dos condiciones: 1) 2)
No pueden existir dos ocurrencias de la entidad con el mismo valor del identificador. Si se omite cualquier atributo del identificador, la condición anterior deja de cumplirse.
Toda entidad tiene al menos un identificador y puede tener varios identificadores alternativos. Las relaciones no tienen identificadores.
Actividad: 4 Elabora un diagrama, sobre los modelos para la manipulación de una base de datos.
50
SISTEMAS DE GESTORES DE BASES DE DATOS
Actividad: 4 (continuación)
Actividad: 4 Conceptual Identifica los modelos para la manipulación de las bases de datos. Autoevaluación
BLOQUE 1
Evaluación Producto: Diagrama. Saberes Procedimental
Puntaje: Actitudinal
Diagrama los modelos para la manipulación de una base de datos. C
MC
NC
Cumple con el desarrollo de la actividad, en el plazo de tiempo establecido.
Calificación otorgada por el docente
51
Clasificación de los sistemas de gestión de bases de datos. El primer criterio que se utiliza para clasificar los sistemas de gestión de bases de datos es el modelo lógico en que se basan. Los modelos lógicos empleados con mayor frecuencia en los sistemas de gestión actuales son el relacional, el de red y el jerárquico. Algunos sistemas de gestión de bases de datos más modernos se basan en modelos orientados a objetos. La estructura lógica, en el ámbito conceptual o externo, es la base para la clasificación de los sistemas de gestión de bases de datos en las cuatro categorías siguientes: jerárquica, red, relacional y orientada a objetos. Cualquier categoría debe permitir un acceso aleatorio a los datos requeridos, utilizando para tal fin una estructura de datos: redes, árboles, tablas o listas enlazadas. Cada sistema de gestión de bases de datos está diseñado para manejar un tipo de estructura lógica.
Enfoque jerárquico: La base de datos jerárquica consta de muchos registros. Cada nodo representa un tipo de
registro conceptual o un segmento. Cada registro o segmento está constituido por un cierto número de campos que lo describen. Cada rama representa una relación uno a muchos. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas. Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos.
52
Enfoque Red: Este es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico). Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa administrar la información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales. Para representar este tipo de relación, es necesario que los dos tipos de registro estén interconectados por medio de un registro conector llamado conjunto conector.
SISTEMAS DE GESTORES DE BASES DE DATOS
Enfoque Relacionar: Este es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Su idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla). Requisitos que deben cumplir las tablas en las bases de datos relacionales:
La tabla puede tener solo un tipo de registro. Cada registro posee un número determinado de campos, cada uno de ellos con su nombre correspondiente. La base de datos tendrá muchas tablas. Dentro de cada tabla, cada campo es distinto. Cada registro de una tabla es único; no hay registros duplicados. Los registros dentro de cada tabla no tienen una secuencia determinada. Se pueden crear nuevas tablas relacionando campos procedentes de dos o más tablas existentes.
El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, (Structured Query Language o Lenguaje Estructurado de Consultas), un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales.
Enfoque orientado a objetos: Define una base de datos en términos de objetos, sus propiedades y sus operaciones. Los objetos con la misma estructura y comportamiento pertenecen a una clase, y las clases se organizan en jerarquías o grafos a cíclicos. Las operaciones de cada clase se especifican en términos de procedimientos predefinidos denominados métodos. Algunos sistemas de gestión de bases de datos relacionales existentes en el mercado han estado extendiendo sus modelos para incorporar conceptos orientados a objetos. A estos sistemas de gestión de bases de datos se les conoce como sistemas objetorelacionales.
Un segundo criterio para clasificar los sistemas de gestión de bases de datos es el número de usuarios a los que da servicio el sistema. Los sistemas monousuario sólo atienden a un usuario a la vez, y su principal uso se da en los ordenadores personales. Los sistemas multiusuario, entre los que se encuentran la mayor parte de los sistemas de gestión de bases de datos, atienden a varios usuarios al mismo tiempo. Un tercer criterio es el número de sitios en los que está distribuida la base de datos. Casi todos los sistemas de gestión de bases de datos son centralizados: sus datos se almacenan en un solo computador. Los sistemas de gestión de bases de datos centralizados pueden atender a varios usuarios, pero el sistema de gestión de bases de datos y la base de datos en sí reside por completo en una sola máquina. En los sistemas de gestión de bases de datos distribuidos la base de datos real y el propio software del sistema de gestión de bases de datos pueden estar distribuidos en varios sitios conectados por una red. Los sistemas de gestión de bases de datos distribuidos homogéneos utilizan los mismos sistemas de gestión de bases de datos en múltiples sitios. Una tendencia reciente consiste en crear software para tener acceso a varias bases de datos autónomas preexistentes almacenadas en sistemas de gestión de bases de datos distribuidos heterogéneos. Esto da lugar a los sistemas de gestión de bases de datos federados o sistemas multibase de datos en los que los sistemas de gestión de bases de datos participantes tienen cierto grado de autonomía local. Muchos sistemas de gestión de bases de datos distribuidos emplean una arquitectura cliente-servidor.
BLOQUE 1
53
Actividad: 5 En binas, completa la siguiente tabla sobre la clasificación de los sistemas de gestión de bases de datos y participa en un debate grupal.
Clasificación de los sistemas de gestión de bases de datos Descripción
Enfoque jerárquico
Enfoque Red
Enfoque Relacionar
Enfoque orientado a objetos.
Actividad: 5 Conceptual Identifica los enfoques de los sistemas de gestión de bases de datos. Coevaluación
54
Evaluación Producto: Tabla. Puntaje: Saberes Procedimental Actitudinal Diferencia cada uno de los Muestra interés al realizar la enfoques de los sistemas de actividad. gestión de bases de datos. C MC NC Calificación otorgada por el docente
SISTEMAS DE GESTORES DE BASES DE DATOS
Fundamentos de normalización de una base de datos. La normalización es el proceso de organizar los datos de una base de datos. Se incluye la creación de tablas y el establecimiento de relaciones entre ellas según reglas diseñadas tanto para proteger los datos como para hacer que la base de datos sea más flexible al eliminar la redundancia y las dependencias incoherentes. Los datos redundantes desperdician el espacio de disco y crean problemas de mantenimiento. Si hay que cambiar datos que existen en más de un lugar, se deben cambiar de la misma forma exactamente en todas sus ubicaciones. Un cambio en la dirección de un cliente es mucho más fácil de implementar si los datos sólo se almacenan en la tabla Clientes y no en algún otro lugar de la base de datos. ¿Qué es una "dependencia incoherente"? Aunque es intuitivo para un usuario mirar en la tabla Clientes para buscar la dirección de un cliente en particular, puede no tener sentido mirar allí el salario del empleado que llama a ese cliente. El salario del empleado está relacionado con el empleado, o depende de él, y por lo tanto se debería pasar a la tabla Empleados. Las dependencias incoherentes pueden dificultar el acceso porque la ruta para encontrar los datos puede no estar o estar interrumpida. Hay algunas reglas en la normalización de una base de datos. Cada regla se denomina una "forma normal". Si se cumple la primera regla, se dice que la base de datos está en la "primera forma normal". Si se cumplen las tres primeras reglas, la base de datos se considera que está en la "tercera forma normal". Aunque son posibles otros niveles de normalización, la tercera forma normal se considera el máximo nivel necesario para la mayor parte de las aplicaciones. Al igual que con otras muchas reglas y especificaciones formales, en los escenarios reales no siempre se cumplen los estándares de forma perfecta. En general, la normalización requiere tablas adicionales y algunos clientes consideran éste un trabajo considerable. Si se decide infringir una de las tres primeras reglas de la normalización, se deberá tener la seguridad de que su aplicación se anticipa a los problemas que puedan aparecer, como la existencia de datos redundantes y de dependencias incoherentes. Primera forma normal
Elimine los grupos repetidos de las tablas individuales. Cree una tabla independiente para cada conjunto de datos relacionados. Identifique cada conjunto de datos relacionados con una clave principal.
No debe usarse varios campos en una sola tabla para almacenar datos similares. Por ejemplo, para realizar el seguimiento de un elemento del inventario que proviene de dos orígenes posibles, un registro del inventario puede contener campos para el Código de proveedor 1 y para el Código de proveedor 2. ¿Qué ocurre cuando se agrega un tercer proveedor? Agregar un campo no es la respuesta, requiere modificaciones en las tablas y el programa, y no admite fácilmente un número variable de proveedores. En su lugar, coloca toda la información de los proveedores en una tabla independiente denominada Proveedores y después vincula el inventario a los proveedores con el número de elemento como clave, o los proveedores al inventario con el código de proveedor como clave.
BLOQUE 1
55
Segunda forma normal
Crea tablas independientes para conjuntos de valores que se apliquen a varios registros. Relaciona estas tablas con una clave externa.
Los registros no deben depender de nada que no sea una clave principal de una tabla, una clave compuesta si es necesario. Por ejemplo, considere la dirección de un cliente en un sistema de contabilidad. La dirección se necesita en la tabla Clientes, pero también en las tablas Pedidos, Envíos, Facturas, Cuentas por cobrar y Colecciones. En lugar de almacenar la dirección de un cliente como una entrada independiente en cada una de estas tablas, almacénela en un lugar, ya sea en la tabla Clientes o en una tabla Direcciones independiente. Tercera forma normal
Elimina los campos que no dependan de la clave.
Los valores de un registro que no sean parte de la clave de ese registro no pertenecen a la tabla. En general, siempre que el contenido de un grupo de campos pueda aplicarse a más de un único registro de la tabla, considere colocar estos campos en una tabla independiente. Por ejemplo, en una tabla Contratación de empleados, puede incluirse el nombre de la universidad y la dirección de un candidato. Pero necesita una lista completa de universidades para enviar mensajes de correo electrónico en grupo. Si la información de las universidades se almacena en la tabla Candidatos, no hay forma de enumerar las universidades que no tengan candidatos en ese momento. Cree una tabla Universidades independiente y vincúlela a la tabla Candidatos con el código de universidad como clave. EXCEPCIÓN: Cumplir la tercera forma normal, aunque en teoría es deseable, no siempre es práctico. Si tiene una tabla Clientes y desea eliminar todas las dependencias posibles entre los campos, debe crear tablas independientes para las ciudades, códigos postales, representantes de venta, clases de clientes y cualquier otro factor que pueda estar duplicado en varios registros. En teoría, la normalización merece el trabajo que supone. Sin embargo, muchas tablas pequeñas pueden degradar el rendimiento o superar la capacidad de memoria o de archivos abiertos. Puede ser más factible aplicar la tercera forma normal sólo a los datos que cambian con frecuencia. Si quedan algunos campos dependientes, diseñe la aplicación para que pida al usuario que compruebe todos los campos relacionados cuando cambie alguno. Otras formas de normalización La cuarta forma normal, también llamada Forma normal de Boyce Codd (BCNF, Boyce Codd Normal Form), y la quinta forma normal existen, pero rara vez se consideran en un diseño real. Si no se aplican estas reglas, el diseño de la base de datos puede ser menos perfecto, pero no debería afectar a la funcionalidad.
56
SISTEMAS DE GESTORES DE BASES DE DATOS
Normalizar una tabla de ejemplo. Estos pasos demuestran el proceso de normalización de una tabla de alumnos ficticia. 1. Tabla sin normalizar: Nº alumno
Tutor
Despacho-Tut
Clase1
Clase2
Clase3
1022
García
412
101-07
143-01
159-02
4123
Díaz
216
201-01
211-02
214-01
2. Primera forma normal: No hay grupos repetidos.
Las tablas sólo deben tener dos dimensiones. Puesto que un alumno tiene varias clases, estas clases deben aparecer en una tabla independiente. Los campos Clase1, Clase2 y Clase3 de los registros anteriores son indicativos de un problema de diseño. Las hojas de cálculo suelen usar la tercera dimensión, pero las tablas no deberían hacerlo. Otra forma de considerar ese problema es con una relación de uno a varios y poner el lado de uno y el lado de varios en tablas distintas. En su lugar, cree otra tabla en la primera forma normal eliminando el grupo repetido (Nº clase), según se muestra a continuación: Nº alumno
Tutor
Despacho-Tut
Nº clase
1022
García
412
101-07
1022
García
412
143-01
1022
García
412
159-02
4123
Díaz
216
201-01
4123
Díaz
216
211-02
4123
Díaz
216
214-01
3. Segunda forma normal: Eliminar los datos redundantes.
Observe los diversos valores de Nº clase para cada valor de Nº alumno en la tabla anterior. Nº clase no depende funcionalmente de Nº alumno (la clave principal), de modo que la relación no cumple la segunda forma normal.
Las dos tablas siguientes demuestran la segunda forma normal:
Alumnos:
BLOQUE 1
Nº alumno
Tutor
Despacho-Tut.
1022
García
412
4123
Díaz
216
57
Registro: Nº alumno
Nº clase
1022
101-07
1022
143-01
1022
159-02
4123
201-01
4123
211-02
4123
214-01
4. Tercera forma normal: Eliminar los datos no dependientes de la clave. En el último ejemplo, Despacho-Tut (el número de despacho del tutor) es funcionalmente dependiente del atributo Tutor. La solución es pasar ese atributo de la tabla Alumnos a la tabla Personal, según se muestra a continuación: Alumnos: Nº alumno
Tutor
1022
García
4123
Díaz
Personal:
58
Nombre
Habitación
Dept.
García
412
42
Díaz
216
42
SISTEMAS DE GESTORES DE BASES DE DATOS
Cierre Actividad: 6 En equipo de cinco integrantes, realiza una investigación sobre algún caso donde se lleve a cabo la normalización de una base de datos y posteriormente coméntalo con tus compañeros y profesor. En este espacio dibuja la tabla sin normalizar, también dibuja la primera, segunda, tercera y cuarta forma normal.
Evaluación Actividad: x
Producto:
Conceptual Autoevaluación
BLOQUE 1
Puntaje: Saberes Procedimental
C
MC
NC
Actitudinal Calificación otorgada por el docente
59
Actividad: 6 (continuación)
Actividad: 6 Conceptual Identifica los fundamentos de la normalización de bases de datos. Coevaluación
60
Evaluación Producto: Investigación. Saberes Procedimental
Puntaje:
Aplica la primera, segunda, tercera y cuarta forma normal. C
MC
NC
Actitudinal Realiza la normalización de la base de datos en forma ordenada.
Calificación otorgada por el docente
SISTEMAS DE GESTORES DE BASES DE DATOS
Utiliza Visual Fox Pro.
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). Diseña y modifica las imágenes digitales, estáticas y dinámicas, empleando herramientas de software de diseño (multimedia). Instala y configura hardware, software y sistemas de seguridad informática, conforme a los manuales del fabricante, reglas de seguridad e higiene y políticas de uso (hardware). Aplica mantenimiento preventivo, correctivo y cualitativo de hardware y software, de acuerdo con los manuales técnicos del fabricante y las políticas establecidas (hardware). 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:
Reconoce las ventajas del uso del VISUAL FOXPRO como sistema de gestión de base de datos y utiliza tablas para la creación de proyectos mediante formularios, para la manipulación correcta y responsable en las operaciones de consulta, edición, adición y eliminación de la información.
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
Secuencia didáctica 1. Introducción al Visual FoxPro. Inicio
Actividad: 1 Desarrolla lo que se pide, expresando tu opinión y experiencia sobre el tema.
1.
Menciona tres manejadores de bases de datos.
__________________________________________________________________________________________________ __________________________________________________________________________________________________ 2.
¿Qué es un proyecto?
__________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ 3.
¿Qué es un formulario?
__________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ 4.
¿Qué es un reporte?
__________________________________________________________________________________________________ __________________________________________________________________________________________________ _________________________________________________________________________________________________ 5.
Menciona tres ventajas que tiene la biblioteca de tu plantel, al utilizar un sistema de bases de datos.
__________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________
Actividad: 1 Conceptual Reconoce los componentes y las ventajas de un sistema de base de datos. Autoevaluación
62
Evaluación Producto: Cuestionario. Puntaje: Saberes Procedimental Actitudinal Analiza los componentes y las Contesta responsablemente el ventajas de un sistema de base de cuestionario y participa en un datos. debate grupal. C MC NC Calificación otorgada por el docente
UTILIZA VISUAL FOX PRO
Desarrollo Introducción al Visual Fox. Visual Fox es uno de los gestores de Bases de Datos relacionales más rápido y flexible del mercado, disponiendo de un complejo entorno de desarrollo totalmente orientado al objeto y altamente integrado al sistema operativo Windows. Como cualquier otra aplicación Windows estándar, Visual Fox soporta interfaces MDI (Interfaz de Documento Múltiple), como la de Word, barras de herramientas, ayuda sensible al contexto, múltiples fuentes, acceso a bibliotecas de enlace dinámico (Dll), entre otras. Visual FoxPro es un lenguaje de programación orientado a objetos y procedural, un Sistema Gestor de Bases de datos o Database Management System (DBMS), y desde la versión 7.0, un sistema administrador de bases de datos relacionales, producido por Microsoft. Ofrece a los desarrolladores un conjunto de herramientas para crear aplicaciones de bases de datos para el escritorio, para entornos cliente/servidor, Tablet PC o para la Web. Características
Capacidades poderosas y muy veloces para el manejo de datos nativos y remotos. Flexibilidad para crear todo tipo de soluciones de bases de datos Lenguaje de Programación Orientado a objetos. Utilización de Sentencias SQL en forma nativa. Poderoso manejo de vistas y cursores, y control completo de estructuras relacionales. Su propio gestor de base de datos incorporado. Sin embargo, también puede conectarse con servidores de base de datos, tales como Oracle, Microsoft SQL Server o MySQL. Cuenta con un motor de generación de informes renovado y muy flexible para soluciones más robustas. Desde la versión 9.0, amplio soporte de XML, tanto como fuente de datos (por ejemplo, servicios Web basados en XML) como por generar reportes en formato XLM.
Aparte del acceso a tablas en formato nativo de Visual Fox, se puede acceder virtualmente a cualquier fuente de datos cuyo acceso se pueda hacer a través de ODBC (Open Database Connectivity). Este estándar, definido como Conectividad Abierta de Bases de Datos, permite abrir y consultar diversas bases de datos a través de un conjunto de controladores, utilizando SQL como lenguaje de consulta. Con el advenimiento de Visual Fox, los desarrolladores de aplicaciones tienen acceso a multitud de eventos y opciones que los programadores de Visual Basic y Visual C tuvieron durante años.
Programación orientada a eventos. En Visual FoxPro cada acción que se realiza es un evento, por ejemplo el movimiento del mouse, hacer clic sobre un botón y escribir algo en un cuadro de texto, entre otras. Por lo tanto, cuando se programa en Visual FoxPro, quedan atrás todas las formas de programar en FoxPro para Windows ya que no es necesario tener procedimientos o rutinas para validar, por ejemplo para la entrada de la clave de un artículo, simplemente se programa el evento respectivo, y de esta forma no es tan tedioso el mantenimiento del sistema. Es decir, si existe algún error, no tienes que recorrer todo el archivo de rutinas para encontrar la falla. Por ejemplo si en FoxPro DOS o para Windows se necesita poner algunos botones que ejecutan ciertas instrucciones, se debe crear una función en la cual se pregunte cuál fue el botón que se presionó, y según el valor, se ejecutan las instrucciones. En Visual FoxPro no es así, simplemente se programan instrucciones específicas para cada botón, e independientemente de que se presione otro no es necesario preguntar cuál fue el que se presionó, porque cada evento de cada objeto es independiente y solo puede ocurrir uno en ese momento, es decir que no se pueden desencadenar dos eventos al mismo tiempo: o es clic, o se movió el ratón, o es algún otro evento.
BLOQUE 2
63
Programación orientada a objetos. En Visual FoxPro y en otros, se le llama objeto a todo lo que se percibe en pantalla; objetos son, por ejemplo, un botón, una caja de texto, una imagen, y en general, todo objeto visual que se presenta en la pantalla. Se les llama objetos porque cada uno tiene sus propiedades, por ejemplo un botón tiene su propiedad de texto que es la que se ve dentro del botón, también tiene un ancho, un alto, y así para cada uno de los objetos, he aquí la ventaja de Visual FoxPro sobre lenguajes como FoxPro para Windows, en la cual son solamente campos y no se les puede cambiar sus características de forma dinámica.
Características de la programación orientada a objetos.
Es un entorno de desarrollo de sistemas.
Puede llevar a un desarrollo más rápido y eficaz y a prototipos más precisos.
Permite un desarrollo más rápido y menor probabilidad de que se produzcan errores.
Facilidad de modificar objetos.
Objetos reutilizables, es decir que, una vez que se ha desarrollado y depurado una clase, ésta puede añadirse a otras aplicaciones sin necesidad de modificarla más.
Se pueden combinar objetos para crear objetos nuevos y dinámicos.
64
UTILIZA VISUAL FOX PRO
Actividad: 2 Desarrolla lo que se pide, y posteriormente, participa en un debate grupal. 1. ¿Qué es el Visual Fox Pro? _______________________________________________________________________________________________ _______________________________________________________________________________________________ _______________________________________________________________________________________________ _______________________________________________________________________________________________ _______________________________________________________________________________________________ 2. Menciona tres ventajas del uso del Visual Fox Pro. a. ____________________________________________________________________________________________ b. ____________________________________________________________________________________________ c. ____________________________________________________________________________________________ 3. Menciona tres de las características principales del Visual Fox Pro. a. _______________________________________________________________________________________________ b. _______________________________________________________________________________________________ c. _______________________________________________________________________________________________ 4. ¿Qué es la programación orientada a eventos? _______________________________________________________________________________________________ _______________________________________________________________________________________________ _______________________________________________________________________________________________ 5. ¿Qué es la programación orientada a objetos? _______________________________________________________________________________________________ _______________________________________________________________________________________________ _______________________________________________________________________________________________ 6. Menciona tres características de la programación orientada a objetos. a. ____________________________________________________________________________________________ b. ____________________________________________________________________________________________ c. ____________________________________________________________________________________________ 7. ¿Cuál es la diferencia entre la programación orientada a eventos y la programación orientada a objetos? _______________________________________________________________________________________________ _______________________________________________________________________________________________ _______________________________________________________________________________________________ _______________________________________________________________________________________________ _______________________________________________________________________________________________ __________
BLOQUE 2
65
Actividad: 2 Conceptual Reconoce las ventajas y características del Visual FoxPro. Autoevaluación
Evaluación Producto: Cuestionario. Saberes Procedimental
Puntaje:
Analiza las ventajas y características del Visual FoxPro. C
MC
NC
Actitudinal Contesta responsablemente el cuestionario y participa en un debate grupal.
Calificación otorgada por el docente
Tipos de generadores. Los generadores son entornos de trabajo en los que se construyen componentes de una aplicación de FoxPro.
Generador de clases. Para construir objetos reutilizables. Generador de Bases de Datos. Para organizar los datos en tablas y documentar las relaciones entre tablas. Generador de formularios. Para diseñar las pantallas de la aplicación. Generador de consulta. Para construir conjuntos de datos utilizados en reportes y en pantallas de sólo lectura. Generador de informes. Para construir informes para la pantalla o la impresora. Generador de menús. Construye el sistema de menús que ejecuta una aplicación. Generador de tablas. Administra el formato de las tablas utilizadas en la aplicación. Generador de cuadrículas. Permite aprender cómo las configuraciones de la propiedad de cuadrícula del objeto controlan la operación de la cuadrícula.
Utiliza los asistentes. Asistente es un conjunto de cuadro de diálogos, los cuales ayudan a crear, paso a paso, una determinada aplicación, por ejemplo, un formulario.
Asistente para formularios. Construye "Pantallas instantáneas" con la estructura de las tablas, basándose en clases prediseñadas, incluidos efectos especiales en las pantallas y botones de navegación ínter-construidos. Asistente para documentación. Documenta la aplicación. Asistente para informes. Diseña informes, sencillos o complejos, utilizando un poco más que la estructura de las tablas. Asistentes para: Tablas dinámicas, upsizing, etiquetas, Bases de Datos, tablas, etc.
Estructura de un .DBF Los datos en FoxPro se almacenan en una tabla. En una base de datos, una tabla es el conjunto de datos organizados en filas y columnas, en donde a las filas o renglones se les llama “registros” y a las columnas se les llama “campos”. Como los podrás observar e identificar en la siguiente imagen.
66
UTILIZA VISUAL FOX PRO
Campos
Registros Tipos de campos. Entre las características más importantes de los campos se encuentran dos: no deben de contener caracteres especiales, a excepción del carácter "Guión bajo" y tampoco pueden empezar con un número. Los campos pueden ser de tipo:
Carácter. Cualquier cosa que se pueda teclear, puede ir en un campo de caracteres. Un carácter es lo mismo que un byte y un byte puede tener cualquier valor ASCII hasta 255, con unas cuantas excepciones. Numérico. Hasta un límite de 18 dígitos, con tantas cifras decimales como se desee. Los enteros se almacenan en este formato, aunque hay otro tipo de campo (el de moneda) que se utiliza generalmente para dinero. Flotante. Se utiliza para la compatibilidad con dBASE V y es equivalente al formato numérico. Fecha. Se utiliza para almacenar la fecha en un formato interno numérico, cuya validación y representación es controlada en el mismo. Lógico. Éste, ya sea verdadero o falso, es representado por T o F (del Inglés), para verdadero o falso, respectivamente. Memo. Representado en su estructura de registros como un campo de caracteres de longitud 10, estos campos almacenan en una segunda tabla con la extensión .FPT, además, pueden ser casi de cualquier tamaño. General. También son campos memos, excepto que usualmente almacenan otros tipos de objetos además de texto como gráficos, por ejemplo. Fecha-hora. Incluye la hora después de la fecha, en el formato [MM/DD/AA hh:mm:ss]. Moneda. Es un campo numérico e incluye cuatro cifras decimales. Imagen. Como su nombre lo indica, es utilizado para guardar imágenes. Carácter binario. Campos de caracteres no sujetos a traducciones de páginas de códigos. Memo binario. Campos memo con la misma característica NOCPTRANS.
NOCPTRANS impide la conversión a otra página de códigos distinta para los campos de tipo carácter y memo. Si la tabla se convierte a otra página de códigos, los campos para los que se haya especificado NOCPTRANS no se convertirán. NOCPTRANS solamente se puede especificar para los campos de tipo carácter y memo.
BLOQUE 2
67
El ejemplo siguiente crea una tabla denominada MYTABLE con dos campos de caracteres y dos campos memo. El segundo campo de caracteres char2 y el segundo campo memo memo2 incluyen NOCPTRANS para evitar la conversi贸n. CREATE TABLE mytable (char1 C(10), char2 C(10) NOCPTRANS,; memo1 M, memo2 M NOCPTRANS)
Actividad: 3 s
En binas, completa con lo que se pide, cada una de las siguientes tablas.
a) Los tipos de Generadores del Visual Fox Pro. Generadores
Funci贸n
Clase
Base de datos
Formularios
Consulta
Informes
Men煤
Tabla
68
UTILIZA VISUAL FOX PRO
Actividad: 3 (continuaci贸n) b) Los tipos de asistentes del Visual Fox Pro.
Asistentes
Funci贸n
Formularios
Documentaci贸n
Informes
BLOQUE 2
69
Actividad: 3 (continuación) c) Los diferentes tipos de campo del Visual FoxPro.
Tipo
Definición
Carácter
Numérico
Flotante
Fecha
Lógico
Memo
Moneda
Actividad: 3 Conceptual Identifica los componentes de los generadores, los asistentes y tipos de campo. Coevaluación
70
Evaluación Producto: Tablas. Puntaje: Saberes Procedimental Actitudinal Analiza los generadores, asistentes Es atento y comunicativo en el y tipos de campo, en un mapa trabajo colaborativo. conceptual. C MC NC Calificación otorgada por el docente
UTILIZA VISUAL FOX PRO
Modo de operación. Para comenzar a utilizar el programa:
Inicio
Microsoft Visual FoxPro
Icono para acceder al Visual Fox Pro
Botón de Inicio
Escritorio de Windows
Icono de Visual Fox Pro.
Al acceder por primera vez a Visual Fox Pro, se muestra una pantalla de bienvenida.
Introducción a la interfaz de usuario de Microsoft Visual FoxPro. Se conoce como entorno de desarrollo a las partes visuales de las que está compuesto todo lenguaje de programación visual, como lo son Visual FoxPro, Visual Basic, Delphi, entre otros. Desde Visual FoxPro podemos crear formularios, bases de datos, informes, vistas, proyectos y otros más. Podemos crear los elementos de un proyecto por separado y luego agregarlo a un proyecto existente o, crear un proyecto y desde éste ir agregando los elemento que deba contener. Cuando creamos un proyecto debemos crear una carpeta de trabajo en la se guarde el proyecto.
BLOQUE 2
71
Actividad: 4 Después de observar el video “Entorno de Visual Fox Pro”, desarrolla lo que se pide.
a) En la siguiente imagen, escribe el nombre de los elementos del entorno del Visual Fox Pro.
___________________
___________________ ________________________
72
UTILIZA VISUAL FOX PRO
Actividad: 4 (continuación) b) De acuerdo con la información presentada en el video, ¿Cuál es la función de la ventana de comandos? _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________
c) Menciona dos ejemplos de comandos que se mencionan en el video. i.
________________________________________________________________________________________
ii.
________________________________________________________________________________________
Evaluación Actividad: 4
Producto: Cuestionario.
Conceptual Reconoce el entorno de trabajo del Visual Fox Pro. Autoevaluación
BLOQUE 2
Puntaje:
Saberes Procedimental
Actitudinal
Analiza el uso de la ventana de comando. C
MC
NC
Muestra interés y actitud positiva en el desarrollo de la actividad.
Calificación otorgada por el docente
73
Descripción de los componentes de la ventana.
Barra de Herramientas.
El visual nos proporciona una barra de herramientas estándar en la cual se encuentran las opciones que más frecuentemente utilizamos al manipular un archivo.
Barra de Menú.
74
Menú Archivo. Permite llevar a cabo las principales operaciones con archivos (Nuevo, Cerrar, Guardar, Guardar como y Abrir).
Menú Edición. Por medio de las opciones de este menú, se puede manipular la información de los diferentes archivos que se generen en visual.
UTILIZA VISUAL FOX PRO
Menú Ver. Permite visualizar las barras de Herramientas.
Barra de Formato. Aquí se puede seleccionar el tipo de letra que se desea utilizar en la ventana de comando o al momento de realizar un programa, así mismo, se puede también establecer el espaciado de los renglones. Por lo general, esta opción permite los cambios sobre la escritura en visual. En la opción de fuente se puede seleccionar el tipo de letra, estilo y tamaño que se requieren.
BLOQUE 2
75
76
Menú Herramientas. Una de las opciones más importantes en este menú es la de tener la oportunidad de accesar a los asistentes que nos facilita el visual.
Menú Programa. Permite ejecutar las aplicaciones del visual tales como proyectos, formularios, menús, informes, programas, consultas, etc. Así mismo, la ejecución de estas aplicaciones las podemos cancelar, reanudar o suspender, según sea requerido. La opción compilar se recomienda principalmente cuando se está programando en código fuente, para hacer un análisis de la sintaxis y semántica de las instrucciones y comandos del programa.
Menú Ventana. Presenta opciones referentes a la visualización del entorno del visual, las cuales pueden ser: organizar, ocultar, borrar, recorrer y activar la ventana de comandos.
UTILIZA VISUAL FOX PRO
Menú Ayuda. Visual proporciona varias opciones de ayuda por temas, contenido, índice y búsqueda, además de un soporte y un enlace a Microsoft en la Web, para descarga de material gratuito.
Operaciones básicas.
Nuevo. Esta operación permite crear diferentes tipos de archivos. Al pulsar sobre esta opción, el visual proporciona un menú contextual con las siguientes opciones.
BLOQUE 2
77
Abrir. Esta opción da la pauta para abrir archivos, los cuales fueron previamente almacenados en algún dispositivo de almacenamiento.
Guardar. Esta opción permite guardar un archivo de manera rápida, cuando ya ha sido guardado previamente en un dispositivo de almacenamiento. Se debe recordar que cuando se va a guardar un archivo por primera vez, por default el visual ejecuta la opción Guardar como. En Guardar como se debe asignar el nombre y tipo al archivo, además de ubicar la carpeta en el dispositivo de almacenamiento destino, ya sea el disco local o una USB.
78
UTILIZA VISUAL FOX PRO
Cierre Actividad: 5 En equipo de cinco integrantes, realiza la respectiva investigación para completar cada una de las siguientes tablas y, posteriormente, participa en un debate grupal: a) Barra de herramientas estándar. Icono
BLOQUE 2
Nombre
Función
79
Actividad: 5 (continuaci贸n)
b) Men煤 Archivo.
Nombre
Funci贸n
Guardar como HTML
Revertir
Importar
Exportar
Enviar
80
UTILIZA VISUAL FOX PRO
Actividad: 5 (continuación) c) Menú Edición.
Nombre
Función
Buscar
Buscar siguiente
Reemplazar
Ir a la línea…
BLOQUE 2
81
Actividad: 5 (continuación) d) Menú Programa.
Nombre
Función
Ejecutar
Reanudar
Suspender
Cancelar
Compilar
Evaluación Actividad: 5
Producto: Tabla.
Puntaje:
Saberes Conceptual
Procedimental
Identifica las opciones de las barras de Menú y de la barra de Herramientas Estándar.
Analiza las principales opciones de las barras de Menú y de la barra de herramientas Estándar. C
Autoevaluación
82
MC
NC
Actitudinal Muestra interés en el trabajo colaborativo.
Calificación otorgada por el docente
UTILIZA VISUAL FOX PRO
Secuencia didáctica 2. Desarrollo de trabajo en Visual FoxPro. Inicio
Actividad: 1 En equipo de cinco integrantes, escribe los campos y su tipo, para los sistemas que a continuación se solicitan posteriormente coméntalo con tus compañeros y docente. 1.
Una agenda de los compañeros de tu grupo.
2.
Control de libros de la biblioteca del plantel.
Actividad: 1 Conceptual Reconoce la utilización de diversos tipos de campo, en diferentes contextos. Autoevaluación
BLOQUE 2
Evaluación Producto: Ejercicio práctico. Saberes Procedimental Analiza el uso de los campos en diferentes contextos. C
MC
NC
Puntaje: Actitudinal Muestra apertura y respeto para escuchar las opiniones de sus compañeros y docente.
Calificación otorgada por el docente
83
Desarrollo Implementación de un proyecto. Para utilizar la opción Nuevo, es importante tener bien definido lo que se va a realizar, en este caso utilizaremos el tipo de archivo Proyecto.
Seleccionar el tipo de archivo. Después utilizar las opciones de Nuevo archivo, o Asistente.
Si seleccionamos el botón de Nuevo archivo debemos asignarle un nombre a nuestro proyecto. Antes de llevar a cabo este paso, es importante crear una carpeta para el proyecto. Ejemplo: Una carpeta con el nombre Fox Pro Cobach. Nombre del proyecto: Mi primer proyecto. Posteriormente, dar clic en el botón Save (Guardar).
Posteriormente se abrirá la ventada del Administrador de Proyectos, desde donde se administran datos, documentos, clases, códigos u otros.
Si se selecciona la pestaña de Datos, se puede manipular Data bases (bases de datos), Tablas libres y Consultas.
84
UTILIZA VISUAL FOX PRO
Utiliza la ficha de datos. Con respecto a los datos se puede crear una Data base, dando clic en el botón Nuevo. Al dar clic en el botón Nuevo, se tienen las condiciones de crear una base de datos nueva, utilizando ya sea el Asistente para bases de datos o el botón Nueva base de datos.
Opción botón Nueva base de datos
La ventana Crear es a la cual tenemos acceso, misma que permite crear una nueva Base de datos, es de suma importancia asignarle un nombre a la misma, el cual debe ser afín a la información que se utilice ya que, normalmente, en los proyectos se utiliza más de una base de datos. Es importante identificar el tipo de base de datos que se va a guardar, ya que las bases de datos en este caso por default llevan la extensión *.dbc.
Al guardar la base de datos se inicia el Diseñador de la misma, el cual permite realizar las operaciones con tablas tales como:
Nueva. Agregar. Quitar. Modificar. Examinar. Nueva vista remota. Nueva vista local. Modificar procedimientos almacenados. Conexiones.
BLOQUE 2
85
Descripción de los botones del diseñador de Bases de Datos.
Crear una nueva tabla. Agregar una tabla existente Eliminar una tabla seleccionada Modificar una tabla seleccionada Creación de Vistas remotas Creación de Vistas locales Editar Procedimientos almacenados en la Base de Datos Creación de Conexiones con vistas remotas Examinar el contenido una tabla o base de datos.)
Crea una tabla en Visual Fox Pro.
Al pulsar el botón Nueva Tabla, el Visual FoxPro presenta una ventana que permite la posibilidad de integrar una Nueva Tabla. Ésta a su vez, presenta dos opciones de trabajo, una por medio del asistente y la otra de forma manual, que es la que se utilizará.
Asignar un nombre a la Tabla, que tenga relación con la información que contiene y con extensión *.DBF, para identificar que es una Tabla. Nota.
Después de asignarle el nombre a la Tabla, el Visual FoxPro nos presenta una ventana para su diseño.
86
Antes de introducir los campos a la tabla, se recomienda llevar a cabo un análisis de los datos que ésta va a contener, ya que no es recomendable modificar su estructura.
UTILIZA VISUAL FOX PRO
El diseñador de tablas, tiene tres pestañas: Campos, Índices y Tabla, donde cada uno es importante en la estructura de la tabla. La pestaña de campo contiene Nombre, Tipo, Ancho, Decimal, Índice y NULL., y es donde se debe definir el nombre, tipo y ancho principalmente de los campos de tabla.
Primero se le asigna el nombre al campo. Enseguida el tipo de campo, que puede ser Carácter, Monetario, Numérico, Flotante, Fecha, Date Time, etc., y posteriormente el Ancho.
BLOQUE 2
87
Ejemplo:
Al pulsar el bot贸n Aceptar, Visual Fox Pro pregunta: Si la respuesta es afirmativa, estaremos en condici贸n de introducir datos a nuestra Tabla; de lo contrario, el proceso de cargar datos se podr谩 llevar a cabo en otro momento.
88
UTILIZA VISUAL FOX PRO
Al momento de introducir los datos a la tabla, se dan las condiciones para utilizar las operaciones con tablas tales como: Agregar Registros, Quitar Registros, Modificar Registros, etc. Es importante apuntar que las tablas también se pueden crear desde el menú Archivo, opción Nuevo y seleccionando Tabla. A continuación seguimos los pasos antes mencionados.
Para visualizar el contenido de la tabla, identificar el icono de Ejecutar:
Y al momento de pulsar el icono Ejecutar, se tiene un panorama general de la tabla.
En la misma ventana para crear TABLAS, en la parte inferior se encuentra el área MOSTRAR.
Descripción del área mostrar. o o o
Formato. Es el formato de salida del campo, ejemplo si fuera numérico 9,999.99 o si fuera caracter !!!!!!!!!!!!, para que sólo acepte mayúsculas. Máscara de entrada. Igual que el Formato, sólo que es para la entrada de datos. Título. Descripción más precisa del campo, es de utilidad al diseñar los Formularios.
BLOQUE 2
89
Definición de reglas de validación a nivel de campo. La validación consiste en eventos que se ejecutan a nivel de campo. Por ejemplo: una validación de un campo que solamente acepte números positivos. (id > 0)
Regla. Es la regla de validación, ejemplo: id > 0, si queremos que acepte valores positivos. Mensaje. Es el mensaje personalizado que queremos que aparezca en pantalla a la hora de violarse la regla de validación del campo. Ejemplo: “Solo se aceptan números positivos” (nota: el texto debe escribirse entre comillas). Valor predeterminado. Es un valor por defecto del campo (nota: se debe respetar el tipo de dato del Campo).
Definición de índices. Luego de hacer la definición de los campos, pasamos a la definición de Índices de la tabla, que será muy importante a la hora de crear las relaciones entre las tablas.
90
o
Nombre del Índice. Introducir el Nombre del archivo índice, el cual es también conocido como TAG.
o
Tipo. Principal. Llave primaria. Candidato. Llave candidata Único. Llave única. Normal. Llave foránea.
o
Nombre de la expresión.
UTILIZA VISUAL FOX PRO
Actividad: 2 Acude al centro de cómputo de tu plantel y, en binas, realiza la siguiente práctica. No olvides Guardar y, posteriormente, presentar a tu profesor. a) Crea una carpeta con el nombre mi_primer_proyecto, enseguida utilizando el menú Archivo y la opción Nuevo crea un proyecto y llámalo proyecto_inicial. Comenta tu experiencia con tus compañeros y el profesor, finalmente, escribe tus conclusiones. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ b) En la carpeta mi_primer_proyecto, crea una base de datos con el nombre alumnos_cobach. Comenta tu experiencia con tus compañeros y profesor, finalmente, escribe tus conclusiones. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________
Evaluación Actividad: 2
Producto: Ejercicio práctico. Saberes Procedimental
Conceptual Reconoce las herramientas del Visual Fox Pro, para crear Proyectos y Bases de Datos. Coevaluación
BLOQUE 2
Actitudinal
Analiza y emplea las herramientas de Visual Fox Pro, para la creación de Proyectos y Bases de Datos. C
MC
NC
Puntaje:
Se esmera en la realización de la práctica.
Calificación otorgada por el docente
91
Actividad: 3 Acude al centro de cómputo de tu plantel y, en binas, realiza la siguiente práctica. No olvides Guardar y presentar a tu profesor. a) Crea una Tabla con el nombre alumnos, con los siguientes campos: matrícula, nombre, apellido paterno, apellido materno, fecha de nacimiento, dirección, colonia, teléfono, correo electrónico y semestre. Guarda la tabla en la carpeta mi_primer_proyecto. Comenta tu experiencia con tus compañeros y profesor. Escribe tus conclusiones. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ b) Captura información en la tabla alumnos, de tu grupo. Posteriormente comenta tu experiencia con tus compañeros y el profesor. Escribe tus conclusiones. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________
Evaluación Actividad: 3
Producto: Ejercicio práctico. Saberes Procedimental
Conceptual Reconoce las herramientas del Visual Fox Pro, para crear Tablas. Coevaluación
92
Actitudinal
Analiza y emplea las herramientas de Visual Fox Pro, para la creación de Tablas. C
MC
NC
Puntaje:
Atiende las indicaciones del docente para la realización de la práctica.
Calificación otorgada por el docente
UTILIZA VISUAL FOX PRO
Utiliza formulario. Dentro del Proyecto tenemos otra pestaña denominada Documentos, la cual contiene Formularios, Informes y Etiquetas. La forma más sencilla y funcional de crear un formulario es mediante el asistente.
Al momento de pulsar el botón Asistente para formularios se deben seguir las indicaciones que presenta.
A continuación se selecciona la opción de Asistente para formularios y, posteriormente, damos clic en el botón Aceptar.
A continuación el Visual FoxPro presenta los pasos para crea un Formulario, utilizando el asistente. 1.
BLOQUE 2
Es importante conocer los datos que necesitamos para crear el formulario, primero debe seleccionarse la tabla y, posteriormente, los campos que van a ser incluidos en el formulario.
93
Agregar un campo a la vez. Agregar todos los campos a la vez.
Quitar un campo a la vez. Quitar varios campos a la vez.
2.
Después de la selección del campo que será incluido en el formulario, pasamos al paso número dos pulsando el botón de siguiente que nos presenta el asistente de formularios. En esta ventana el asistente nos permite seleccionar el estilo de nuestro formulario el cual puede ser:
Estándar. Cincelado. Sombreado. Enmarcado. En relieve. Sofisticado. Piedra. Flax. Multicolor.
Así mismo, nos permite seleccionar el tipo de botón que se va a mostrar en el formulario. Además nos presenta los botones de Anterior para regresar al paso uno o en su defecto pasar al paso tres. 3.
En este paso debemos decidir cuáles son los campos o etiquetas que serán índices para ordenar el registro. De la misma forma que en el paso dos, seleccionamos el campo o campos que vamos a utilizar para ordenar los registros, lo cual puede ser en orden Ascendente o Descendente, según se requiera.
94
UTILIZA VISUAL FOX PRO
Agregamos el campo nombre, de esta forma este campo será el que va a ordenar de forma ascendente nuestro formulario, posteriormente damos clic en el botón siguiente. 4. Ya en el paso cuatro el asistente nos presenta una serie de opciones en las cuales primeramente se le debe asignar un nombre a nuestro formulario posteriormente nos da las opciones de: Guardar el formulario para uso posterior. Guardar y ejecutar el formulario. Guardar el formulario y modificarlo en el diseñador de formularios.
Así mismo, nos presenta una vista preliminar. El formulario nos presenta botones por medio de los cuales podemos ir al primer registro, al último, ir al siguiente o al anterior, buscar registros, imprimir, agregar, eliminar y por supuesto salir del formulario. Posteriormente debemos guardar el formulario asignándole un nombre que lo distinga y que esté relacionado con la información que en él se manipula. De esta forma por medio del formulario el Visual Fox Pro permite manipular las tablas de datos.
BLOQUE 2
95
Actividad: 4 Acude al centro de cómputo y, en binas, realiza la siguiente práctica. Crea una Formulario con el nombre control_alumnos, incluyendo los siguientes campos: matrícula, nombre, apellido paterno, apellido materno, fecha de nacimiento, dirección, colonia, teléfono, correo electrónico, semestre, serie (formación propedéutica) y capacitación para el trabajo. Guarda la tabla en la carpeta mi_primer_proyecto. Comenta tu experiencia con tus compañeros y profesor. Finalmente, escribe tus conclusiones. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ ___________________ Actividad: 4 Conceptual Reconoce las herramientas del Visual Fox Pro, para crear un Formulario. Coevaluación
96
Evaluación Producto: Ejercicio práctico. Saberes Procedimental Analiza y emplea las herramientas de Visual Fox Pro, para la creación de Formularios. C
MC
NC
Puntaje: Actitudinal Atiende las indicaciones del docente para la realización de la práctica.
Calificación otorgada por el docente
UTILIZA VISUAL FOX PRO
Crea informes. Para crear Informes y generarlos, utilizaremos el asistente para informes. Al seleccionar nos muestra una ventana en la cual se describe o informa que vamos a crear un informe con formato a partir de una única tabla. A continuación es necesario dar clic en el botón de Aceptar, para iniciar con los seis pasos que nos llevan a generar un informe. 1. En el área de Base de datos y tablas, se selecciona la base de datos que contiene los campos que se van a incluir. Posteriormente pulsar el botón siguiente.
Es importante indicar que si no tenemos campos disponibles es porque no tenemos la base de datos o tabla, seleccionada.
2. Agrupar los registros, de acuerdo a los requerimientos solicitados.
BLOQUE 2
97
3. Seleccionar la apariencia del informe. En lo que se refiere al estilo, el asistente: Ejecutivo. Doble carta. Presentación. Con bandas. Informal.
4.
Elegir el diseño de nuestro informe, definiendo el número de columnas o filas, diseño del campo y orientación de la hoja (ya sea horizontal o vertical).
5.
Ordenar los registros.
Si se desea ordenar los registros, se pueden utilizar de uno a tres campos. Seleccionar del área de campos disponibles o etiquetas de índices, los campos que vamos a incluir en el informe, para llevar a cabo esta selección, dar clic sobre el campo deseado y posteriormente pulsar el botón agregar. Además podemos ordenar nuestra información del registro en orden ascendente o descendente, posteriormente debemos pulsar el botón siguiente para continuar.
98
UTILIZA VISUAL FOX PRO
Si se desea quitar de esta área algún campo seleccionado, basta con pulsar el botón quitar.
6.
Asistente para informes, solicita el nombre que le vamos asignar a nuestro informe, no olvidar que debe ser de acuerdo con la información que presenta el informe.
Además, después de asignarle el nombre debemos guardar el informe:
Guardar el informe para uso posterior. Guardar el informe y modificarlo en el diseñador de informes. Guardar e imprimir el informe.
Es importante antes de finalizar el proceso tener un panorama de nuestro informe, para ello debemos pulsar el botón de vista preliminar.
BLOQUE 2
99
La ventana Vista preliminar de informes presenta:
Primera página Ir a la página Página siguiente Última página Zoom Cerrar vista previa Imprimir informe
Para Guardar el informe debemos asignarle un nombre, el cual es de tipo FRX.
100
UTILIZA VISUAL FOX PRO
Actividad: 5 Acude al centro de cómputo y, en binas, realiza la siguiente práctica. Preséntala a tu profesor. a) Crea un Informe con el nombre reporte_alumnos_fec, incluyendo los siguientes campos: matrícula, nombre, apellido paterno, apellido materno y fecha de nacimiento. Guarda la tabla en la carpeta mi_primer_proyecto. Comenta tu experiencia con tus compañeros y el profesor. Finalmente, escribe tus conclusiones. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ b) Crea un Informe con el nombre reporte_alumnos_tel, incluye los siguientes campos: matrícula, nombre, apellido paterno, apellido materno y teléfono. Guarda la tabla en la carpeta mi_primer_proyecto. Comenta tu experiencia con tus compañeros y profesor. Finalmente, escribe tus conclusiones. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ c) Crea un Informe con el nombre reporte_alumnos_sem, incluye los campos matricula, nombre, apellido paterno, apellido materno y semestre. Guarda la tabla en la carpeta mi_primer_proyecto. Posteriormente comenta tu experiencia con tus compañeros y docente. Escribe tus conclusiones. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________
BLOQUE 2
101
Actividad: 5 (continuación) d) Crea un Informe con el nombre reporte_alumnos_dir, incluyendo los campos: matrícula, nombre, apellido paterno, apellido materno y dirección. Guarda la tabla en la carpeta mi_primer_proyecto. Comenta tu experiencia con tus compañeros y profesor. Finalmente escribe tus conclusiones. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ e) Crea un Informe con el nombre reporte_alumnos_correo, incluyendo los campos: matrícula, nombre, apellido paterno, apellido materno y correo electrónico. Guarda la tabla en la carpeta mi_primer_proyecto. Comenta tu experiencia con tus compañeros y profesor. Finalmente, escribe tus conclusiones. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________
Actividad: 5
Evaluación Producto: Ejercicio práctico. Saberes Procedimental
Conceptual Reconoce las herramientas del Visual FoxPro, para crear un Formulario. Coevaluación
102
Actitudinal
Analiza y emplea las herramientas de Visual FoxPro, para la creación de Formularios. C
MC
NC
Puntaje:
Atiende las indicaciones del docente para la realización de la práctica.
Calificación otorgada por el docente
UTILIZA VISUAL FOX PRO
Utiliza la herramienta consulta. Para crear consultas y generarlas, se utiliza el asistente de consultas. Seleccionar men煤 Archivo/Nuevo, Posteriormente, seleccionar la opci贸n Consulta.
Visual presenta una ventana de selecci贸n de los asistentes. o o o
Asistente para consultas. Asistente para gr谩fico. Asistente para tablas de referencia cruzadas.
1. Seleccionar la base de datos o tabla en la cual se va a llevar a cabo la consulta, se debe tener en cuenta la carpeta donde se encuentran los archivos del proyecto.
BLOQUE 2
103
2. Se busca la carpeta, y después seleccionar la base de datos, pulsar el botón aceptar.
Es importante conocer los datos que se necesitan para realizar la consulta, debemos primero seleccionar la tabla, posteriormente los campos que van a ser incluidos en la consulta. Ejemplo: En la base de datos DATOS1, seleccionar la tabla ALUMNOS, formada por los campos: Nombre, Apellido_paterno, Apellido_materno, Fecha_nacimiento, Dirección y Teléfono. Vamos a realizar la consulta, utilizando el campo Nombre, posteriormente, pulsar el botón Siguiente.
104
UTILIZA VISUAL FOX PRO
3.
Establecer los criterios de consulta. En esta ventana el asistente presenta tres áreas importantes que son: campo, operador y valor, además del botón Vista previa. a.
Primeramente en el área de Campo tenemos.
Donde ALUMNOS es la tabla y NOMBRE es el campo por medio del cual vamos a llevar a cabo la consulta. b. En el área de Operador, establece condición de búsqueda. Para llevar a cabo la búsqueda se selecciona una de las condiciones que presenta el operador. A continuación se define el Valor de la información que se va a buscar.
Es importante escribir el valor que se va a consultar, respetando las letras mayúsculas y las letras minúsculas, de igual forma los caracteres especiales. Pulsar el botón vista previa para ver el panorama de la consulta.
BLOQUE 2
105
Utilizar los operadores lógicos, para llevar a cabo búsquedas basadas en dos registros.
Primeramente establecer los campos que se van a incluir en la búsqueda.
En seguida se define el Operador y el valor. Ejemplo 1: Para realizar la búsqueda de todos los registros con el nombre Ricardo y dirección en Ruiz Cortínez.
Ejemplo 2: Consulta es la búsqueda por apellido.
106
UTILIZA VISUAL FOX PRO
Actividad: 6 Acude al centro de cómputo para realiza la siguiente práctica en binas y preséntala a tu profesor. a) Crea una Consulta con de la tabla alumnos, por medio del campo matrícula. Comenta tu experiencia con tus compañeros y profesor. Finalmente escribe tus conclusiones. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ b) Crea una Consulta con de la tabla alumnos, por medio del campo apellido paterno. Comenta tu experiencia con tus compañeros y el profesor. Finalmente escribe tus conclusiones. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ c) Crea una Consulta en la tabla alumnos, por medio de los campos matrícula y nombre. Comenta tu experiencia con tus compañeros y profesor. Finalmente, escribe tus conclusiones. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________
BLOQUE 2
107
Actividad: 6 (continuación) d) Crea una Consulta con de la tabla alumnos, por medio del campos matricula o teléfono. Posteriormente comenta tu experiencia con tus compañeros y docente. Escribe tus conclusiones. _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ e) ¿Qué diferencia existe al utilizar AND u OR en una consulta? _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________
Actividad: 6 Conceptual Reconoce las herramientas del Visual Fox Pro, al realizar una consulta. Autoevaluación
108
Evaluación Producto: Ejercicio práctico. Saberes Procedimental Analiza y emplea las herramientas de Visual Fox Pro, para llevar a cabo una búsqueda. C
MC
NC
Puntaje: Actitudinal Atiende las indicaciones del docente para la realización de la práctica.
Calificación otorgada por el docente
UTILIZA VISUAL FOX PRO
Cierre Actividad: 7 En equipo de cinco integrantes, elabora una base de datos para el control de medicamentos de una farmacia, estableciendo medicamentos controlados y no controlados. Captura veinte productos y aplica: Formularios, Informes y Consultas. Guarda en un CD, para entregar al profesor.
BLOQUE 2
109
Actividad: 7 (continuación)
Actividad: 7 Conceptual Reconoce los asistentes del Visual FoxPro, para la manipulación de una base de datos. Coevaluación
110
Evaluación Producto: Ejercicio práctico. Saberes Procedimental Analiza y emplea los asistentes de Visual Fox Pro, para utilizar una base de datos. C
MC
NC
Puntaje: Actitudinal Atiende las indicaciones del docente para la realización de la práctica.
Calificación otorgada por el docente
UTILIZA VISUAL FOX PRO
Generalidades de programación de base 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
Secuencia didáctica 1. Introducción a los lenguajes de programación. Inicio
Actividad: 1 Responde las siguientes preguntas donde expreses tu opinión y experiencia sobre el tema solicitado. Escribe tus repuestas. 1. Define Lenguaje. __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ 2. Define Lenguaje de Programación. __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ 3.
Menciona tres lenguajes de programación. a) __________________________________________________________________________________________ b) __________________________________________________________________________________________ c) __________________________________________________________________________________________
4.
Explica brevemente la diferencia entre Algoritmo y Diagrama de Flujo.
__________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ __________________________________________________________________________________________________
Actividad: 1 Conceptual Reconoce los términos sobre los lenguajes de programación. Autoevaluación
112
Evaluación Producto: Cuestionario. Saberes Procedimental
Puntaje: Actitudinal
Analiza los conceptos de lenguajes de programación. C
MC
NC
Atiende las indicaciones del profesor.
Calificación otorgada por el docente
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Desarrollo Definición de lenguaje de programación. Un lenguaje de programación es aquel elemento dentro de la informática que nos permite crear programas mediante un conjunto de instrucciones, operadores y reglas de sintaxis; que pone a disposición del programador para que este pueda comunicarse con los dispositivos hardware y software existentes.
Tipos de lenguajes de programación. Lenguajes de bajo nivel. Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se puede migrar o utilizar en otras máquinas. Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo. Dentro de este grupo se encuentran:
El lenguaje maquina: Este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Consiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la máquina. Este lenguaje es mucho más rápido que los lenguajes de alto nivel. La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar algún error es casi imposible. El lenguaje ensamblador es un derivado del lenguaje máquina y está formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.
Lenguajes de alto nivel. Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina. Están dirigidos a solucionar problemas mediante el uso de EDD's. Se tratan de lenguajes independientes de la arquitectura de la computadora. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema. Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina(s) para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la máquina.
BLOQUE 3
¿Sabías que… EDD's son las abreviaturas de Estructuras Dinámicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar
de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa.
113
Lenguajes de medio nivel. Estos lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de estos lenguajes podría situarse el lenguaje C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel.
HTML. HTML (Hyper Text Markup Language) es un lenguaje sencillo que permite describir hipertexto, es decir, texto presentado de forma estructurada, con enlaces (hyperlinks) que conducen a otros documentos o fuentes de información relacionadas, y con inserciones multimedia (gráficos, sonido...). HTML no es técnicamente un lenguaje de programación sino un lenguaje de marcas (tags) de formato sobre un texto. Dichas marcas son interpretadas por un visualizador (en este caso el navegador o browser) para mostrar el resultado final del formateo.
Visual FoxPro. Es un lenguaje estructurado en un entorno de desarrollo donde ciertas tareas son asignadas a grupos de instrucciones llamadas programas. Además, Fox ofrece un acceso de información, bastante sencillo y fácil, incluso a las personas sin experiencia en programación.
Visual Basic. Visual-Basic es una herramienta de diseño de aplicaciones para Windows, en la que estas se desarrollan en una gran parte a partir del diseño de una interface gráfica. En una aplicación Visual - Basic, el programa está formado por una parte de código puro, y otras partes asociadas a los objetos que forman la interface gráfica. Es por tanto un término medio entre la programación tradicional, formada por una sucesión lineal de código estructurado, y la programación orientada a objetos. Combina ambas tendencias. Ya que no podemos decir que Visual Basic pertenezca por completo a uno de esos dos tipos de programación, debemos inventar una palabra que la defina: Programación Visual.
114
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Actividad: 2 Acude al centro de cómputo y en binas realiza la siguiente investigación, posteriormente participa en un debate grupal. Completa la siguiente tabla sobre los tipos de programación.
Tipos de Programación
Definición
Programación Estructurada.
Programación Modular.
Programación Orientada a Objetos.
Programación Concurrente.
Programación Funcional.
Programación Lógica.
Actividad: 2 Conceptual Reconoce los tipos de Programación. Coevaluación
BLOQUE 3
Evaluación Producto: Tabla. Saberes Procedimental
Puntaje: Actitudinal
Analiza los tipos de Programación. C
MC
NC
Muestra interés durante el desarrollo de la investigación.
Calificación otorgada por el docente
115
Visual Studio. Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) para sistemas operativos Windows. Soporta varios lenguajes de programación tales como Visual ++, Visual C#, Visual J#, ASP.NET y Visual Basic.NET, aunque actualmente se han desarrollado las extensiones necesarias para muchos otros. Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, así como servicios web en cualquier entorno que soporte la plataforma .NET (a partir de la versión net 2002). Así se pueden crear aplicaciones que se intercomuniquen entre estaciones de trabajo, páginas web y dispositivos móviles. Adicionalmente, Microsoft ha puesto gratuitamente a disposición de todo el mundo una versión reducida de MS SQL Server llamada SQL Server Express Edition cuyas principales limitaciones son que no soporta bases de datos superiores a 4 GB de tamaño, únicamente utiliza un procesador y un Gb de Ram, y no cuenta con el Agente de SQL Server. Visual Studio 2010 es la versión más reciente de esta herramienta, acompañada por .NET Framework 4.0.
SQL. El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en éstas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el fin de recuperar -de una forma sencilla- información de interés de una base de datos, así como también hacer cambios sobre ella. El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones. Es un lenguaje declarativo de "alto nivel", que gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros, permite una alta productividad en codificación y la orientación a objetos. De esta forma una sola sentencia puede equivaler, a una o más, que se utilizarían en un lenguaje de bajo nivel orientado a registros. El objetivo principal de SQL es la realización de consultas y cálculos con los datos de una o varias tablas. Para bases de datos con grandes cantidades de datos y usuarios, es recomendable utilizar el sistema Microsoft SQL Server ya que su principal función es ser una potente base de datos, capaz de trabajar en sí misma o bien con conexión a otros lenguajes de programación tales como, Visual Basic 6.0 o Visual Basic .NET. Además se puede realizar consultas directas a las tablas contenidas mediante instrucciones SQL. Internamente trae consigo el lenguaje Visual Basic Application (VBA) el cual es similar en forma al Visual Basic 6.0. Como su nombre indica, el SQL nos permite realizar consultas a la base de datos, además SQL además realiza funciones de definición, control y gestión de la base de datos. Las sentencias SQL se clasifican según su finalidad dando origen a tres sub lenguajes:
116
El DDL (Data Description Language), lenguaje de definición de datos, incluye órdenes para definir, modificar o borrar las tablas en las que se almacenan los datos y de las relaciones entre estas. (Es el que más varia de un sistema a otro)
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
El DCL (Data Control Language), lenguaje de control de datos, contiene elementos útiles para trabajar en un entorno multiusuario, en el que es importante la protección de los datos, la seguridad de las tablas y el establecimiento de restricciones en el acceso, así como elementos para coordinar la compartición de datos por parte de usuarios concurrentes, asegurando que no interfieren unos con otros.
El DML (Data Manipulation Language), lenguaje de manipulación de datos, nos permite recuperar los datos almacenados en la base de datos y también incluye órdenes para permitir al usuario actualizar la base de datos añadiendo nuevos datos, suprimiendo datos antiguos o modificando datos previamente almacenados.
Cierre
Actividad: 3 Acude al centro de cómputo y en binas realiza la siguiente investigación, posteriormente participa en un debate grupal. 1.
Completa la siguiente tabla sobre las sentencias de los sub lenguajes DDL y DML. Sub
Lenguajes
Sentencia
Función
Create Tabla
Create Index DDL
Drop Table Drop Index Truncate Insert Delete
DML
Update Select Rollback
BLOQUE 3
117
Actividad: 3 (continuación) 2. Contesta las siguientes preguntas. a) ¿Qué diferencia existe entre Programación Estructurada y Programación Modular? _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ b) ¿Cuál es la diferencia principal entre la Programación Orientada a Objeto y la Programación Concurrente? _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________ _________________________________________________________________________________________________
Evaluación Actividad: 3
Producto: Tabla. Saberes Procedimental
Conceptual Reconoce las sentencias DDL y DML. Autoevaluación
118
Puntaje: Actitudinal
Analiza la función de las sentencias DDL y DML C
MC
NC
Participa activamente durante la investigación y el debate.
Calificación otorgada por el docente
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Secuencia didáctica 2. Operaciones básicas de una base de datos en Microsoft Access. Inicio
Actividad: 1 Completa la siguiente tabla, sobre la cinta de opciones de Microsoft Access, posteriormente participa en un debate grupal.
Fichas de la Cinta de Opciones
En esta columna escribe los bloques de cada Ficha
Archivo
Inicio
Crear
Datos Externos
Herramientas de Bases de Datos
Campos
Tablas
Evaluación Actividad: 1
Producto: Tabla. Saberes Procedimental
Conceptual Reconoce los elementos de las fichas de la cinta de opciones. Autoevaluación
BLOQUE 3
Puntaje: Actitudinal
Analiza los elementos de las fichas de la cinta de opciones. C
MC
NC
Atiende las indicaciones del profesor.
Calificación otorgada por el docente
119
Desarrollo Introducción a tablas en Microsoft Access. Microsoft Access es un programa, utilizado en los sistemas operativos Microsoft Windows, para la gestión de Bases de Datos, creado y modificado por Microsoft, y orientado a ser usado en entornos personales o en pequeñas organizaciones. Es un componente de la suite Microsoft Windows. Permite crear archivos de bases de datos relacionales que pueden ser fácilmente gestionadas por una interfaz gráfica sencilla. Además, estas bases de datos pueden ser consultadas por otros programas. Dentro de un sistema de información, entraría dentro de la categoría de gestión, y no en la de ofimática, como podría pensarse. Este programa permite manipular los datos en forma de tablas (formadas por filas y columnas), crear relaciones entre tablas, consultas, formularios e informes, para presentar la información. A partir del estándar cada sistema ha desarrollado su propio SQL que puede variar de un sistema a otro, pero con cambios que no suponen ninguna complicación para alguien que conozca un SQL concreto, como el que vamos a ver aquí correspondiente al Access 2000. A continuación te presentamos una tabla de diferencias entre el Microsoft Access y el SQL Server.
Características
Access
SQL Server
Bajo
Muy alto
Arquitectura Cliente-Servidor.
No
Si
Número de usuarios conectados.
255
Ilimitado.
Límite de usuarios concurrentes.
255
Ilimitado.
Registro de transacciones.
No
Si
Seguridad integrada.
No
Procesamiento
de
consulta
más
rápido.
Restauración de datos.
Sí. A nivel de SQL y de Sistema Operativo.
Recupera a partir de la última copia
Cualquier día y hora de copias
de seguridad.
anteriores.
Administración remota de la Base de
No es posible. Solo se puede
Datos.
compartir a través de una Red.
Si
Funciones.
No
Si
Meta Datos.
No
Si
120
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Cinta de opciones de Microsoft Access. En Microsoft Access 2010, la ventana principal está distribuida en fichas de la siguiente manera:
Archivo. Inicio. Crear. Datos externos. Herramientas de base de datos. Campos. Tabla.
Ficha Crear. Esta ficha se utiliza para el manejo de tablas ya que podemos implementar:
Consultas. Formularios. Informes. Tablas. Macros y Códigos.
BLOQUE 3
121
Crear tabla. Antes de iniciar el proceso de crear una tabla se debe definir perfectamente su estructura. Los pasos para el proceso son: 1.
Dar clic en la ficha crear.
Ficha crear.
2. Dar clic en el elemento tabla.
Elemento tabla.
122
GENERALIDADES DE PROGRAMACIĂ“N DE BASE DE DATOS
3. Agregar los campos, primero seleccione el tipo de campo, posteriormente escriba el nombre.
Tipos de campos.
4. Se escribe el nombre del campo.
Nombre del campo.
Posteriormente se capturan los datos de los campos, por ejemplo: Clave, Nombre, A_Paterno, A_Materno, Tel茅fono y Electr贸nico.
BLOQUE 3
123
5. Guardamos los datos, por lo tanto le asignamos el nombre a la tabla.
Clic para guardar.
Posteriormente le asignamos el nombre a nuestra tabla, recordemos que una base de datos consta de varias tablas, por lo tanto es importante asignarle un nombre que corresponda a la información almacenada en la tabla.
Nombre asignado a la tabla.
124
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Es importante que recuerdes que la base de datos puede tener varias tablas, por lo tanto debes guardar la base de datos.
Indica que la base de datos no se ha guardado, por eso le asigna el nombre Database12.
Posteriormente damos clic en el menĂş Archivo.
Le asignamos el nombre a la base de datos.
BLOQUE 3
125
Actividad: 2 Acude al centro de cómputo y en binas crea una tabla en Microsoft Access de nombre Agenda, con los siguientes campos: Clave, Nombre, Apellido Paterno, Apellido Materno, Teléfono y Correo Electrónico. Presenta un reporte de la práctica a tu profesor.
Evaluación Actividad: 2
Producto: Reporte de Practica.
Puntaje:
Saberes Conceptual Identifica los pasos necesarios para elaborar una tabla en Microsoft Access. Coevaluación
126
Procedimental
Actitudinal
Crea los campos y registros de una tabla mediante el programa Access. C
MC
NC
Muestra interés al realizar la práctica.
Calificación otorgada por el docente
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Ficha de inicio. En esta ficha están distribuidos los bloques:
Vista. Portapapeles. Ordenar y filtrar. Registros. Buscar. Formato de Texto.
Bloque vista. Este bloque es de suma importancia ya que presenta vistas muy útiles para tener un mejor panorama de nuestro proyecto. A continuación presentamos algunas vistas.
Vistas del Bloque Ver de la Ficha de Inicio, antes de guardar una Tabla.
BLOQUE 3
127
Vistas generadas de una tabla desde la Ficha de Inicio y de la Ficha de Diseño, después de guardarla.
Vista hoja de datos. Esta vista es la más recomendable para la captura de datos de la Tabla.
128
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Vista tabla dinámica.
Vista de diseño. Para ver la estructura de la tabla, damos clic en Vista Diseño.
BLOQUE 3
129
Estructura de la Tabla.
Vista SQL. Puedes ver o editar la instrucción SQL en la vista SQL. Sin embargo, después de hacer cambios en una consulta en la vista SQL, puede que su aspecto no sea el que tenía en la Vista Diseño.
130
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Al dar clic sobre SQL Vista SQL, tendremos acceso al código que genera consulta el cual puede ser es desarrollado en los lenguajes: Visual Basic, SQL, etc.
Desde la vista SQL se pueden generar los códigos que se requieran para personalizar alguna consulta, formulario o informe. De igual forma se puede crear una tabla, agregar campos, insertar registros, eliminar registros, etc.
Ejecutar un código en vista SQL. Para observar el resultado del código solo se deben seguir dos pasos: 1.
Dar clic en el icono Ejecutar.
2.
Posteriormente observamos el resultado de la ejecución del código.
BLOQUE 3
131
Identifica los requerimientos mínimos de un proyecto. No existe un parámetro para determinar los requerimientos mínimos que debe tener un proyecto pero es recomendable al menos contar con una:
Tabla.
Consulta.
Informe.
Realiza consultas en Access. Las consultas SQL son creadas con unas instrucciones propias de SQL. Se puede utilizar el lenguaje de consulta estructurado SQL para consultar, actualizar y administrar bases de datos relacionales, como Microsoft Access. Cuando se crea una consulta en la vista de diseño de la consulta, Access construye en segundo plano las instrucciones SQL equivalentes. De hecho, la mayoría de las propiedades de consulta de la hoja de propiedades de la vista Diseño de la consulta tienen cláusulas y opciones equivalentes a las que están disponibles en la vista SQL. Para realizar una consulta Access presenta dos opciones: Asistente para Consultas y Diseño de Consulta, vamos a utilizar la segunda opción, para ello seguiremos los siguientes pasos: 1.
132
Selecciona Diseño de consulta.
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
2. Para obtener la vista de diseño damos clic en Vista Diseño.
3. Debemos seleccionar la tabla, y posteriormente da clic en el botón Agregar, cerramos el cuadro de dialogo dando clic en el botón Cerrar.
Botón Agregar.
BLOQUE 3
Botón Cerrar.
133
4. Seleccionamos los campos que se van a incluir en la consulta.
Campos de la Tabla, Agenda_2011.
Menú contextual, de Campos disponibles, para la consulta.
Casillas de Verificación, indican que estos campos están seleccionados en la consulta.
134
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
5. Para ejecutar la consulta damos clic en el Icono Ejecutar.
6. Vista despuĂŠs de la Consulta.
BLOQUE 3
135
Actividad: 3 Acude al centro de cómputo y en binas utiliza una tabla en Microsoft Access de nombre Agenda_2011, para crear una consulta donde presentes todos los campos, posteriormente utiliza la Vista SQL y escribe el código que presenta, coméntalo con tu profesor.
Evaluación Actividad: 3
Producto: Ejercicio práctico.
Conceptual Identifica el predicado del lenguaje SQL. Coevaluación
136
Puntaje:
Saberes Procedimental
Actitudinal
Analiza el predicado del Lenguaje SQL. C
MC
NC
Atiende las indicaciones del docente para la realización de la práctica.
Calificación otorgada por el docente
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Utiliza el asistente de formularios. En el bloque de formulario ahí varias opciones para el desarrollo de los mismos estas son:
Formulario.
Diseño del formulario.
Formulario en blanco.
Asistente para formularios.
Navegación y más formularios.
BLOQUE 3
137
Vamos a utilizar el Asistente de formulario para aplicarlo a la tabla de Agenda_2011. Para ello seguiremos los siguientes pasos: 1. Seleccionamos la Tabla.
Clic para seleccionar.
2. Clic en el Asistente de formularios.
3. En el cuadro de dialogo del Asistente para formularios seleccionamos los campos que vamos a incluir en el formulario.
Selector Campo por Campo.
Selector todos los campos a la vez.
138
GENERALIDADES DE PROGRAMACIĂ“N DE BASE DE DATOS
Campos Seleccionados.
4. Despu茅s de dar clic en el bot贸n siguiente, en el cuadro de dialogo del Asistente se define la distribuci贸n de los campos seleccionados en el formulario.
BLOQUE 3
139
5. Pulsamos clic en siguiente y a continuación le asignamos el nombre al formulario y para terminar damos clic en el botón Finalizar.
Botón Finalizar.
La vista de nuestro Formulario ya terminado es la siguiente.
Botones para desplazarnos por los registros de la Tabla.
140
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Utiliza el Asistente de Informes. Este asistente permite generar reportes de los campos de la base de datos seleccionada. En el bloque de Informes ahí varias opciones para generar reportes:
Informe.
Diseño de Informe.
Informe en blanco.
Asistente para Informes y Etiquetas.
BLOQUE 3
141
Para generar un informe utilizando el asistente seguiremos los siguientes pasos:
Seleccionar la Tabla.
Damos clic en el Icono del Asistente para Informes.
En el cuadro de dialogo del asistente para informes seleccionar los campos que se van a incluir.
Campos disponibles de la Tabla Seleccionada.
Selectores de Campos.
142
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Campos seleccionados.
Botón siguiente.
Después de dar clic en el botón siguiente, el Asistente para Informes pregunta si se desea agregar algún agrupamiento.
Campos para agrupar.
Botones para agrupar campos.
BLOQUE 3
143
A continuación se definen los criterios de ordenación que se desea utilizar para los registros.
Campos para ordenar.
Nivel de ordenación.
144
En seguida definimos la distribución y orientación de los campos seleccionados.
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Le asignamos el nombre a nuestro informe y lo podemos visualizar en vista previa o en su defecto damos clic en el botón Finalizar.
Asignamos el nombre.
Finalmente obtenemos la Vista Preliminar.
BLOQUE 3
145
Cierre Actividad: 4 Acude al centro de cómputo y en binas crea una tabla en Microsoft Access de nombre Agenda_2011, con los siguientes campos: Clave, Nombre, Apellido Paterno, Apellido Materno, Teléfono y Correo Electrónico. Posteriormente crea una consulta, un formulario y un informe, presenta un reporte de la práctica a tu profesor.
Evaluación Actividad: 4
Producto: Ejercicio práctico.
Conceptual Identifica los elementos necesarios para crear un proyecto. Coevaluación
146
Puntaje:
Saberes Procedimental
Actitudinal
Analiza la información que se utiliza para la estructura del proyecto. C
MC
NC
Atiende las indicaciones del docente para la realización de la práctica.
Calificación otorgada por el docente
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Secuencia didáctica 3. Programación básica en SQL. Inicio
Actividad: 1 Responde las siguientes preguntas donde expreses tu opinión y experiencia sobre el tema solicitado. Escribe tus repuestas. 1.
¿Qué es un Sistema de Gestión de Base de Datos?
__________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ 2.
Menciona tres ventajas de los manejadores de bases de datos. a) __________________________________________________________________________________________ b) __________________________________________________________________________________________ c) __________________________________________________________________________________________
3.
¿Qué diferencia existe entre SQL y el SQL server?
__________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________ __________________________________________________________________________________________________
Actividad: 1 Conceptual Reconoce los conceptos básicos de los lenguajes de programación. Autoevaluación
BLOQUE 3
Evaluación Producto: Cuestionario. Saberes Procedimental
Puntaje: Actitudinal
Analiza los conceptos básicos de los lenguajes de programación. C
MC
NC
Contesta responsablemente el cuestionario y participa en un debate grupal.
Calificación otorgada por el docente
147
Desarrollo ¿Qué es el SQL? Las aplicaciones en red son cada día más numerosas y versátiles. En muchos casos, el esquema básico de operación es una serie de scripts que rigen el comportamiento de una base de datos. Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia de estándares que nos permiten el realizar las operaciones básicas de una forma universal. Structured Query Language (SQL) es un lenguaje estándar de comunicación con bases de datos. Hablamos por tanto de un lenguaje normalizado que nos permite trabajar con cualquier tipo de lenguaje (ASP o PHP) en combinación con cualquier tipo de base de datos (MS Access, SQL Server, MySQL...). El hecho de que sea estándar no quiere decir que sea idéntico para cada base de datos. En efecto, determinadas bases de datos implementan funciones específicas que no tienen necesariamente que funcionar en otras. Aparte de esta universalidad, el SQL posee otras dos características muy apreciadas. Por una parte, presenta una potencia y versatilidad notables que contrasta, por otra, con su accesibilidad de aprendizaje.
¿Qué es un ODBC? Es un estándar de acceso a bases de datos que utilizan los sistemas Microsoft. Las siglas significan Open DataBase Connectivity. A través de ODBC, en un sistema Windows se puede conectar con cualquier base de datos. Bueno habría que decir que permite conectar con cualquier base de datos de la que exista un driver ODBC. Los creadores de las distintas bases de datos son los responsables de crear un driver ODBC para que su base de datos se pueda conectar desde un sistema Microsoft. Para conectar con ODBC una base de datos se ha de crear un DSN, que es un nombre que asociamos a una conexión por ODBC para referirnos a ella desde las aplicaciones o programas que deban conectarse con la base de datos. Un DSN (Data Source Name) que en español, Nombre Fuente de Datos o Nombre de Origen de Datos, que representa todo lo relativo a una fuente de datos configurada por el usuario para conectarse a una Base de datos. Cualquier base de datos que se pretenda utilizar desde aplicaciones Windows debe tener su propio driver ODBC. Por ejemplo, MySQL dispone de un Driver ODBC que se puede descargar desde su página web. Las bases de datos Access (Microsoft Jet) y SQL Server de Microsoft también tienen su driver ODBC y este ya se encuentra instalado en el Windows de fábrica.
Características del lenguaje. Una sentencia SQL es como una frase (escrita en inglés) con la que decimos lo que queremos obtener y de donde obtenerlo. Todas las sentencias empiezan con un verbo (palabra reservada que indica la acción a realizar), seguido del resto de cláusulas, algunas obligatorias y otras opcionales que completan la frase. Todas las sentencias siguen una sintaxis para que se puedan ejecutar correctamente, para describir esa sintaxis utilizaremos un diagrama sintáctico como el que se muestra a continuación.
148
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Tipos de campos. Como sabemos una base de datos está compuesta de tablas donde almacenamos registros catalogados en función de distintos campos (características). Un aspecto previo a considerar es la naturaleza de los valores que introducimos en esos campos. Dado que una base de datos trabaja con todo tipo de informaciones, es importante especificarle qué tipo de valor le estamos introduciendo de manera a, por un lado, facilitar la búsqueda posteriormente y por otro, optimizar los recursos de memoria. Cada base de datos introduce tipos de valores de campo que no necesariamente están presentes en otras. Sin embargo, existe un conjunto de tipos que están representados en la totalidad de estas bases. Estos tipos comunes son los siguientes: Alfanuméricos
Contienen cifras y letras. Presentan una longitud limitada (255 caracteres)
Numéricos
Existen de varios tipos, principalmente, enteros (sin decimales) y reales (con decimales).
Booleanos
Poseen dos formas: Verdadero y falso (Sí o No)
Fechas
Almacenan fechas facilitando posteriormente su explotación. Almacenar fechas de esta forma posibilita ordenar los registros por fechas o calcular los días entre una fecha y otra...
Memos
Son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados (veremos más adelante lo que esto quiere decir).
Son campos numéricos enteros que incrementan en una unidad su valor para cada registro Autoincrementables incorporado. Su utilidad resulta más que evidente: Servir de identificador ya que resultan exclusivos de un registro.
Actividad: 2 En binas, completa lo que a continuación se te solicita, posteriormente preséntalo a tu profesor.
Completa la siguiente tabla sobre los tipos de Campos. Tipos de Campos
Descripción
Alfanuméricos
Numéricos
BLOQUE 3
149
Actividad: 2 (continuación)
Tipos de Campos
Descripción
Booleanos
Fechas
Memos
Autoincrementables
Actividad: 2 Conceptual Reconoce los tipos de campos del SQL. Coevaluación
150
Evaluación Producto: Tabla. Saberes Procedimental
Puntaje:
Analiza los tipos de campos del SQL. C
MC
NC
Actitudinal Atiende las indicaciones del docente para completar los cuadros, participa en el debate grupal.
Calificación otorgada por el docente
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Tipos de datos SQL. Los tipos de datos SQL se clasifican en 13 tipos de datos primarios y de varios sinónimos válidos reconocidos por dichos tipos de datos. Los tipos de datos primarios son:
Tipo de Datos
Longitud
Descripción
BINARY
1 byte
Para consultas sobre tabla adjunta de productos de bases de datos que definen un tipo de datos Binario.
BIT
1 byte
Valores Si/No o True/False
BYTE
1 byte
Un valor entero entre 0 y 255.
COUNTER
4 bytes
Un número incrementado automáticamente (de tipo Long)
CURRENCY
8 bytes
Un entero escalable entre 922.337.203.685.477,5808 y 922.337.203.685.477,5807.
DATETIME
8 bytes
Un valor de fecha u hora entre los años 100 y 9999.
SINGLE
4 bytes
Un valor en punto flotante de precisión simple con un rango de - 3.402823*1038 a 1.401298*10-45 para valores negativos, 1.401298*10- 45 a 3.402823*1038 para valores positivos, y 0.
DOUBLE
8 bytes
Un valor en punto flotante de doble precisión con un rango de 1.79769313486232*10308 a -4.94065645841247*10-324 para valores negativos, 4.94065645841247*10-324 a 1.79769313486232*10308 para valores positivos, y 0.
SHORT
2 bytes
Un entero corto entre -32,768 y 32,767.
LONG
4 bytes
Un entero largo entre -2,147,483,648 y 2,147,483,647.
LONGTEXT
1 byte por carácter
De cero a un máximo de 1.2 gigabytes.
LONGBINARY
Según se necesite
De cero 1 gigabyte. Utilizado para objetos OLE.
TEXT
1 byte por carácter
De cero a 255 caracteres.
BLOQUE 3
151
La siguiente tabla recoge los sinónimos de los tipos de datos definidos:
152
Tipo de Dato
Sinónimos
BINARY
VARBINARY
BIT
BOOLEAN LOGICAL LOGICAL1 YESNO
BYTE
INTEGER1
COUNTER
AUTOINCREMENT
CURRENCY
MONEY
DATETIME
DATE TIME TIMESTAMP
SINGLE
FLOAT4 IEEESINGLE REAL
DOUBLE
FLOAT FLOAT8 IEEEDOUBLE NUMBER NUMERIC
SHORT
INTEGER2 SMALLINT
LONG
INT INTEGER INTEGER4
LONGBINARY
GENERAL OLEOBJECT
LONGTEXT
LONGCHAR MEMO NOTE
TEXT
ALPHANUMERIC CHAR - CHARACTER STRING - VARCHAR
VARIANT (No Admitido)
VALUE
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Actividad: 3 Lee el tema “Tipos de datos SQL”, Posteriormente, coloca la letra en el paréntesis correspondiente.
A)
Un entero corto entre -32,768 y 32,767.
(
)
TEXT
B)
Un valor entero entre 0 y 255.
(
)
COUNTER
C)
De cero a 255 caracteres.
(
)
LONG
D)
Un entero largo entre -2, 147, 483,648 y 2, 147, 483,647.
(
)
SHORT
E)
Un número incrementado automáticamente. (de tipo Long)
(
)
BIT
F)
De cero a un máximo de 1.2 gigabytes.
(
)
BINARY
G)
Para consultas sobre tabla adjunta de productos de bases de datos que definen un tipo de datos Binario.
(
)
BYTE
H)
Valores Si/No o True/False.
(
)
LONGTEXT
Actividad: 3 Conceptual Reconoce los tipos de datos de datos de SQL. Autoevaluación
BLOQUE 3
Evaluación Producto: Relación. Saberes Procedimental
Puntaje: Actitudinal
Analiza los tipos de datos de SQL. C
MC
NC
Muestra interés y actitud positiva en el desarrollo de la actividad.
Calificación otorgada por el docente
153
Tipos de sentencias y sus componentes sintácticos. En SQL tenemos bastantes sentencias que se pueden utilizar para realizar diversas tareas. Dependiendo de las tareas, estas sentencias se pueden clasificar en tres grupos principales (DML, DDL,DCL), aunque nos quedaría otro grupo que no está dentro del lenguaje SQL sino del PLSQL.
Sentencia
DML
Manipulación de datos SELECT INSERT DELETE UPDATE
Recupera datos de la base de datos. Añade nuevas filas de datos a la base de datos. Suprime filas de datos de la base de datos. Modifica datos existentes en la base de datos.
DDL
Definición de datos CREATE TABLE DROP TABLE ALTER TABLE CREATE VIEW DROP VIEW CREATE INDEX DROP INDEX CREATE SYNOYM DROP SYNONYM
Añade una nueva tabla a la base de datos. Suprime una tabla de la base de datos. Modifica la estructura de una tabla existente. Añade una nueva vista a la base de datos. Suprime una vista de la base de datos. Construye un índice para una columna. Suprime el índice para una columna. Define un alias para un nombre de tabla. Suprime un alias para un nombre de tabla.
DCL
Control de acceso GRANT REVOKE Control de transacciones COMMIT ROLLBACK
SQL Programático DECLARE PLSQL OPEN FETCH CLOSE
154
Descripción
Concede privilegios de acceso a usuarios. Suprime privilegios de acceso a usuarios Finaliza la transacción actual. Devuelve a un estado precio a la transacción actual. Define un cursor para una consulta. Abre un cursor para recuperar resultados de consulta. Recupera una fila de resultados de consulta. Cierra un cursor.
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Componentes sintácticos. La mayoría de sentencias SQL tienen la misma estructura. Todas comienzan por un verbo (select, insert, update, create), a continuación le sigue una o más cláusulas que nos dicen los datos con los que vamos a operar (from, where), algunas de estas son opcionales y otras obligatorias como es el caso del from.
Interpretar un diagrama sintáctico. Las palabras que aparecen en mayúsculas son palabras reservadas se tienen que poner tal cual y no se pueden utilizar para otro fin, por ejemplo, en el diagrama de la figura tenemos las palabras reservadas SELECT, ALL,
DISTINCT, FROM, WHERE.
Las palabras en minúsculas son variables que el usuario deberá sustituir por un dato concreto. En el diagrama tenemos nbcolumna, expresión-tabla y condición-debúsqueda. Una sentencia válida se construye siguiendo la línea a través del diagrama hasta el punto que marca el final. Las líneas se siguen de izquierda a derecha y de arriba abajo. Cuando se quiere alterar el orden normal se indica con una flecha. Pasos para estructurar la sentencia SELECT en SQL. 1. 2. 3. 4. 5.
Utilizar la sentencia SELECT. Nombre de los campos de la tabla. Utilizar la palabra reservada FROM. Incluir la Cláusula WHERE. Definir la condición de búsqueda.
Ejemplos de la sentencia SELECT:
a) Select All col1, col2, col3 From mitabla b) Select Distinct col1 From mitabla c) Select col1, col2 From mitabla Where col2 = 0
BLOQUE 3
155
Actividad: 4 En binas acude al centro de cómputo e investiga la utilidad de los sinónimos de los tipos de datos de SQL, posteriormente participa en un debate grupal.
Tipo de Dato
Sinónimos
BIT
BOOLEAN LOGICAL LOGICAL1 YESNO
COUNTER
AUTOINCREMENT
DATETIME
DATE TIME TIMESTAMP
TEXT
ALPHANUMERIC CHAR - CHARACTER STRING - VARCHAR
SINGLE
FLOAT4 IEEESINGLE REAL
LONG
INT INTEGER INTEGER4
LONGTEXT
LONGCHAR MEMO NOTE
Actividad: 4 Conceptual Reconoce la utilidad de los sinónimos de los tipos de datos de SQL. Coevaluación
156
Utilidad
Evaluación Producto: Tabla. Saberes Procedimental
Puntaje: Actitudinal
Analiza la utilidad de los sinónimos de los tipos de datos de SQL. C
MC
NC
Muestra interés y actitud positiva en el desarrollo de la actividad.
Calificación otorgada por el docente
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Actividad: 5 En equipo mixtos de tres, completa el cuadro sobre Tipos de Sentencias.
Sentencia
Grupo
Descripci贸n
SELECT
CREATE TABLE
GRANT
INSERT
DROP TABLE
REVOKE
DECLARE
Actividad: 5 Conceptual Identifica los grupos de las sentencias de SQL. Coevaluaci贸n
BLOQUE 3
Evaluaci贸n Producto: Tabla. Saberes Procedimental
Puntaje: Actitudinal
Describe las sentencias de SQL. C
MC
NC
Es eficiente en el trabajo colaborativo.
Calificaci贸n otorgada por el docente
157
Código SQL para crear una tabla. En general, la mayoría de las bases de datos poseen potentes editores de bases que permiten la creación rápida y sencilla de cualquier tipo de tabla con cualquier tipo de formato. Sin embargo, una vez la base de datos está alojada en el servidor, puede darse el caso de que queramos introducir una nueva tabla ya sea con carácter temporal (para gestionar un carrito de compra por ejemplo) o bien permanente por necesidades concretas de nuestra aplicación. En estos casos, podemos, a partir de una sentencia SQL, crear la tabla con el formato que deseemos lo cual nos puede ahorrar más de un problema. Este tipo de sentencias son especialmente útiles para bases de datos como Mysql, las cuales trabajan directamente con comandos SQL y no por medio de editores. Para crear una tabla debemos especificar diversos datos: El nombre que le queremos asignar, los nombres de los campos y sus características. Además, puede ser necesario especificar cuáles de estos campos van a ser índices y de qué tipo van a serlo. La sintaxis de creación puede variar ligeramente de una base de datos a otra ya que los tipos de campo aceptados no están completamente estandarizados. A continuación los explicamos la sintaxis para la creación de una Tabla y posteriormente presentamos ejemplos prácticos:
Sintaxis. Create Table nombre_tabla ( nombre_campo_1 tipo_1 nombre_campo_2 tipo_2 nombre_campo_n tipo_n Key (campo_x,...) )
158
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Pongamos ahora como ejemplo la creación de la tabla pedidos.
En este ejemplo creamos los campos IdPedido, IdCliente, IdArticulo, Cantidad y Total los cuales son considerados de tipo entero de una longitud especificada por el número entre paréntesis. Por otra parte, para evitar un mensaje de error, es necesario requerir que los campos que van a ser definidos como índices no puedan ser nulos (NOT NULL). El campo Fecha es almacenado con formato de fecha (DATE) para permitir su correcta explotación a partir de las funciones previstas a tal efecto.
Por ejemplo para crear una tabla de artículos utilizaremos la siguiente rutina:
En las sentencias vemos que los campos alfanuméricos son introducidos de la misma forma que los numéricos. Volvemos a recordar que en tablas que tienen campos comunes es de vital importancia definir estos campos de la misma forma para el buen funcionamiento de la base.
BLOQUE 3
159
Muchas son las opciones que se ofrecen al generar tablas. Estos son algunos de los tipos de campos que pueden ser empleados en la creación de tablas con sus características: Tipo Int o Integer
Bytes 4
Double o Real Char Varchar Date Blob Bit o Boolean
8 1/carácter 1/caracter+1 3 1/caracter+2 1
Descripción Números enteros. Existen otros tipos de mayor o menor longitud específicos de cada base de datos. Números reales (grandes y con decimales). Permiten almacenar todo tipo de número no entero. Alfanuméricos de longitud fija predefinida Alfanuméricos de longitud variable Fechas, existen múltiples formatos específicos de cada base de datos Grandes textos no indexables. Almacenan un bit de información (verdadero o falso)
En la terminología usada en SQL no se alude a las relaciones, del mismo modo que no se usa el término atributo, pero sí la palabra columna, y no se habla de tupla, sino de línea.
Sintaxix para crea tablas nuevas Create Table tabla (campo1 tipo (tamaño) índice1, campo2 tipo (tamaño) índice2,..., índice multicampo,..) En donde: tabla campo1 campo2 tipo tamaño índice1 índice2 índice multicampos
Es el nombre de la tabla que se va a crear. Es el nombre del campo o de los campos que se van a crear en la nueva tabla. La nueva tabla debe contener, al menos, un campo. Es el tipo de datos de campo en la nueva tabla. (Ver Tipos de Datos) Es el tamaño del campo sólo se aplica para campos de tipo texto. Es una cláusula CONSTRAINT que define el tipo de índice a crear. Esta cláusula en opcional. Es una cláusula CONSTRAINT que define el tipo de índice multicampos a crear. Un índice multicampo es aquel que está indexado por el contenido de varios campos. Esta cláusula en opcional.
Ejemplos, para crear una tabla:
1) Crea una nueva tabla llamada Empleados con dos campos, uno llamado Nombre de tipo texto y longitud 25 y otro llamado apellidos con longitud 50.
160
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
2) Crea una nueva tabla llamada Empleados con un campo Nombre de tipo texto y longitud 10, otro con llamado Apellidos de tipo texto y longitud predeterminada (50) y uno más llamado FechaNacimiento de tipo Fecha/Hora. También crea un índice único - no permite valores repetidos - formado por los tres campos.
3) Crea una tabla llamada Empleados con un campo Texto de longitud predeterminada (50) llamado Nombre y otro igual llamado Apellidos, crea otro campo llamado FechaNacimiento de tipo Fecha/Hora y el campo IdEmpleado de tipo entero el que establece como clave principal.
BLOQUE 3
161
La cláusula CONSTRAINT. Se utiliza la cláusula CONSTRAINT en las instrucciones ALTER TABLE y CREATE TABLE para crear o eliminar índices. Existen dos sintaxis para esta cláusula dependiendo si desea Crear o Eliminar un índice de un único campo o si se trata de un campo multiíndice. Si se utiliza el motor de datos de Microsoft, sólo podrá utilizar esta cláusula con las bases de datos propias de dicho motor. Para los índices de campos únicos:
Constraint nombre {Primary Key | Unique | References tabla externa [(campo externo1, campo externo2)]} Para los índices de campos múltiples:
Constraint nombre {Primary Key (primario1 [, primario2 [,...]]) |Unique (único1 [, único2 [, ...]]) | Foreign Key (ref1[, ref2 [,...]]) References tabla externa [(campo externo1 ,campo externo2 [,...])]} En donde: nombre primarioN únicoN refN tabla externa campos externos
Es el nombre del índice que se va a crear. Es el nombre del campo o de los campos que forman el índice primario. Es el nombre del campo o de los campos que forman el índice de clave única. Es el nombre del campo o de los campos que forman el índice externo (hacen referencia a campos de otra tabla). Es el nombre de la tabla que contiene el campo o los campos referenciados en refN Es el nombre del campo o de los campos de la tabla externa especificados por ref1, ref2,... , refN
Si se desea crear un índice para un campo cuando se está utilizando las instrucciones ALTER TABLE o CREATE TABLE la cláusula CONTRAINT debe aparecer inmediatamente después de la especificación del campo indexado. Si se desea crear un índice con múltiples campos cuando se está utilizando las instrucciones ALTER TABLE o CREATE TABLE la cláusula CONSTRAINT debe aparecer fuera de la cláusula de creación de tabla. Índice Unique Primary Key
Foreign Key
162
Descripción Genera un índice de clave única. Lo que implica que los registros de la tabla no pueden contener el mismo valor en los campos indexados. Genera un índice primario el campo o los campos especificados. Todos los campos de la clave principal deben ser únicos y no nulos, cada tabla sólo puede contener una única clave principal. Genera un índice externo (toma como valor del índice campos contenidos en otras tablas). Si la clave principal de la tabla externa consta de más de un campo, se debe utilizar una definición de índice de múltiples campos, listando todos los campos de referencia, el nombre de la tabla externa, y los nombres de los campos referenciados en la tabla externa en el mismo orden que los campos de referencia listados. Si los campos referenciados son la clave principal de la tabla externa, no tiene que especificar los campos referenciados, predeterminado por valor, el motor Jet se comporta como si la clave principal de la tabla externa estuviera formada por los campos referenciados.
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Actividad: 6 En Binas, realiza la siguiente práctica, verifica que no tengas errores en la sintaxis. Posteriormente preséntalo a tu profesor. 1) Escribe las instrucciones para crear una tabla, con las siguientes condiciones. Nombre de la Tabla Agenda. Campos de la Tabla Matricula, Nombre, Apellido Paterno, Apellido Materno, Semestre, Serie, Teléfono, Correo Electrónico.
BLOQUE 3
163
Actividad: 6 (continuación) 2) Escribe las instrucciones para crear una tabla, con las siguientes condiciones:
Nombre de la Tabla Agenda. Campos de la Tabla Matricula, Nombre, Apellido Paterno, Apellido Materno, Semestre, Serie, Teléfono, Correo Electrónico. Utiliza la Cláusula Constraint, para crea un índice único – que no permita valores repetidos – de los campos Matricula y Correo Electrónico.
Actividad: 6 Conceptual Reconoce la sintaxis de la sentencia Create Table. Coevaluación
164
Evaluación Producto: Reporte de Practica. Saberes Procedimental
Puntaje: Actitudinal
Uyiliza la sentencia Create Table y sus anexos. C
MC
NC
Analiza de manera responsable los ejercicios de la práctica.
Calificación otorgada por el docente
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Crea índices en SQL. Si se utiliza el motor de datos Jet de Microsoft sólo se pueden crear índices en bases de datos del mismo motor. La sintaxis para crear un índice en una tabla ya definida en la siguiente:
¿Sabías que… El motor Jet son unas librerías DLL que vienen con el Windows y sirven para mantener los archivos .mdb.
Create [ Unique ] Index índiceON Tabla (campo [ASC|DESC][, campo [ASC|DESC], ...]) [With {Primary | Disallow Null | Ignore Null}] En donde: índice tabla campo ASC|DESC Unique Disallow Null Ignore Null Primary
Es el nombre del índice a crear. Es el nombre de una tabla existente en la que se creará el índice. Es el nombre del campo o lista de campos que constituyen el índice. Indica el orden de los valores de los campos ASC indica un orden ascendente (valor predeterminado) y DESC un orden descendente. Indica que el índice no puede contener valores duplicados. Prohíbe valores nulos en el índice. Excluye del índice los valores nulos incluidos en los campos que lo componen. Asigna al índice la categoría de clave principal, en cada tabla sólo puede existir un único índice que sea "Clave Principal". Si un índice es clave principal implica que no puede contener valores nulos ni duplicados.
En el caso de Access, se puede utilizar Create Index para crear un pseudo índice sobre una tabla adjunta en una fuente de datos ODBC tal como SQL Server que no tenga todavía un índice. No necesita permiso o tener acceso a un servidor remoto para crear un pseudo índice, además la base de datos remota no es consciente y no es afectada por el pseudo índice. Se utiliza la misma sintaxis para las tablas adjuntas que para las originales. Esto es especialmente útil para crear un índice en una tabla que sería de sólo lectura debido a la falta de un índice.
Ejemplo: 1) Crea un índice llamado MiIndice en la tabla empleados con los campos Clave y Teléfono.
BLOQUE 3
165
2) Crea un índice en la tabla Empleados utilizando el campo IdEmpleado, obligando que el campo IdEmpleado no contenga valores nulos ni repetidos.
Modifica el diseño de una tabla en SQL. Modifica el diseño de una tabla ya existente, se pueden modificar los campos o los índices existentes. Su sintaxis es:
Alter Table tabla {Add {Column tipo de campo [(tamaño)][Constraint índice]Constraint índice multicampo} | Drop {Column campo I Constraint nombre del índice}} En donde: tabla campo tipo tamaño índice índice multicampo
Operación Add Column Add Drop Column Drop
166
Es el nombre de la tabla que se desea modificar. Es el nombre del campo que se va a añadir o eliminar. Es el tipo de campo que se va a añadir. Es el tamaño del campo que se va a añadir (sólo para campos de texto). Es el nombre del índice del campo (cuando se crean campos) o el nombre del índice de la tabla que se desea eliminar. Es el nombre del índice del campo multicampo (cuando se crean campos) o el nombre del índice de la tabla que se desea eliminar.
Descripción Se utiliza para añadir un nuevo campo a la tabla, indicando el nombre, el tipo de campo y opcionalmente el tamaño (para campos de tipo texto). Se utiliza para agregar un índice de multicampos o de un único campo. Se utiliza para borrar un campo. Se especifica únicamente el nombre del campo. Se utiliza para eliminar un índice. Se especifica únicamente el nombre del índice a continuación de la palabra reservada CONSTRAINT.
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
A continuación te presentamos los siguientes ejemplos: 1)
Agrega un campo Salario de tipo Moneda a la tabla Empleados.
2)
Elimina el campo Salario de la tabla Empleados.
3) Agrega un índice externo a la tabla Pedidos. El índice externo se basa en el campo IdEmpleado y se refiere al campo IdEmpleado de la tabla Empleados. En este ejemplo no es necesario indicar el campo junto al nombre de la tabla en la cláusula REFERENCES, pues ID_Empleado es la clave principal de la tabla Empleados.
BLOQUE 3
167
4)
Elimina el índice de la tabla Pedidos.
Introduce registros en una tabla en SQL. Los registros pueden ser introducidos a partir de sentencias que emplean la instrucción Insert. La sintaxis es la siguiente: Insert Into nombre_tabla (nombre_campo1, nombre_campo2,...) Values (valor_campo1, valor_campo2...) Ejemplo.
Los campos no numéricos o booleanos van delimitados por apostrofes: '.
Borrar registros en una tabla en SQL. Para borrar un registro nos servimos de la instrucción Delete. En este caso debemos especificar cual o cuales son los registros que queremos borrar. Es por ello necesario establecer una selección que se llevara a cabo mediante la cláusula Where. Sintaxis.
Delete From nombre_tabla Where condiciones_de_selección
168
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Ejemplo para borrar todos los registros de los clientes que se llamen Pedro lo haríamos del siguiente modo:
Hay que tener cuidado con esta instrucción ya que si no especificamos una condición con Where, lo que estamos haciendo es borrar toda la tabla:
Edita registros en una tabla en SQL. Update es la instrucción que nos sirve para modificar nuestros registros. Es necesario especificar por medio de Where cuáles son los registros en los que queremos hacer efectivas nuestras modificaciones. Obviamente, tendremos que especificar cuáles son los nuevos valores de los campos que deseamos actualizar. Sintaxis. Update nombre_tabla Set nombre_campo1 = valor_campo1, nombre_campo2 = valor_campo2,... Where condiciones_de_selección Ejemplo.
Realiza selecciones eficientemente. La selección total o parcial de una tabla se lleva a cabo mediante la instrucción Select. En dicha selección hay que especificar:
Los campos que queremos seleccionar. La tabla en la que hacemos la selección.
BLOQUE 3
169
Por ejemplo una selección del nombre y dirección de los clientes con una instrucción de este tipo:
Para seleccionar todos los campos, es decir, toda la tabla, podríamos utilizar el comodín * del siguiente modo:
Resulta también muy útil el filtrar los registros mediante condiciones que vienen expresadas después de la cláusula Where. Si quisiésemos mostrar los clientes de una determinada ciudad usaríamos una expresión como esta:
Además, podríamos ordenar los resultados en función de uno o varios de sus campos. Para este último ejemplo los podríamos ordenar por nombre así:
Teniendo en cuenta que puede haber más de un cliente con el mismo nombre, podríamos dar un segundo criterio que podría ser el apellido:
170
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Crea el código para consultas básicas en SQL. La sintaxis básica de una consulta de selección es la siguiente: Select
Campos From
Tabla
Ejemplo:
Esta sentencia devuelve un conjunto de resultados con el campo nombre y teléfono de la tabla clientes.
Utiliza el código en SQL para actualizar una base de datos. Crea una consulta de actualización que cambia los valores de los campos de una tabla especificada basándose en un criterio específico. Su sintaxis es:
Update Tabla Set Campo1=Valor1, Campo2=Valor2, CampoN=ValorN
Where Criterio
Update es especialmente útil cuando se desea cambiar un gran número de registros o cuando éstos se encuentran en múltiples tablas. Puede cambiar varios campos a la vez. En el ejemplo siguiente se incrementa los valores cantidad pedidos en un 10 por ciento y los valores Transporte en un 3 por ciento para aquellos que se hayan enviado al Estado de Sinaloa:
Si en una consulta de actualización suprimimos la cláusula Where todos los registros de la tabla señalada serán actualizados.
BLOQUE 3
171
Cierre Actividad: 7 En Binas, realiza la siguiente práctica, posteriormente asiste al centro de cómputo, captura las instrucciones en SQL y verifica que no tengas errores en la sintaxis. Posteriormente entrega el reporte a tu profesor. 1)
Escribe las instrucciones para insertar en la tabla Agenda el campo Capacitación.
2)
Escribe las instrucciones para Borrar de la tabla Agenda el campo Serie.
3)
Escribe las instrucciones para Modificar en la tabla Agenda el campo específico.
4)
Escribe las instrucciones para Actualizar en la tabla Agenda el campo Semestre el cual debe incrementarse en uno, cada vez que el alumno pase al siguiente semestre.
Actividad: 7 Conceptual Reconoce la sintaxis de las operaciones básicas de una Tabla. Coevaluación
172
Evaluación Producto: Reporte de Practica. Saberes Procedimental
Puntaje: Actitudinal
Analiza la utilidad de las operaciones básicas de una tabla. C
MC
NC
Muestra interés en la realización de la práctica.
Calificación otorgada por el docente
GENERALIDADES DE PROGRAMACIÓN DE BASE DE DATOS
Bibliograf铆a Dise帽o de base de datos, segunda edici贸n. Sistemas Operativos Stallines Cuarta edici贸n. http://www.pablin.com.ar/computer/cursos/vfoxpro/vfpoop02.htm http://www.mygnet.net/manuales/foxpro/conceptos_basicos_de_vfp_6_dot_0.443 http://www.programatium.com/vfox/manual/index.htm http://www.programatium.com/vfox/manual/vfox1.htm http://geocities.ws/vidalreyna/FoxPro.html http://www.inei.gob.pe/biblioineipub/bancopub/inf/lib5020/CAP-4-2.HTM http://www.angelfire.com/sc2/oliver1473/guiavfp2.html http://www.desarrolloweb.com/articulos/introduccion-base-datos.html http://www.devjoker.com/contenidos/Iniciaci%C3%B3n-a-las-bases-de-datos/6/Introducci%C3%B3n-a-las-bases-dedatos.aspx http://www.mailxmail.com/curso-introduccion-access/que-es-base-datos http://www.mailxmail.com/curso-informatica-administracion-publica-3/bases-datos-concepto-caracteristicasfuncionalidades http://www.alegsa.com.ar/Dic/redundancia%20de%20datos.php http://www.maestrosdelweb.com/principiantes/%C2%BFque-son-las-bases-de-datos/ http://www3.uji.es/~mmarques/f47/apun/node39.html http://www3.uji.es/~mmarques/f47/apun/node40.html http://www.slideshare.net/Waleskita/diseo-de-archivos-y-base-de-datos-presentation http://exa.exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/MonogSO/GESTAR02.htm http://www.mailxmail.com/curso-diseno-base-datos-relacionales/diseno-conceptual-bases-datos-modelo-entidadrelacion http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=346 http://www.maestrosdelweb.com/editorial/tutsql1/ http://personal.lobocom.es/claudio/sql001.htm http://www.aulaclic.es/sql/f_sql.htm http://www.aulaclic.es/sqlserver/t_1_2.htm
BLOQUE 3
173