Contenido verificado asociado a este RA
1. Fundamentos de Persistencia y Conectores de Bases de Datos
Esta unidad introduce la necesidad de la persistencia de datos en aplicaciones, distingue entre gestores de bases de datos embebidos e independientes, y valora las ventajas e inconvenientes de los conectores para interactuar con ellos.
2. Establecimiento de Conexiones y Definición de Esquemas
Esta unidad aborda la selección del conector adecuado, el proceso de establecer una conexión con la base de datos y la definición de su estructura mediante DDL, sentando las bases para la interacción de la aplicación.
3. Operaciones CRUD y Gestión de Resultados de Consultas
Esta unidad se centra en el desarrollo de aplicaciones que modifican el contenido de la base de datos (CRUD) y efectúan consultas, definiendo los objetos adecuados para almacenar y procesar los resultados.
4. Gestión de Recursos y Transacciones en Bases de Datos
Esta unidad cubre la importancia de liberar los recursos de la base de datos una vez finalizada su función y la gestión de transacciones para asegurar la integridad y consistencia de los datos en operaciones complejas.
Conceptos clave
Persistencia de datosSistema Gestor de Bases de Datos (SGBD)Conector de Base de Datos (Driver)JDBCADO.NETBase de Datos EmbebidaBase de Datos IndependienteURL de conexiónDriverManagerDataSourceConexión a Base de DatosDDL (Data Definition Language)CREATE TABLEPRIMARY KEYFOREIGN KEYtry-with-resourcesDML (Data Manipulation Language)INSERT
Errores que conviene evitar
- Confundir SGBD con Base de Datos: El SGBD es el software (ej. MySQL), la base de datos es el conjunto de datos. El conector interactúa con el SGBD. Corrección: Distinguir claramente entre el motor de la base de datos y los datos que contiene.
- No comprender la necesidad del conector: Pensar que la aplicación puede interactuar directamente con los archivos de la base de datos. Corrección: Entender que el conector es la capa de traducción y comunicación entre la aplicación y el SGBD.
- No cerrar las conexiones: Deja recursos abiertos y puede agotar el pool de conexiones. Corrección: Utilizar `try-with-resources` en Java o bloques `using` en C# para asegurar el cierre automático.
- Hardcodear credenciales en el código: Riesgo de seguridad. Corrección: Almacenar credenciales de forma segura (variables de entorno, archivos de configuración externos).
- URL de conexión incorrecta: Impide la conexión. Corrección: Verificar la sintaxis y los parámetros de la URL según la documentación del driver y SGBD.
- Inyección SQL: Usar `Statement` y concatenar directamente entradas de usuario. Corrección: Siempre usar `PreparedStatement` con parámetros.
- No cerrar `ResultSet`: Puede causar fugas de memoria. Corrección: Utilizar `try-with-resources` para `ResultSet`.
- Manejo incorrecto de tipos de datos: Intentar leer un tipo de dato con un método `getXXX()` incorrecto. Corrección: Asegurarse de que el método `getXXX()` coincida con el tipo de dato de la columna en la base de datos.