Clase 4 - Sublenguajes SQL
Clase 4 - Sublenguajes SQL
grabada
Clase 04. SQL
Sublenguajes SQL
Temario
04
03 05
Consultas y
Lenguajes SQL Sublenguajes SQL
subconsultas SQL
✓ Sublenguajes ✓ Union
✓ Lenguaje SQL SQL
✓ Tipos de
✓ Operadores SQL ✓ Ordenamiento datos
de datos
✓ Sentencia Where ✓ Subconsultas
✓ Funciones de SQL
agregación
Objetivos de la clase
UX Interacción
Factores que
construye UX
Diseño Centrado
Analizar Diseñar Validar
en el Usuario
UI
Iterar
Repaso
Comenzamos en el poder, y a su vez la Veamos ahora de qué se tratan los
complejidad que el lenguaje SQL tiene para el sublenguajes SQL, y cuál es el objetivo de
procesamiento, así como la obtención de integrarlos en el uso cotidiano de éste.
información de una base de datos.
Sublenguajes
SQL
Operadores de comparación
Duración: 10 minutos
Prácticas con operadores
ACTIVIDAD COLABORATIVA
Acuerdos
Presencia Apertura al aprendizaje
✓ Participar y “estar” en la clase, que tu ✓ Siempre, pero siempre puedes seguir
alrededor no te distraiga aprendiendo. Compartir el
conocimiento es válido, la construcción
colaborativa es la propuesta.
Escucha activa
✓ Escuchar más allá de lo que la persona
está expresando directamente Todas las voces
✓ Escuchar a todos, todos podemos
reflexionar. Dejar el espacio para que
todos podamos participar.
ACTIVIDAD COLABORATIVA
¿Numérico o string?
Contesta la encuesta de Zoom
Para pensar
Y si pensamos en un campo contable, que
debe almacenar el año de ejercicio de los
asientos registrados, ¿qué tipo de dato
deberíamos darle a este campo?
¿Numérico o string?
Contesta la encuesta de Zoom
Ordenamiento
de datos
Order by
La sentencia “order by”
Así como podemos consultar, seleccionar qué Para el ordenamiento de la misma, debemos
mostrar y cuáles datos filtrar, SQL nos brinda recurrir a la sentencia ORDER BY.
también la posibilidad de ordenar la
información.
¿Cómo se implementa?
Podemos especificar una o más columnas,
1. SELECT (campos)
separando las mismas por una coma, para
2. FROM (tabla)
que el resultado SQL muestre los datos
3. WHERE (condición/es)
ordenados de acuerdo a nuestro criterio o
4. ORDER BY (columna)
necesidad.
¿Cómo se implementa?
Existen dos tipos de ordenamiento (de uso
1. SELECT (campos)
opcional):
2. FROM (tabla)
✓ ASC
3. WHERE (condición/es)
✓ DESC
4. ORDER BY (columna)
5. ASC
Si no especificamos ninguno, SQL ordena de
forma ASC.
Ejemplo en vivo
Si especificamos un solo
parámetro numérico, nos
devolverá sólo los
primeros N registros del
resultado de la consulta.
SELECT *
FROM game
ORDER BY id_class
LIMIT 5;
La sentencia “limit”
Si especificamos dos
parámetros numéricos,
se listarán los N registros
del resultado de la
consulta, partiendo de la
posición indicada por el
primer parámetro.
SELECT *
FROM game
ORDER BY id_class
LIMIT 3, 5;
Uso de limit top
La integración de Alias
es ideal para acortar el
nombre de campos y/o SELECT
tablas. su.id_system_user AS id,
su.last_name AS l_n,
su.password AS pass
FROM system_user su
ORDER BY su.id_system_user;
Funciones de
agregación
Funciones de agregación
Así como SQL nos permite obtener datos de Podemos combinar funciones de totalización,
una o más tablas, también nos permite conteo, promedios, valores mínimos y/o
obtener valores simplificados o resumidos, máximos, entre otras, al momento de realizar
sobre datos específicos que necesitemos. la consulta.
Esto se conoce como Funciones de Las funciones de agregación se combinan
Agregación o Agrupación. con la cláusula GROUP BY y el uso de AS.
Repaso por las
funciones
COUNT ()
Devuelve el número total de filas SELECT COUNT(*)
seleccionadas en una consulta. AS total_level
FROM level_game;
MIN ()
Devuelve el valor
máximo de un campo
que especifiquemos. SELECT MAX(id_level)
AS max_level
FROM level_game;
SUM ()
Devuelve el valor
promedio de un campo
que especifiquemos. SELECT AVG(value)
FROM vote
WHERE id_game = 1;
Ejemplo en vivo
SELECT
id_system_user AS user,
COUNT(*) AS
games_by_user
FROM play
GROUP BY id_system_user;
HAVING
Having
HAVING, al igual WHERE, permite establecer Por lo tanto, debemos tener presente que
condiciones para filtrar los resultados. Para esta sentencia solo funciona con campos
generados a partir de una función.
ello, necesitamos generar campos con
resultados filtrados, para luego sumar a
HAVING.
HAVING
SELECT
id_system_user AS user,
COUNT(*) AS
games_by_user
FROM play
GROUP BY id_system_user
HAVING COUNT(*) > 1;
Prácticas de
agrupamiento
Implementemos las diferentes opciones de orden y
agrupamiento de datos
Duración: 10 minutos
ACTIVIDAD EN CLASE
Prácticas de agrupamiento
Partiendo de la tabla, debes determinar qué resultado obtendrás, implementando las consultas de
la diapositiva siguiente.
Comentaremos los resultados en la clase, a través del sistema de chat.
Concepto
Concepto
SELECT s.id_system_user as
user, g.id_game as game,
name, id_level as level
FROM system_user s FULL JOIN
play p
ON (s.id_system_user =
p.id_system_user)
FULL JOIN game g ON (p.id_game
= g.id_game);
Diagrama entidad-relación
Iniciaremos el diseño de la base de datos de nuestro
proyecto final.
DESAFÍO ENTREGABLE
Diagrama entidad-relación
Consigna Formato
✓ Diseñar el modelo entidad-relación de ✓ PPT o Slides nombrado como
al menos dos de las temáticas elegidas “Lista+Apellido”
para el proyecto final.
Sugerencias
Aspectos a incluir
✓ Definir al menos cinco tablas ✓ En caso de ser un archivo en línea,
✓ Crear el diagrama de entidad-relación activar permisos de acceso.
con todos sus componentes: ✓ Utilizar como guía la práctica y el
✓ Entidades desafío genérico de la clase.
✓ Acciones de relacionamiento
✓ Tipos de relación
✓ Campos clave
¿Preguntas?
Muchas gracias.
Resumen
de la clase hoy
✓ Prácticas con Operadores de comparación
✓ ORDER BY - LIMIT - HAVING
✓ GROUP BY - Funciones de agrupación
✓ JOIN entre dos tablas
Opina y valora
esta clase