Está en la página 1de 5

Colegio Español Padre Arrupe

Guía Práctica y Actividad 1.


2º Año A, B, C, D
Periodo IV, 2023

Porcentaje: 35%

Indicación general: En este documento encontrarán la guía práctica con la que se ha estado trabajando, la cual tiene
como objetivo servirles de guía para realizar la Actividad 1. Al final del documento encontrarán el ejercicio a realizar y
sus indicaciones. No tienen que realizar la Guía Práctica como la han realizado en clases, sino basarse en ella
para realizar el ejercicio que se encuentra al final. Te recomendamos seguir el orden de las partes y leer todo lo
proporcionado.

1. Escoge un Nuevo Proyecto, Selecciona Java Application, le das en Next y colocas un nombre al
proyecto (Las iniciales de tu nombre y JDBC) y le das en Finalizar.

2. En la parte izquierda verás los proyectos, selecciona tu proyecto recién creado y le darás click
derecho en tu proyecto y en Propiedades.
3. Dale click en propiedades, te saldrá una ventana similar, le das en librerías y le das click donde diga
Add JAR/Folder.

4. Vas a buscar en la parte de descargas este archivo: Debe de contener algo similar a: MySQL-
Conector-j-8.1.0.JAR, es importante que te fijes que al final del nombre del archivo diga: .JAR. Lo
seleccionas y le das en Open. Te fijas que ya esté insertado y le das en OK.

Ya tenemos todas las configuraciones listas para proceder a la conexión de la Base de Datos.

Indicaciones generales: Vamos a ir paso a paso creando la base de datos y explicando el código y las partes
esenciales del mismo. Por favor prestar atención a los cambios que deben de realizar según su base de datos
creada y el puerto utilizado en MySQL.

Ahora procederemos a realizar crear una base de datos e insertar datos. Para posteriormente leer los datos
ingresados.

1. Crear la BD, al final verifica en PHPMyAdmin que se haya creado la BD.

package kcjdbc; //kcjbc es el nombre del proyecto creado, por lo que por defecto aparece el que se le coloco.
import java.sql.Connection; //se utiliza para establecer una conexión con la base de datos.
import java.sql.DriverManager; //se utiliza para administrar la base de datos.
import java.sql.SQLException; //se utiliza para manejar excepciones relacionadas con la base de datos.
import java.sql.Statement; //se utiliza para ejecutar sentencias SQL desde una aplicación Java

public class KCJDBC { //Definición de la clase.

public static void main(String[] args) { //Definición del método principal.


String jdbcUrl = "jdbc:mysql://localhost:33065"; //Ver en XAMPP el puerto que ocupa MySQL y editarlo.
String nombreBD = "TiendaKC"; //Nombre de la base de datos a crear, colocar sus iniciales.
try {
Connection connection = DriverManager.getConnection(jdbcUrl); //Establecer la conexión al servidor
Statement statement = connection.createStatement(); //Crear una instancia para ejecutar comandos SQL.

String sqlCrearBaseDeDatos = "CREATE DATABASE " + nombreBD; //Definir la sentencia SQL para crear la BD.
statement.executeUpdate(sqlCrearBaseDeDatos); // Ejecutar la sentencia SQL para crear la BD.
System.out.println("Base de datos creada exitosamente.");

connection.close(); // Cerrar la conexión


} catch (SQLException e) {
System.err.println("Error al crear la base de datos: " + e.getMessage());
//Estas dos últimas líneas se utilizan para imprimir un mensaje de error que esté relacionado con la creación de la base
de datos.
}
}
}

2. Ahora procederemos a crear 2 tablas, las importaciones permanecen igual, procedemos a cambiar desde:

public static void main(String[] args) {


String jdbcUrl = "jdbc:mysql://localhost:33065/tu_basededatos"; // Cambia "tu_basededatos" al nombre de tu base
de datos creada anteriormente e igualmente el puerto.
try {
Connection connection = DriverManager.getConnection(jdbcUrl);
Statement statement = connection.createStatement();

// Definir la sentencia SQL para crear la tabla, como se puede observar, se ocupan las mismas sentencias que
anteriormente utilizamos para crear la BD.
String sqlCrearTabla = "CREATE TABLE cliente ("
+ "DUI INT PRIMARY KEY,"
+ "Nombre VARCHAR(40),"
+ "Apellido VARCHAR(40),"
+ "Fecha_Nacimiento DATE)";
String sqlCrearTabla2 = "CREATE TABLE pedido ("
+ "ID_pedido INT PRIMARY KEY,"
+ "DUI_Cliente INT," // Esta columna será la clave foránea
+ "Nombre_Producto VARCHAR(40),"
+ "Cantidad INT,"
+ "FOREIGN KEY (DUI_Cliente) REFERENCES cliente(DUI))"; // Definición de la clave foránea, donde
especificamos cuál es la llave foránea y de que tabla y columna viene;

// Ejecutar la sentencia SQL para crear la tabla


statement.executeUpdate(sqlCrearTabla);
statement.executeUpdate(sqlCrearTabla2);
System.out.println("Tabla creada exitosamente.");

// Cerrar la conexión
connection.close();
} catch (SQLException e) {
System.err.println("Error al crear la tabla: " + e.getMessage());
}
}
}

3. Verificamos en PHPMyAdmin que se hayan creado las dos tablas con las columnas que les colocamos.
Ahora procederemos a insertar datos a la tabla, el código a editar es a partir de la línea de connection:

Connection connection = DriverManager.getConnection(jdbcUrl);


Statement statement = connection.createStatement();
// Definir la sentencia SQL para insertar datos en la tabla Clientes e insertarlos.
String sqlInsertarClientes = "INSERT INTO cliente (DUI, Nombre, Apellido, Fecha_Nacimiento) " +
"VALUES (483623, 'Katherine', 'Canales', '1999-01-21'), " +
"(2345678, 'Abigail', 'de Rivera', '1999-01-27')";
statement.executeUpdate(sqlInsertarClientes);

// Definir la sentencia SQL para insertar datos en la tabla "pedido" e insertarlos


String sqlInsertarPedidos = "INSERT INTO pedido (ID_Pedido, DUI_Cliente, Nombre_Producto, Cantidad) " +
"VALUES (1, 483623, 'Vestidos', 5), " +
"(2, 2345678, 'Pantalones', 3), " +
"(3, 483623, 'Pantalones', 2)";
statement.executeUpdate(sqlInsertarPedidos);

System.out.println("Datos insertados exitosamente.");


statement.close();
connection.close();
} catch (SQLException e) {
System.err.println("Error al insertar datos: " + e.getMessage());
}
}
}

4. Revisamos en PHPMyAdmin que se hayan insertado los registros correspondientes. Ahora lo que haremos
es visualizar desde JAVA los datos de: DUI, Nombre, Nombre de
Producto y Cantidad. Como queremos ver los datos de dos tablas, procederemos a hacer un SELECT con JOIN
para ver lo que necesitamos, agregaremos a la parte de importaciones lo siguiente:

import java.sql.PreparedStatement;
import java.sql.ResultSet;

//De ahí editaremos a partir de Connection igualmente:


Connection connection = DriverManager.getConnection(jdbcUrl);
//Realizamos la consulta con los datos que queremos, de la tabla cliente queremos DUI y Nombre y de la tabla
Pedido queremos el Nombre_Producto y la Cantidad.
String sqlConsulta = "SELECT cliente.DUI, cliente.Nombre, cliente.Fecha_Nacimiento,
pedido.Nombre_Producto, pedido.Cantidad " + //Antes de cerrar las “ dejar un espacio
"FROM cliente " + //Antes de cerrar las “ dejar un espacio
"JOIN pedido ON cliente.DUI = pedido.DUI_Cliente"; //Combina registros de ambas tablas
basados en valores coincidentes en esas columnas.

PreparedStatement statement = connection.prepareStatement(sqlConsulta);


ResultSet resultSet = statement.executeQuery(); //Almacena los datos en resultSet

while (resultSet.next()) { //Permite procesar cada fila de resultados de la BD.


int dui = resultSet.getInt("DUI"); //Obtiene los valores de las columnas especificadas anteriormente.
String nombreCliente = resultSet.getString("Nombre");
java.sql.Date fecha = resultSet.getDate("Fecha_Nacimiento");
String nombreProducto = resultSet.getString("Nombre_Producto");
int cantidad = resultSet.getInt("Cantidad");

System.out.println("DUI: " + dui); //Imprime los resultados.


System.out.println("Nombre del Cliente: " + nombreCliente);
System.out.println("Fecha de Nacimiento: " + fecha);
System.out.println("Nombre del Producto: " + nombreProducto);
System.out.println("Cantidad: " + cantidad);
System.out.println("-------------------");
}

resultSet.close();
statement.close();
connection.close();
} catch (SQLException e) {
System.err.println("Error al consultar datos: " + e.getMessage());
}
}
}

Actividad 1.

Indicaciones generales: Toda la hora clase es evaluada, no se pueden levantar sin previa
autorización. No pueden ver o consultar a otro equipo. No pueden abrir otras páginas o programas
que no sean: localhost/phpmyadmin, el drive donde se encuentra la guía práctica, XAMPP,
NETBEANS y WORD, hasta los últimos 5 minutos pueden abrir nuevamente Gmail para enviar el
archivo. Sí se encuentra a una persona que no sigue las indicaciones anteriores, se saldrá del grupo
y se le reprogramará la Actividad 1 para esa persona sola.

Ejercicio a realizar:

Cree un programa en JAVA con los siguientes puntos:

Tu tarea consiste en crear un programa Java que administre una base de datos de hoteles y reservas de habitaciones.
Diseña las tablas necesarias para almacenar información sobre hoteles, habitaciones disponibles y reservas. Permite
a los usuarios realizar reservas, consultar la disponibilidad de habitaciones y ver detalles de su reserva.

Creación de una base de datos (De nombre coloca: Act1KC (Cambia KC por sus iniciales)) que contenga 2
tablas una de hoteles y la otra de reservas.

De los hoteles se quiere guardar la información de: idHotel (Esta será la Llave Primaria de esta tabla),
nombre, estrellas y dirección.

De las reservas se desea guardar la información de: idReservas (Esta será la Llave primaria de esta tabla),
fecha_entrada, fecha_salida y tipoHabitación. A la tabla de reservas agregar de llave foránea: idHotel.

A su vez, ingresa información en la tabla de hoteles y en la de reservas. (Esta información la colocarán


ustedes, por lo menos 2 filas de cada tabla)

Además, haz una consulta para observar cuál es el nombre del hotel, la dirección del hotel, la fecha_entrada
y la fecha_salida

Guarda cada parte del código en un archivo Word, al finalizar la Actividad, envíen como grupo un correo a:
riveraakath@gmail.com adjunten el archivo de Word, y en el correo coloquen los nombres de los
integrantes del equipo.

También podría gustarte