GUIA DE APRENDIZAJE F08-63-004/10-10
Versión 4
Proceso: Ejecución de la Formación Procedimiento: Desarrollo Curricular
Modelo de Mejora Continua
1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE Código de la Guía: 002 – BASES DE DATOS Y MODIFICADORES DE ACCESO.
Fecha de Inicio de la actividad: (Día – Mes – Año): 16-04-2012 Regional: QUINDÍO
Centro de formación: COMERCIO Y TURISMO Programa de Formación: PROGRAMACIÓN DE SOFTWARE Código: 228120 Versión: 100 Ficha SOFIA : 324524 Nombre del Proyecto: Aplicación Web Duración: 12 MESES Cliente Servidor Con Acceso A Datos Para La Sistematizacion De Procesos Institucionales(Administrativos, Directivos, Acádemicos Y Comunitarios) Fase del Proyecto: ANÁLISIS Duración: 380 HORAS Nombre de la Actividad del Proyecto: Desarrollar la base de datos y acceder a los módulos de consulta desde la interfaz del usuario. Plantear análisis y realizar algoritmos y pseudocódigo correspondiente al prototipo del software. Nombre de la Actividad de Aprendizaje 1. Duración en horas: 20 horas 1. Elaborar una base de datos en Fecha inicio: 12-09-2012 Access (prototipo del modelo de su Fecha Terminación: 24-09-2012 2. Duración en horas: 20 horas proyecto) basado en el diagrama de Fecha inicio: 30-08-2012 clases generado. 2. Elaborar menú de opciones aplicando Fecha Terminación: 13-09-2012 modificadores de acceso. Equipo Ejecutor de la Actividad: Instructor Diego Mauricio Torres Arias Resultados de Aprendizaje: (Los Asociados a la Actividad) 22050103203 - Describir que son los modificadores de Acceso para aplicarlos a un proyecto de formación. 22050103204 - Interpretar el diagrama relacional para identificar el modelo de datos. Competencias: 220501032 - Analizar los requerimientos del cliente para construir el sistema de información. 2. INTRODUCCIÓN Las bases de datos son hoy en día una herramienta una herramienta indispensable para los desarrolladores en cualquier ambiente y ámbito, dado que su uso para el almacenamiento de datos continua vigente desde su concepción hasta la fecha. En lo relativo a los llamados modificadores de acceso, no son otra cosa que las SENA: CONOCIMIENTO Y EMPRENDIMIENTO PARA TODOS LOS COLOMBIANOS Pagina 1 de 3
GUIA DE APRENDIZAJE F08-63-004/10-10
Versión 4
Proceso: Ejecución de la Formación Procedimiento: Desarrollo Curricular
Modelo de Mejora Continua
estructuras comunes existentes en todo lenguaje de programación y que se utilizan para crear bucles, tomar decisiones o crear estructuras. Para la aplicación de ambas herramientas se requiere conocimiento en temas específicos como la normalización, tipo de bases de datos y software manejador de bases de datos existentes. Para el segundo tema se hace necesario el desarrollo del razonamiento abstracto basado en la lógica matemática para plantear soluciones a nivel no solo de pseudocódigo sino también de código en un lenguaje de programación dado.
3. CONOCIMIENTOS PREVIOS Buena comprensión lectora. Conocimiento de teoría de conjuntos y lógica matemática. Interpretación de diagramas. 4. DESCRIPCION DE LAS ACTIVIDADES A DESARROLLAR 1. ACTIVIDAD 1: Elaborar una base de datos en Access (prototipo del modelo de su proyecto) basado en el diagrama de clases generado: Instructores: DIEGO MAURICIO TORRES ARIAS Técnico: Transversales: Inglés: # Horas: 20 Instrucciones para el desarrollo de las actividades: Definición: Una base de datos relacional se considera como un conjunto de tablas o tuplas unidas entre sí mediante campos clave o llave. A su vez, cada tabla se divide en registros, los cuales son la representación lógica de un elemento u objeto de la vida real a partir de sus características (campos), los cuales describen al objeto. Para esta actividad nos basaremos en el manejador de bases de datos incluido en el paquete ofimático de Microsoft Office, es decir, ACCESS, el cual nos permite en corto tiempo y de manera automática generar una completa base de datos con pantallas, estructura lógica y generación de consultas e informes. Adicionalmente, el Access permite interacción directa con el lenguaje SQL para creación de tablas, consultas, relaciones y procesos con datos sobre las mismas. Paso 1: Cree su base de datos según el método para bases de datos de Access adjunto por su instructor en la carpeta Material adicional (páginas 3 y 4). Paso 2: Cree las tablas con sus respectivos campos clave (si es un solo campo clave) utilizando la estructura: CREATE TABLE nombre_tabla (Campo_clave tipo NOT NULL UNIQUE SENA: CONOCIMIENTO Y EMPRENDIMIENTO PARA TODOS LOS COLOMBIANOS Pagina 2 de 3
GUIA DE APRENDIZAJE F08-63-004/10-10
Versión 4
Proceso: Ejecución de la Formación Procedimiento: Desarrollo Curricular
Modelo de Mejora Continua
CONSTRAINT campo_clave PRIMARY KEY, campo1 tipo_campo, campo2 tipo_campo, etc…); O cree las tablas con sus respectivos campos clave (si son varias claves) utilizando la estructura: CREATE TABLE nombre_tabla (campo1 tipo_campo, campo2 tipo_campo, etc…, CONSTRAINT nombre_relación PRIMARY KEY (campo1 tipo_campo, campo2 tipo_campo, etc…), UNIQUE (campo1 tipo_campo, campo2 tipo_campo, etc…) ); Paso 3: Cree las relaciones entre las tablas aplicando la estructura: ALTER TABLE nombre_tabla ADD CONSTRAINT nombre_relación FOREIGN KEY (clave_foránea) REFERENCES Nombre_tabla_arelacionar (clave_arelacionar); Paso 4: Inserte datos en las tablas utilizando la siguiente estructura: INSERT INTO nombre_tabla VALUES (valor1, valor2, valor3, etc);. – debe recordar que si los valores a insertar son de tipo texto o fecha/hora, estos deben ir entre comillas (“ “). Tenga además en cuenta las siguientes instrucciones: Alter table nombre_tabla add column nombre_columna tipo_dato; Para crear un nuevo campo en una tabla existente. Create index nombre_índice ON nombre_tabla(campo_aindizar desc); Para crear un índice de datos por medio del campo especificado (desc significa en orden descendente, de lo contrario será en orden ascendente. UPDATE nombre_tabla SET nombre_campo = valor, nombre_campo2 = valor, etc… WHERE campo_clave = valor; Para actualizar valores de campos en un registro ya creado de una tabla. Alter table nombre_tabla drop column nombre_columna; Para eliminar una columna ya creada en una tabla. DROP TABLE nombre_tabla; Para eliminar una tabla de una base de datos. ALTER TABLE nombre_tabla DROP CONSTRAINT nombre_relación; Para eliminar una relación entre tablas. Paso 5: Cree las consultas para su base de datos acorde con el procedimiento incluido en el método para bases de datos de Access adjunto por su instructor en la carpeta Material adicional (páginas 8 a 11). Paso 6: Cree los formularios para su base de datos acorde con el procedimiento incluido en el método para bases de datos de Access adjunto por su instructor en la carpeta Material adicional (páginas 11 a 14).
SENA: CONOCIMIENTO Y EMPRENDIMIENTO PARA TODOS LOS COLOMBIANOS Pagina 3 de 3
GUIA DE APRENDIZAJE F08-63-004/10-10
Versión 4
Proceso: Ejecución de la Formación Procedimiento: Desarrollo Curricular
Modelo de Mejora Continua
Paso 7: Cree los subformularios para su base de datos de acuerdo con el procedimiento incluido en el método para bases de datos de Access adjunto por su instructor en la carpeta Material adicional (páginas 14 a 19). Paso 8: Cree los botones de comando para los subformularios acorde con el procedimiento incluido en el método para bases de datos de Access adjunto por su instructor en la carpeta Material adicional (páginas 19 a 20). Paso 9: Cree el menú principal para su base de datos siguiendo el procedimiento incluido en el método para bases de datos de Access adjunto por su instructor en la carpeta Material adicional (páginas 19 a 20). ACTIVIDAD 2: Elaborar menú de opciones aplicando modificadores de acceso. Instructores: DIEGO MAURICIO TORRES ARIAS Técnico: Transversales: Inglés: # Horas: 20 Instrucciones para el desarrollo de las actividades: Definición: Los modificadores de acceso son estructuras comunes a cualquier lenguaje de programación ya que se basan en la mera lógica para crear ciclos, decisiones o estructuras tales como vectores o matrices. Para crear un menú de aplicaciones debemos recurrir a estas estructuras para crear los procesos internos tanto como el menú, esto de la siguiente manera: Paso 1: Para la creación de un vector podemos utilizar la siguiente estructura: TIPO_DATO NOMBRE[ ]; NOMBRE = NEW TIPO_DATO[POSICIONES]; Ejemplo: INT X [ ]; NEW INT[10];
Ejemplo aplicado:
SENA: CONOCIMIENTO Y EMPRENDIMIENTO PARA TODOS LOS COLOMBIANOS Pagina 4 de 3
GUIA DE APRENDIZAJE F08-63-004/10-10
Versi贸n 4
Proceso: Ejecuci贸n de la Formaci贸n Procedimiento: Desarrollo Curricular
Modelo de Mejora Continua
Paso 2: Para la creaci贸n de una matriz podemos utilizar la siguiente estructura: TIPO_DATO NOMBRE[ ] [ ]; NOMBRE = NEW TIPO_DATO[FILAS] [COLUMNAS]; Ejemplo: INT X [ ] [ ]; NEW INT[10] [10];
Ejemplo aplicado: package Matriz_capturavalores; public class Matriz_capturavalores { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i,j,h,h1; int x[][]; x=new int[5][5]; h=3; h1=(3*2)+8; for(i=0;i<5;i++) { for(j=0;j<5;j++) { SENA: CONOCIMIENTO Y EMPRENDIMIENTO PARA TODOS LOS COLOMBIANOS Pagina 5 de 3
GUIA DE APRENDIZAJE F08-63-004/10-10
Versión 4
Proceso: Ejecución de la Formación Procedimiento: Desarrollo Curricular
Modelo de Mejora Continua
x[i][j]=h; h=h+r; System.out.println("el valor de la matriz en la posición: "+i+j+"es"+x[i][j]); } } int num4=0; } }
Paso 3: para crear una decisión podemos utilizer la siguiente estructura: DECISIÓN SIMPLE: IF (CONDICIÓN) { INSTRUCCIONES; } DECISIÓN COMPUESTA: IF (CONDICIÓN) { INSTRUCCIONES; } ELSE { INSTRUCCIONES; }
Ejemplo: if(i % 2 ==0 && j<=9) { X[j]=i; j=(j+1); r=r+i; System.out.println("Valor encontrado: "+i); }
Paso 5: Nos apoyaremos en la estructura siguiente para crear un ciclo FOR: FOR (inicializo Variable = #<; Variable = #>; Variable ++) { INSTRUCCIONES; }
Ejemplo: for(i=15;i<=40;i++) { SENA: CONOCIMIENTO Y EMPRENDIMIENTO PARA TODOS LOS COLOMBIANOS Pagina 6 de 3
GUIA DE APRENDIZAJE F08-63-004/10-10
Versión 4
Proceso: Ejecución de la Formación Procedimiento: Desarrollo Curricular
Modelo de Mejora Continua
if(i % 2 ==0 && j<=9) { X[j]=i; j=(j+1); r=r+i; System.out.println("Valor encontrado: "+i); } }
O para un ciclo WHILE WHILE (CONDICIÓN) { INSTRUCCIONES; -Incremento de variable si la utilizo } Ejemplo: while(num4!=1) { BufferedReader buf4 = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Presione 1 para limpiar la pantalla..."); String borrar = buf4.readLine(); num4=Integer.parseInt(borrar); if(num4==1) { for(j=0;j<h1;j++) { System.out.println(" "); } } }
Paso 6: Para crear un menú puedo utilizar las estructuras SWITCH y CASE, así:
SENA: CONOCIMIENTO Y EMPRENDIMIENTO PARA TODOS LOS COLOMBIANOS Pagina 7 de 3
GUIA DE APRENDIZAJE F08-63-004/10-10
Versión 4
Proceso: Ejecución de la Formación Procedimiento: Desarrollo Curricular
Modelo de Mejora Continua
Paso 7: Recuerde además que: Utilizo: = = para comparación. Utilizo: = ¡ para significar diferente. Utilizo: = para asignar un valor. Utilizo: < o > para comparaciones menor y mayor qué. Utilizo: / para representar la división entera. Utilizo: % para representar el módulo de la división. Utilizo: && para representar “y”. Utilizo: || para representar “O”. Utilizo la estructura: Scanner sc = new Scanner(System.in); System.out.println("Escriba el nombre del vendedor:"); String nombreVendedor = sc.nextLine(); (Con la librería: import java.util.*;) SENA: CONOCIMIENTO Y EMPRENDIMIENTO PARA TODOS LOS COLOMBIANOS Pagina 8 de 3
GUIA DE APRENDIZAJE F08-63-004/10-10
Versión 4
Proceso: Ejecución de la Formación Procedimiento: Desarrollo Curricular
Modelo de Mejora Continua
O BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Escribe un Numero:"); String numTexto = buf.readLine(); (Con la librería: import java.io.*;)
Para capturar datos por pantalla del usuario. Utilizo la función: tipo_dato variable = Integer.parseInt(variable); Para convertir texto a valor entero. Adicionalmente, durante el proceso y dentro de las diferentes instrucciones utilizaremos las estructuras de programación ya vistas (aquí el resumen): CICLOS: INICIALIZO Variable; WHILE (CONDICIÓN con Variable) { INSTRUCCIONES; Variable = Variable + Incremento; } FOR (inicializo Variable = #<; Variable = #>; Variable ++) { INSTRUCCIONES; } DECISIÓN SIMPLE: IF (CONDICIÓN) { INSTRUCCIONES; } DECISIÓN COMPUESTA: IF (CONDICIÓN) { INSTRUCCIONES; } ELSE { INSTRUCCIONES; } DECLARACIÓN DE UN VECTOR: TIPO_DATO NOMBRE[ ]; NOMBRE = NEW TIPO_DATO[POSICIONES]; SENA: CONOCIMIENTO Y EMPRENDIMIENTO PARA TODOS LOS COLOMBIANOS Pagina 9 de 3
GUIA DE APRENDIZAJE F08-63-004/10-10
Versión 4 Modelo de Mejora Continua
Proceso: Ejecución de la Formación Procedimiento: Desarrollo Curricular
Ejemplo: INT X [ ]; NEW INT[10]; DECLARACIÓN DE UNA MATRIZ: TIPO_DATO NOMBRE[ ] [ ]; NOMBRE = NEW TIPO_DATO[FILAS] [COLUMNAS]; Ejemplo: INT X [ ] [ ]; NEW INT[10] [10]; INSTRUCCIÓN WHILE WHILE (CONDICIÓN) { INSTRUCCIONES; -Incremento de variable si la utilizo } FUNCIONES EN JAVA Se crea la función dentro de la clase creada en el paquete. Public Tipo_dato NOMBRE_FUNCION(Parámetro1,parámetro2,…) { INSTRUCCIONES; return parámetros; } Ejm: Public int CONTAR (int X,int Y) { Int Z = X + Y; return Z; }
Se crea un objeto del tipo función: Llamada a función: Nombre_clase Variable = new Nombre_clase(parámetro1, parámetro2, etc…); (Esta se llama a ejecución dentro de la clase Main(). PROCEDIMIENTOS EN JAVA Static void NOMBRE_PROCEDIMIENTO( ) { INSTRUCCIONES; } EJEMPLO: static void PROC1() { int y; y = 20; System.out.println("y="+y);
Llamada a un procedimiento: NOMBRE_PROCEDIMIENTO( );
Llamada procedimiento PROC1( );
};
SENA: CONOCIMIENTO Y EMPRENDIMIENTO PARA TODOS LOS COLOMBIANOS Pagina 10 de 3
GUIA DE APRENDIZAJE F08-63-004/10-10
Versión 4
Proceso: Ejecución de la Formación Procedimiento: Desarrollo Curricular
Modelo de Mejora Continua
5. EVIDENDIAS Y EVALUACIÓN Tipo de evidencia Conocimiento Desempeño
Producto
Forma de entrega: Criterios de Evaluación:
Técnicas e Instrumentos de Evaluación:
Descripción de la evidencia: 1. Solución de ejercicios propuestos 2. Correcta selección y uso de las estructuras propuestas. 1. Base de datos de Access aplicando programación SQL para creación de tablas, consultas, criterios, claves y relaciones. 2. Ejecutable .JAR que muestre la solución a un ejercicio propuesto. 1. Base de datos en Access (digital). 2. Archivo .JAR (ejecutable java del ejercicio resuelto – digital). Aplica buenas prácticas de programación. Selecciona de manera adecuada las estructuras de programación aprendidas de acuerdo al problema planteado. Genera de forma adecuada la base de datos con sus correspondientes tablas, campos, relaciones, consultas, informes y formularios. Aplica de forma correcta el código SQL necesario para resolver el problema propuesto. Utiliza de manera acertada su lógica para la solución del problema planteado. Técnica: Taller, Formulación de Instrumento: Problemas. Instrumento de evaluación No. 3 Base de datos Access desde SQL. Instrumento de evaluación No. 4 Modificadores de acceso JAVA.
5. AMBIENTES DE APRENDIZAJE, MEDIOS Y RECURSOS DIDÁCTICOS REQUERIDOS PARA LA ACTIVIDAD:
SENA: CONOCIMIENTO Y EMPRENDIMIENTO PARA TODOS LOS COLOMBIANOS Pagina 11 de 3
GUIA DE APRENDIZAJE F08-63-004/10-10
Versión 4
Proceso: Ejecución de la Formación Procedimiento: Desarrollo Curricular
Modelo de Mejora Continua
Sala de cómputo, computadores con acceso a internet, paquete ofimático, tablero, marcadores, lapiceros, lápiz, borrador, memoria USB, video Bean, Visio Viewer.
6.
GLOSARIO (Español e Ingles)
Tomado de: http://www.mhe.es/universidad/informatica/8448136640/archivos/apendice_general_4.pdf Applet: Tipo especial de programa Java que se puede ejecutar (correr) directamente en un navegador Web o en un visualizador applet. A un applet se le imponen diversas restricciones de seguridad. Por ejemplo, un applet no se puede ejecutar operaciones de entrada/salida en un sistema de usuario y por consiguiente no puede leer o escribir archivos o transmitir virus de computadora. Argumento (argument): Información pasada a un método. Los argumentos se suelen llamar también parámetros. Unmétodo que espera recibir argumentos debe contener una declaración de argumentos formales por cada argumento actual como parte de la cabecera del mismo. Cuando se invoca a un método, los valores de los argumentos actuales 8reales) se copia en los correspondientes argumentos formales. Vease parámetro actual (actual parameter). Array (array, vector, lista): Objeto contenedor que almacena una secuencia indexada de los mismos tipos de datos. Normalmente los elementos individuales se referencian por el valor de un índice. El índice es un valor entero que, suele comenzar, en 0 para el primer elementos, 1 para el segundo y así sucesivamente. Asignación (assignment): Almacenamiento de un valor en una variable. La sentencia de asignación es aquella que implementa la asignación y utiliza un operador de asignación Asociación (association) Una relación entre dos clases tales como una instancia de una clase referencia a una instancia de otra clase. Asociatividad (associativity): Orden en que se envalúan operadores de igual precedencia o prioridad dentro de una expresión. La asociatividad por la izquierda produce una evaluación de izquierda a derecha y la asociatividad por la derecha conduce a una evaluación de derecha a izquierda. Biblioteca de clases (class library): Colección organizada de clases que proporciona un conjunto de componentes y abstracciones reutilizables. Binario (binary); Representación numérica en base 2. En esta base sólo se utilizan los dígitos 0 y 1. Las posiciones de los d´digitos representan potencias sucesivas de 2. Véase bit. Binding (ligadura): Bit Dígito binario que puede tomar dos valores posibles: 0 y 1 Los bits son elementos básicos de construcción deprogramas y datos.
SENA: CONOCIMIENTO Y EMPRENDIMIENTO PARA TODOS LOS COLOMBIANOS Pagina 12 de 3
GUIA DE APRENDIZAJE F08-63-004/10-10
Versión 4 Modelo de Mejora Continua
Proceso: Ejecución de la Formación Procedimiento: Desarrollo Curricular
Bloque (block): Sentencias y declaraciones encerradas entre una pareja de llaves (apertura y cierre, ´{´ y ´}´. Por ejemplo, un cuerpo de una clase, es un bloque, al igual que el cuerpo de un método, Un bloque delimita un nivel de ámbito. Clase (clase): Colección encapsulada de datos y operaciones que actúan sobre los datos. El concepto de clase es fundamental en programación orientada a objetos. Una clase consta demétodos y datos. Los métodos de una clase definen el conjunto de operaciones permitidas sobre los datos de una clase (sus atributos). Una clase puede tener muchas instancia de la clase u objetos. Clase abstracta (abstract class): Superclase que contiene características comunes compartidas por las subclases. Se declaran utilizando la palabra reservada abstract. Las clases abstractas pueden contener datos y métodos, pero no se pueden instanciar (crear objetos); es decir, no se pueden crear objetos de esta clase. 7. MATERIAL DE CONSULTA (BIBLIOGRAFIA y WEBGRAFIA) 1. http://www.mhe.es/universidad/informatica/8448136640/archivos/apendice_general _4.pdf (Glosario programación). 2. http://www.youtube.com/user/codigofacilito (aprende tus primeros pasos en la codificación). 3. http://todojava.awardspace.com/ (programas en java y códigos java) 4. http://www.programacion.com/articulo/curso_de_sql_72 (curso programación SQL). 5. http://office.microsoft.com/es-es/access-help/introduccion-a-la-programacion-enaccess-HA001214213.aspx (programación en Access).
Elaborada por: (Equipo de desarrollo curricular) DIEGO MAURICIO TORRES ARIAS
Fecha
Ajustada por:
Fecha
Aprobada por:
Fecha
16
07
2012
SENA: CONOCIMIENTO Y EMPRENDIMIENTO PARA TODOS LOS COLOMBIANOS Pagina 13 de 3