# data[].attributes.headline
Resumen Axel David Sierra Flores 20221001499

# data[].attributes.subject
Resumen Axel David Sierra Flores 20221001499

# data[].attributes.headline
Resumen Axel David Sierra Flores 20221001499

# data[].attributes.subject
Resumen Axel David Sierra Flores 20221001499

# data[].attributes.body
¿Qué es?

Es el proceso de diagramación de los flujos de datos. Al crear la estructura de una base de datos nueva o alternativa, el diseñador comienza con un diagrama del flujo de los datos por dentro y fuera de la base de datos. Este diagrama se usa para definir los formatos y estructuras de los datos y las funciones de gestión de la base de datos, a fin de dar un soporte eficiente al flujo de datos. Una vez creada e implementada la base de datos, el modelo de datos es la documentación y justificación de por qué existe la base de datos y cómo se diseñaron los flujos.

¿Por qué es importante el modelado de datos?

Un modelo de datos integral y optimizado ayuda a crear una base de datos lógica simplificada que elimina la redundancia, reduce los requisitos de almacenamiento y permite una recuperación eficiente. También equipa a todos los sistemas con una "única fuente de verdad" –que es esencial para operaciones eficaces y cumplimiento regulatorio–. El modelado de datos es un paso clave en dos funciones vitales de una empresa digital.

Tipos de modelado de datos

Relacional: Almacena los datos en registros de formato fijo y organiza los datos en tablas con filas y columnas.

Dimensional: Esta estructura de base de datos está optimizada para consultas online y herramientas de almacenamiento de datos.

Rico en entidades (E-R): Representa una estructura de datos de negocio en forma gráfica que contiene cuadros de varias formas para representar actividades, funciones o "entidades" y líneas para representar asociaciones, dependencias o "relaciones".

# data[].attributes.headline
Implementación Base de Datos no Relacional  

# data[].attributes.subject
Implementación Base de Datos no Relacional  

# data[].attributes.body
Las bases de datos NoSQL utilizan una variedad de modelos de datos para acceder y administrar datos. Estos tipos de bases de datos están optimizados específicamente para aplicaciones que requieren modelos de datos flexibles, grandes volúmenes de datos y baja latencia, lo que se logra mediante la flexibilización de algunas de las restricciones de coherencia de datos en bases de datos relacionales. Existen diferencias en la implementación según el modelo de datos. Sin embargo, muchas bases de datos NoSQL utilizan Javascript Object Notation (JSON), un formato de intercambio de datos abierto que representa los datos como una colección de pares nombre-valor.

# data[].attributes.body
MySQL: Popular en aplicaciones web y de código abierto.

Oracle: Utilizado en grandes corporaciones para la gestión avanzada de datos.

PostgreSQL: Una solución avanzada y de código abierto.

Microsoft SQL Server: Muy utilizado en entornos empresariales.

# data[].attributes.body
Pago por uso: En lugar de hacer grandes inversiones en infraestructura física, las organizaciones solo pagan por los recursos que consumen. Esto elimina los costos de hardware, mantenimiento y personal especializado.

Accesibilidad global: Al estar basadas en la nube, las bases de datos pueden ser accesibles desde cualquier lugar con conexión a Internet. Esto facilita la colaboración en tiempo real y el acceso remoto a los datos.

Cifrado y controles de acceso: Los principales proveedores de nube ofrecen características de seguridad robustas, como cifrado de datos en tránsito y en reposo, controles de acceso basados en roles, y auditorías de seguridad.

Copias de seguridad: La mayoría de los servicios de bases de datos en la nube ofrecen soluciones de respaldo automático y recuperación ante fallos, lo que asegura que los datos siempre estén protegidos y restaurables.

Soporte para múltiples modelos de bases de datos: Los proveedores de la nube suelen ofrecer diferentes tipos de bases de datos, como SQL (relacional), NoSQL, o bases de datos en memoria. Esto permite a las empresas elegir la mejor opción según sus necesidades.

# data[].attributes.headline
Tipos de Sistemas Gestores de Bases de Datos

# data[].attributes.subject
Tipos de Sistemas Gestores de Bases de Datos

# data[].attributes.body
SGBD Jerárquico: Organiza los datos en una estructura de árbol jerárquica. Ejemplo: IBM Information Management System (IMS).

SGBD de Red: Estructura los datos en grafos que permiten relaciones más complejas. Ejemplo: IDMS.

SGBD Relacional (RDBMS): El más común, organiza los datos en tablas con relaciones entre ellas. Ejemplo: MySQL, Oracle, PostgreSQL.

SGBD Orientado a Objetos: Combina las características de los SGBD y los lenguajes de programación orientados a objetos. Ejemplo: ObjectDB.

# data[].attributes.body
Escalabilidad: Pueden ajustarse fácilmente para manejar grandes volúmenes de datos sin necesidad de modificar el hardware físico.

Accesibilidad: Los datos pueden ser accesibles desde cualquier lugar con conexión a Internet.

Mantenimiento simplificado: El proveedor de la nube suele encargarse del mantenimiento, seguridad, y copias de seguridad.

Costos ajustados: Se paga por el almacenamiento y recursos que se usan, lo que permite a las empresas reducir costos en infraestructura física.

# data[].attributes.body
Es un sistema de almacenamiento de datos que está alojado y gestionado en servidores remotos accesibles a través de Internet. En lugar de almacenar los datos en un servidor físico local o en una computadora personal, los datos se guardan en una infraestructura de nube, proporcionada por servicios como Amazon Web Services (AWS), Google Cloud, Microsoft Azure, entre otros.

# data[].attributes.body
Interacción entre usuarios y el SGBD: Los usuarios se conectan al sistema a través de aplicaciones o interfaces gráficas, enviando consultas y obteniendo resultados. El SGBD gestiona las solicitudes y ejecuta las operaciones necesarias en la base de datos.

Procesamiento de Transacciones: El SGBD asegura que las transacciones se realicen correctamente, garantizando la integridad y consistencia de los datos.

Concurrencia: Mecanismo que permite que varios usuarios accedan a la base de datos de forma simultánea sin que sus operaciones interfieran entre sí.

# data[].attributes.body
Base de Datos: Conjunto de datos relacionados que son almacenados y organizados de manera que puedan ser fácilmente gestionados y recuperados.

Motor de Base de Datos: Componente encargado de ejecutar las consultas SQL y realizar las operaciones de almacenamiento, actualización, y recuperación de datos.

Lenguaje de Consulta (SQL): Herramienta que permite la manipulación y consulta de los datos almacenados.

Sistema de Seguridad: Módulo que controla el acceso a los datos, asegurando que solo los usuarios autorizados puedan ver o modificar la información.

Control de Transacciones: Mecanismo que asegura que las operaciones sobre los datos se realicen de manera confiable, permitiendo revertir cambios en caso de errores.

Backup y Recuperación: Herramientas que permiten crear copias de seguridad de los datos y restaurarlos en caso de pérdida o fallo.

# data[].attributes.body
Un Sistema Gestor de Bases de Datos es un software que permite crear, gestionar, y administrar bases de datos, facilitando el almacenamiento, organización, y acceso a los datos de manera eficiente.

# data[].attributes.headline
Personas que Interactúan con la Base de Datos

# data[].attributes.subject
Personas que Interactúan con la Base de Datos

# data[].attributes.body
Administradores de Bases de Datos (DBA):
Los DBA son responsables de la instalación, configuración y mantenimiento del sistema de gestión de bases de datos (SGBD). Se encargan de la seguridad, la recuperación ante desastres, la copia de seguridad de datos y la optimización del rendimiento. Además, gestionan los permisos de acceso y aseguran la integridad y disponibilidad de la base de datos.

Desarrolladores:
Los desarrolladores crean y mantienen aplicaciones que interactúan con la base de datos. Su trabajo incluye diseñar la estructura de la base de datos, escribir consultas SQL, implementar funciones y procedimientos almacenados, y asegurar que las aplicaciones sean eficientes y seguras. También realizan pruebas para garantizar que el acceso a la base de datos funcione correctamente.

Analistas de Datos:
Los analistas de datos utilizan herramientas y consultas para extraer, analizar e interpretar datos de la base de datos. Su objetivo es transformar los datos en información útil para la toma de decisiones. Esto puede incluir la generación de informes, visualizaciones y análisis estadísticos que ayudan a las organizaciones a comprender patrones y tendencias en sus datos.

Usuarios Finales:
Los usuarios finales son las personas que interactúan con las aplicaciones que utilizan la base de datos. Pueden ser empleados de una empresa, clientes o cualquier persona que necesite acceder a la información almacenada. Su responsabilidad es utilizar las interfaces proporcionadas para realizar consultas, introducir datos y generar informes según sus necesidades.

Ingenieros de Datos:
Los ingenieros de datos se enfocan en la construcción y mantenimiento de la infraestructura de datos. Se encargan de diseñar, implementar y gestionar flujos de datos y pipelines, asegurando que los datos sean accesibles y estén disponibles para los analistas y usuarios. Además, trabajan en la integración de diferentes fuentes de datos.

# data[].attributes.headline
Ventajas y Desventajas de Usar una Base de Datos

# data[].attributes.subject
Ventajas y Desventajas de Usar una Base de Datos

# data[].attributes.body
Ventajas de una base de datos

Centralizan la información en un solo lugar.

Ofrecen seguridad para proteger la información.

Automatizan tareas repetitivas

Permiten a los usuarios acceder a la información y recuperar datos de forma rápida y eficiente.

Desventajas de una base de datos

Pueden ser costosas de implementar y de mantener.

A pesar de las medidas de seguridad, siguen siendo susceptibles a ataques cibernéticos.

Un error en el sistema puede provocar la pérdida o inaccesibilidad de datos de vital importancia.

# data[].attributes.body
En las bases de datos relacionales la información se organiza de forma estructurada en tablas; en las no relacionales no es así.

Una base de datos no relacional no usa el lenguaje SQL como lenguaje principal para sus consultas.

Las bases de datos no relacionales se emplean sobre todo para almacenar datos no estructurados o semiestructurados.

Una base de datos relacional no cumple con las propiedades ACID con la misma eficacia que una base de datos relacional

La escalabilidad es mayor en una base de datos no relacional, y también están preparadas para soportar mayor volumen de datos.

Las bases de datos no relacionales o NoSQL también ofrecen una mayor flexibilidad y escalabilidad horizontal.

A diferencia de las relacionales, las bases de datos no relacionales todavía no disponen de un lebguaje estandarizado (SQL).

El soporte de la comunidad es mejor en el caso de las bases no relacionales.

# data[].attributes.body
Usos de las bases de datos no relacionales

Las bases de datos NoSQL se utilizan de forma generalizada en aplicaciones web en tiempo real y big data, ya que sus principales ventajas son los elevados niveles de escalabilidad y disponibilidad.

Las bases de datos NoSQL son ideales para almacenar y gestionar datos de aplicaciones web y móviles, donde la escalabilidad y el rendimiento son importantes

Son utilizadas en aplicaciones de IoT (Internet of Things) para gestionar grandes volúmenes de datos generados por dispositivos conectados

# data[].attributes.body
Big Data

El Big Data esta conformado por conjuntos de datos de mayor tamaño y complejidad.

Las "tres V" del Big Data

-          Volumen: Se procesan grandes volúmenes de datos no estructurados

-          Velocidad: Es el ritmo al que se generan, reciben y procesan los datos

-          Variedad: Hace referencia a los diversos tipos de datos disponibles

EL Big Data puede utilizar en diversar áreas

-          Desarrollo de productos: Empresas como Netflix y P&G utilizan Big Data para predecir la demanda, construir modelos predictivos y lanzar productos con éxito.

-          Mantenimiento predictivo: Analiza datos para prever fallos mecánicos, optimizando el mantenimiento y el rendimiento de equipos.

-          Experiencia del cliente: Permite mejorar la interacción y personalizar ofertas, reduciendo el abandono de clientes.

-          Fraude y conformidad: Identifica patrones de fraude y agiliza la generación de informes regulatorios.

-          Aprendizaje automático: Big Data facilita el aprendizaje automático al permitir que las máquinas desarrollen modelos predictivos.

-          Eficiencia operativa: Mejora la producción, reduce faltantes de stock y optimiza decisiones basadas en la demanda.

-          Innovación: Ayuda a identificar nuevas oportunidades y a mejorar productos, servicios y estrategias comerciales.

# data[].attributes.attachment_caption
Hay muchos tipos de bases de datos, cada una diseñada para satisfacer necesidades específicas y cada una con sus propias fortalezas y debilidades. 

# data[].attributes.body
Bases de datos relacionales:

Las bases de datos relacionales almacenan datos estructurados en tablas relacionadas por claves, ofreciendo escalabilidad y flexibilidad, ideales para aplicaciones con transacciones en tiempo real, como inventarios y ventas.

Bases de datos NoSQL:

Las bases de datos NoSQL son alternativas a las relacionales que usan estructuras como documentos y gráficos en lugar de tablas. Son escalables y eficientes para manejar grandes volúmenes de datos no estructurados, como en redes sociales o IoT.

Bases de datos de objetos

Las bases de datos de objetos, tipo NoSQL, almacenan datos como objetos y se integran con lenguajes como Java y Python. Son ideales para aplicaciones que manejan objetos complejos y jerárquicos, como el modelado 3D.

Bases de datos de grafos

Las bases de datos de grafos gestionan relaciones complejas usando nodos y relaciones, siendo ideales para análisis avanzado y búsqueda de patrones en redes sociales y de transporte.

Bases de datos en memoria

Las bases de datos en memoria almacenan datos en la memoria, permitiendo un acceso rápido. Son ideales para aplicaciones que necesitan respuestas instantáneas, como juegos en línea y trading de alta frecuencia.

# data[].attributes.headline
Importancia Base de Datos no Relacional  

# data[].attributes.subject
Importancia Base de Datos no Relacional  

# data[].attributes.body
Las bases de datos no relacionales (NoSQL) son las que no tienen un identificador que sirva de relación entre un conjunto de datos y otros. La información se organiza normalmente mediante documentos y es muy útil cuando no tenemos un esquema exacto de lo que se va a almacenar.

Admiten varios modelos de datos, como documentos, gráficos, imágenes, vídeos.

Algunas de sus características es la estabilidad, alta disponibilidad y  la tolerancia a fallos.

# data[].attributes.body
Las bases de datos relacionales se basan en la organización de información en tablas con filas a los que llamaremos registros y las columnas que son sus atributos. Las bases de datos relacionales cumplen con el concepto de transacciones ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad), lo que garantiza la fiabilidad y la integridad de las operaciones realizadas en la base de datos.

Usos de las Bases de Datos Relacionales

Las bases de datos relacionales se usan en aplicaciones empresariales para almacenar datos como registros de clientes, pedidos, inventario, etc.

En sistemas de gestión de contenidos.

En el sector financiero para gestionar datos, transacciones, cuentas.

# data[].attributes.body
Definiciones de base de Datos

Conjunto estructurado de datos:

Una base de datos es un conjunto organizado de datos que permite almacenar, manipular y recuperar información de manera eficiente. Los datos se organizan en tablas (en bases de datos relacionales) o en colecciones flexibles (en bases de datos no relacionales), facilitando su gestión y acceso rápido.

Sistema de almacenamiento y gestión de información:

Una base de datos es un sistema que almacena grandes volúmenes de información de forma eficiente, asegurando su disponibilidad para consultas y actualizaciones. Permite el acceso simultáneo de múltiples usuarios, garantizando la integridad y consistencia de los datos.

Herramienta para la organización de datos interrelacionados:

Una base de datos organiza datos para establecer relaciones, como en las relacionales, donde las tablas se conectan mediante claves. Esto permite realizar análisis complejos y generar informes útiles para la toma de decisiones.

# data[].attributes.body
Canal de YouTube de Udearroba (2020, 19 de agosto). Conceptos Básicos de Bases de Datos [Video]. YouTube. https://youtu.be/K5ypIIAe5PE?si=AMsLrrTJ6jwHFn-r

Larque Javier (2023, 26 de mayo). Tipos de Base de Datos [Entrada de blog]. Hiberus Blog. https://www.hiberus.com/crecemos-contigo/tipos-de-bases-de-datos-cuales-hay-y-por-que-es-importante-elegirlos-bien/

GoDaddy (2024, 13 de marzo). Ventajas y Desventajas de Usar una Base de Datos [Entrada de blog]. Hiberus Blog. https://www.godaddy.com/resources/latam/digitalizacion/bases-de-datos-ventajas-desventajas

SAP (2023, 9 de noviembre). Modelo de Datos [Entrada de blog]. SAP. https://www.sap.com/latinamerica/products/technology-platform/datasphere/what-is-data-modeling.html

Canal de YouTube de Aprende más ti (2018, 20 de octubre). Qué es la Abstracción en Bases de Datos [Video]. YouTube. https://youtu.be/QBhZebueWj0?si=p7wo8wUj3pcaD0_2

Maeve. (s.f.). Sistemas gestores de bases de datos [Presentación de diapositivas]. SlideServe. https://www.slideserve.com/maeve/sistemas-gestores-de-bases-de-datos

Unimex Solution. (2014). ¿Qué es un sistema gestor de bases de datos (SGBD)? [Entrada de blog]. Unimex Solution. https://unimexsolution.blogspot.com/2016/10/que-es-un-sistema-gestor-de-bases-de.html

Programadores Restfull. (2020, 28 de octubre). Los gestores de bases de datos más utilizados [Entrada de blog]. Programadores Restfull. https://programadoresrestfull.blogspot.com/2020/10/los-gestores-de-bases-de-datos-mas.html

García-Molina, H., Ullman, J. D., & Widom, J. (2009). Database Systems: The Complete Book (2nd ed.). Pearson.

Silberschatz, A., Korth, H. F., & Sudarshan, S. (2010). Database System Concepts (6th ed.). McGraw-Hill.

Elmasri, R., & Navathe, S. B. (2016). Fundamentals of Database Systems (7th ed.). Pearson.

Fundamentos de bases de datos: Qué es un DBMS? (youtube.com)

Canal de YouTube de Gary Gael Ruiz Garcia (2022, 15 de marzo). Personas que interactúan con la base de datos [Video]. YouTube. https://youtu.be/RNtLuW87ccE?si=0TORDa5D9Ff4MJHt

https://www.oracle.com/cloud/why-move-to-cloud/

https://phoenixnap.com/kb/cloud-database

https://ericvanier.com/the-future-of-databases-predictions-for-2023-and-beyond/

Rendón, Y. A. (s/f). Bases de datos relacionales vs. no relacionales. Com.co. Recuperado el 27 de septiembre de 2024, de https://www.pragma.com.co/academia/lecciones/bases-de-datos-relacionales-vs.-no-relacionales

Tiao, S. (2024, marzo 11). ¿Qué es el big data? Oracle.com; Oracle. https://www.oracle.com/mx/big-data/what-is-big-data/

# data[].attributes.attachment_caption
Existen numerosos proveedores de SGBD, cada uno con sus propias características y ventajas. Algunos de los más populares son:

# data[].attributes.body
Oracle Database: SGBD relacional robusto y escalable, ampliamente utilizado en entornos empresariales.

MySQL: SGBD relacional de código abierto, popular por su facilidad de uso y rendimiento en aplicaciones web.

PostgreSQL: SGBD relacional de código abierto, conocido por su extensibilidad y soporte avanzado de características SQL.

Microsoft SQL Server: SGBD relacional de Microsoft, integrado con el ecosistema de productos de la compañía.

MongoDB: SGBD NoSQL orientado a documentos, ideal para aplicaciones que requieren flexibilidad y escalabilidad horizontal.

# data[].attributes.attachment_caption
Un SGBD típico se compone de varios componentes que trabajan juntos para gestionar los datos:

# data[].attributes.body
Motor de Almacenamiento: Gestiona el almacenamiento físico de los datos, incluyendo la lectura y escritura en disco, la gestión de índices, etc.

Procesador de Consultas: Interpreta las consultas de los usuarios (en SQL u otro lenguaje) y las traduce en operaciones a nivel físico.

Optimizador de Consultas: Analiza las consultas y determina la forma más eficiente de ejecutarlas, considerando factores como índices, estadísticas de datos, etc.

Gestor de Transacciones: Garantiza la consistencia de los datos ante fallos o operaciones concurrentes, mediante mecanismos como el control de concurrencia y la recuperación ante fallos.

Gestor de Seguridad: Controla el acceso a los datos, asegurando que solo los usuarios autorizados puedan ver o modificar la información.

Interfaces de Usuario: Proporcionan herramientas para que los usuarios interactúen con la base de datos, como clientes de línea de comandos, interfaces gráficas, APIs, etc.

# data[].attributes.attachment_caption
Los SGBD utilizan una arquitectura de tres niveles para separar las preocupaciones y facilitar la gestión de los datos:

# data[].attributes.body
Nivel Físico (Interno):

Se encarga del almacenamiento físico de los datos en dispositivos como discos duros o unidades de estado sólido.

Define cómo se organizan los datos en bloques, índices, archivos, etc.

Es el nivel más cercano al hardware y el menos visible para los usuarios.

Nivel Lógico (Conceptual):

Describe la estructura lógica de la base de datos, incluyendo tablas, relaciones, restricciones de integridad, etc.

Es independiente del almacenamiento físico y se representa mediante un esquema conceptual.

Permite a los usuarios interactuar con los datos de forma abstracta, sin preocuparse por cómo se almacenan físicamente.

Nivel de Vistas (Externo):

Define cómo los usuarios ven e interactúan con los datos.

Cada vista es una porción de la base de datos adaptada a las necesidades específicas de un usuario o aplicación.

Proporciona seguridad al ocultar datos sensibles y simplificar el acceso a la información relevante.

# data[].attributes.headline
Explorando la Arquitectura de los Sistemas Gestores de Base de Datos

# data[].attributes.subject
Explorando la Arquitectura de los Sistemas Gestores de Base de Datos

# data[].attributes.body
Un Sistema Gestor de Base de Datos (SGBD) es un software complejo que permite crear, gestionar y acceder a bases de datos de manera eficiente y segura. Su arquitectura se basa en niveles de abstracción que ocultan la complejidad del almacenamiento físico de los datos y facilitan su manipulación a los usuarios.