Consultas básicas sobre una base de datos en Coding Rooms
Aquí van unos pocos ejemplos de consultas básicas sobre una base de datos, para practicar sobre la herramienta Coding rooms.
Antes de nada, aquí puedes descarar la base de datos para ejecutarla en la herramienta que más abajo se explica paso a paso cómo hacerlo.
La base de datos es sobre recetas, tiene el siguiente diagrama relacional:
Coding Rooms
Para utilizar Coding Rooms no se necesario registrarse si se accede directamente al workspace desde este enlace. Pero si te registras se guardan los workspace que vayas utilizando, por lo que yo lo recomiendo.
Para iniciar el compilador solo hay que pulsar sobre el botón "Start coding MySQL for free now".
Esto abre el Workspace de MySQL siguiente.
Lo primero que tenemos que hacer es ejecutar el script descargado para crear la base de datos de recetas. Para eso, en el área de navegación de archivos, clicar sobre la flecha hacia arriba para subir el archivo.
El archivo se carga y haciendo clic sobre él se abre en el escritorio. Ahora solo hay que desplegar los archivos del botón de ejecución y seleccionar el archivo que se desea ejecutar.
El resultado de la ejecución se carga en la consola de debajo. En el caso del script de creación de la base de datos de recetas, como no son consultas, no muestra nada por pantalla, así que si no muestra ningún error, es que todo ha ido bien.
Con esto ya deberíamos tener la base de datos creada en el servidor de coding rooms para empezar a hacer consultas.
Consultas SQL sencillas
En el archivo que podéis descargar aquí, hay ejemplos de consultas que a continuación se explican.
Ejecutar consultas en Coding Rooms
Para ejecutar cada consulta en Coding Rooms, hay que poner la consulta en un archivo y ejecutar ese archivo.
Para crear un archivo nuevo hay que pulsar en el + del navegador de ficheros:
En ese nuevo archivo podéis ir escribiendo cada consulta, y el resultado se mostrará en la consola.
Ejemplos del archivo
1. Mostrar todos los tipos de recetas que hay en la base de datos:
select * from tipo_receta;
La consola muestra el resultado:
2. Mostrar el nombre de todas las recetas que no tienen anotaciones (en el campo notas)
select nombre from receta where notas is null;
Resultado:
3. Queremos saber cómo se prepara la "Ensalada de verano"
select preparacion from receta where nombre like 'Ensalada de verano';
Resultado:
Ahora vamos a ver cómo sacaríamos información que hay en varias tablas sin haber visto las consultas multitabla.
4. Queremos saber qué recetas llevan 'Ternera'.
Los ingredientes están en la tabla ingrediente, la unión de recetas con ingredientes está en la tabla receta_tiene_ingrediente, pero el nombre de las recetas está en la tabla receta.
Primero hay que buscar cuál es el identificador del ingrediente 'Ternera' para buscarlo en la tabla receta_tiene_ingrediente. Así esta tabla nos dará los identificadores de las recetas que llevan ternera y con ese identificador podremos ir a buscar las recetas en la tabla receta.
Identificador del ingrediente 'Ternera':
select id_ingrediente from ingrediente where nombre like 'Ternera';
Resultado:
Identificador de las recetas que llevan 'Ternera':
select id_receta from receta_tiene_ingrediente where id_ingrediente=1;
Resultado:
Recetas que llevan 'Ternera':
select nombre from receta where id_receta=9 or id_receta=1;
Resultado:
select count(*) from receta where notas is not null;
Resultado: