Saltar al contenido
Apuntes SQL Conquer Blocks
Instalación Clase 03a Tema 03

Importación de Sakila y World

Instalación de las dos bases de datos de práctica que se usan a lo largo de todo el módulo: Sakila (actores y películas) y World (ciudades, países e idiomas). Se importan ejecutando scripts SQL nativos, no importando archivos directamente.

#Sakila#World#Importación#Scripts SQL
§ 01

Resumen rápido

Instalación de las dos bases de datos de práctica que se usan a lo largo de todo el módulo: Sakila (actores y películas) y World (ciudades, países e idiomas). Se importan ejecutando scripts SQL nativos, no importando archivos directamente.

§ 02

Conceptos clave

Sakila

Base de datos de ejemplo oficial de MySQL. Simula el sistema de gestión de un videoclub: actores, películas, alquileres, clientes e inventario. Diseñada para practicar consultas relacionales complejas.

World

Base de datos de ejemplo oficial de MySQL con datos geográficos reales: ciudades, países e idiomas. Tiene tres tablas (City, Country, CountryLanguage) y miles de filas para practicar filtros y agregaciones.

Esquema (schema)

Estructura vacía de una base de datos: las tablas, columnas, tipos, claves y relaciones, sin ningún dato aún. En Sakila el esquema se importa en un primer paso separado.

Script SQL

Archivo de texto con extensión .sql que contiene instrucciones SQL listas para ejecutarse. Es la forma más fiable de importar bases de datos porque se ve exactamente qué comandos se corren.

Open SQL Script (Workbench)

Opción de menú File → Open SQL Script en MySQL Workbench. Carga un archivo .sql en un editor para revisarlo y ejecutarlo completo con el botón del rayo.

§ 03

Contenido de la clase

Para qué sirven estas dos bases de datos

Crear tablas propias con cuatro o cinco filas funciona para entender la sintaxis, pero no para practicar filtros, agregaciones o JOINs de verdad. Sakila y World existen precisamente para eso: son bases de datos realistas con miles de filas y relaciones entre tablas, diseñadas por el equipo de MySQL para practicar.

Base de datosTemáticaTablas principalesUso típico
SakilaVideoclub: actores, películas, alquileres16 tablas + vistasJOINs complejos, subconsultas, funciones
WorldGeografía: ciudades, países, idiomas3 tablas (City, Country, CountryLanguage)Filtros, ORDER BY, BETWEEN, LIKE, agregaciones

Durante el módulo se usarán las dos, pero las primeras clases de consultas se hacen sobre World por su estructura más sencilla.

Importar Sakila: dos pasos

Sakila se distribuye en dos archivos separados: uno para el esquema y otro para los datos. Hay que correrlos en ese orden exacto. Si se intenta cargar los datos antes de que existan las tablas, los INSERT INTO fallarán.

  1. Descargar el zip de Sakila desde la página oficial de ejemplos de MySQL y descomprimirlo.
  2. En Workbench, ir a File → Open SQL Script y abrir sakila-schema.sql.
  3. Ejecutar el script completo con el botón del rayo (▶). Esto crea las tablas vacías.
  4. Ir de nuevo a File → Open SQL Script y abrir sakila-data.sql.
  5. Ejecutar el script. Esto rellena todas las tablas con datos reales.
  6. Refrescar el panel lateral: debería aparecer la base de datos sakila con todas sus tablas.

Importar World: un solo script

World se distribuye en un único archivo que incluye tanto la creación de tablas como la inserción de datos. Internamente el script crea primero la estructura y luego ejecuta miles de INSERT INTO, pero todo ocurre de una sola pasada.

  1. Descargar el zip de World desde la misma página de ejemplos de MySQL y descomprimirlo.
  2. En Workbench, ir a File → Open SQL Script y abrir world.sql.
  3. Ejecutar el script completo. Se verán mensajes de insert, insert, insert… en la consola inferior.
  4. Refrescar el panel: aparecerá la base de datos world con las tablas City, Country y CountryLanguage.

Qué contiene cada base de datos

Antes de empezar a consultar, conviene saber qué columnas tienen las tablas principales de World, que es la que se usa en las siguientes clases.

TablaColumnas destacadasClave primariaRelación
CityID, Name, CountryCode, District, PopulationIDCountryCode → Country.Code
CountryCode, Name, Continent, Region, Population, GNP, IndepYear, LifeExpectancyCode
CountryLanguageCountryCode, Language, IsOfficial, PercentageCountryCode + LanguageCountryCode → Country.Code
§ 04

Código y ejemplos

Verificar que las bases de datos están disponibles

SQL
-- Listar todas las bases de datos del servidor
SHOW DATABASES;

-- Activar World y ver sus tablas
USE world;
SHOW TABLES;

-- Activar Sakila y ver sus tablas
USE sakila;
SHOW TABLES;

Si tanto sakila como world aparecen en SHOW DATABASES y sus tablas en SHOW TABLES, la importación fue correcta.

Primera consulta de verificación en World

SQL
USE world;

-- Ver las primeras filas de cada tabla
SELECT * FROM Country  LIMIT 5;
SELECT * FROM City     LIMIT 5;
SELECT * FROM CountryLanguage LIMIT 5;

LIMIT 5 evita devolver miles de filas de golpe. Si se ven datos en las tres tablas, la base de datos está correctamente importada y lista para usar.

§ 05

Errores comunes

Correr sakila-data.sql antes que sakila-schema.sql. Los datos no pueden insertarse en tablas que todavía no existen.
No refrescar el panel lateral de Workbench después de importar. La base de datos existe en el servidor pero Workbench no la muestra hasta que se refresca (clic derecho → Refresh All).
Ejecutar solo parte del script pulsando el rayo con texto seleccionado. El botón del rayo sin selección ejecuta todo; con selección, solo lo seleccionado. Para importar hay que ejecutar el script completo.
Confundir los archivos de Sakila: sakila-schema.sql crea las tablas vacías; sakila-data.sql las llena. Son dos archivos distintos con propósitos distintos.
§ 06

Buenas prácticas

Importa siempre el esquema antes que los datos cuando el proceso esté dividido en dos archivos.
Tras importar, verifica con SHOW TABLES y un SELECT * FROM … LIMIT 5 que las tablas existen y tienen datos.
Guarda los archivos .sql de Sakila y World en un lugar accesible: si alguna vez necesitas reimportar, los tendrás a mano.
Familiarízate con la estructura de World antes de consultar: saber qué columnas tiene cada tabla evita errores de nombres al escribir las consultas.
§ 07

Ejercicios

  1. Importa Sakila y World siguiendo los pasos indicados. Verifica con SHOW DATABASES que aparecen ambas.
  2. Ejecuta SHOW TABLES en cada una y anota cuántas tablas tiene cada base de datos.
  3. Haz un SELECT * FROM City LIMIT 10 en World y observa qué columnas tiene la tabla.
  4. Busca en la tabla Country las columnas Continent e IndepYear. ¿Qué tipo de datos crees que son?
§ 08

Checklist final

  • Tengo Sakila importada: schema primero, datos después.
  • Tengo World importada con su único script.
  • Ambas aparecen en SHOW DATABASES y sus tablas en SHOW TABLES.
  • Sé qué tablas tiene World (City, Country, CountryLanguage) y cómo se relacionan por CountryCode.
  • Entiendo que un script .sql es simplemente un archivo de texto con instrucciones SQL.

¿Has terminado la clase?

Márcala como repasada y vuelve cuando quieras revisarla.