Saltar a contenido

Introducción

En esta unidad aprenderemos a acceder a datos almacenados en un servidor; exploraremos cómo recuperarlos, editarlos y crearlos mediante el uso de una base de datos.

Trabajaremos con las diferentes capas o niveles, de las cuales ya conocemos dos (Apache y PHP), y estudiaremos en detalle MySQL, que es el enfoque principal de este tema.

Modelo de tres capas

Instalación

XAMPP es un paquete de software libre que permite montar un servidor web local de forma sencilla. El nombre es un acrónimo que significa:

  • X: Multiplataforma (funciona en Windows, Linux y macOS)
  • A: Apache (servidor web)
  • M: MySQL o MariaDB (sistema de gestión de bases de datos)
  • P: PHP (lenguaje de programación del lado del servidor)
  • P: Perl (lenguaje de programación)

Una vez que sabemos lo que es XAMPP, la instalación es muy sencilla. Solo necesitamos descargar el programa y activarlo. Para obtener XAMPP, pulsa aquí.

Con Docker, descargaremos esta imagen de Docker y ejecutaremos el siguiente comando

docker-compose up -d

Si todo ha funcionado correctamente y el contenedor está en marcha, podremos visitar la página de phpMyAdmin ingresando la siguiente dirección en el navegador:

http://localhost:8000
Inicio phpMyadmin

Para acceder, debemos utilizar las siguientes credenciales, que vienen configuradas en el archivo docker-compose.yml

usuario: root
contraseña: 1234

Estructura de una base de datos

Sabemos que una base de datos tiene muchos campos con sus nombres y valores, pero además, debe tener un nombre que la identifique. Por tanto, la estructura general de una base de datos relacional se organiza de la siguiente manera:

  1. Base de datos: tiene un nombre único que la identifica.
  2. Tablas: dentro de la base de datos, se definen múltiples tablas, cada una también con un nombre único.
  3. Filas (registros): cada fila representa una instancia individual de los datos almacenados en una tabla.
  4. Columnas (campos): cada columna tiene: - Nombre: describe el tipo de información que contiene. - Tipo de dato: define qué tipo de valores puede almacenar (por ejemplo: INTEGER, VARCHAR, DATE, etc.).

    NombreBaseDeDatos |__Tabla-#1 | |__DatosTabla-#1 | |__Tabla-#2 | |__DatosTabla-#2 | |__Tabla-#3 | |__DatosTabla-#3 [...]

Para comprender mejor cómo se estructura y organiza una base de datos relacional, vamos a utilizar un ejemplo práctico basado en una aerolínea ficticia llamada Ryanair.

Este ejemplo nos permitirá observar:

  • Cómo se nombra y organiza una base de datos.
  • Qué es una tabla y cómo se define.
  • Cómo se representan las filas (registros) y las columnas (campos).
  • Cómo se manejan claves primarias y claves foráneas para establecer relaciones entre datos.

A partir de este escenario, construiremos la estructura de una base de datos que almacene información sobre pasajeros, vuelos y países de destino. Esta estructura es común en aplicaciones del mundo real como sistemas de reservas, plataformas de gestión de vuelos o bases de datos de clientes.

El objetivo es identificar claramente la jerarquía: base de datos → tablas → filas → columnas (con nombre y tipo de dato).

Ryanair
    |__pasajero
    |    |__id[*]
    |    |__nombre
    |    |__apellidos
    |    |__edad
    |    |__id_vuelo[^]
    |
    |__vuelo
    |    |__id[*]
    |    |__n_plazas
    |    |__disponible
    |    |__id_pais[^]
    |
    |__pais
         |__id[*]
         |__nombre

Leyenda

  • [*] Clave primaria
  • [^] Clave foránea

Cómo importar una base de datos en MySQL

Existen varias formas de importar una base de datos en MySQL. A continuación, se muestran los métodos más comunes:

1. Usando la línea de comandos

Si tienes un archivo .sql con la estructura y/o datos de la base de datos, puedes importarlo fácilmente desde la terminal.

Requisitos:

  • Tener instalado MySQL o XAMPP.
  • Tener el archivo .sql exportado previamente.

Comando:

mysql -u usuario -p nombre_base_de_datos < ruta/al/archivo.sql

Donde:

  • usuario: nombre del usuario (por defecto suele ser root).
  • nombre_base_de_datos: nombre de la base de datos donde se importarán los datos (debe existir previamente).
  • ruta/al/archivo.sql: ubicación del archivo SQL.
mysql -u root -p ryanair < backup_ryanair.sql

2. Usando phpMyAdmin

Pasos:

  1. Accede a http://localhost/phpmyadmin.
  2. Crea una nueva base de datos (si aún no existe) con el nombre deseado.
  3. Selecciona esa base de datos en el panel izquierdo.
  4. Ve a la pestaña Importar.
  5. Haz clic en Seleccionar archivo y elige el archivo .sql desde tu equipo.
  6. Pulsa Continuar para ejecutar la importación.

phpMyAdmin se encarga de ejecutar automáticamente las sentencias SQL contenidas en el archivo.

Consideraciones

Elijas el método que elijas, tienes que tener en cuenta:

  • Asegúrate de que el archivo .sql contiene instrucciones válidas para MySQL.
  • Si la base de datos no existe, debes crearla antes de importar (o incluir la instrucción CREATE DATABASE en el archivo).
  • Revisa el cotejamiento (collation) si trabajas con acentos o caracteres especiales (utf8_general_ci o utf8mb4_unicode_ci son buenas opciones).

Actividad

  • 📝 AC 601. (RA6 / CE6a / IC1 / 3p) - Documenta el proceso de instalación de MySQL, comentando las dificultades encontradas. Además importa el siguiente fichero, ¿qué ha ocurrido al importarlo?