Introducción a las bases de datos PDF

Summary

Este documento proporciona una introducción a las bases de datos, incluyendo conceptos clave, evolución histórica, sistemas de gestión y diferentes tipos de bases de datos. Se analizan las bases de datos relacionales y no relacionales, así como el diseño de las bases de datos.

Full Transcript

Introducción a las bases de datos 1 Cuatrimestre. 2º IBM + RRII Tema 1: Conceptos básicos 2 Tema 2: Bases de datos relacionales 6 Tema 3: Introducción a SQL 9 Tema 1: Conc...

Introducción a las bases de datos 1 Cuatrimestre. 2º IBM + RRII Tema 1: Conceptos básicos 2 Tema 2: Bases de datos relacionales 6 Tema 3: Introducción a SQL 9 Tema 1: Conceptos básicos La comprensión de las bases de datos es esencial, ya que se encuentran en todos los aspectos del mundo digital actual, lo que facilita la gestión eficiente de datos en diferentes industrias, tales como: - Plataformas de comercio electrónico - Redes Sociales - Servicios Bancarios y Financieros - Sistemas de salud - Instituciones educativas - Logística y Gestión de la Cadena de Suministro - Gestión de las relaciones con los clientes (CRM) - Servicios Gubernamentales Evolución de las bases de datos Antes de las bases de datos, los métodos para almacenar y administrar información eran muy limitados, entre ellos: - Papel - Cintas magnéticas - Libros y Registros Contables - Archivos y Directorios Electrónicos Las limitaciones que planteaban implicaban la dificultad de búsqueda y recuperación, la falta de integridad y seguridad, o la incapacidad de manejar grandes volúmenes de datos. Desarrollo a lo largo de los años: ➔ Década de 1970 ◆ Introducción del modelo Entidad-Relación como herramienta estándar para el diseño de bases de datos. ◆ Oracle presenta el primer RDBMS. ➔ Década de 1980 ◆ IBM crea SQL y se convierte en el lenguaje estándar. ◆ Más empresas que crean RDBMS, como Sybase, que presenta los primeros Microsoft SQL Server. ➔ Década de 1990 ◆ Las bases de datos NoSQL comienzan a gestionar datos no estructurados ◆ Aparecen el almacenamiento de datos y la minería de datos. ➔ Década de 2000 ◆ Bases de datos de código abierto. ◆ Productos de bases de datos para grandes volúmenes ◆ Conceptos de DataLake ◆ Bases de datos en la nube y soluciones serverless. Conceptos clave ➔ Base de datos: Es una colección de datos interrelacionados que se organizan y almacenan de manera que se pueda acceder a ellos, administrarlos y actualizarlos fácilmente. Consta de tablas, que contienen filas y columnas donde se almacenan datos y se relacionan con otras tablas a través de relaciones. Pueden almacenar información sobre personas, productos, pedidos, etc. Muchas bases de datos comienzan como una lista en una hoja de cálculo o un programa de procesamiento de textos, pero a medida que la lista crece, comienzan a aparecer redundancias de datos e inconsistencias. Cada vez es más difícil comprender los datos en forma de lista, y los métodos de búsqueda o extracción de subconjuntos de datos para su revisión son limitados. Una vez que estos problemas comienzan a aparecer, es una buena idea transferir los datos a una base de datos creada con un sistema de gestión de bases de datos → DBMS. ➔ Sistema de gestión de bases de datos (DBMS): Es un software diseñado para administrar bases de datos, proporcionando funcionalidades para definir, crear, consultar, actualizar y administrar bases de datos. Actúa como una interfaz entre los usuarios y la base de datos, lo que garantiza un almacenamiento, recuperación y manipulación eficientes de los datos, al tiempo que mantiene la integridad y la seguridad de los datos. Ejemplo: Base de datos Oracle, Microsoft SQL Server, MySQL, etc. Niveles de arquitectura en bases de datos Uno de los principales objetivos de los sistemas de gestión de bases de datos es proporcionar a los usuarios una visión simplificada de los datos, ocultando las complejidades de cómo se almacenan y gestionan los datos. Hay tres niveles de abstracción diferentes que van de mayor a menor abstracción: Diseño conceptual: Es el nivel más alto de abstracción, definiendo las principales entidades y relaciones de una manera que es independiente de la tecnología, lo que significa que no está atado ni depende de ninguna tecnología específica. Está diseñado para funcionar universalmente, independientemente del sistema de base de datos o la tecnología que se utilice más adelante. Diseño lógico: Es detallado pero aún abstracto, especificando tablas, columnas y relaciones, listo para ser asignado a un sistema de administración de bases de datos específico. Diseño físico: Describe cómo se almacenan realmente los datos, es el nivel más bajo de abstracción. Diseño Conceptual Diseño lógico Diseño Físico Nivel de abstracción El nivel más alto de Más detallado que el Se centra en los abstracción, modelo conceptual, detalles de proporciona una vista pero aún implementación reales de alto nivel de los independiente de la de cómo se datos implementación física almacenarán y se accederá a los datos Nivel de detalle Definir la estructura Definir la estructura Estructuras de general de la base de lógica de los datos, almacenamiento datos sin entrar en incluidas tablas, físico, indexación, detalles sobre cómo columnas, tipos de partición y se implementará datos y relaciones optimización del rendimiento Propósito Para capturar las Para proporcionar un Para optimizar el principales entidades plano técnico almacenamiento y el y relaciones de una detallado que se acceso a los manera que sea puede utilizar para requisitos y independiente de implementar la base restricciones cualquier DBMS o de datos en un DBMS específicos del DBMS tecnología específica específico elegido Audiencia Por lo general, para Para que los Para los que las partes diseñadores y administradores y interesadas del desarrolladores de desarrolladores de negocio y los bases de datos bases de datos que diseñadores de bases planifiquen cómo se están implementando de datos acuerden la estructurará la base y convirtiendo la base estructura y los de datos de datos requisitos generales Ejemplo Definir entidades Definir tablas como Especificar cómo se como "estudiante", "estudiantes", "cursos" almacenarán las "curso" y "profesor", y y "profesores", tablas "estudiantes" y las relaciones entre especificar columnas "cursos" en el disco, ellas, como como "studentID", incluidas las opciones "matrícula" y "coursename", de formato de "enseñanza" "professorID" y almacenamiento, detallar las claves métodos de externas y otras indexación y partición restricciones de datos físicos. Importancia de las bases de datos en el análisis económico y financiero Proporciona una forma estructurada de almacenar datos relacionados con mercados, transacciones, registros financieros, etc. Organizar los datos en formatos de fácil acceso para el análisis de datos, informes, predicciones, etc. Facilitar la toma de decisiones informadas, identificar tendencias y realizar pronósticos precisos. Mantener la exactitud y confidencialidad de la información financiera confidencial. Herramientas y software de gestión de bases de datos Son aplicaciones que ayudan a los usuarios a crear, administrar y manipular bases de datos. Proporcionan una interfaz para interactuar con los datos y realizar diversas operaciones como consultas, actualizaciones e informes. Ejemplo: MySQL se utiliza como un sistema de gestión de bases de datos y MySQL Workbench se utiliza como una herramienta para aprender más sobre las bases de datos porque es gratuito, simple y fácil de instalar. Funciones: 1. Almacenamiento → grandes volúmenes en formato estructurado 2. Capacidades de consulta → recuperación mediante lenguajes como SQL 3. Manipulación → inserción, actualización y eliminación 4. Integridad → precisión y coherencia a través de restricciones, reglas de validación y transacciones 5. Seguridad → protección de datos con autenticación de usuarios 6. Copia de seguridad y recuperación → ofrece herramientas para la copia de seguridad y recuperación de datos 7. La optimización del rendimiento → incluye funciones como indexación, almacenamiento en caché y optimización de consultas para un mejor rendimiento. Tema 2: Bases de datos relacionales Las bases de datos relacionales son un tipo de base de datos que almacena y proporciona acceso a puntos de datos que están relacionados entre sí. Tables: ○ Cada tabla representa una entidad específica → clientes, pedidos, productos, etc. ○ Las tablas son la estructura fundamental para almacenar datos en una base de datos relacional. ○ Los datos se organizan en tablas, que constan de filas y columnas. ○ Cada tabla tiene un nombre único y contiene filas (registros) y columnas (campos) ○ Las columnas definen los atributos de la entidad y las filas contienen las instancias de datos. Register: están contenidos en tablas, son filas. Field: están contenidos en tablas, son columnas que componen los registros. Relations: ○ Las relaciones en una base de datos son esenciales para vincular tablas para permitir consultas complejas y garantizar la integridad de los datos. ○ Las relaciones se establecen a través de claves → claves primarias y claves foráneas ○ Primary Key: Una clave principal es una columna o un conjunto de columnas de una tabla que identifica de forma única cada fila de esa tabla. Ejemplo: en una tabla Customers, CustomerID puede ser una clave principal porque cada cliente tiene un ID único. Foreing key: Una clave externa es una columna o un conjunto de columnas de una tabla que identifica de forma única una fila de otra tabla. Establece un vínculo entre los datos de las dos tablas. Ejemplo: en una tabla Orders, CustomerID puede ser una clave externa que hace referencia a CUstomerID en la tabla Customers. Importancia de las relaciones ➔ Integridad de los datos: Garantiza la coherencia y la precisión de los datos, las restricciones de claves externas evitan que se inserten datos no válidos. Por ejemplo, evitar que un pedido haga referencia a un cliente inexistente. ➔ Recuperación eficiente de datos: Permite que las consultas complejas recuperen datos relacionados en varias tablas. Por ejemplo, unir las tablas Clientes y Pedidos para averiguar qué cliente realizó qué pedido. ➔ Redundancia de datos reducida: Elimina la necesidad de duplicar datos almacenando datos relacionados en tablas separadas. Por ejemplo, almacenar los detalles del cliente una vez en la tabla Clientes y hacer referencia a ellos en la tabla Pedidos. Diagramas Entidad-Relación - Conceptuales en Bases de Datos Relacionales Los diagramas entidad-relación (ER) son una herramienta crucial en el diseño de bases de datos, se utilizan para ➔ Identificación de entidades: Los diagramas ER ayudan a identificar entidades, atributos de estas entidades y las relaciones entre entidades. ➔ Definición de relación: definen las relaciones entre entidades, como las relaciones de uno a uno, de uno a muchos o de varios a muchos. Esto es esencial para comprender cómo interactúan las diferentes entidades entre sí. ➔ Normalización: la normalización reduce la redundancia de datos y mejora la integridad de los datos al organizar los campos y las tablas de una base de datos. ➔ Implementación: Los diagramas ER guían la creación de tablas, especificando claves primarias, claves foráneas y otras restricciones en función de las relaciones definidas en el diagrama ER. Pasos para la creación de modelos ER 1. Identificación de entidades 2. Definir relaciones 3. Determinar atributos 4. Elegir llaves 5. Dibujar el diagrama → Utilizar símbolos de diagrama ER estándar para representar las entidades, relaciones y atributos. Símbolos comunes: Entidad → rectángulo Relación → Diamante Atributo → Óvalo Clave principal → atributo subrayado La clave externa a veces → representa mediante un subrayado discontinuo (---) o simplemente se indica en los atributos Tipos de relaciones: Se refiere al número de instancias de una entidad que se pueden asociar con instancias de otra entidad a través de una relación. Principales tipos de cardinalidad: - One to One: una persona tiene un DNI - De uno a muchos: una escuela tiene muchos estudiantes - Muchos a uno: muchos empleados trabajan en una tienda - De muchos a muchos: muchos empleados pueden inscribirse en muchas capacitaciones y muchas capacitaciones pueden tener muchos empleados inscritos. → tabla intermedia se utiliza normalmente para esto. Normalización Organice y estructure los datos de manera eficiente para evitar redundancias y garantizar la precisión y la integridad de los datos. - Elimine la redundancia de datos - Usar claves primarias y externas - Reducción de las dependencias transitivas Hay tres formas normales: 1. Primera forma normal → cada columna contiene solo valores atómicos Regla: Cada celda debe contener un solo valor (nada de listas o datos agrupados). Ejemplo NO válido: ID Estudiante Nombre Materias 1 Juan Pérez Matemáticas, Física 2 María López Historia, Química Aquí, en "Materias", hay listas en una sola celda. Ejemplo válido (en 1NF): ID Estudiante Nombre Materia 1 Juan Pérez Matemáticas 1 Juan Pérez Física 2 María López Historia 2 María López Química Ahora, cada celda tiene un único valor. 2. Segunda forma normal → eliminar las dependencias parciales, todos los atributos que no son de clave dependen totalmente de la clave principal. Divide la información para que todos los datos dependan completamente de la clave principal. Ejemplo NO válido: ID Estudiante Nombre Materia Profesor 1 Juan Pérez Matemáticas López 2 María López Historia García Aquí, "Profesor" depende de "Materia", no del estudiante. Esto rompe la 2NF. Ejemplo válido (en 2NF): Crea varias tablas para organizar mejor los datos: 1. Tabla Estudiantes: | ID Estudiante | Nombre | |---------------|--------------| | 1 | Juan Pérez | | 2 | María López | 2. Tabla Materias: | Materia | Profesor | |---------------|----------| | Matemáticas | López | | Historia | García | 3. Relación Estudiante-Materia: | ID Estudiante | Materia | |---------------|---------------| | 1 | Matemáticas | | 2 | Historia | 3. La tercera forma normal → eliminar los atributos no clave en función de otro atributo no clave. Los datos que no son clave no deben depender de otros datos que tampoco sean clave. Ejemplo NO válido: ID Estudiante Nombre Materia Profesor Oficina Profesor 1 Juan Pérez Matemáticas López Oficina 101 2 María López Historia García Oficina 102 Aquí, "Oficina Profesor" depende de "Profesor", no de la clave principal. Ejemplo válido (en 3NF): Organizamos los datos en tres tablas: 1. Tabla Estudiantes: | ID Estudiante | Nombre | |---------------|--------------| | 1 | Juan Pérez | | 2 | María López | 2. Tabla Materias: | Materia | Profesor | |---------------|----------| | Matemáticas | López | | Historia | García | 3. Tabla Profesores: | Profesor | Oficina Profesor | |---------------|------------------| | López | Oficina 101 | | García | Oficina 102 | Diseño de bases de datos Es el proceso de definir la estructura, el almacenamiento y los mecanismos de recuperación de datos en un sistema de base de datos. Implica la creación de un plan detallado sobre cómo se almacenarán, accederán y administrarán los datos en una base de datos. Definición de esquema: especifica las tablas, los campos, los tipos de datos y las relaciones de la base de datos. Normalización: garantiza que la estructura de la base de datos minimice la redundancia y optimice la integridad de los datos. Implementación física: determina cómo se almacenará físicamente el esquema lógico y cómo se accederá a él en el sistema de gestión de bases de datos. Optimización del rendimiento: incluye la indexación, la creación de particiones y la optimización de consultas para mejorar el rendimiento de la base de datos. Tema 3: Introducción a SQL SQL significa Lenguaje de Consulta Estructurado y se utiliza para administrar y manipular bases de datos relacionales. SQL proporciona comandos para crear, leer, actualizar y eliminar datos en una base de datos. La mayoría de los sistemas de gestión de bases de datos relacionales admiten SQL, lo que lo hace universal para la interacción con la base de datos. Importancia de SQL ➔ Análisis de datos: Es esencial para el análisis de datos, ya que permite a los usuarios realizar consultas para extraer información significativa de los conjuntos de datos. ➔ Grandes volúmenes de datos: está diseñado para manejar grandes volúmenes de datos de forma eficiente. ➔ Facilidad: es fácil de aprender y usar incluso sin conocimientos técnicos profundos. Aplicaciones en el mundo real - Business Intelligence: las empresas utilizan SQL para generar informes y analizar el rendimiento del negocio - Finanzas: los bancos y las instituciones financieras utilizan SQL para el procesamiento de transacciones y la gestión de riesgos - Asistencia sanitaria: gestión de historias clínicas y datos de pacientes - Comercio electrónico: gestión de inventarios, datos de clientes y seguimiento de ventas Principales tipos de datos INT → números enteros, 42. FLOAT → números de coma flotante (números con puntos decimales cuya posición varía según el valor), aproximado, 3.14 DOUBLE → números de coma flotante de doble precisión, 2.739492882112 DECIMAL (p,s) → representa números de punto fijo con precisión (p) y escala (s) definidas. ○ Precisión (p): Número total de dígitos (antes y después del punto decimal). ○ Escala(s): Número de dígitos después del separador decimal. ○ Ejemplo: 123.45 (DECIMAL (5,2)) VARCHAR (n) → texto de longitud variable, hasta n caracteres, "John Doe" (VARCHAR(100)), solo utiliza la cantidad de espacio requerida, incluso si el máximo es mayor. CHAR (n) → texto de longitud fija de n caracteres, el texto siempre ocupa el espacio de cuántos caracteres establecen, "A" (CHAR(1)). TEXTO → gran cantidad de texto, "este es un texto largo" FECHA → valor de fecha (AAAA-MM-DD), 2024-07-15 TIME → valor de tiempo (HH:MM), 14:30:00 FECHA HORA → Valor de fecha y hora, 2024-07-15 14:30:00 TIMESTAMP → fecha y hora se actualizan automáticamente, puede actualizarse a cuando se crea o modifica una fila, o adaptarse a la hora local cuando se accede a ella mientras se almacena en tiempo universal, etc. 2024-07-15 14:30:00 BLOB → Binary Large Object, para almacenar datos binarios como imágenes, vídeos, archivos de audio, etc. en 0s y 1s. [datos binarios] BOOLEAN → valores verdaderos/falsos, VERDADERO: Algo es correcto o activo. FALSO: Algo es incorrecto o está inactivo. Estructuras Principales ➔ Creación de tablas: Las tablas constan de columnas y filas, donde las columnas definen el tipo de datos y las filas contienen los datos reales. CREATE TABLE TableName ( Columna1 Tipo de datos 1, Columna2 Tipo de datos 2, … ); Ejemplo CREATE TABLE Estudiantes ( StudentID INT, Nombre Varcher(100), Edad INT ); ➔ Selección de registros: Recuperación de datos de una tabla. SELECT tabla1.columna1, tabla2.columna2,... DE LA TABLA1 UNIR TABLA2 EN table1.common_column=table2.common_column condición WHERE; Ejemplo: dos mesas, una para los alumnos y otra para los cursos SELECCIONE Students.Name, Cursos.Curso DE LOS Estudiantes JOIN Courses ON Students.StudentID = Courses.StudentID WHERE Cursos.Curso = 'Matemáticas'; Inserción de registros: Insertar datos en una tabla. INSERTAR EN table_name (columna1, columna2,...) VALORES (valor1, valor2,...) Ejemplo: INSERTAR EN Estudiantes (StudentID, Nombre, Edad) VALORES (1, 'John Doe', 20); ➔ Actualización de registros: Actualización de datos en una tabla. ACTUALIZACIÓN table_name SET columna1=valor1, columna2=valor2,... condición WHERE; Ejemplo: ACTUALIZACIÓN Estudiantes SET Edad = 21, Nombre = 'Jane Doe' DONDE StudentID = 1; * *WHERE StudentID = 1: solo se actualizará la fila en la que StudentID es 1. Sin la cláusula WHERE, se actualizarían todas las filas. ➔ Eliminación de registros: Eliminar datos de una tabla ELIMINAR DE table_name condición WHERE; Ejemplo: ELIMINAR DE Estudiantes DONDE StudentID = 1; Gracias a la condición, solo se eliminará un registro determinado, si no se incluye una condición, se eliminarán todas las filas. ➔ Modificación de una tabla: Agregar columnas a una tabla, modificando la estructura de una tabla existente ALTER TABLE table_name ADD column_name tipo de datos; Ejemplo: Estudiantes de ALTER TABLE ADD Edad INT; ➔ Mesa descendente: Eliminar una tabla por completo, eliminando una tabla existente de la base de datos MESA DROP table_name Consultas SQL avanzadas y análisis de datos 1. Inner Join (Unión Interna) Un Inner Join devuelve solo las filas que tienen valores coincidentes en ambas tablas. Sintaxis: SELECT columnas FROM tabla1 INNER JOIN tabla2 ON tabla1.columna_común = tabla2.columna_común; 2. Left Outer Join (Unión Externa Izquierda) Un Left Join devuelve todas las filas de la tabla izquierda (Customers) y las filas coincidentes de la tabla derecha (Orders). Si no hay coincidencia, se devuelve NULL para las columnas de la tabla derecha. Ejemplo: Sintaxis: SELECT columnas FROM tabla1 LEFT JOIN tabla2 ON tabla1.columna_común = tabla2.columna_común; 3. Right Outer Join (Unión Externa Derecha) Un Right Join devuelve todas las filas de la tabla derecha (Orders) y las filas coincidentes de la tabla izquierda (Customers). Si no hay coincidencia, se devuelve NULL para las columnas de la tabla izquierda. Ejemplo: Sintaxis: SELECT columnas FROM tabla1 RIGHT JOIN tabla2 ON tabla1.columna_común = tabla2.columna_común; 4. Consultas Simples para Análisis de Datos Definición: Estas consultas abarcan tareas básicas como: Recuperar datos. Realizar agregaciones. Filtrar resultados. Usar joins simples. 5. Uso de Agregaciones para Análisis Definición: Se utilizan principalmente para: Resumir datos. Derivar conocimientos. Realizar cálculos en conjuntos de datos. 6. Condiciones de Filtrado Sintaxis básica: SELECT columna1, columna2 FROM nombre_tabla WHERE condicion; Ejemplos de filtros: 1. Filtrar por valores numéricos: salario > 50000; 2. Filtrar por texto: 3. departamento = 'Ventas'; NOT departamento = 'Ventas'; 4. Combinar condiciones: 5. departamento = 'Ventas' AND salario > 50000; departamento = 'Ventas' OR salario > 50000; 6. Usar IN para valores específicos: departamento IN ('Ventas', 'Marketing', 'RRHH'); 7. Filtrar por rangos: salario BETWEEN 40000 AND 60000; 8. Usar LIKE para patrones: 9. primer_nombre LIKE 'A%'; primer_nombre LIKE 'A_'; 10. Filtrar valores NULL: departamento IS NULL; Combinación de condiciones: Utilizar operadores como AND, OR, o combinaciones de filtros avanzados para refinar consultas según las necesidades. Uso de operadores en SQL Definición Los operadores en SQL son herramientas esenciales para manipular y recuperar datos. Permiten realizar diversas operaciones sobre los datos, como cálculos aritméticos, comparaciones, evaluaciones lógicas y combinación de múltiples condiciones en una consulta. Tipos principales 1. Aritméticos: (+, -, *, /) 2. De comparación: (, =, , !=, LIKE) 3. Lógicos: (AND, OR, NOT) Ejemplos 1. Operadores aritméticos: 2. SELECT carid, daily_rate, daily_rate - 5 AS discounted_rate FROM cars; o Devuelve el ID del coche, su tarifa diaria y la tarifa con un descuento de 5. 3. Operadores de comparación: SELECT * FROM cars WHERE daily_rate > 50; Devuelve todos los coches con una tarifa diaria mayor a 50. o 4. Operador LIKE (coincidencia de patrones): SELECT * FROM cars WHERE carmodel LIKE 'Cam%'; Encuentra todos los modelos de coche que comienzan con "Cam". o 5. Operadores lógicos: SELECT * FROM rentals WHERE NOT (return_date IS NULL); o Devuelve todos los alquileres donde la fecha de devolución no es nula. Prácticas recomendadas Combinar operadores para consultas más complejas. Usar paréntesis para evitar ambigüedades en las evaluaciones. 2. Uso de funciones de cadenas en SQL Definición Las funciones de cadenas en SQL son herramientas esenciales para manipular y transformar datos de texto. Permiten realizar operaciones como concatenación, extracción, formateo y búsqueda de patrones específicos. Funciones comunes 1. CONCAT: 2. SELECT CONCAT(CustomerName, ' ', CustomerPhone) AS FullContact FROM Customers; o Combina el nombre del cliente y su teléfono en un solo campo. 3. SUBSTRING: 4. SELECT SUBSTRING(customerphone, 1, 3) AS area_code FROM customers; Extrae los primeros tres caracteres del teléfono del cliente. o 5. LENGTH: 6. SELECT LENGTH(carmodel) AS model_length FROM cars; o Devuelve la longitud del nombre del modelo del coche. 7. UPPER y LOWER: 8. SELECT UPPER(carmodel) AS uppercase_model FROM cars; o Convierte el nombre del modelo a mayúsculas. 9. TRIM: 10. SELECT TRIM(customer_name) AS name FROM customers; o Elimina los espacios en blanco de los extremos del nombre del cliente. 11. REPLACE: 12. SELECT REPLACE(customer_name, 'S', 's') AS name FROM customers; o Reemplaza las letras "S" por "s" en el nombre del cliente. 13. LEFT y RIGHT: 14. SELECT RIGHT(customer_name, 2) AS last_two_chars FROM customers; o Obtiene los dos últimos caracteres del nombre del cliente. 3. Uso de subconsultas en SQL Definición Las subconsultas son consultas dentro de otra consulta SQL. Se encierran entre paréntesis y se pueden usar en varias clausulas como SELECT, FROM, WHERE y HAVING. Son herramientas poderosas para descomponer consultas complejas en partes más simples. Tipos de subconsultas 1. Que devuelven una fila: o Ejemplo: o SELECT CustomerName o FROM customers o WHERE customerid = ( o SELECT customerid o FROM rentals o ORDER BY total_cost DESC o LIMIT 1 ); ▪ Devuelve el nombre del cliente que ha alquilado el coche más caro. 2. Que devuelven múltiples filas: o Ejemplo: o SELECT * FROM cars o WHERE carid IN ( o SELECT carid o FROM rentals o WHERE customerid IN ( o SELECT customerid o FROM rentals o GROUP BY customerid o HAVING COUNT(*) > 1 o ) ); Recupera los detalles de los coches alquilados por clientes que han ▪ realizado más de dos alquileres. 3. En la clausula SELECT: o Ejemplo: o SELECT customer_name, ( o SELECT SUM(total_amount) o FROM orders o WHERE orders.customer_id = customers.customer_id o ) AS total_spent FROM customers; Calcula el total gastado por cada cliente. ▪ 4. En la clausula WHERE: o Ejemplo: o SELECT first_name, last_name, salary o FROM employees o WHERE salary > ( o SELECT AVG(salary) o FROM employees ); Devuelve los empleados cuyo salario es mayor al salario promedio. ▪ 5. Subconsultas correlacionadas: o Ejemplo: o SELECT first_name, salary o FROM employees e1 o WHERE salary > ( o SELECT AVG(salary) o FROM employees e2 o WHERE e2.department = e1.department ); ▪ Devuelve los empleados cuyo salario es mayor al promedio dentro de su departamento. 6. Con IN: o Ejemplo: o SELECT product_name o FROM products o WHERE product_id IN ( o SELECT product_id o FROM orders ); ▪ Recupera los nombres de productos que han sido pedidos. Excel como base de datos plana Definición: Excel funciona como una base de datos plana, almacenando datos en una sola tabla u hoja, sin estructuras relacionales complejas como las bases de datos SQL. Puntos clave: Almacenamiento de datos: Cada hoja de Excel puede representar una "tabla", con filas como registros y columnas como campos. Ventajas y limitaciones: o Ventajas: Manejo sencillo de datos y posibilidad de realizar búsquedas simples. o Limitaciones: Falta de integridad referencial, poca escalabilidad en comparación con un RDBMS. Casos de uso adecuados: Ideal para prototipos rápidos, exploración de datos y conjuntos de datos pequeños o medianos. 2. Creación y uso de relaciones en Excel Definición: Excel permite crear relaciones entre tablas utilizando el Modelo de Datos, lo que permite analizar datos relacionados dentro del mismo libro. Puntos clave: Modelo de Datos: Función integrada que soporta múltiples tablas con relaciones definidas. Configuración de relaciones: o Relaciona tablas mediante campos que actúan como claves foráneas (FK). o Admite relaciones de uno-a-uno y uno-a-muchos. Limitaciones: o No soporta relaciones muchos-a-muchos sin soluciones complejas (como tablas puente). o No aplica integridad referencial automáticamente, requiriendo atención manual. 3. Integridad de datos en Excel Definición: Mantener la precisión, consistencia y confiabilidad de los datos, incluso sin restricciones automáticas como en SQL. Puntos clave: Identificadores únicos: Utilizar IDs únicos para evitar duplicados y garantizar consistencia en tipos de datos. Reglas de validación: o Utilizar la función "Validación de Datos" para restringir entradas (p. ej., formatos de fecha o listas específicas). Herramientas de control de errores: o Usar formato condicional para resaltar errores potenciales. o Utilizar "Texto en columnas" para estandarizar formatos (p. ej., fechas o monedas). 4. Normalización en Excel Definición: Aplicar principios básicos de normalización para minimizar redundancias y mejorar la integridad de los datos. Puntos clave: Formas normales básicas: o 1NF: Separar valores atómicos en campos distintos. o 2NF: Separar entidades en pestañas independientes (tablas) y definir claves primarias (PK) y foráneas (FK). o 3NF: Eliminar dependencias transitivas. Diseño de tablas relacionales: Organizar tablas basadas en entidades y relaciones para evitar redundancias. 5. Funciones de Excel como equivalentes a SQL Definición: Funciones como VLOOKUP, INDEX y MATCH pueden simular operaciones JOIN básicas en SQL. Puntos clave: VLOOKUP: Busca datos en un rango vertical basado en una clave. o Limitaciones: Requiere datos ordenados y está limitado a coincidencias exactas. INDEX y MATCH: o Combinación más flexible que permite búsquedas de izquierda a derecha. Limitaciones: o A diferencia de los JOIN en SQL, no se actualizan dinámicamente cuando se añaden o modifican datos. 6. Creación de tablas en Excel Ejemplo: Crear una tabla "CUSTOMER" 1. Agregar una nueva hoja con el botón "+". 2. Renombrar la hoja a "CUSTOMER". 3. Incluir los campos: CustomerId, Name, Surname, Phone. 4. Añadir datos. 5. Convertir la tabla: o Seleccionar los datos. o Usar Insertar > Tabla. o Asegurarse de que la primera fila sean encabezados. 7. Relaciones entre tablas 1. Crear relaciones seleccionando las claves foráneas (FK) entre tablas: o Relación entre Car y Brand mediante BrandId. o Relación entre Rental y Customer mediante CustomerId. o Relación entre Rental y Car mediante CarId. 2. Usar el menú Datos > Relaciones. 8. Tablas dinámicas Definición: Herramienta avanzada para calcular, resumir y analizar datos, permitiendo identificar patrones y tendencias fácilmente. Crear una tabla dinámica: 1. Insertar una tabla dinámica desde el menú Insertar > Tabla dinámica. 2. Configurar las medidas, filas, columnas y filtros. o Ejemplo: Análisis de días por cliente (ID, nombre, apellido, días totales). 3. Añadir segmentaciones para filtrar por Car Name y Car Brand. 4. Crear un gráfico dinámico desde la tabla dinámica: o Insertar gráfico recomendado o personalizar uno. Opciones avanzadas: Segmentación: Permite filtrar rápidamente la información. Escala de tiempo: Filtrar por fechas para dashboards. Conexión de filtros: Configurar qué tablas se aplican a cada filtro. Fuentes de datos económicos y financieros Existen numerosas fuentes de datos relevantes en el ámbito económico y financiero que pueden ser utilizadas en análisis y bases de datos. Tipos de análisis de datos Las fuentes mencionadas permiten realizar distintos tipos de análisis, como: 1. Análisis descriptivo Resume y describe un conjunto de datos. Ejemplo: Tasa de desempleo de este mes en España según rangos de edad. 2. Análisis de tendencias a lo largo del tiempo Estudia cómo cambian los datos con el tiempo. Ejemplo: Evolución del desempleo en España durante el último año, mes a mes. 3. Análisis comparativo Compara regiones, grupos de personas o distintas variables. Ejemplo: Comparación del desempleo entre comunidades autónomas en España durante el último año. Fuentes principales 1. INE (Instituto Nacional de Estadística) Ofrece datos estadísticos sobre aspectos económicos, demográficos y sociales. Demografía y población: Censos, nacimientos, defunciones, etc. Economía: PIB, IPC, encuestas económicas. Mercado laboral: Encuestas de población activa. Empresas y establecimientos: Directorio Central de Empresas (DIRCE), encuestas industriales, estadísticas de innovación. Sociedad: Estadísticas de educación, salud, condiciones de vida, movilidad geográfica, entre otros. El INE actualiza regularmente sus datos y permite descargar informes, bases de datos y herramientas interactivas desde su página web. 2. Ministerio de Economía, Comercio y Empresa Proporciona datos financieros y estadísticas clave: Macroeconomía: Crecimiento económico y otros indicadores. Finanzas públicas: Déficit, deuda pública y ejecución presupuestaria. Mercado laboral: Estadísticas de empleo, desempleo y ofertas laborales. Sistema financiero: Evolución del sistema financiero español. Comercio exterior: Exportaciones, importaciones y balanza comercial. 3. Banco de España (BdE) Estadísticas de tasas de interés. Datos sobre el sistema financiero español. 4. Eurostat Proporciona estadísticas de alta calidad sobre Europa. Página oficial: Eurostat 5. Banco Mundial (World Bank) Acceso gratuito a datos de desarrollo global. Página oficial: World Bank Open Data 6. Fondo Monetario Internacional (FMI) Ofrece datos macroeconómicos y financieros. Página oficial: IMF Data 7. Bolsa de Madrid Proporciona datos financieros relevantes relacionados con el mercado bursátil. 8. DataComex y DataInvex Datos sobre comercio exterior e inversiones españolas. 9. Gobierno de España: Open Data Portal de datos abiertos con acceso a múltiples fuentes de información pública. Power BI como herramienta de bases de datos 1. Power BI Desktop Descripción: Aplicación instalada en el ordenador, gratuita para uso personal. Funciones principales: o Creación de informes y dashboards interactivos. o Incluye PowerQuery, una herramienta para limpiar y transformar datos provenientes de múltiples fuentes (Excel, SQL, etc.). o Permite establecer relaciones entre tablas, similar a un sistema de bases de datos relacional. o Ideal para desarrollar y diseñar visualizaciones de datos. Audiencia principal: Diseñadores y desarrolladores. 2. Power BI Service Descripción: Plataforma basada en la nube para compartir y colaborar en informes creados con Power BI Desktop. Funciones principales: o Actualizaciones de datos en tiempo real. o Facilita la colaboración en equipo. o Ofrece menos funcionalidades que Power BI Desktop, enfocándose más en la visualización y colaboración de informes. Audiencia principal: Usuarios empresariales que necesitan visualizar y colaborar en reportes. Comparación con bases de datos SQL tradicionales Propósito principal: Power BI se centra en el análisis y la visualización de datos, no en el almacenamiento primario de estos. 2. Pasos para construir una aplicación en 10 minutos 1. Generar datos: Utiliza IA para definir la estructura de una base de datos (ejemplo: clientes o alquileres). 2. Crear una interfaz: Genera automáticamente formularios y pantallas basados en la base de datos. 3. Integrar lógica: Añade funcionalidades impulsadas por IA, como respuestas automatizadas o flujos de trabajo. Introducción a las Bases de Datos NoSQL Definición Las bases de datos NoSQL (Not Only SQL) son sistemas no relacionales diseñados para almacenar, recuperar y gestionar datos no tabulares. Características principales 1. Sin esquema fijo o esquema flexible: o Permiten modificaciones dinámicas en la estructura de los datos. 2. Escalabilidad horizontal: o Capaces de manejar grandes volúmenes de datos distribuyendo la carga entre múltiples servidores. 3. Compatibilidad con diversos tipos de datos: o Estructurados (como tablas), semi-estructurados (JSON) y no estructurados (texto, imágenes, registros, etc.). Cuándo usarlas 1. Cuando la escalabilidad es esencial: o Gestionar grandes volúmenes de datos mediante escalado horizontal. 2. Cuando se necesita flexibilidad: o El diseño de esquema dinámico permite iteraciones y cambios rápidos. 3. Cuando el rendimiento es clave: o Optimizadas para patrones de acceso y modelos de datos específicos. 4. En aplicaciones de Big Data y en tiempo real: o Ideales para análisis de datos masivos y aplicaciones que requieren respuestas rápidas. Tipos de Bases de Datos NoSQL 1. Almacenes de documentos (Document Stores) Ejemplos: MongoDB Uso: Sistemas de gestión de contenido, como almacenar todos los documentos de un sitio web. Caso práctico: o Un sitio web de noticias usa MongoDB para almacenar artículos. o Cada artículo es un documento con campos como: ▪ Título, cuerpo, autor, etiquetas y fecha de publicación. o Ventaja: La estructura flexible permite añadir nuevos campos (como contenido multimedia) sin necesidad de alterar documentos existentes. o Escalabilidad: Distribuye la carga entre múltiples servidores para gestionar millones de lectores.

Use Quizgecko on...
Browser
Browser