Contenido verificado asociado a este RA
Fundamentos de Acceso a Datos en Entorno Servidor
Esta unidad explora las principales tecnologías y paradigmas para el acceso programático a almacenes de datos desde aplicaciones web, diferenciando entre enfoques tradicionales y modernos, y sentando las bases para la conectividad.
Conexión y Recuperación Básica de Datos
Esta unidad se centra en establecer conexiones seguras con bases de datos y en la recuperación de información mediante consultas, utilizando tanto APIs de bajo nivel como ORM para demostrar la extracción de datos.
Publicación y Manipulación de Datos en Aplicaciones Web
Esta unidad aborda cómo presentar la información recuperada en interfaces web y cómo implementar funcionalidades para que los usuarios puedan actualizar y eliminar datos de la base de datos a través de la aplicación.
Gestión de Conjuntos de Datos y Transacciones para la Consistencia
Esta unidad profundiza en el uso de conjuntos de datos para manejar colecciones de información y en la aplicación de transacciones para garantizar la consistencia y atomicidad de las operaciones complejas en la base de datos.
Pruebas, Seguridad y Documentación de Aplicaciones de Acceso a Datos
Esta unidad cubre la importancia de probar exhaustivamente las aplicaciones de acceso a datos, implementar medidas de seguridad para proteger la información y documentar adecuadamente el código y la funcionalidad.
Conceptos clave
API de acceso a datosORM (Object-Relational Mapping)Bases de datos relacionales (SQL)Bases de datos NoSQLDrivers de base de datosConexión a base de datosCadena de conexiónPool de conexionesDataReader/ResultSetConsultas parametrizadasInyección SQLManejo de recursosMVCAPI RESTfulSerialización (JSON)Formularios HTMLValidación de datosSentencias UPDATE/DELETE
Errores que conviene evitar
- No considerar el tipo de datos: Usar una base de datos relacional para datos no estructurados o viceversa, lo que lleva a esquemas forzados o consultas ineficientes. Corrección: Analizar el modelo de datos y los patrones de acceso antes de elegir la tecnología.
- Ignorar el rendimiento: Elegir un ORM sin entender cómo genera las consultas SQL, lo que puede resultar en N+1 queries o consultas subóptimas. Corrección: Aprender a perfilar las consultas generadas por el ORM y a optimizarlas o recurrir a SQL nativo cuando sea necesario.
- No cerrar conexiones: Causa agotamiento de recursos y fallos en la aplicación. Corrección: Implementar bloques `using` o `try-with-resources` para asegurar el cierre automático de conexiones y DataReaders.
- Inyección SQL: Permite ataques de seguridad. Corrección: Utilizar siempre consultas parametrizadas para cualquier entrada de usuario en sentencias SQL.
- Recuperar datos innecesarios: Afecta el rendimiento de la aplicación y la base de datos. Corrección: Optimizar las consultas para seleccionar solo las columnas y filas estrictamente necesarias.
- Falta de validación de entrada: Permite datos erróneos o maliciosos. Corrección: Implementar validación de datos en el servidor para todas las entradas de usuario antes de interactuar con la base de datos.
- Eliminación sin `WHERE`: Borra todos los registros de una tabla. Corrección: Asegurarse de que las sentencias `DELETE` siempre incluyan una cláusula `WHERE` que identifique unívocamente el registro a eliminar.
- Exposición de datos sensibles: Mostrar información confidencial directamente en la interfaz sin control de acceso. Corrección: Implementar mecanismos de autenticación y autorización para controlar qué usuarios pueden ver y modificar qué datos.