¿Bases de datos para pruebas? ¡Te las tengo!

Estaba necesitando bases de datos en MySQL para pruebas para utilizarlas con fines académicos. Un día navegando por la web, encontré tres: Employees, ClassicModels y Sakila. El procedimiento para importar la estructura y los datos de esta última está perfectamente documentado en la web oficial de MySQL. Por ello, en este post solo veremos la instalación de las dos primeras bases de datos ya que cuando me correspondió instalar «Employees» siguiendo las instrucciones oficiales, me dio un error en los pasos 3 y 4, por supuesto, lo explicaré más adelante. En cuanto a la instalación de Sakila, el tutorial de este enlace funciona perfecto. En el caso de ClassicModels, me encontré con un tutorial al que hice unos pequeñísimos cambios en el script de carga de datos para que funcionara en mi Debian y agregué una bandera al comando para abrir la consola de MySQL. Por supuesto, te guiaré en el proceso paso a paso para la instalación. Empecemos.

Instalando la base de datos «Employees»

1 — Ve al directorio donde deseas descargar el archivo .tar.bz2 que contiene la estructura y los datos y escribe en la consola de Linux:

$ wget https://launchpad.net/test-db/employees-db-1/1.0.6/+download/employees_db-full-1.0.6.tar.bz2

2 — Descomprime el archivo que contiene la estructura y los datos de la base de datos:

$ tar -xjf employees_db-full-1.0.6.tar.bz2
$ cd employees_db/

3 — El próximo paso es iniciar la importación. Las instrucciones oficiales recomiendan usar $ mysql -t < employees.sql pero seguramente a muchas personas les arrojará un error ya que no se especifica un usuario y una contraseña. Con el siguiente comando solucionas eso:

$ mysql -u root -p -t < employees.sql

4 — Por último, para configurar la base de datos podemos validarla usando md5. Esto toma un poco más de tiempo:

$ time mysql -u root -p -t < test_employees_md5.sql

Con eso tendremos instalada nuestra primera base de datos para pruebas, vamos con la siguiente.

Instalando «ClassicModels»

1 — Descarga la base de datos y descompime:

$ wget http://www.eclipse.org/birt/phoenix/db/mysqlscr/birt-database-2_0_1.zip
$ unzip birt-database-2_0_1.zip

2 — Ve al directorio ClassicModels/mysql. Allí verás dos script y una carpeta con los ficheros de datos:

$ cd ClassicModels/mysql

 

NOTA: Ve al directorio ClassicModels/mysql/datafiles y modifica el script load_ClassicModels.sql por lo siguiente:

DELETE FROM Customers;
DELETE FROM Employees;
DELETE FROM Offices;
DELETE FROM OrderDetails;
DELETE FROM Orders;
DELETE FROM Payments;


DELETE FROM Products;
DELETE FROM ProductLines;

LOAD DATA LOCAL INFILE 'datafiles/Customers.txt' INTO TABLE Customers
 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY 'rn';

SHOW WARNINGS LIMIT 10;

LOAD DATA LOCAL INFILE 'datafiles/Employees.txt' INTO TABLE Employees
 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY 'rn';

SHOW WARNINGS LIMIT 10;

LOAD DATA LOCAL INFILE 'datafiles/Offices.txt' INTO TABLE Offices
 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY 'rn';

SHOW WARNINGS LIMIT 10;

LOAD DATA LOCAL INFILE 'datafiles/OrderDetails.txt' INTO TABLE OrderDetails
 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY 'rn';

SHOW WARNINGS LIMIT 10;

LOAD DATA LOCAL INFILE 'datafiles/Orders.txt' INTO TABLE Orders
 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY 'rn';

SHOW WARNINGS LIMIT 10;

LOAD DATA LOCAL INFILE 'datafiles/Payments.txt' INTO TABLE Payments
 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY 'rn';

SHOW WARNINGS LIMIT 10;

LOAD DATA LOCAL INFILE '/datafiles/Products.txt' INTO TABLE Products
 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY 'rn';

SHOW WARNINGS LIMIT 10;

LOAD DATA LOCAL INFILE 'datafiles/ProductLines.txt' INTO TABLE ProductLines 
 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY 'rn' 
 (productLine , textDescription);

SHOW WARNINGS LIMIT 10;

¿Qué modifiqué? El nombre de los archivos .txt y la ruta de los directorios.

 

3 — Entra a la consola de mysql con el siguiente comando. Básicamente si no agregas la bandera –local-infile=1 tendrías que mover temporalmente los dos ficheros y la carpeta al directorio en el que esté instalado MySQL.

$ mysql -u root -p --local-infile=1

4 — Una vez dentro, escribe los siguientes comandos:

mysql> CREATE DATABASE ClassicModels;
mysql> USE ClassicModels;
mysql> SOURCE create_classicmodels.sql;
mysql> SOURCE load_ClassicModels;

Y con eso, hemos terminado. Espero que las sepas aprovechar.

Si este post te ha sido de utilidad, te invito a dejar un comentario. Happy hacking!

Bases de datos de pruebas

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.