Want to create interactive content? It’s easy in Genially!

Get started free

Programación y Bases de Datos - Primera Actividad - Cristina Outeiriño

Cristina Outeiriño Cid

Created on November 21, 2024

Start designing with a free template

Discover more than 1500 professional designs like these:

Corporate Christmas Presentation

Business Results Presentation

Meeting Plan Presentation

Customer Service Manual

Business vision deck

Economic Presentation

Tech Presentation Mobile

Transcript

Programación y Bases de Datos Primera Actividad

Bloque temático: BT3 Titulación: Técnico Superior en Desarrollo de Aplicaciones Web Módulo: Bases de datos (código: 0484)

Empezamos!

Cristina Outeiriño Cid

Contenidos

Almacenamiento de la información
01
Realización de consultas SQL
02
Consultas avanzadas con SQL
03
Ponte a prueba!
04

01

Almacenamiento de la información

Almacenamiento de la información

01

Almacenar Datos
Estrategias de almacenamiento
El Esquema de una Base de Datos
Diseñar una Base de Datos
Sistemas Gestores de Bases de Datos
El lenguaje SQL

Almacenamiento de la información

01

Almacenar Datos

¿Qué es un dato? Un dato es una unidad de información que puede ser registrada y conservada para su uso posterior.

¿Qué es un almacén de datos (data warehouse)? Un almacén de datos es un sistema diseñado para almacenar información de manera organizada, lo que facilita su acceso y análisis.

¿Qué es una base de datos? Una base de datos es un tipo específico de almacén de datos que:
  • Contiene información estructurada.
  • Está diseñada para permitir tanto el almacenamiento eficiente como la consulta de los datos.

Almacenamiento de la información

01

Almacenar Datos

Base de datos (BD) vs. Sistema Gestor de Bases de Datos (SGBD): La base de datos (BD) se refiere al repositorio donde se almacenan los datos, mientras que un sistema gestor de bases de datos (SGBD) es el software encargado de administrarla y facilitar su manipulación.

Almacenamiento de la información

01

Almacenar Datos

Arquitectura de un sistema software: Arquitectura de tres capas

Capa de presentación: Se encarga de la interacción con el usuario, proporcionando la interfaz a través de la cual este interactúa con el sistema.

Capa de lógica: Contiene la programación y las reglas de negocio que gestionan el procesamiento y el flujo de información en el sistema.

Capa de datos: Administra el almacenamiento y la recuperación de la información, incluyendo las bases de datos y los repositorios de datos utilizados.

Almacenamiento de la información

01

Almacenar Datos

Organización habitual de los datos: El modelo relacional

Los datos se organizan en tablas, que representan conjuntos de información relacionados.

Cada tabla está compuesta por:
  • Filas (registros): Corresponden a instancias individuales de datos.
  • Columnas (campos): Representan los atributos o características de los datos almacenados.

Almacenamiento de la información

01

Almacenar Datos

Métodos de almacenamiento

Aspectos físicos (dónde): Los datos suelen almacenarse en memoria principal y, de forma más persistente, en sistemas de almacenamiento secundario, como discos duros.

Aspectos lógicos (cómo):Usualmente se guardan en estructuras específicas del SGBD (archivos internos) o, en ausencia de un SGBD, en archivos planos.

Almacenamiento de la información

01

Almacenar Datos

Principales retos en la gestión de datos:

  • Organización del almacén: Diseñar una estructura adecuada para almacenar los datos.
  • Gestión de operaciones: Implementar y manejar las operaciones CRUD (Crear, Leer, Actualizar, Borrar).
  • Garantía de integridad: Aplicar principios como los de ACID (Atomicidad, Consistencia, Aislamiento, Durabilidad).
  • Seguridad: Proteger el acceso a la información mediante controles adecuados.
  • Optimización del rendimiento: Reducir los tiempos de acceso y uso de los datos.

Almacenamiento de la información

01

Estrategias de almacenamiento

Estructuras de datos en memoria: Los datos se almacenan directamente en las estructuras del programa, permaneciendo en memoria mientras este se ejecuta.

+ info

Ficheros en almacenamiento externo: Persistente.

Archivos con organización lógica: Se añade una estructura definida a los datos almacenados en archivos.

+ info

Bases de datos gestionadas por un SGBD: Los datos se organizan dentro de una base de datos y se gestionan mediante un sistema especializado (SGBD). Esta estrategia ofrece múltiples ventajas, aunque incrementa la complejidad del sistema.

Almacenamiento de la información

01

El Esquema de una Base de Datos

Elementos Fundamentales de la Estructura de una Base de Datos

Para una tabla:
  • Nombre de la tabla: Identificador único para distinguirla dentro del sistema.
  • Nombres de las columnas (campos): Definen las categorías de datos almacenados.
  • Tipos de datos (para cada campo): Especifican el formato y naturaleza de los valores (números, texto, fechas, etc.).

  • Restricciones: Limitaciones impuestas para mantener la integridad de los datos.

Conjunto de tablas y relaciones:
  • Al incluir múltiples tablas, se establecen relaciones entre ellas mediante claves foráneas (Foreign Keys), siguiendo los principios del modelo relacional.

Almacenamiento de la información

01

El Esquema de una Base de Datos

Existen diversas formas de estructurar un almacén de datos:

  • Plano (Flat): Datos organizados en tablas sencillas sin relaciones complejas.
  • Jerárquico (Hierarchical): Organización en forma de árbol, con elementos padres e hijos.
  • En red (Network): Relaciones complejas y multidireccionales.
  • Relacional (Relational): Basado en tablas relacionadas por claves.
  • En estrella (Star): Diseño optimizado para análisis en sistemas de inteligencia de negocio.
  • Copo de nieve (Snowflake): Variante más normalizada del esquema estrella

Almacenamiento de la información

01

Diseñar una base de datos

Etapas en el diseño de una base de datos:

1. Diseño Conceptual:
  • Se realiza de manera visual, utilizando diagramas y esquemas en papel o herramientas similares.
  • El objetivo es crear un modelo comprensible incluso para personas sin conocimientos técnicos, facilitando la comunicación de ideas.

2. Diseño Lógico:
  • Se enfoca en organizar los datos según el modelo elegido (como el modelo relacional).
  • Permite plasmar las necesidades conceptuales en una estructura clara y precisa para su implementación

Almacenamiento de la información

01

Diseñar una base de datos

Etapas en el diseño de una base de datos:

3. Diseño Físico:
  • Consiste en implementar el diseño lógico utilizando un lenguaje específico del sistema gestor de bases de datos (SGBD).
  • Define cómo se almacenarán físicamente los datos en el sistema.

Almacenamiento de la información

01

Diseñar una base de datos

Un diseño eficaz debe:

  • Minimizar la redundancia: Reducir la duplicación de datos para optimizar espacio y evitar confusiones.
  • Prevenir inconsistencias: Garantizar que los datos sean coherentes en toda la base.
  • Asegurar la integridad de los datos: Proteger la precisión y validez de la información almacenada.
  • Facilitar el acceso rápido a los datos: Diseñar estructuras eficientes que soporten consultas ágiles.
  • Controlar el acceso a los datos: Establecer restricciones claras sobre quién puede acceder y modificar cada elemento de información.

Almacenamiento de la información

01

Sistemas Gestores de Bases de Datos

Arquitectura del SGBD: Modelo ANSI/XPARC:

1. Nivel Externo: Cada usuario o aplicación interactúa con los datos mediante vistas específicas que reflejan su perspectiva de los datos almacenados.

2. Nivel Conceptual: Define la organización general de los datos, describiendo el diseño conceptual y lógico de la base.

3. Nivel Interno: Detalla el almacenamiento físico de los datos, incluyendo dónde y cómo se guardan (diseño físico).

Almacenamiento de la información

01

Sistemas Gestores de Bases de Datos

El SGBD es un software complejo que incluye diversos módulos para su funcionamiento óptimo:

  • Interfaz externa: Ofrece opciones gráficas (GUI) o de consola (CLI) para la interacción con los usuarios.
  • Gestor del almacenamiento físico: Maneja cómo y dónde se almacenan los datos en el hardware.
  • Intérprete del modelo de datos: Procesa el lenguaje definido por el modelo utilizado
  • Compilador y optimizador de consultas: Convierte las consultas en instrucciones eficaces para ejecutar.
  • Motor de la base de datos: Núcleo encargado de procesar las operaciones.
  • Gestor de transacciones: Asegura la ejecución fiable y coherente de transacciones.
  • Gestor de usuarios y seguridad: Controla accesos y permisos según perfiles de usuario.

Almacenamiento de la información

01

El lenguaje SQL

El SQL (Structured Query Language) es el estándar principal para la gestión de bases de datos relacionales, en las que los datos se organizan en tablas.

Características principales de SQL:

  • Basado en el modelo relacional: Trabaja con datos estructurados en tablas, lo que facilita la organización y la consulta.
  • Lenguaje declarativo: Permite al usuario especificar qué datos necesita sin necesidad de definir cómo obtenerlos, delegando esta tarea al sistema gestor de bases de datos.
  • Altamente utilizado: Es el lenguaje más extendido para la administración de bases de datos, tanto a nivel académico como en la industria.
  • Simplicidad y potencia: Es fácil de aprender para principiantes, pero permite realizar operaciones avanzadas y complejas en bases de datos de gran tamaño.
  • Completitud funcional: Soporta todas las operaciones fundamentales de gestión de bases de datos.

+ info

Almacenamiento de la información

01

El lenguaje SQL

SQL abarca tres áreas esenciales para la gestión de un almacén de datos:

  • Definición de datos: Mediante el Lenguaje de Definición de Datos (DDL), se crean y configuran las estructuras físicas de la base de datos (tablas, índices, esquemas).
  • Modificación de datos: Con el Lenguaje de Manipulación de Datos (DML), se gestionan los datos almacenados (insertar, modificar y consultar información).
  • Control de acceso: A través del Lenguaje de Control de Datos (DCL), se define quién tiene acceso a la base de datos y qué permisos tienen (roles, privilegios).

02

Realización de consultas SQL

Realización de consultas SQL

02

El Lenguage SQL
Tipos de Datos y Valores Nulos
El crucigrama SQL
El comando SELECT
Filtrar y Ordenar los resultados
Funciones en SQL
Agrupaciones de Datos

02

El Lenguage SQL

Realización de consultas SQL

El SQL (Structured Query Language) es un lenguaje estándar utilizado para interactuar con bases de datos que implementan el modelo relacional, donde toda la información está organizada en tablas.

¿Qué es y qué se puede hacer con SQL?

  • Gestión integral: SQL permite definir la estructura de la base de datos, manipular datos y controlar el acceso.
  • Estándar con variaciones: Aunque existen estándares, cada SGBD incluye extensiones específicas.
  • Interactividad: Los SGBD proporcionan interfaces o consolas para ejecutar comandos SQL directamente.
  • Modelo relacional: Toda la información y resultados de consultas se organizan en tablas.

02

El Lenguage SQL

Realización de consultas SQL

Estructura básica de las declaraciones SQL Las sentencias SQL están compuestas por varios elementos fundamentales:

SELECT CURSO, NOMBRE, NOTA FROM ALUMNOS WHERE ASIGNATURA = "BD"

02

Tipos de Datos y Valores Nulos

Realización de consultas SQL

Consulta básica sin origen de datos: Genera un resultado directamente evaluando una expresión.

SELECT 1;

Devuelve un valor literal.

SELECT 10 + 14;

Realiza cálculos, operando con números de distintos tipos.

SELECT (10 < 20);

Evalúa expresiones booleanas, devolviendo 0 o 1.

SELECT "2022-10-01";

Trabaja con datos temporales como fechas y horas.

02

Tipos de Datos y Valores Nulos

Realización de consultas SQL

Operadores:

  • Números: Enteros (INT) y decimales (DECIMAL(n,p)).
  • Cadenas de caracteres: VARCHAR(N), delimitadas con comillas simples (').
  • Fechas: DATE y TIMESTAMP, que se manejan de forma similar a texto.

Cada SGBD puede añadir o modificar tipos, por lo que es esencial consultar su documentación oficial.

02

Tipos de Datos y Valores Nulos

Realización de consultas SQL

Operadores

En SQL, los operadores son herramientas esenciales para construir expresiones que manipulan y comparan datos. Existen múltiples categorías, cada una diseñada para un propósito específico:

  • Operadores aritméticos: Permiten realizar cálculos matemáticos básicos sobre valores numéricos.

+ info

  • Operadores de comparación: Se utilizan para establecer relaciones entre valores y evaluar condiciones.

+ info

  • Operadores lógicos: Ayudan a combinar múltiples condiciones en una sola expresión lógica.

+ info

+ info

  • Otros operadores avanzados

02

Tipos de Datos y Valores Nulos

Realización de consultas SQL

El valor nulo (NULL) en SQL representa un campo sin valor asignado, es decir, un dato inexistente.

  • Es importante diferenciarlo de otros valores como 0 o una cadena vacía (""), ya que NULL indica la ausencia de cualquier valor.
  • Puede generar complicaciones en las consultas, ya que los valores nulos requieren un tratamiento específico.
  • Para verificar si un campo contiene un valor nulo, se utiliza el operador especial IS NULL.
  • En caso de trabajar con datos que puedan contener nulos, es fundamental detectarlos y considerarlos adecuadamente.

02

Tipos de Datos y Valores Nulos

Realización de consultas SQL

El valor nulo (NULL) en SQL representa un campo sin valor asignado, es decir, un dato inexistente.

  • Es importante diferenciarlo de otros valores como 0 o una cadena vacía (""), ya que NULL indica la ausencia de cualquier valor.
  • Puede generar complicaciones en las consultas, ya que los valores nulos requieren un tratamiento específico.
  • Para verificar si un campo contiene un valor nulo, se utiliza el operador especial IS NULL.
  • En caso de trabajar con datos que puedan contener nulos, es fundamental detectarlos y considerarlos adecuadamente.

02

El comando SELECT

Realización de consultas SQL

El comando SELECT se utiliza para realizar consultas en bases de datos:

  • Resultado: Devuelve una tabla con 0, 1 o más columnas (campos) y sus correspondientes registros.
  • Estructura: Permite especificar los campos deseados, el origen de los datos (tablas u otras fuentes) y las condiciones necesarias para filtrar los resultados.
  • Origen de datos: Generalmente se define en la cláusula FROM y suele ser una tabla, aunque también puede incluir combinaciones más complejas, como resultados de otras consultas, tablas relacionadas o expresiones.

02

El comando SELECT

Realización de consultas SQL

  • Alias: Se pueden asignar nombres temporales a columnas o tablas utilizando la palabra clave AS.
  • Selección completa: SELECT * recupera todas las columnas de una tabla.
  • Versión avanzada: SELECT DISTINCT elimina registros duplicados en los resultados, devolviendo solo valores únicos.

SELECT * FROM students;

Todos los campos de los estudiantes

SELECT name FROM students;

Nombres de los estudiantes

SELECT name AS my_students FROM students;

Nombrar temporalmente la columna "name" como "my_students"

SELECT DISTINCT name FROM students;

Nombres sin repetición

02

Filtrar y Ordenar los resultados

Realización de consultas SQL

La cláusula WHERE en SQL

  • Propósito: Se utiliza en diversos comandos SQL para filtrar los datos antes de seleccionarlos o procesarlos.
  • Funcionamiento: Actúa como un filtro que crea una tabla temporal, limitando los registros que cumplen las condiciones especificadas.

SELECT age FROM students WHERE name='Juan';

La edad del estudiante llamado Juan

SELECT name FROM students WHERE id=1;

El nombre del estudiente con el identificador 1

02

Filtrar y Ordenar los resultados

Realización de consultas SQL

Para construir un predicado en una cláusula WHERE, se suelen utilizar los siguientes elementos:

  • Valores fijos: Constantes como números o texto.
  • Nombres de campos: Identificadores de columnas en las tablas.
  • Operadores: Pueden ser aritméticos o de comparación.
  • Operadores lógicos: Permiten combinar múltiples expresiones.

SELECT id FROM students WHERE age>13 AND name='Juan';

Los identificadores de los estudientes llamados 'Juan' que tengan más de 13 años

02

Filtrar y Ordenar los resultados

Realización de consultas SQL

Operadores habituales en SQL:

  • AND, OR, NOT: Se utilizan para encadenar predicados.
  • LIKE: Permite buscar patrones dentro de cadenas de texto, utilizando caracteres especiales para representar cualquier secuencia.
  • IN: Es una forma de comparar un valor con una lista de valores posibles.
  • BETWEEN: Se utiliza para definir un rango de valores.

SELECT id FROM students WHERE age BETWEEN 13 AND 16 OR age IN (18, 21);

Identificadores de estudientes con edades 13, 14, 15, 16, 18 y 21

SELECT id FROM students WHERE name LIKE 'J%';

Identificadores de estudientes cuyos nombres empiezan por J

02

Filtrar y Ordenar los resultados

Realización de consultas SQL

Cláusulas SQL: ORDER BY y LIMIT

  • ORDER BY: Se utiliza para ordenar los resultados de una consulta según uno o más campos. Se puede especificar si el orden es ascendente (ASC, por defecto) o descendente (DESC).
  • LIMIT (o TOP en algunos SGBD): Permite limitar el número de resultados devueltos por la consulta a número específico.

SELECT id FROM students ORDER BY name DESC;

Los identificadores de los estudiantes en orden inverso alfabéticamente según sus nombres

SELECT id FROM students LIMIT 3;

Los tres primeros identificadores de estudiantes

02

Funciones en SQL

Realización de consultas SQL

Realización de consultas SQL

Funciones estándar SQL: Funciones que están definidas por el estándar SQL y son comúnmente soportadas por la mayoría de los SGBD.

  • MIN() y MAX(): Estas funciones se utilizan para obtener el valor mínimo y máximo de un conjunto de datos, respectivamente.
  • COUNT(), AVG(), SUM(): Son funciones de agregación para contar el número de registros, calcular el promedio de los valores y sumar los valores de una columna, respectivamente.

SELECT MIN(age) FROM students;

La edad mínima de entre los estudiantes

SELECT COUNT(*) FROM students;

El número de estudiantes

SELECT AVG(age) FROM students;

La edad media de los estudiantes

02

Funciones en SQL

Realización de consultas SQL

Realización de consultas SQL

Funciones predeterminadas: Cada Sistema de Gestión de Bases de Datos (SGBD) ofrece un conjunto de funciones predefinidas, que pueden operar sobre un conjunto de datos. Estas funciones son muy útiles para realizar cálculos o manipular datos dentro de las consultas SQL.

Funciones personalizadas: Se pueden crear funciones propias (conocidas como funciones definidas por el usuario, o UDF por sus siglas en inglés) para realizar tareas específicas que no están cubiertas por las funciones predeterminadas. Esto se hace mediante programación dentro del entorno del SGBD.

02

Agrupaciones de Datos

Realización de consultas SQL

Realización de consultas SQL

En SQL, se pueden realizar operaciones sobre datos agrupados:

  • GROUP BY: Esta cláusula se utiliza para agrupar los registros de una tabla según uno o más campos. Permite aplicar funciones agregadas a cada conjunto de datos agrupado.
  • HAVING: Después de agrupar los datos, se puede aplicar una condición sobre esos grupos mediante la cláusula HAVING.

SELECT age, COUNT(*) AS num_students FROM studentsGROUP BY age HAVING COUNT(*) > 1;

La cantidad de estudiantes que hay de cada edad si para dicha edad hay más de uno

Realización de consultas SQL

02

El crucigrama SQL

03

Consultas Avanzadas con SQL

Consultas Avanzadas con SQL

03

Combinación de consultas
El valor NULL
RelacionaSQL
Combinación de tablas
Uso de subconsultas

03

Consultas Avanzadas con SQL

Combinación de consultas

Para combinar los resultados de dos o más consultas se utilizan los operadores de conjunto, que permiten trabajar con las tablas resultantes de cada consulta como si fueran conjuntos matemáticos.

Requisitos para combinar consultas:
  1. Igual número de columnas en los resultados de ambas consultas.
  2. Compatibilidad de tipos de datos entre las columnas correspondientes.

  • UNION: Combina los resultados de dos consultas, eliminando los duplicados por defecto. Si se desea incluir duplicados, se puede usar UNION ALL.

SELECT name FROM studentsUNION ALL SELECT name FROM teachers;

SELECT name FROM studentsUNION SELECT name FROM teachers;

Los nombres de estudiantes y profesores con duplicados

Los nombres de estudiantes y profesores sin duplicados

03

Consultas Avanzadas con SQL

Combinación de consultas

  • INTERSECT: Devuelve únicamente las filas que están presentes en los resultados de ambas consultas. Si se desea incluir duplicados, se puede usar INTERSECT ALL.
  • EXCEPT: Devuelve las filas que están en los resultados de la primera consulta pero no en los de la segunda. Si se desea incluir duplicados, se puede usar EXCEPT ALL.

SELECT name FROM studentsEXCEPT SELECT name FROM teachers;

SELECT name FROM studentsINTERSECT SELECT name FROM teachers;

Los nombres de estudiantes que no lo son de profesores

Los nombres que son de estudiantes y de profesores

03

Consultas Avanzadas con SQL

El valor NULL

El valor NULL en SQL representa un dato desconocido o no existente, lo que lo diferencia de una cadena vacía ("") o el valor cero (0). A simple vista, no es posible identificar un NULL, pero tiene implicaciones importantes en el diseño y las consultas de bases de datos.

Características y utilidad del valor NULL:

  • Indica datos faltantes o desconocidos en un campo: reflejan que no se dispone de información, en lugar de usar cadenas vacías o valores predeterminados inapropiados.
  • Facilita restricciones del modelo de datos:
    • Restricción NOT NULL: evita que un campo pueda tener valores NULL.

03

Consultas Avanzadas con SQL

El valor NULL

Consultar valores NULL

Para trabajar con valores NULL, SQL proporciona los operadores:

  • IS NULL: verifica si un campo tiene un valor nulo.
  • IS NOT NULL: verifica si un campo tiene un valor conocido.

SELECT * FROM students WHERE name IS NULL;

Todos los campos de los estudiantes con nombre desconocido

SELECT * FROM students WHERE name IS NOT NULL;

Todos los campos de los estudiantes con nombre conocido

Los valores NULL no cumplen condiciones estándar de comparación (=, <, etc.) y requieren un manejo especial.

03

Consultas Avanzadas con SQL

Combinaciones de tablas

03

Consultas Avanzadas con SQL

La cláusula JOIN en SQL permite combinar registros de múltiples tablas en una sola consulta, utilizando condiciones que relacionan sus campos.

Esta operación es fundamental para trabajar con bases de datos normalizadas, donde los datos se distribuyen entre varias tablas relacionadas.

Características de JOIN

  • Combina registros de varias tablas basándose en una o más condiciones, como la relación entre una clave primaria (PK) y una clave foránea (FK).
  • Permite trabajar con cualquier número de tablas, no solo dos, generando nuevas combinaciones de campos.
  • Se diferencia de operadores como UNION, EXCEPT e INTERSECT, ya que estos operan sobre registros completos con los mismos campos, mientras que JOIN combina columnas de distintas tablas.

03

Consultas Avanzadas con SQL

Combinaciones de tablas

03

Consultas Avanzadas con SQL

INNER JOIN: Devuelve solo los registros donde la condición de combinación se cumple. Es el tipo más común.

SELECT students.id, students.name, teachers.id, teachers.nameFROM students INNER JOIN teachers ON students.age = teachers.age;

Los estudiantes y profesores que tienen la misma edad.

LEFT OUTER JOIN: Incluye todos los registros de la tabla izquierda, incluso si no tienen coincidencia en la tabla derecha. Los campos no coincidentes de la tabla derecha se rellenan con NULL.

SELECT S.id, S.name, S.age, T.id, T.name, T.ageFROM students AS S LEFT OUTER JOIN teachers AS T ON S.age = T.age;

Todos los estudiantes junto con el nombre del profesor que tiene la misma edad (si existe)

03

Consultas Avanzadas con SQL

Combinaciones de tablas

03

Consultas Avanzadas con SQL

RIGHT OUTER JOIN: Similar al LEFT OUTER JOIN, pero incluye todos los registros de la tabla derecha y completa con NULL los de la izquierda que no tienen coincidencia.

SELECT S.id, S.name, S.age, T.id, T.name, T.ageFROM students AS S RIGHT OUTER JOIN teachers AS T ON S.age = T.age;

Todos los profesores junto con el nombre del estudiante que tiene la misma edad (si existe)

FULL OUTER JOIN: Combina el comportamiento de los JOIN izquierdo y derecho: incluye todos los registros de ambas tablas, rellenando con NULL cuando no hay coincidencias.

SELF JOIN: Permite combinar una tabla consigo misma, útil para analizar relaciones jerárquicas o dependencias dentro de una sola tabla.

03

Consultas Avanzadas con SQL

Uso de Subconsultas

03

Consultas Avanzadas con SQL

Las subconsultas son consultas anidadas dentro de otra consulta principal. Resultan muy útiles para resolver problemas complejos y permiten reutilizar resultados intermedios en la consulta principal.

Subconsulta como Expresión de Valor: El resultado de la subconsulta es un único valor que se utiliza en la cláusula principal.

SELECT id, name, age FROM studentsWHERE age > (SELECT MIN(age) FROM teachers);

Los estudiantes que tienen una edad mayor que la edad mínima de los profesores.

03

Consultas Avanzadas con SQL

Uso de Subconsultas

03

Consultas Avanzadas con SQL

Subconsulta como Expresión de Tabla: El resultado de la subconsulta es una tabla, y se utiliza como origen de datos en la consulta principal.

SELECT name, ageFROM ( SELECT id, name, age FROM students WHERE age IN (SELECT DISTINCT age FROM teachers) ) AS MatchingStudents;

Nombres de los estudiantes y su edad si su edad está entre las edades de los profesores.

03

Consultas Avanzadas con SQL

Uso de Subconsultas

03

Consultas Avanzadas con SQL

Subconsulta como Expresión de Consulta: La subconsulta se utiliza en operaciones booleanas y devuelve TRUE/FALSE según los registros que coincidan.

  • EXISTS: Comprueba si la subconsulta devuelve al menos un registro.

SELECT id, name, ageFROM studentsWHERE EXISTS ( SELECT 1 FROM teachers WHERE teachers.age = students.age );

Estudiantes cuya edad coincide con al menos un profesor.

03

Consultas Avanzadas con SQL

Uso de Subconsultas

03

Consultas Avanzadas con SQL

  • IN: La subconsulta devuelve una tabla de una columna, y la consulta principal verifica si los valores coinciden con alguno de los registros devueltos.
  • ANY/SOME: Similar a IN, pero se usa en combinación con operadores de comparación como <, >, =.
  • ALL: Verifica si una expresión cumple para todos los valores devueltos por la subconsulta.

SELECT name, ageFROM students WHERE age IN ( SELECT age FROM teachers );

Estudiantes cuyas edades coinciden con las edades de los profesores.

SELECT name, ageFROM students WHERE age > ANY ( SELECT age FROM teachers );

Estudiantes cuya edad es mayor que la edad de algún profesor.

03

Consultas Avanzadas con SQL

Relaciona SQL

04

Ponte a prueba!

Ponte a prueba!

04

Quiz de SQL
Kahoot de SQL

04

Ponte a prueba!

Quiz de SQL

00:30

Ponte a prueba!

04

Quiz de SQL 2/10

00:30

Ponte a prueba!

04

Quiz de SQL 3/10

00:30

Ponte a prueba!

04

Quiz de SQL 4/10

00:30

Ponte a prueba!

04

Quiz de SQL 5/10

00:30

Ponte a prueba!

04

Quiz de SQL 6/10

00:30

Ponte a prueba!

04

Quiz de SQL 7/10

00:30

Ponte a prueba!

04

Quiz de SQL 8/10

00:30

Ponte a prueba!

04

Quiz de SQL 9/10

00:30

Ponte a prueba!

04

Quiz de SQL 10/10

00:30

04

Ponte a prueba!

Kahoot de SQL

Objetivo logrado!

A por el siguiente...

EJEMPLOS

  • Archivos de texto: Contienen caracteres alfanuméricos organizados como texto plano.
  • Archivos binarios: Almacenan números o códigos, representando datos en un formato compacto y eficiente.
  • JSON: Un formato de texto estructurado con reglas sintácticas específicas:
    • Cada dato se asigna a un campo.
    • Los campos se organizan jerárquicamente.
    • Utiliza reglas claras para definir y estructurar la información.
  • CSV:
    • Datos organizados como tablas.
    • Las filas representan registros y los campos están separados por comas u otros delimitadores.
  • XML:
    • Usa un lenguaje de marcas para estructurar jerárquicamente los datos.
  • Hojas de cálculo:
    • Tablas gestionadas en un formato de filas, columnas y celdas.
    • Son herramientas muy útiles y ampliamente utilizadas, aunque presentan limitaciones para manejar datos complejos.
    • Facilitan la exportación e importación de información en formato CSV (una tabla a la vez).

EJEMPLOS

LEFT OUTER JOIN

RIGHT OUTER JOIN

FULL OUTER JOIN

INNER JOIN

  • CRUD:
    • Crear,
    • Leer,
    • Actualizar y
    • Eliminar registros.
  • Transacciones:
    • Asegura la integridad y consistencia en procesos complejos.

Operaciones fundamentales de gestión de bases de datos: