Diferència entre revisions de la pàgina «DAM2 M06 UF2 Acceso a datos relacionales»
Salta a la navegació
Salta a la cerca
(Hi ha 7 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 1: | Línia 1: | ||
+ | '''volver a''' [[M06 Acceso a datos]] | ||
=Bases de datos embebidas= | =Bases de datos embebidas= | ||
==Ejercicios== | ==Ejercicios== | ||
Línia 18: | Línia 19: | ||
'''Ejercicios avanzados''' | '''Ejercicios avanzados''' | ||
<ol start="6"> | <ol start="6"> | ||
− | <li> | + | <li>Utilizando como base la clase utilizada para acceder a MySQL cambia lo necesario para acceder a una base de datos embebida. |
</li> | </li> | ||
</ol> | </ol> | ||
Línia 51: | Línia 52: | ||
</li> | </li> | ||
<li>Crea un programa que muestre el personaje de la facción Samuráis con '''más ataque''' | <li>Crea un programa que muestre el personaje de la facción Samuráis con '''más ataque''' | ||
+ | </li> | ||
+ | <li>[EN GRUPO] Crea una base de datos con al menos 2 tablas y algunos registros. Indícale a otro grupo como conectar a tu base de datos '''PERO NO LE DES INFORMACIÓN SOBRE LA BASE DE DATOS EN SI'''. Utilizando me método getMetadata del objeto conexión (tipo Connection) y los métodos getTables y getColumns del objeto DatabaseMetaData obtén información sobre la base de datos del otro grupo. | ||
+ | </li> | ||
+ | <li>Modifica el ejercicio anterior para ampliar con más información sobre la base de datos y sus tablas. Como sus claves primarias, sus claves foráneas,etc | ||
+ | </li> | ||
+ | <li>Crea un programa que inserte un nuevo personaje en la tabla Personaje de la base de datos "ForHonor". Los datos del nuevo personaje serán introducidos por la línea de comandos | ||
+ | </li> | ||
+ | <li>Modifica el programa anterior para controlar que la facción del personaje existe y que los valores ataque y defensa son > 0, sino no se inserta y se muestra un mensaje de error descriptivo</li> | ||
+ | <li>Crea un programa que cambie de facción a un personaje. Como parámetros el programa recibe el id del personaje y la facción destino | ||
+ | </li> | ||
+ | <li>Utilizando los métodos y la clase PreparedStatement (Sentencias preparadas) crea un programa que inserte un nuevo personaje en la tabla Personaje. | ||
+ | </li> | ||
+ | <li>Crea una "stored procedure" que aumente el ataque de todos los personajes de una facción. Como valores de entrada tendrá el id de la facción y el aumento de ataque. Ahora llama a la "stored procedure" de un programa Java. | ||
</li> | </li> | ||
</ol> | </ol> |
Revisió de 15:59, 10 des 2018
volver a M06 Acceso a datos
Bases de datos embebidas
Ejercicios
- Instala sqlite. Crea la base de datos "ForHonor" con las siguientes tablas:
- Faccion: faccion_id (numérico, clave primaria), nombre_faccion (Varchar 15), lore (Varchar 200)
- Personaje: personaje_id (numérico, clave primaria), nombre_personaje (Varchar 15), ataque (numérico), defensa (numérico), faccion_id (numérico, clave foránea, referencia a Faccion)
- [EN GRUPO] Investiga sobre la base de datos "Apache Derby", realiza una presentación de entre 5 y 10 minutos sobre ella y realiza el ejemplo del ejercicio1
- [EN GRUPO] Investiga sobre la base de datos "HSQLDB", realiza una presentación de entre 5 y 10 minutos sobre ella y realiza el ejemplo del ejercicio1
- [EN GRUPO] Investiga sobre la base de datos "H2", realiza una presentación de entre 5 y 10 minutos sobre ella y realiza el ejemplo del ejercicio1
- [EN GRUPO] Investiga sobre la base de datos "DB4o", realiza una presentación de entre 5 y 10 minutos sobre ella y realiza el ejemplo del ejercicio1
Ejercicios avanzados
- Utilizando como base la clase utilizada para acceder a MySQL cambia lo necesario para acceder a una base de datos embebida.
Bases de datos relacionales
- Funcionamiento de un programa con JDBC:
- Importar las clases necesarias
- Cargar el driver JDBC
- Identificar el origen de datos
- Crear un objeto Connection
- Crear un objeto Statement
- Ejecutar una consulta con el objeto Statement
- Recuperar los datos del objeto ResultSet
- Liberar el objeto ResultSet
- Liberar el objeto Statement
- Liberar el objeto Connection
Recursos
- Driver para conectar desde Java con Mysql: java_MySql_Connector
- Nombre de la clase para el conector: com.mysql.cj.jdbc.Driver
- url de conexión: jdbc:mysql://localhost:puerto_MySql/nombre_base_datos
- url de conexión TimeServer Error (solo utilizar en caso de error con la Timezone del server: jdbc:mysql://localhost:puerto_MySql/nombre_base_datos?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
Ejercicios
- Instala MySQL. Crea una base de datos "ForHonor" con las tablas del ejercicio 1. Añade al menos las 3 facciones y 3 personajes de la facción Caballeros, 2 de Vikingos y 2 de Samuráis. Crea un programa que se conecte a la base de datos por JDBC y muestre los registros de la tabla Personaje.
- Crea un programa que muestre los personajes de la facción Caballeros
- Crea un programa que muestre el personaje de la facción Samuráis con más ataque
- [EN GRUPO] Crea una base de datos con al menos 2 tablas y algunos registros. Indícale a otro grupo como conectar a tu base de datos PERO NO LE DES INFORMACIÓN SOBRE LA BASE DE DATOS EN SI. Utilizando me método getMetadata del objeto conexión (tipo Connection) y los métodos getTables y getColumns del objeto DatabaseMetaData obtén información sobre la base de datos del otro grupo.
- Modifica el ejercicio anterior para ampliar con más información sobre la base de datos y sus tablas. Como sus claves primarias, sus claves foráneas,etc
- Crea un programa que inserte un nuevo personaje en la tabla Personaje de la base de datos "ForHonor". Los datos del nuevo personaje serán introducidos por la línea de comandos
- Modifica el programa anterior para controlar que la facción del personaje existe y que los valores ataque y defensa son > 0, sino no se inserta y se muestra un mensaje de error descriptivo
- Crea un programa que cambie de facción a un personaje. Como parámetros el programa recibe el id del personaje y la facción destino
- Utilizando los métodos y la clase PreparedStatement (Sentencias preparadas) crea un programa que inserte un nuevo personaje en la tabla Personaje.
- Crea una "stored procedure" que aumente el ataque de todos los personajes de una facción. Como valores de entrada tendrá el id de la facción y el aumento de ataque. Ahora llama a la "stored procedure" de un programa Java.