Uno de los problemas habituales que podemos tener al querer probar una nueva tecnología, es la necesidad de tener una base de datos de ejemplo con información.
Tabla de contenidos
Una base de datos de prueba no es más que un conjunto de datos relacionados, con los que poder trabajar. Esto es muy útil en multitud de casos:
Para crear este conjunto de datos, podemos seguir dos alternativas principales. Crear una copia de datos que actualmente tengamos nosotros ya en una base de datos, o utilizar conjuntos de prueba disponibles en la red. En mi opinión, si se va a utilizar de manera interna tiene sentido utilizar datos propios. Sin embargo, liberar estos datos para que otros los utilicen pueden entrañar problemas de seguridad. Por ello, voy a utilizar la segunda opción.
Quizás esta sea la parte más compleja del proceso. Por una parte, los datos deben ser numerosos y estar relacionados con otros para poder hacer consultas complejas y pruebas intensivas. Pero, también queremos que la base de datos ocupe poco y que se pueda restaurar fácilmente.
Por las razones anteriores, para mí uno de los mejores conjunto de pruebas es el siguiente. Este conjunto contiene 300.000 registros de empleados unidos a su salario y algunas otras tablas auxiliares, siguiendo el siguiente esquema:
Otra opción que os puede resultar interesante, pero que no he podido probar a fondo es el siguiente generador de datos.
Una vez que tenemos claro qué es, cómo crearla y de dónde conseguir los datos, sólo nos queda levantar una base de datos con el conjunto de pruebas. Para simplificar el proceso y favorecer que este artículo sea útil a un mayor número de lectores, voy a realizar la demo con Docker. Si todavía no sabes qué es docker, te recomiendo visitar el enlace anterior.
Los comandos que vamos a utilizar son los siguientes:
git clone https://github.com/datacharmer/test_db cd test_db docker run --name test-db -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d --rm mysql docker exec -i test-db sh -c 'exec mysql -uroot ' < employees.sql docker exec -i test-db sh -c 'exec mysql -uroot employees' < load_departments.dump docker exec -i test-db sh -c 'exec mysql -uroot employees' < load_employees.dump docker exec -i test-db sh -c 'exec mysql -uroot employees' < load_dept_emp.dump docker exec -i test-db sh -c 'exec mysql -uroot employees' < load_dept_manager.dump docker exec -i test-db sh -c 'exec mysql -uroot employees' < load_titles.dump docker exec -i test-db sh -c 'exec mysql -uroot employees' < load_salaries1.dump docker exec -i test-db sh -c 'exec mysql -uroot employees' < load_salaries2.dump docker exec -i test-db sh -c 'exec mysql -uroot employees' < load_salaries3.dump docker exec -i test-db sh -c 'exec mysql -uroot employees' < test_employees_md5.sql
En este caso he necesitado cargar volcado a volcado cada uno de los ficheros, debido a varios problemas con el script de carga inicial. Este script hace referencia a otros ficheros, lo que complica trabajar con Docker ya que las rutas son distintas. Para finalizar se lanza el comando de la última línea que comprueba que todos los datos han sido cargados correctamente.
Si te ha resultado útil este artículo, házmelo saber.
Icono diseñado por Smashicons para www.flaticon.com bajo la licencia CC 3.0 BY
En los últimos tiempos no he podido escribir con toda la frecuencia que me gustaría,…
Uno de los problemas más comunes a los que se enfrentan los usuarios que empiezan…
Cuando empiezas un proyecto hay una serie de aspectos comunes que suelen ser resueltos mediante…
Si alguna vez has tenido que realizar un desarrollo de front-end seguramente te habrás dado…
Una vez que una persona ya ha aprendido lo básico sobre un lenguaje de programación,…
Hoy en día, un gran porcentaje de los proyectos que se desarrollan son páginas webs.…