Está en la página 1de 19

GESTIÓN DE FORMACIÓN PROFESIONAL INTEGRAL

PROCEDIMIENTO DESARROLLO CURRICULAR


GUÍA DE APRENDIZAJE

1. Identificación de la guía de aprendizaje

Denominación del Programa de Formación: desarrollo de applets/aplicaciones con

uso de base de datos, redes, servlets y multimedia.

Código del Programa de Formación: 21450167

Competencia 220501007: Construir el sistema que cumpla con los requisitos de la

solución informática.

Resultados de Aprendizaje Alcanzar: Crear aplicaciones para consultar, insertar,

borrar y actualizar la información de una base de datos.

Duración de la Guía: 10 Horas

2. Presentación

Apreciado aprendiz, bienvenido a la guía de la tercera actividad de aprendizaje.

Siempre que se requiera almacenar información relacionada, consultarla, editarla y

borrarla en cualquier momento, hablamos de aplicaciones que requieren conexiones con

bases de datos. En la presente actividad usted aprenderá a conectar una aplicación Java

a una base de datos de Microsoft Access y también a un servidor Mysql, los cuales son

muy usados hoy en día. La diferencia entre una y otra base de datos, es que la de Access

GFPI-F-019 V3
Página 1 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

es un archivo ubicado en la carpeta de nuestra aplicación, mientras que Mysql requiere de

la instalación de un servidor. A través de las actividades que encontrará en esta guía usted

afianzará sus conocimientos y los pondrá en práctica solucionando problemas.

En primer lugar, usted va a reflexionar acerca de las ventajas y desventajas de usar

una base de datos en un archivo local, y en un servidor. Después deberá realizar la

instalación de un servidor Mysql en su computador local, y profundizará en el lenguaje

SQL, en particular, en una función de SQL que usted escogerá y expondrá a través de una

entrada en un blog. Finalmente, como producto final de esta guía usted deberá construir

una aplicación en JAVA con entorno gráfico que permita realizar consulta, inserción,

actualización y eliminación de registros adaptando el ejemplo visto en el material de

formación.

3. Formulación de las actividades de aprendizaje

3.1.1. Preguntas de reflexión.

En el material de formación usted aprendió a conectar una aplicación Java a una

base de datos en un servidor Mysql, y también a una base de datos que se encuentra en

un archivo Access. El servidor Mysql puede ser instalado en el computador que ejecuta la

aplicación, o en otro computador (servidor) que se encuentre en la red local, o en un

servidor en la nube (internet). Dependiendo del tipo de solución que se desarrolle, se debe

escoger entre las diferentes opciones de bases de datos.

GFPI-F-019 V3
Página 2 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

Reflexione sobre las siguientes preguntas:

 Si le pidieran desarrollar una aplicación para llevar el control de tiempos y generar

las facturas en un parqueadero ¿Qué opción escogería?

 Si tuviera que desarrollar un sistema de calificaciones de un colegio, donde muchos

docentes deben digitar las notas desde diferentes computadores ¿Qué opción

escogería?

 ¿Es posible desarrollar una base de datos en la nube, que funcione sin conexión a

Internet? ¿Conceptualmente cómo se podría hacer?

3.2 Actividades de contextualización e identificación de conocimientos necesarios

para el aprendizaje

 En el material de apoyo 3 usted encontrará un tutorial sobre cómo instalar un

servidor de MySql a través del software XAMPP; este provee además del servidor

MySql una herramienta administrativa del servidor llamada Phpmyadmin. Haga la

siguiente actividad:

1. Realice la instalación en su computador.

2. Cree una base de datos llamada biblioteca.

3. Cree una tabla llamada libros con los siguientes campos:

NombreCampo Tipo Observaciones

Id INT (5) Autoincremento, clave primaria

NombreLibro CHAR (50)

Editorial CHAR (50)

GFPI-F-019 V3
Página 3 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

Autor CHAR (50)

Precio INT(10)

4. Inserte 10 libros en la tabla

SQL es el lenguaje usado para consultar y actualizar información en Mysql, Access,

entre otras bases de datos. La sentencia SELECT puede combinarse con algunas

funciones que permite realizar consultas avanzadas a las tablas. Algunas de esas

funciones son:

 GROUP BY

 DISTINCT

 SUM

 AVG

 COUNT

 CONCAT

 MIN

 MAX

Escoja una de las opciones anteriores e investigue en internet como usarla. En la actividad

Evidencia AA3.Blog: "Consultas en SQL" de la actividad 3 cree una nueva entrada

donde explique con ejemplos diferentes como usar esta función realizando consultas en la

tabla libros creada en el punto anterior. También visite la entrada de 2 compañeros y

comente el trabajo realizado por ellos.

GFPI-F-019 V3
Página 4 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

3.3 Actividades de apropiación del conocimiento

Después de haber estudiado el material de formación, y haber realizado la actividad

anterior usted está listo para presentar la evaluación de conocimiento. En Actividades 3,

responda Evidencia AA3. Prueba de Conocimiento. Cuestionario manejo de bases de

datos en JAVA.

3.4 Actividades de transferencia de conocimiento

Java a través del paquete java.net.* provee las clases necesarias para conectar

aplicaciones con bases de datos. Las clases usadas son Connect, Statement, ResultSet,

PreparedStatement.

Tomando como ejemplo las siguientes clases: BaseDeDatos.java y ConexionBD.java, que

también están disponibles en el material de apoyo, modifíquelas para que esta aplicación

pueda manipular los registros de la tabla libros que usted creó anteriormente. En esta

aplicación debe colocar en un JLabel su nombre completo en alguna sección de la

aplicación.

Comprima las clases que usted creó en un archivo ZIP y entregue la actividad a través del

link Evidencia AA3. Producto. Creación de una aplicación con conexión a base de

datos. En actividades 3.

ConexionBD.java

import java.sql.*;

public class ConexionBD {

static String basededatos = "sena";

GFPI-F-019 V3
Página 5 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

static String usuario = "root";

static String password = "";

static String url = "jdbc:mysql://localhost/"+basededatos;

static Connection conexion = null;

public ConexionBD(){

public static Connection getConexion(){

if (conexion==null){

try {

conexion = DriverManager.getConnection(url,usuario,password);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

return conexion;

public static void desconectar(){

try {

GFPI-F-019 V3
Página 6 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

if (conexion!=null){

conexion.close();

conexion=null;

System.out.println("Conexion Cerrada");

} catch (SQLException e) {

e.printStackTrace();

BaseDeDatos.java

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.sql.*;

import javax.swing.*;

public class BasesDeDatos extends JFrame implements ActionListener {

JTextArea txtSalida;

GFPI-F-019 V3
Página 7 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

JLabel

lNombres,lTelefono,lEliminar,lTituloInsertar,lTituloBorrar,lTituloActualizar,lActualizarNomb

res, lActualizarTelefono,lIdActualizar;

JTextField tfNombres, tfTelefono,tfIdEliminar,tfActualizarNombres,

tfActualizarTelefono,tfIdActualizar;

JButton btGuardar,btEliminar,btActualizar;

JPanel panel;

//constructor

BasesDeDatos(){

panel = new JPanel();

panel.setLayout(null);

txtSalida=new JTextArea();

JScrollPane scroll = new JScrollPane(txtSalida);

scroll.setBounds(10, 10, 860, 350);

panel.add(scroll);

lTituloInsertar=new JLabel("INSERTAR DATO");

lTituloInsertar.setBounds(10,380,100,20);

panel.add(lTituloInsertar);

GFPI-F-019 V3
Página 8 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

lTituloBorrar=new JLabel("BORRAR DATO");

lTituloBorrar.setBounds(310,380,100,20);

panel.add(lTituloBorrar);

lTituloActualizar=new JLabel("ACTUALIZAR DATO");

lTituloActualizar.setBounds(500,380,200,20);

panel.add(lTituloActualizar);

lNombres=new JLabel("Nombre: ");

lNombres.setBounds(10,410,100,20);

panel.add(lNombres);

tfNombres=new JTextField();

tfNombres.setBounds(110,410,100,20);

panel.add(tfNombres);

lTelefono=new JLabel("Telefono: ");

lTelefono.setBounds(10,440,100,20);

panel.add(lTelefono);

tfTelefono=new JTextField();

tfTelefono.setBounds(110,440,100,20);

panel.add(tfTelefono);

btGuardar = new JButton("Guardar");

GFPI-F-019 V3
Página 9 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

btGuardar.setBounds(10,470,100,20);

btGuardar.addActionListener(this);

panel.add(btGuardar);

lEliminar=new JLabel("ID a eliminar");

lEliminar.setBounds(310,400,100,20);

panel.add(lEliminar);

tfIdEliminar=new JTextField();

tfIdEliminar.setBounds(310,420,100,20);

panel.add(tfIdEliminar);

btEliminar = new JButton("Eliminar");

btEliminar.setBounds(310,440,100,20);

btEliminar.addActionListener(this);

panel.add(btEliminar);

lIdActualizar=new JLabel("ID a actualizar: ");

lIdActualizar.setBounds(500,410,100,20);

panel.add(lIdActualizar);

tfIdActualizar=new JTextField();

tfIdActualizar.setBounds(610,410,100,20);

panel.add(tfIdActualizar);

GFPI-F-019 V3
Página 10 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

lActualizarNombres=new JLabel("Nuevo Nombre: ");

lActualizarNombres.setBounds(500,440,100,20);

panel.add(lActualizarNombres);

tfActualizarNombres=new JTextField();

tfActualizarNombres.setBounds(610,440,100,20);

panel.add(tfActualizarNombres);

lActualizarTelefono=new JLabel("Nuevo Telefono: ");

lActualizarTelefono.setBounds(500,470,100,20);

panel.add(lActualizarTelefono);

tfActualizarTelefono=new JTextField();

tfActualizarTelefono.setBounds(610,470,100,20);

panel.add(tfActualizarTelefono);

btActualizar=new JButton("Actualizar");

btActualizar.addActionListener(this);

btActualizar.setBounds(500,500,100,20);

panel.add(btActualizar);

add (panel);

setSize(900,650);

setVisible(true);

GFPI-F-019 V3
Página 11 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

setDefaultCloseOperation(EXIT_ON_CLOSE);

//centramos la ventana en la mitad de la pantalla.

setLocationRelativeTo(null);

mostrarDatos();

public void mostrarDatos(){

txtSalida.setText("");//vaciamos el texto de salida

Connection c=ConexionBD.getConexion();

Statement comando;

try {

comando = c.createStatement();

ResultSet registro = comando.executeQuery("select

id,nombres,telefono from usuarios where 1 ORDER BY id desc");

txtSalida.setText("SALIDA DE DATOS \n");

while (registro.next()) {

int id;

String nombres,telefono;

id=registro.getInt("id");

nombres=registro.getString("nombres");

telefono=registro.getString("telefono");

GFPI-F-019 V3
Página 12 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

txtSalida.append((id+" | "+nombres+ " | "+ telefono+"\n"));

} catch (SQLException e) {

e.printStackTrace();

ConexionBD.desconectar();

public void actionPerformed(ActionEvent e) {

if (e.getSource()==btGuardar){

Connection c=ConexionBD.getConexion();

String sql = "INSERT INTO usuarios (nombres, telefono) "

+ "VALUES (?, ?)";

try {

PreparedStatement st = c.prepareStatement(sql);

st.setString(1, tfNombres.getText());

st.setString(2, tfTelefono.getText());

st.executeUpdate();

//vaciamos campos de entrada

tfNombres.setText("");

tfTelefono.setText("");

GFPI-F-019 V3
Página 13 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

st.close();

} catch (SQLException e1) {

e1.printStackTrace();

mostrarDatos();

ConexionBD.desconectar();

if (e.getSource()==btEliminar){

Connection c=ConexionBD.getConexion();

String sql = "DELETE FROM usuarios WHERE id = ?";

try {

PreparedStatement st = c.prepareStatement(sql);

st.setString(1, tfIdEliminar.getText());

st.executeUpdate();

//vaciamos campos de entrada

tfIdEliminar.setText("");

st.close();

} catch (SQLException e1) {

e1.printStackTrace();

mostrarDatos();

GFPI-F-019 V3
Página 14 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

ConexionBD.desconectar();

if (e.getSource()==btActualizar){

Connection c=ConexionBD.getConexion();

String sql = "UPDATE usuarios SET nombres = ?, telefono=?

WHERE id = ?";

try {

PreparedStatement st = c.prepareStatement(sql);

st.setString(1, tfActualizarNombres.getText());

st.setString(2, tfActualizarTelefono.getText());

st.setString(3, tfIdActualizar.getText());

st.executeUpdate();

//vaciamos campos de entrada

tfActualizarNombres.setText("");

tfActualizarTelefono.setText("");

tfIdActualizar.setText("");

st.close();

} catch (SQLException e1) {

e1.printStackTrace();

GFPI-F-019 V3
Página 15 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

mostrarDatos();

ConexionBD.desconectar();

public static void main(String[] args) {

new BasesDeDatos();

3.5 Ambiente requerido

 Ambiente Virtual de Aprendizaje

3.6 Materiales

Material de formación

 Conectar aplicaciones en Java a la base de datos.

Material de apoyo

 Documentación oficial clase Connection Java

 Documentación oficial clase ResultSet Java

 Documentación oficial clase Statement Java

 Documentación oficial Clase PreparedStatement Java

GFPI-F-019 V3
Página 16 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

 Manual de referencia Mysql 5.5

4. Actividades de evaluación

Evidencias de Aprendizaje Criterios de Evaluación Técnicas e Instrumentos de


Evaluación
Evidencia de desempeño Conoce las alternativas para
Blog: Consultas en SQL. que un programa de java Blog
acceda a bases de datos. Rúbrica TIGRE

Evidencia de Conocimiento Comprende el procedimiento


Prueba de Conocimiento. para tener acceso a una Cuestionario
Cuestionario manejo de bases base de datos. Rúbrica de conocimiento
de datos en JAVA. Conoce y aplica los estatutos
que permiten consultar una
base de datos.
Evidencia de Producto Aplica los estatutos que
Taller. Creación de una permiten modificar una base Taller
aplicación con conexión a base de datos. Rúbrica de producto
de datos.

5. Glosario de términos

Connection: clase de java que contiene la conexión realizada a la base de datos.

DELETE: sentencia SQL que permite eliminar registros en una tabla de base de datos.

INSERT: sentencia SQL que permite la inserción de registros en la tabla de una base de

datos.

MYSQL: software que permite montar un servidor de bases de datos SQL.

PreparedStatement: clase de Java que permite preparar el estatuto para la actualización

de registros en una base de datos.

GFPI-F-019 V3
Página 17 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

ResultSet: clase de java que permite obtener los registros de la consulta a la base de

datos.

SELECT: sentencia SQL que permite consultar registros de una tabla de base de datos.

SQL: Structured Query Lenguaje. Es un lenguaje para manipulación de datos en una base

de datos.

Statement: clase de Java que permite preparar el estatuto para la consulta de registros

en una base de datos.

UPDATE: sentencia SQL que permite actualizar registros en una tabla de base de datos.

6. Referencias bibliográficas

Docs.oracle.com. (2017). Connection (Java Platform SE 7). [online] Disponible en:

https://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html Recuperado el

19 Abr de 2017.

Docs.oracle.com. (2017). ResultSet (Java Platform SE 7). [online] Disponible en:

https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html Recuperado el

19 Abr de 2017.

Docs.oracle.com. (2017). Statement (Java Platform SE 7). [online] Disponible en:

https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html Recuperado el

19 Abr de 2017.

GFPI-F-019 V3
Página 18 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE

Docs.oracle.com. (2017). PreparedStatement (Java Platform SE 7). [online] Disponible en:

https://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html

Recuperado el 19 Abr de 2017.

Mysql 5.5 Reference Manual. [online] Disponible en:

https://dev.mysql.com/doc/refman/5.5/en/introduction.html Recuperado el 19 Abr

de 2017.

7. Control del documento

Nombre Cargo Dependencia Fecha

Autor Manuel Fernando Celemín Gestor de Nodo Tolima 2017-04-20


(es) Coneo Curso

GFPI-F-019 V3
Página 19 de 20

También podría gustarte