Gestión de bases de datos en PHP.

Caso práctico

Ocultar

Mujer feliz trabajando con su portátil en una acogedora cafetería.
Brooke Cagle. Mujer trabajando en una cafetería (Licencia Unsplash)


En la empresa tecnológica SysTech, Ana, una desarrolladora junior, enfrenta el reto de crear una plataforma para un cliente especializado en la gestión de eventos culturales. El cliente necesita una aplicación que permita a los usuarios registrar eventos, comprar entradas y recibir notificaciones de eventos próximos. Para resolver la necesidad de gestionar datos eficientemente, Ana decide usar bases de datos mediante un sistema gestor de bases de datos (SGBD). Entre las opciones disponibles, elige MariaDB, que viene incorporado en XAMPP, por su robustez y por ser ampliamente reconocido en la comunidad de desarrolladores.

A continuación, Ana evalúa las opciones para la interacción entre PHP y la base de datos, considerando MySQLi y PDO. Finalmente, decide utilizar PDO debido a su versatilidad para trabajar con diferentes bases de datos y su eficiente manejo de errores. Implementa consultas preparadas para prevenir inyecciones SQL y se asegura de que los resultados se manejen de forma segura para su presentación en la interfaz de usuario. Además, Ana implementa medidas de seguridad como la sanitización de entradas para evitar ataques XSS y la validación estricta de todos los datos proporcionados por los usuarios, garantizando así la seguridad y la integridad de los datos en la plataforma.

Ocultar

La gestión de bases de datos es clave para el desarrollo de aplicaciones web interactivas, dinámicas con una sólida persistencia de la información. PHP ofrece diversas extensiones que optimizan la interacción con bases de datos, permitiendo desde simples recuperaciones de datos hasta operaciones complejas, mejorando así la comunicación entre la aplicación web y la base de datos.

En esta unidad se realizará una breve introducción a la base de datos y, luego, se abordará el uso de MySQL y MariaDB con PHP, incluyendo la instalación, configuración y herramientas de administración como phpMyAdmin. Se explorará primero la extensión MySQLi para realizar conexiones, preparar y ejecutar consultas, y manejar resultados. Posteriormente, se estudiará PDO por su capacidad de trabajar con diferentes bases de datos mediante una interfaz uniforme. Además, se enfatizará en la importancia de la seguridad en la gestión de bases de datos, destacando técnicas contra la inyección SQL y XSS para proteger las aplicaciones web.

MySQLi (MySQL Improved) es una extensión de PHP que permite interactuar con bases de datos MySQL. Proporciona una interfaz mejorada con soporte para funciones avanzadas como operaciones preparadas, múltiples declaraciones, y transacciones, mejorando seguridad y rendimiento respecto a la antigua extensión MySQL.

MySQL es un Sistema de Gestor de Bases de Datos (SGBD) relacional de código abierto, conocido por su alto rendimiento, fiabilidad y facilidad de uso. Es ampliamente utilizado en aplicaciones web y se basa en el lenguaje SQL para gestionar, almacenar y recuperar datos.

MariaDB es un Sistema Gestor de Bases de Datos (SGBD) relacional derivado de MySQL. Es de código abierto y ofrece alta compatibilidad con MySQL, junto con alto rendimiento, escalabilidad y seguridad. Además, cuenta con funcionalidades adicionales y actualizaciones frecuentes.

PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de programación de código abierto del lado del servidor, utilizado principalmente para el desarrollo web. Permite crear contenido dinámico en páginas y aplicaciones web, facilitando la conexión a bases de datos y el manejo de formularios.

PDO (PHP Data Objects) es una extensión de PHP que define una interfaz ligera y consistente para acceder a bases de datos en PHP. Proporciona una capa de abstracción que permite interactuar con diferentes Sistemas Gestores de Bases de Datos (SGBD) usando el mismo código.

XSS (Cross-Site Scripting) es una vulnerabilidad de seguridad en aplicaciones web donde un atacante inyecta 'scripts' maliciosos en contenido confiable, permitiendo ejecutar código en el navegador del usuario, robar información sensible y alterar la interacción con la aplicación.

Citas Para Pensar

Ocultar

"All models are wrong, but some are useful" - "Todos los modelos son incorrectos, pero algunos son útiles".

George E. P. Box, estadístico británico, en un artículo de 1976 publicado en el Journal of the American Statistical Association.

La frase de George E. P. Box subraya una premisa en el modelado aplicable al campo de las bases de datos. Cualquier modelo de datos, por muy sofisticado o detallado que sea, es una simplificación de la realidad y, por tanto, nunca será completamente exacto o perfecto. Sin embargo, a pesar de sus imperfecciones, un modelo de datos puede ser extremadamente valioso si se ajusta adecuadamente a los objetivos y necesidades del negocio. La clave está en encontrar un equilibrio entre la complejidad del modelo y su aplicabilidad práctica.