Bases de datos relacionales y consultas

InformáticaArchivos, almacenamiento y bases de datosEdades 16–17

Usar con mi clase

Dos tablas, STUDENTS y CLASSES, están vinculadas por la clave foránea ClassID, que apunta a la clave primaria ClassID de la tabla CLASSES. Los estudiantes construyen una consulta con varios selectores: qué tabla usar, si se unen las dos tablas, cuál es la condición de filtro, por qué columna se ordena y cuántas filas se devuelven. El programa genera la sentencia SQL correspondiente y la ejecuta en vivo sobre los datos, así que al cambiar una condición la tabla de resultados cambia al instante; al hacer clic en una fila se ve con qué fila de la otra tabla se unió.

Lección: Bases de datos relacionales: clave primaria, clave foránea, consultas SELECT con condiciones, uniones (JOIN) y ordenación

Qué muestra

Una base de datos relacional guarda los datos en tablas formadas por registros y campos. Cada tabla tiene una clave primaria cuyos valores son únicos y nunca vacíos, y una clave foránea en otra tabla hace referencia a esa clave primaria para enlazar registros. Aquí la tabla STUDENTS (estudiantes) contiene ClassID, una clave foránea que apunta a la tabla CLASSES (grupos), de modo que los datos de cada grupo se guardan una sola vez en lugar de repetirse para cada estudiante. La simulación convierte tus elecciones en una sentencia SQL SELECT con JOIN, WHERE, ORDER BY y un límite de filas, y la ejecuta sobre los datos.

Cómo usarla

Empieza con Unión en Solo la tabla STUDENTS; luego cambia a la opción de unir las tablas y fíjate en qué columnas se añaden. Elige una Columna para filtrar, un operador de comparación y escribe un Valor de comparación, y pide a los estudiantes que predigan qué filas saldrán antes de pulsar Ejecutar consulta. Añade Ordenar por y reduce Máximo de filas devueltas para ver cómo actúan juntos el orden y el límite. Haz clic en una fila del resultado para seguir su clave foránea hasta la tabla CLASSES.

Parámetros que puedes cambiar

  • Unión Solo la tabla STUDENTS, Unir STUDENTS con CLASSES por ClassID, Solo la tabla CLASSES
  • Columna para filtrar Sin filtro, AvgScore, ClassID, Gender
  • Valor de comparación
  • Ordenar por Sin ordenar, FullName ascendente, AvgScore descendente
  • Máximo de filas devueltas 1–12 filas

Preguntas para explorar

  1. ¿Por qué ClassID es clave primaria en CLASSES pero clave foránea en STUDENTS?
  2. Con AvgScore en orden descendente y un límite de 3 filas, ¿qué estudiantes se devuelven?
  3. ¿Puedes listar el nombre del grupo de cada estudiante sin unir las dos tablas? ¿Por qué?