¿Qué son MySQL y MariaDB?
MySQL y MariaDB son sistemas de gestión de bases de datos que permiten almacenar, organizar y recuperar datos en un servidor web.
- MySQL: Es un estándar ampliamente usado en servidores web. Sin embargo, cuando Oracle adquirió MySQL en 2010, su licencia se volvió más restrictiva, lo que llevó a preocupaciones sobre su desarrollo y costos.
- MariaDB: Fue creado por los desarrolladores originales de MySQL como un desarrollo paralelo para mantener una alternativa de código abierto, libre y comunitaria. Es casi idéntico a MySQL, con mejoras en velocidad y características, y puedes usarlo como reemplazo en la mayoría de los casos.
Desde el punto de vista del servidor, MySQL y MariaDB son programas que corren en segundo plano, escuchando solicitudes de tu aplicación web (por ejemplo, un script PHP) para leer o escribir datos. Funcionan junto a servidores web como Apache o Nginx, y los gestionas desde un panel de control (como cPanel) o herramientas como phpMyAdmin.
Se trata de bases de datos relacionales, que permiten almacenar desde datos simples (como nombres o correos) hasta grandes bloques de texto (con el tipo TEXT
) o datos binarios como imágenes (usando BLOB
), lo que los hace ideales para sitios dinámicos. Usan SQL (Structured Query Language), un lenguaje sencillo (ahem ...) para gestionar datos con comandos como SELECT
(para leer) o INSERT
(para añadir).
¿Por qué son importantes en un servidor?
En un servidor web, MySQL o MariaDB son esenciales porque:
- Almacenan datos dinámicos: Guardan información que cambia, como comentarios de usuarios, inventarios o configuraciones de tu sitio.
- Tipos de datos: Pueden almacenar desde textos cortos hasta grandes bloques de texto (como artículos completos), imágenes (como datos binarios), fechas, números, y más. (Profundizaremos en esto más adelante.)
- Integración con lenguajes web: Trabajan perfectamente con PHP, Python, Node.js, etc., para mostrar datos en tu página.
- Escalabilidad: Son ideales tanto para blogs pequeños como para sitios con miles de usuarios.
- Seguridad: Permiten proteger datos con usuarios y permisos, algo clave en hostings compartidos.
Por ejemplo, en un sitio como WordPress, MySQL guarda tus publicaciones, páginas y configuraciones en una base de datos, y el servidor web entrega las páginas generadas al navegador.
Conceptos básicos desde el servidor
- Base de datos: Un contenedor que organiza datos en tablas, como una hoja de cálculo avanzada.
- Tablas: Estructuras dentro de la base de datos con filas y columnas (por ejemplo, una tabla
usuarios
con columnasnombre
yemail
). - Lenguaje SQL: lenguaje estándar para interactuar con bases de datos.
- Usuario y permisos: Cada base de datos tiene un usuario con credenciales (nombre y contraseña) para controlar el acceso.
- Puerto: Usan el puerto 3306 por defecto para recibir conexiones desde tu aplicación o herramientas como phpMyAdmin.
¿ Qué significa que una Base de Datos sea Relacional ?
Una base de datos relacional organiza la información en tablas (también llamadas "relaciones").
El modelo relacional permite almacenar datos sin redundancia y conectar diferentes tablas mediante claves compartidas.
Objetivo principal
Evitar la redundancia y asegurar la integridad de los datos. En lugar de repetir información, se distribuyen los datos en múltiples tablas relacionadas entre sí.
Ejemplo antes de normalizar (mal diseño)
En esta tabla, la información del cliente se repite cada vez que hace una compra:
ClienteID | NombreCliente | Producto | Precio |
---|---|---|---|
1 | Ana Pérez | Zapatos | 50 |
1 | Ana Pérez | Camiseta | 20 |
2 | Luis Gómez | Zapatos | 50 |
Ejemplo después de normalizar (3FN - Tercera Forma Normal)
Clientes
ClienteID | NombreCliente |
---|---|
1 | Ana Pérez |
2 | Luis Gómez |
Productos
ProductoID | NombreProducto | Precio |
---|---|---|
101 | Zapatos | 50 |
102 | Camiseta | 20 |
Compras
ClienteID | ProductoID |
---|---|
1 | 101 |
1 | 102 |
2 | 101 |
En resumen:
- Relacional = Tablas separadas que se pueden conectar entre sí.
- Mejora la organización, evita duplicación y facilita consultas complejas.
- Se basa en principios de normalización (formas normales) para estructurar los datos correctamente.
Consejos generales
- Usa phpMyAdmin: La mayoría de los hostings ofrecen phpMyAdmin, una interfaz gráfica para gestionar MySQL/MariaDB sin usar la terminal. Si no quieres complicarte la vida, usa adminer, que ofrece una funcionalidad similar y es mucho mas fácil de instalar.
- Haz copias de seguridad: Exporta tu base de datos regularmente para evitar perder datos.
- Aprende SQL básico: Comandos como
SELECT
,INSERT
,UPDATE
yDELETE
son suficientes para empezar. - Prueba localmente: Usa herramientas como XAMPP o MAMP para practicar con MySQL/MariaDB en tu computadora.
- MySQL vs. MariaDB: En la mayoría de los casos, puedes usar cualquiera; MariaDB es un poco más rápido y moderno, pero ambos funcionan igual para proyectos pequeños.
- Estudia la estructura de bases de datos diseñadas por otros
Conclusión
MySQL y MariaDB son los motores detrás de los datos dinámicos de tu sitio web. Con SQL, puedes almacenar y recuperar desde textos cortos hasta grandes bloques de texto o datos como imágenes, y conectar todo a tu aplicación web.
- Anterior « Inicio del tema
- Siguiente Tipos de tablas »