Programación y Bases de Datos - Primera Actividad - Cristina Outeiriño
Cristina Outeiriño Cid
Created on November 21, 2024
Over 30 million people build interactive content in Genially.
Check out what others have designed:
FOOD 1
Presentation
TANGRAM PRESENTATION
Presentation
COUNTRIES LESSON 5 GROUP 7/8
Presentation
STAGE2- LEVEL1-MISSION 2: ANIMATION
Presentation
LIBRARIES LIBRARIANS
Presentation
WORLD WILDLIFE DAY
Presentation
FOOD AND NUTRITION
Presentation
Transcript
Empezamos!
Cristina Outeiriño Cid
Programación y Bases de Datos Primera Actividad
Bloque temático: BT3Titulación: Técnico Superior en Desarrollo de Aplicaciones WebMódulo: Bases de datos (código: 0484)
04
Ponte a prueba!
03
Consultas avanzadas con SQL
02
Realización de consultas SQL
01
Contenidos
Almacenamiento de la información
01
Almacenamiento de la información
01
El lenguaje SQL
Sistemas Gestores de Bases de Datos
Diseñar una Base de Datos
El Esquema de una Base de Datos
Estrategias de almacenamiento
Almacenamiento de la información
Almacenar Datos
01
Almacenamiento de la información
Almacenar Datos
¿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.
¿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.
01
Almacenamiento de la información
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.
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.
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.
01
Almacenamiento de la información
Almacenar Datos
Arquitectura de un sistema software: Arquitectura de tres capas
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.
01
Almacenamiento de la información
Almacenar Datos
Organización habitual de los datos: El modelo relacional
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.
01
Almacenamiento de la información
Almacenar Datos
Métodos de almacenamiento
- Seguridad: Proteger el acceso a la información mediante controles adecuados.
- Garantía de integridad: Aplicar principios como los de ACID (Atomicidad, Consistencia, Aislamiento, Durabilidad).
- 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).
- Optimización del rendimiento: Reducir los tiempos de acceso y uso de los datos.
01
Almacenamiento de la información
Almacenar Datos
Principales retos en la gestión de datos:
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.
Archivos con organización lógica: Se añade una estructura definida a los datos almacenados en archivos.
Ficheros en almacenamiento externo: Persistente.
01
+ info
+ info
Almacenamiento de la información
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.
- 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.
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.).
Elementos Fundamentales de la Estructura de una Base de Datos
01
Almacenamiento de la información
El Esquema de una Base de Datos
- Relacional (Relational): Basado en tablas relacionadas por claves.
- En red (Network): Relaciones complejas y multidireccionales.
- Jerárquico (Hierarchical): Organización en forma de árbol, con elementos padres e hijos.
- 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
- Plano (Flat): Datos organizados en tablas sencillas sin relaciones complejas.
Existen diversas formas de estructurar un almacén de datos:
01
Almacenamiento de la información
El Esquema de una Base de Datos
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
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.
Etapas en el diseño de una base de datos:
01
Almacenamiento de la información
Diseñar 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.
Etapas en el diseño de una base de datos:
01
Almacenamiento de la información
Diseñar una base de datos
- Facilitar el acceso rápido a los datos: Diseñar estructuras eficientes que soporten consultas ágiles.
- Asegurar la integridad de los datos: Proteger la precisión y validez de la información almacenada.
- Prevenir inconsistencias: Garantizar que los datos sean coherentes en toda la base.
- Controlar el acceso a los datos: Establecer restricciones claras sobre quién puede acceder y modificar cada elemento de información.
- Minimizar la redundancia: Reducir la duplicación de datos para optimizar espacio y evitar confusiones.
Un diseño eficaz debe:
01
Almacenamiento de la información
Diseñar una base de datos
3. Nivel Interno: Detalla el almacenamiento físico de los datos, incluyendo dónde y cómo se guardan (diseño físico).
2. Nivel Conceptual: Define la organización general de los datos, describiendo el diseño conceptual y lógico de la base.
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.
Arquitectura del SGBD: Modelo ANSI/XPARC:
01
Almacenamiento de la información
Sistemas Gestores de Bases de Datos
- Gestor de usuarios y seguridad: Controla accesos y permisos según perfiles de usuario.
- Compilador y optimizador de consultas: Convierte las consultas en instrucciones eficaces para ejecutar.
- Intérprete del modelo de datos: Procesa el lenguaje definido por el modelo utilizado
- Gestor del almacenamiento físico: Maneja cómo y dónde se almacenan los datos en el hardware.
- 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.
- Interfaz externa: Ofrece opciones gráficas (GUI) o de consola (CLI) para la interacción con los usuarios.
El SGBD es un software complejo que incluye diversos módulos para su funcionamiento óptimo:
01
Almacenamiento de la información
Sistemas Gestores de Bases de Datos
- Completitud funcional: Soporta todas las operaciones fundamentales de gestión de bases de datos.
- 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.
- 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.
- 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.
- Basado en el modelo relacional: Trabaja con datos estructurados en tablas, lo que facilita la organización y la consulta.
Características principales de 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.
01
+ info
Almacenamiento de la información
El lenguaje SQL
- 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).
- Modificación de datos: Con el Lenguaje de Manipulación de Datos (DML), se gestionan los datos almacenados (insertar, modificar y consultar información).
- 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).
SQL abarca tres áreas esenciales para la gestión de un almacén de datos:
01
Almacenamiento de la información
El lenguaje SQL
02
Realización de consultas SQL
El crucigrama SQL
02
Agrupaciones de Datos
Funciones en SQL
Filtrar y Ordenar los resultados
El comando SELECT
Tipos de Datos y Valores Nulos
Realización de consultas SQL
El Lenguage SQL
- Modelo relacional: Toda la información y resultados de consultas se organizan en tablas.
- 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.
Realización de consultas SQL
02
El Lenguage SQL
- Gestión integral: SQL permite definir la estructura de la base de datos, manipular datos y controlar el acceso.
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?
02
El Lenguage SQL
Realización de consultas SQL
Estructura básica de las declaraciones SQLLas sentencias SQL están compuestas por varios elementos fundamentales:
SELECT CURSO, NOMBRE, NOTA FROM ALUMNOS WHERE ASIGNATURA = "BD"
Devuelve un valor literal.
SELECT 1;
Trabaja con datos temporales como fechas y horas.
Evalúa expresiones booleanas, devolviendo 0 o 1.
Realiza cálculos, operando con números de distintos tipos.
SELECT "2022-10-01";
SELECT (10 < 20);
SELECT 10 + 14;
Realización de consultas SQL
Tipos de Datos y Valores Nulos
02
Consulta básica sin origen de datos: Genera un resultado directamente evaluando una expresión.
Cada SGBD puede añadir o modificar tipos, por lo que es esencial consultar su documentación oficial.
- Cadenas de caracteres: VARCHAR(N), delimitadas con comillas simples (').
- Fechas: DATE y TIMESTAMP, que se manejan de forma similar a texto.
Realización de consultas SQL
Tipos de Datos y Valores Nulos
02
- Números: Enteros (INT) y decimales (DECIMAL(n,p)).
Operadores:
- Otros operadores avanzados
- Operadores lógicos: Ayudan a combinar múltiples condiciones en una sola expresión lógica.
- Operadores de comparación: Se utilizan para establecer relaciones entre valores y evaluar condiciones.
- Operadores aritméticos: Permiten realizar cálculos matemáticos básicos sobre valores numéricos.
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:
Realización de consultas SQL
Tipos de Datos y Valores Nulos
02
+ info
+ info
+ info
+ info
- En caso de trabajar con datos que puedan contener nulos, es fundamental detectarlos y considerarlos adecuadamente.
- 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.
- Es importante diferenciarlo de otros valores como 0 o una cadena vacía (""), ya que NULL indica la ausencia de cualquier valor.
El valor nulo (NULL) en SQL representa un campo sin valor asignado, es decir, un dato inexistente.
Realización de consultas SQL
Tipos de Datos y Valores Nulos
02
- En caso de trabajar con datos que puedan contener nulos, es fundamental detectarlos y considerarlos adecuadamente.
- 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.
- Es importante diferenciarlo de otros valores como 0 o una cadena vacía (""), ya que NULL indica la ausencia de cualquier valor.
El valor nulo (NULL) en SQL representa un campo sin valor asignado, es decir, un dato inexistente.
Realización de consultas SQL
Tipos de Datos y Valores Nulos
02
- 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.
El comando SELECT
- Estructura: Permite especificar los campos deseados, el origen de los datos (tablas u otras fuentes) y las condiciones necesarias para filtrar los resultados.
- Resultado: Devuelve una tabla con 0, 1 o más columnas (campos) y sus correspondientes registros.
El comando SELECT se utiliza para realizar consultas en bases de datos:
Realización de consultas SQL
02
Todos los campos de los estudiantes
El comando SELECT
SELECT * FROM students;
Nombres sin repetición
SELECT DISTINCT name FROM students;
02
Nombres de los estudiantes
SELECT name FROM students;
Nombrar temporalmente la columna "name" como "my_students"
- 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 name AS my_students FROM students;
- Alias: Se pueden asignar nombres temporales a columnas o tablas utilizando la palabra clave AS.
Realización de consultas SQL
La edad del estudiante llamado Juan
El nombre del estudiente con el identificador 1
SELECT name FROM students WHERE id=1;
SELECT age FROM students WHERE name='Juan';
Filtrar y Ordenar los resultados
- Funcionamiento: Actúa como un filtro que crea una tabla temporal, limitando los registros que cumplen las condiciones especificadas.
- Propósito: Se utiliza en diversos comandos SQL para filtrar los datos antes de seleccionarlos o procesarlos.
La cláusula WHERE en SQL
Realización de consultas SQL
02
Los identificadores de los estudientes llamados 'Juan' que tengan más de 13 años
SELECT id FROM students WHERE age>13 AND name='Juan';
Filtrar y Ordenar los resultados
- Operadores lógicos: Permiten combinar múltiples expresiones.
- Operadores: Pueden ser aritméticos o de comparación.
- Nombres de campos: Identificadores de columnas en las tablas.
02
- Valores fijos: Constantes como números o texto.
Para construir un predicado en una cláusula WHERE, se suelen utilizar los siguientes elementos:
Realización de consultas SQL
Identificadores de estudientes cuyos nombres empiezan por J
SELECT id FROM students WHERE name LIKE 'J%';
Identificadores de estudientes con edades 13, 14, 15, 16, 18 y 21
SELECT id FROM students WHERE age BETWEEN 13 AND 16 OR age IN (18, 21);
Filtrar y Ordenar los resultados
- BETWEEN: Se utiliza para definir un rango de valores.
- IN: Es una forma de comparar un valor con una lista de valores posibles.
- LIKE: Permite buscar patrones dentro de cadenas de texto, utilizando caracteres especiales para representar cualquier secuencia.
02
- AND, OR, NOT: Se utilizan para encadenar predicados.
Operadores habituales en SQL:
Realización de consultas SQL
Los tres primeros identificadores de estudiantes
SELECT id FROM students LIMIT 3;
Los identificadores de los estudiantes en orden inverso alfabéticamente según sus nombres
SELECT id FROM students ORDER BY name DESC;
Filtrar y Ordenar los resultados
- LIMIT (o TOP en algunos SGBD): Permite limitar el número de resultados devueltos por la consulta a número específico.
02
- 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).
Cláusulas SQL: ORDER BY y LIMIT
Realización de consultas SQL
Funciones en SQL
La edad media de los estudiantes
SELECT AVG(age) FROM students;
El número de estudiantes
La edad mínima de entre los estudiantes
SELECT COUNT(*) FROM students;
SELECT MIN(age) FROM students;
Realización de consultas SQL
02
- 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.
- MIN() y MAX(): Estas funciones se utilizan para obtener el valor mínimo y máximo de un conjunto de datos, respectivamente.
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.
Realización de consultas SQL
Funciones en SQL
Realización de consultas SQL
02
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.
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.
Realización de consultas SQL
Agrupaciones de Datos
- HAVING: Después de agrupar los datos, se puede aplicar una condición sobre esos grupos mediante la cláusula HAVING.
02
Realización de consultas SQL
- 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.
En SQL, se pueden realizar operaciones sobre datos agrupados:
Realización de consultas SQL
La cantidad de estudiantes que hay de cada edad si para dicha edad hay más de uno
SELECT age, COUNT(*) AS num_students FROM studentsGROUP BY age HAVING COUNT(*) > 1;
02
Realización de consultas SQL
El crucigrama SQL
03
Consultas Avanzadas con SQL
RelacionaSQL
03
Uso de subconsultas
Combinación de tablas
El valor NULL
Consultas Avanzadas con SQL
Combinación de consultas
Requisitos para combinar consultas:- Igual número de columnas en los resultados de ambas consultas.
- Compatibilidad de tipos de datos entre las columnas correspondientes.
Combinación de consultas
Consultas Avanzadas con SQL
- UNION: Combina los resultados de dos consultas, eliminando los duplicados por defecto. Si se desea incluir duplicados, se puede usar UNION ALL.
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.
03
Los nombres de estudiantes y profesores sin duplicados
Los nombres de estudiantes y profesores con duplicados
SELECT name FROM studentsUNIONSELECT name FROM teachers;
SELECT name FROM studentsUNION ALLSELECT name FROM teachers;
Combinación de consultas
Los nombres que son de estudiantes y de profesores
- 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.
Los nombres de estudiantes que no lo son de profesores
- 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.
SELECT name FROM studentsINTERSECTSELECT name FROM teachers;
SELECT name FROM studentsEXCEPTSELECT name FROM teachers;
Consultas Avanzadas con SQL
03
- Facilita restricciones del modelo de datos:
- Restricción NOT NULL: evita que un campo pueda tener valores 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.
Características y utilidad del valor NULL:
El valor NULL
Consultas Avanzadas con SQL
03
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.
Los valores NULL no cumplen condiciones estándar de comparación (=, <, etc.) y requieren un manejo especial.
Todos los campos de los estudiantes con nombre conocido
SELECT * FROM students WHERE name IS NOT NULL;
- IS NOT NULL: verifica si un campo tiene un valor conocido.
Todos los campos de los estudiantes con nombre desconocido
SELECT * FROM students WHERE name IS NULL;
- IS NULL: verifica si un campo tiene un valor nulo.
Para trabajar con valores NULL, SQL proporciona los operadores:
El valor NULL
Consultas Avanzadas con SQL
03
Consultar valores NULL
- 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.
Esta operación es fundamental para trabajar con bases de datos normalizadas, donde los datos se distribuyen entre varias tablas relacionadas.
- Permite trabajar con cualquier número de tablas, no solo dos, generando nuevas combinaciones de campos.
- 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).
Características de JOIN
La cláusula JOIN en SQL permite combinar registros de múltiples tablas en una sola consulta, utilizando condiciones que relacionan sus campos.
Combinaciones de tablas
Consultas Avanzadas con SQL
Consultas Avanzadas con SQL
03
03
Combinaciones de tablas
Todos los estudiantes junto con el nombre del profesor que tiene la misma edad (si existe)
Consultas Avanzadas con SQL
Consultas Avanzadas con SQL
03
03
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;
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.
INNER JOIN: Devuelve solo los registros donde la condición de combinación se cumple. Es el tipo más común.
Los estudiantes y profesores que tienen la misma edad.
SELECT students.id, students.name, teachers.id, teachers.nameFROM students INNER JOIN teachers ON students.age = teachers.age;
SELF JOIN: Permite combinar una tabla consigo misma, útil para analizar relaciones jerárquicas o dependencias dentro de una sola tabla.
Combinaciones de tablas
Consultas Avanzadas con SQL
Consultas Avanzadas con SQL
03
03
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.
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.
Todos los profesores junto con el nombre del estudiante que tiene la misma edad (si existe)
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;
Los estudiantes que tienen una edad mayor que la edad mínima de los profesores.
SELECT id, name, age FROM studentsWHERE age > (SELECT MIN(age) FROM teachers);
Subconsulta como Expresión de Valor: El resultado de la subconsulta es un único valor que se utiliza en la cláusula principal.
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.
Uso de Subconsultas
Consultas Avanzadas con SQL
Consultas Avanzadas con SQL
03
03
Nombres de los estudiantes y su edad si su edad está entre las edades de los profesores.
SELECT name, ageFROM ( SELECT id, name, age FROM students WHERE age IN (SELECT DISTINCT age FROM teachers)) AS MatchingStudents;
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.
Uso de Subconsultas
Consultas Avanzadas con SQL
Consultas Avanzadas con SQL
03
03
Estudiantes cuya edad coincide con al menos un profesor.
SELECT id, name, ageFROM studentsWHERE EXISTS ( SELECT 1 FROM teachers WHERE teachers.age = students.age);
- EXISTS: Comprueba si la subconsulta devuelve al menos un registro.
Subconsulta como Expresión de Consulta: La subconsulta se utiliza en operaciones booleanas y devuelve TRUE/FALSE según los registros que coincidan.
Uso de Subconsultas
Consultas Avanzadas con SQL
Consultas Avanzadas con SQL
03
03
Estudiantes cuya edad es mayor que la edad de algún profesor.
SELECT name, ageFROM studentsWHERE age > ANY ( SELECT age FROM teachers);
- ALL: Verifica si una expresión cumple para todos los valores devueltos por la subconsulta.
Estudiantes cuyas edades coinciden con las edades de los profesores.
SELECT name, ageFROM studentsWHERE age IN ( SELECT age FROM teachers);
- ANY/SOME: Similar a IN, pero se usa en combinación con operadores de comparación como <, >, =.
- IN: La subconsulta devuelve una tabla de una columna, y la consulta principal verifica si los valores coinciden con alguno de los registros devueltos.
Uso de Subconsultas
Consultas Avanzadas con SQL
Consultas Avanzadas con SQL
03
03
Relaciona SQL
Consultas Avanzadas con SQL
03
04
Ponte a prueba!
Kahoot de SQL
Quiz de SQL
04
Ponte a prueba!
Quiz de SQL
Ponte a prueba!
04
00:30
04
Ponte a prueba!
Quiz de SQL 2/10
00:30
04
Ponte a prueba!
Quiz de SQL 3/10
00:30
04
Ponte a prueba!
Quiz de SQL 4/10
00:30
04
Ponte a prueba!
Quiz de SQL 5/10
00:30
04
Ponte a prueba!
Quiz de SQL 6/10
00:30
04
Ponte a prueba!
Quiz de SQL 7/10
00:30
04
Ponte a prueba!
Quiz de SQL 8/10
00:30
04
Ponte a prueba!
Quiz de SQL 9/10
00:30
04
Ponte a prueba!
Quiz de SQL 10/10
00:30
Kahoot de SQL
Ponte a prueba!
04
A por el siguiente...
Objetivo logrado!
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.
EJEMPLOS
- 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).
LEFT OUTER JOIN
RIGHT OUTER JOIN
FULL OUTER JOIN
INNER JOIN
Operaciones fundamentales de gestión de bases de datos:
- CRUD:
- Crear,
- Leer,
- Actualizar y
- Eliminar registros.
- Transacciones:
- Asegura la integridad y consistencia en procesos complejos.