





























Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
base de datos analisis de datos, SQL MYSQL
Tipo: Resúmenes
1 / 37
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Una base de datos es una colección de datos organizados y estructurados según un determinado modelo de información (lógica de negocio) que refleja la relación entre ellos. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos se encuentran en formato digital (electrónico), lo cual ofrece un amplio rango de soluciones al problema de almacenar grandes volúmenes de datos.
Un Motor de Bases de Datos , también conocido por sus siglas SGBD o DBMS/RDBMS, es un sistema que permite la creación, gestión y administración de bases de datos , así como la elección y manejo de las estructuras necesarias para el almacenamiento, búsqueda y construcción de información del modo más eficiente posible. Los usuarios pueden acceder a la información a través de la utilización de herramientas específicas de consulta y/o de generación de informes, o bien mediante aplicaciones desarrolladas con ese objetivo. Con base en esto, podemos definir que los Motores de Base de Datos sirven para definir, construir y manipular una base de datos. Algunas de las principales marcas son ORACLE, MySQL, SQL Server, PostgreSQL y SQLite.
Un repositorio , depósito, o almacén de datos es un sitio centralizado donde se almacena y mantiene información digital , habitualmente de bases de datos o archivos informáticos. Los repositorios de datos pueden distribuirse sirviéndose de una red informática como Internet o en un medio físico. Pueden ser de acceso público o pueden estar protegidos y necesitar de una autenticación previa. Los repositorios más conocidos son los de carácter académico e institucional. A diferencia de las computadoras personales, los repositorios suelen contar con sistemas de respaldo (backup) para recuperación, lo que hace que la información se pueda recuperar en el caso de que la/s máquina/s donde residen quede inutilizable. Los repositorios se utilizan de forma intensiva en sistemas GNU/Linux. Almacenan, en su mayoría, paquetes de software disponibles para su instalación mediante un gestor de paquetes. Referencias del cuadro anterior:
● Usuarios : son las personas que pueden acceder a los datos. Pueden ser catalogados como usuarios finales, usuarios avanzados, desarrolladores o administradores. ● Aplicaciones : usan el motor de base de datos para acceder a la información y luego poder presentarla al usuario. Las aplicaciones son desarrolladas por desarrolladores (programadores) y pueden ser escritas en diversos lenguajes. Los más comunes son JAVA, PHP, Visual Basic, C#, C++, Python , etc. ● Sistemas de administración de bases de datos relacionales : son un tipo de software específico, dedicado a servir de interfaz entre el motor de bases de datos, la base de datos, el usuario y las aplicaciones que la utilizan. El propósito general de estos sistemas es el de gestionar, de manera clara, sencilla y ordenada, un conjunto de datos que posteriormente se convertirán en información relevante para una organización. ● Dato : es la unidad mínima de información, sin sentido en sí misma, pero que adquiere significado en conjunto con otras precedentes de la aplicación que las creó. Es un conjunto de símbolos que, unidos de cierta forma, dan un significado lógico. ● Definición de datos : realiza una descripción de la estructura de los datos (su tipología, la forma en que se relacionan, etc.), de las operaciones que pueden realizarse con ellos (añadir, eliminar, modificar, recuperar) y de las restricciones referentes a su integridad (aquellas condiciones que todos los datos deben respetar para que la información sea válida, consistente y congruente).
Las principales ventajas de este Sistema Gestor de Bases de Datos son: ● Facilidad de uso y gran rendimiento. ● Facilidad para instalar y configurar. ● Soporte multiplataforma. ● Soporte SSL.
La principal desventaja es la escalabilidad. Es decir, no trabaja de manera eficiente con bases de datos muy grandes que superan un tamaño determinado.
SQL significa Structured Query Language (Lenguaje Estructurado de Consultas), el cual puede referirse como lenguaje de programación o lenguaje de consulta. El objetivo principal de SQL es interactuar con la base de datos relacional en la que se almacenan los datos de forma tabular (tabla formada por filas y columnas). El motor recopila e interpreta comandos y/o sentencias SQL para que se puedan realizar las operaciones apropiadas en la base de datos relacional. El objetivo del motor SQL es crear (Create), leer (Read), actualizar (Update) y eliminar datos (Delete): CRUD de una base de datos. Existen varios tipos de motores SQL y todos tienen una arquitectura diferente, pero realizan el mismo objetivo que incluye operaciones CRUD en la base de datos y muchas otras características.
Una sentencia en SQL es una instrucción completa que se utiliza para ejecutar una acción específica en una base de datos. Cada sentencia SQL realiza una tarea determinada, como crear una tabla, modificar datos, recuperar información o establecer permisos. SQL proporciona un conjunto de sentencias que permiten manipular y gestionar los datos en bases de datos relacionales. DML: DATA MANIPULATING LANGUAGE – Permite manipular los datos dentro de las tablas. DDL: DATA DEFINITION LANGUAGE – Permite modificar la estructura de las bases de datos. DCL: DATA CONTROL LANGUAGE.
Debido a que los sistemas de bases de datos brindan servicios en forma simultánea a un conjunto de usuarios y desarrolladores que, normalmente, acceden desde fuera de la máquina donde reside la base de datos (conectados vía red local, Internet, Intranet, etc.), se hace imprescindible contar con un control de concurrencia que verifique la consistencia de cada operación (transacción) y asegure que no se creen conflictos al momento de realizar una operación de escritura en un mismo registro, en simultáneo.
Cuando se utiliza una base de datos para gestionar información, se plasma una parte del mundo real en una serie de tablas, registros, campos y relaciones. Un diagrama entidad-relación (ERD, por sus siglas en inglés) es una herramienta de modelado utilizada para representar y estructurar los datos de un sistema de información que parte de una situación real a partir de la cual se definen los componentes del diagrama. Podemos definir este diagrama como un “plano” de la base de datos que ayuda a diseñar la estructura antes de su implementación. Esto permite asegurar que se capturen adecuadamente las relaciones y restricciones entre los datos. Este diagrama se crea a partir de una fuerte captura de requerimientos del funcionamiento de la empresa cliente o del sistema a desarrollar.
● Entidades : representan objetos o cosas del mundo real que tienen una existencia independiente en el contexto del sistema. Cada ejemplar de una entidad se denomina instancia. Las entidades son modeladas en la base de datos como tablas, en el diagrama se representan con un rectángulo. ● Atributos : son las propiedades o características de las entidades. En el diagrama se suelen representar como óvalos conectados a la entidad donde se pueden añadir etiquetas o notaciones para indicar si son claves primarias o claves foráneas. ● Relaciones : representan asociaciones entre dos o más entidades. Indican cómo las entidades están conectadas entre sí. ● Cardinalidad : describe el número de instancias de una entidad que pueden estar asociadas con una instancia de otra entidad a través de una relación.
● Uno a uno (1:1): una entidad solo puede estar relacionada con una instancia de otra entidad. ● Uno a muchos (1:N): una entidad puede estar relacionada una o más instancias de otra entidad. ● Muchos a muchos (N:N): una entidad puede estar relacionada con una más instancias de otra entidad y viceversa.
Al evaluar la relación entre dos tablas determinadas, debe comprender cuántas ocurrencias posibles de una tabla podrían pertenecer a una entidad en otra y viceversa. Por ejemplo, una tabla “users” y una tabla “orders”. En este caso, desea saber cuántos
Evaluación de las tablas Dados los tipos de relaciones que existen entre las tablas, puede aprender a evaluar las tablas en la Data Warehouse. A medida que estas relaciones determinan cómo se definen las columnas calculadas de varias tablas, es importante que entienda cómo identificar las relaciones de tabla y a qué lado – one o many - pertenece la tabla. Puede utilizar dos métodos para evaluar las relaciones de un par determinado de tablas dentro de la Data Warehouse. El primer método emplea un marco conceptual que tiene en cuenta cómo interactúan las entidades de la tabla entre sí. El segundo método usa el esquema table. Uso del marco conceptual Este método utiliza un marco conceptual para describir cómo las entidades de las dos tablas pueden interactuar entre sí. Es importante entender que este marco evalúa lo que es posible, dada la relación. Por ejemplo, cuando piense en usuarios y pedidos, tenga en cuenta todo lo que es posible en la relación. Un usuario registrado no puede realizar ningún pedido, solo uno o varios pedidos durante su vida útil. Si ha iniciado su negocio y no se han realizado pedidos, es posible que un usuario determinado pueda realizar muchos pedidos durante su vida útil. Las mesas están construidas para acomodar esto. Para utilizar este método: Identifique la entidad que se describe en cada tabla. Sugerencia: normalmente es un sustantivo. Por ejemplo, las tablas users y orders describen explícitamente usuarios y pedidos. Identifique uno o más verbos que describan cómo interactúan estas entidades. Por ejemplo, al comparar usuarios con pedidos, los usuarios "realizan" pedidos. En la otra dirección, los pedidos "pertenecen" a los usuarios. Este tipo de marco de trabajo se puede aplicar a cualquier emparejamiento de tablas en la Data Warehouse. Esto le permite identificar fácilmente el tipo de relación y qué tabla es un lado uno y qué tabla es un lado varios. Una vez identificada la terminología que describe cómo interactúan las dos tablas, enmarque la interacción en ambas direcciones teniendo en cuenta cómo se relaciona una instancia determinada de la primera entidad con la segunda. Estos son algunos ejemplos de cada relación: One-to-One Una persona determinada solo puede tener un número de licencia de conducir. Un determinado número de licencia de conducir pertenece a una sola persona. Se trata de una relación de one-to-one en la que cada tabla es un lado uno.
One-to-Many Un pedido determinado puede contener muchos elementos. Un elemento dado pertenece a un único pedido. Se trata de una relación de one-to-many en la que la tabla pedidos es el lado uno y la tabla elementos es el lado varios. Many-to-Many Un producto dado puede pertenecer posiblemente a muchas categorías. Una categoría determinada puede contener muchos productos. Se trata de una relación de many-to-many en la que cada tabla es un lado varios. Uso del esquema de la tabla El segundo método utiliza el esquema de tabla. El esquema define qué columnas son las claves Primary y Foreign. Puede utilizar estas claves para vincular tablas y ayudar a determinar los tipos de relación. Una vez identificadas las columnas que vinculan dos tablas, utilice los tipos de columna para evaluar la relación entre las tablas. Estos son algunos ejemplos: One-to-one Si las tablas están vinculadas utilizando el Primary Key de ambas tablas, se describe la misma entidad única en cada tabla y la relación es one-to-one. Por ejemplo, una tabla users puede capturar la mayoría de los atributos de usuario (como el nombre) mientras que una tabla user_source suplementaria captura los orígenes de registro de usuario. En cada tabla, una fila representa un usuario. One-to-many Cuando las tablas se vinculan mediante un Foreign Key que señala a un Primary Key, esta configuración describe una relación de one-to-many. El lado uno es la tabla que contiene Primary Key y el lado varios es la tabla que contiene Foreign Key.
La integridad referencial es un mecanismo que garantiza la integridad de datos en tablas relacionadas, ya que evita la existencia de los llamados registros huérfanos (registros hijos sin su correspondiente registro padre). Para establecer la integridad referencial es necesario crear en una tabla hija, una clave externa o foránea que esté relacionada con una clave primaria de la tabla padre. Es posible establecer el comportamiento de los registros en la tabla hija cuando se producen actualizaciones de datos en la clave primaria de la tabla padre o se eliminan registros en la tabla padre a través de la definición de operaciones en cascada: ON UPDATE, ON DELETE.
Un Diagrama de Entidad-Relación (DER) es una herramienta gráfica utilizada en el modelado de bases de datos. Su objetivo es representar de manera visual las entidades relevantes de un sistema, las relaciones entre ellas y los atributos de cada entidad. Es un paso fundamental en la fase de diseño de bases de datos porque ayuda a entender y estructurar la información que se manejará. Herramientas para crear DER Existen varias herramientas online para crear diagramas de entidad-relación (DER), algunas de ellas son: ● Canva: https://www.canva.com/graphs/er-diagrams/ ● Creately: https://creately.com/ ● Draw.io: https://www.youtube.com/watch?v=fYGaXuclxas ● Gliffy:https://www.gliffy.com/blog/guide-to-entity-relationship-diagram-symbols ● DBDesigner: https://www.dbdesigner.net
DBDesigner es una herramienta de diseño y modelado de bases de datos que permite a los usuarios crear, visualizar y administrar diagramas de bases de datos de manera intuitiva y gráfica. Es conocida por su facilidad de uso, lo que la hace ideal tanto para principiantes como para profesionales experimentados en el desarrollo de bases de datos. A continuación, instalarás y utilizarás un DBDesigner:
Crear un nuevo proyecto
● ChatGPT (OpenAI): https://chatgpt.com/ ● Gemini (Google DeepMind): https://gemini.google.com/app ● BLOOM: https://bloomai.co/ ● Mistral AI: https://mistral.ai/ ● BERT. ● Megatron-Turing NLG.
A ChatGPT podemos solicitarle que nos corrija, escuche y ofrezca sugerencias para mejorar lo que hacemos. A lo largo del curso, utilizaremos estas capacidades de la IA para generar consultas SQL a partir de lenguaje natural. También le pediremos que revise nuestras sintaxis, detecte errores y nos proponga oportunidades de mejora.
Es posible exportar un proyecto realizado en DBDesigner a ChatGpt de la siguiente manera: ● En el diagrama de ER debes presionar EXPORT-> Export SQL. ● Luego, seleccionar el motor de la base de datos (MySQL) y presionar Export. El archivo que se descarga es el que se enviará a la IA. ● En la página de ChatGPT será posible arrastrar el archivo generado y, por consiguiente, se le indicará a la IA que lo interprete. A partir de allí, le podemos pedir modificaciones sobre las tablas o generar tablas nuevas o relaciones, etc. De esa forma, la IA generará el código SQL para copiar y pegar en WorkBench y aplicar las modificaciones pedidas.
¿Qué significa crear código SQL a partir de lenguaje natural? Básicamente, consiste en ingresar a un modelo de IA con nuestra base de datos y luego formular consultas en lenguaje cotidiano. La IA se encarga de generar automáticamente el código SQL necesario para acceder a la información solicitada. Operaciones principales SELECT ejemplo 1: La base de datos tiene dos tablas con este formato: [nombres de las tablas y sus de columnas separadas por coma]. Almacenan la información de estudiantes y cursos. Escribe una query de MySQL para obtener la lista de estudiantes inscriptos en al menos 3 cursos. SELECT ejemplo 2: Debes utilizar las tablas anteriores. Haz una query que traiga a todos los estudiantes cuyo apellido comience con la letra A. CREATE:
Crea una tabla en MySQL llamada “Ventas” con los siguientes campos “Identificador, codigo_de_articulo, cantidad_vendida, precio_venta, descuento, precio_final”.
Un Integrated Development Environment (IDE por sus siglas en inglés, Entorno de Desarrollo Integrado en español) sirve para trabajar con motores de bases de datos. Es una aplicación especializada que facilita la gestión, desarrollo y administración de bases de datos. Este tipo de IDE proporciona herramientas y características que permiten interactuar de manera eficiente con uno o varios sistemas de gestión de bases de datos (DBMS), ya sea relacionales como MySQL, PostgreSQL, SQL Server y Oracle o no relacionales como MongoDB.
● Editor de consultas SQL: posee una herramienta para escribir y ejecutar consultas SQL. Suele incluir funciones como resaltado de sintaxis, autocompletado, y sugerencias de código, lo que facilita la escritura de consultas complejas. ● Explorador de bases de datos : posee una interfaz visual que permite navegar por las tablas, vistas, procedimientos almacenados y otros objetos de la base de datos. Esto facilita la visualización de la estructura y el contenido de la base de datos. ● Generación y ejecución de scripts : posee herramientas para generar scripts SQL para la creación, modificación, y eliminación de estructuras de bases de datos (tablas, índices o vistas, etc.) y ejecutarlos directamente desde el IDE. ● Depuración de procedimientos almacenados: en algunos casos, el IDE incluye depuradores para ejecutar y depurar procedimientos almacenados y funciones dentro de la base de datos. Esto permite identificar errores lógicos en el código. ● Gestión de conexiones: posee funcionalidades para gestionar múltiples conexiones a diferentes servidores de bases de datos. Esto es útil para trabajar en varios entornos (desarrollo, prueba y producción) o con diferentes tipos de DBMS. ● Visualización de datos: posee herramientas para consultar y visualizar los datos almacenados en tablas de forma gráfica, lo que facilita el análisis y la manipulación de datos sin necesidad de escribir consultas manuales. ● Soporte para operaciones administrativas: posee capacidades para realizar tareas administrativas como crear y gestionar usuarios, asignar permisos, hacer copias de seguridad, restaurar bases de datos y monitorear el rendimiento de los servidores. ● Integración con control de versiones: algunas IDE permiten versionar scripts y esquemas de base de datos a través de sistemas como Git, lo cual es útil para mantener un historial de cambios y colaborar en equipos de desarrollo.
Además de usar un IDE, existen varias maneras de conectarse a un motor de MySQL para interactuar con la base de datos, algunos de ellos son: ● Cliente de línea de comandos (MySQL CLI): MySQL proporciona su propio cliente de línea de comandos, llamado MySQL, que permite conectarse al servidor MySQL
Este Prompt proporciona suficiente información para que la IA genere correctamente las sentencias INSERT. Maneja la columna ID como AUTO_INCREMENT y asegura de que los correos electrónicos sean únicos y no nulos. La IA también debería generar valores válidos para las columnas restantes. Un resultado esperado sería el siguiente: Otro ejemplo sería: ● Al especificar los campos de la tabla y pedir valores variados y realistas, la IA genera una inserción que simula una base de datos de productos con diferentes características. ● Los valores para cada artículo son variados en términos de categoría, precio, stock y disponibilidad, lo que muestra cómo se pueden manejar diferentes tipos de datos dentro de la misma tabla. Un resultado esperado sería el siguiente:
El código generado por la IA se puede copiar y ejecutar desde WorkBench para aplicarlo en distintas situaciones: ● Población inicial de la base de datos : Cuando se crea una nueva base de datos, es necesario llenarla con datos iniciales. Este tipo de prompts facilita la inserción de registros base como artículos de inventario, empleados, usuarios o productos, etc., sin tener que escribir manualmente cada sentencia SQL.
● Automatización de tareas repetitivas: Si necesitas insertar registros repetitivamente o con ligeras variaciones, estos prompts pueden automatizar el proceso, ahorran tiempo y reducen el riesgo de errores manuales. ● Pruebas y simulación de datos: En el desarrollo de software, a menudo se necesitan datos de prueba para validar funcionalidades. Estos prompts permiten generar fácilmente grandes volúmenes de datos ficticios para pruebas de carga, rendimiento y funcionalidad. ● Migración de datos: Cuando se migra información de una base de datos a otra, estos prompts pueden ayudar a generar las sentencias SQL necesarias para insertar los registros en la nueva base de datos. Esto asegura que la estructura y los datos sean consistentes. ● Creación de scripts automatizados: Si necesitas crear scripts automatizados para insertar datos de forma periódica (por ejemplo, en un proceso de ETL), estos prompts te permiten generar las sentencias SQL necesarias para incluir en los scripts y facilita la automatización del proceso.
Es un sistema de gestión de bases de datos (SGBD) multihilo y multiusuario que se utiliza en la gran parte de las páginas web actuales. Además, es el más usado en aplicaciones creadas como software libre. Se ofrece bajo la GNU GPL, aunque también es posible adquirir una licencia para empresas que quieran incorporarlo en productos privativos. Desde la compra por parte de Oracle se orienta al ámbito empresarial.
En muchas oportunidades se presenta el caso de que una empresa posee las tablas generadas en Microsoft Access o Microsoft Excel y, debido a la cantidad de información que empiezan a contener, se decide pasarlas a SQL para trabajarlas de una mejor manera. MySQL WorkBench permite la importación de tablas externas. El único problema que se presenta es que este motor de bases de datos solo admite la importación de tablas que se hallen en archivos con formato CSV o JSON. Dado que esas tablas no fueron generadas dentro de un entorno SQL, los campos no tendrán definidos tipos de datos ni modificadores. Al momento de llevar a cabo la importación de las tablas, se podrá definir el tipo de dato para cada uno de los campos. Los modificadores se deberán especificar por medio del comando ALTER TABLE , que fue explicado en el módulo anterior. Mecanismo de importación Para importar tablas desde archivos con formato CSV o JSON: