Base de Datos y DBMS Significado, Modelos y Sistemas

  • Por Luis Jiménez (Ingeniero en Informática)
  • Oct, 2020
  • ¿Qué es una base de datos y a qué responde el DBMS?

    Es un sistema capaz de procesar un considerable volumen de datos para su correspondiente gestión de modo dinámico, y ante la necesidad de trabajar con varias Bases de Datos, surge el modelo DBMS, cuyas iniciales responden al inglés Data Base Management System, adaptándose al español como SGBD, por Sistema de Gestión de Bases de Datos, observando soluciones que presentan diferencias entre sí, como por ejemplo SQL Server, MySQL o DB2, tanto de diseño como de Concepto, al respecto de la forma mediante la cual se gestionan las informaciones, y funcionando sobre un Compilador específico, determinando los factores que contribuyen a definir su estructura.

    Por su parte, un aspecto fundamental es el llamado Sistema de Cacheo o Caché. Puesto que la memoria Caché es la encargada de disminuir el tiempo de respuesta, para cargar el contenido de las consultas hechas sobre los datos guardados. Además, se debe tomar en cuenta el uso de Índices, como también las acciones de optimización, ya que también contribuyen de manera sustancial a mejorar la velocidad de ejecución de las operaciones.

    Tipos de Bases de Datos

    Según el formato de información almacenada existen varios tipos de Bases de Datos, entre las cuales tenemos:

    De acuerdo a la variación de los datos almacenados:

    _Bases de Datos Estáticas: Almacenan información de tipo histórica, es decir información que no va ser modificada a través del tiempo, información cuya finalidad es solo de lectura y consulta. Esta información normalmente se usa para realizar comparaciones en el tiempo y en procesos cuya finalidad es tomar decisiones empresariales.

    _Bases de Datos Dinámicas: Los datos almacenados son editables o actualizados con el paso del tiempo. Es información que puede ser eliminada, actualizada o depurada. Por ejemplo Listas de existencia y precio, las cuales son actualizadas de manera regular.

    De acuerdo al Modelo de Base de Datos:

    _ Bases de Datos Jerárquicas: La información almacenada sigue una especie de orden de prioridad o importancia establecida. Por ejemplo la figura de un organigrama de gobierno, donde se muestran de arriba hacia abajo El Presidente luego los ministros, luego los subordinados de cada ministro y así sucesivamente.

    _Bases de Datos en Red: La información almacenada es un grupo de registros, comunicados entre ellos mediante enlaces de una red. Este modelo permite un tipo de relación de datos de muchos a muchos, es decir; varios datos pueden estar conectados o relacionados con varios datos a la vez.

    _Bases de Datos Relacionales: La filosofía en este caso pretende establecer relaciones entre los datos almacenados. La información se almacena en registros, los cuales luego son almacenados en espacios de memoria o tablas. De esta manera se puede tener acceso de manera sencilla a la información almacenada, además de poder almacenar los datos de maneras diferentes sin tener que reestructurar o reorganizar las tablas. Para diseñar y programar este tipo de Base de Datos se usa el sistema manejador de Base de Datos SQL (Structured Query Languaje).

    _Bases de Datos Multidimensionales: Son creadas principalmente usando la información de Bases de Datos Relacionales. La particularidad de este tipo de B.deD. es que los atributos de los datos almacenados pueden ser de dos tipos a la vez. Se usan principalmente para fines de Data Warehouse además de aplicaciones para procesamiento analítico en línea conocido como OLAP. Frecuentemente es usado para aplicaciones del comercio electrónico.

    _Bases de Datos Orientadas a Objetos: Esta clase de B.de D. se pueden considerar como las más modernas hoy en día. La información es representada como si fuera un objeto. Esta característica propia, se obtiene ya que estas son diseñadas y programadas con Sistemas o Lenguajes orientados a Objetos, tal como Java, Lenguaje C++ o Visual Basic.

    Los 5 sistemas principales: Oracle, SQL Server, MySQL, PostgreSQL, DB2

    _Oracle:

    Es una plataforma que usa un modelo de tipo Relacional, y al respecto del diseñar y desarrollo, utiliza un lenguaje de programación de 5ta generación llamado PL/SQL. También suele usarse SQL en algunos diseños de formularios. El objetivo principal del DBMS Oracle es poder almacenar y recuperar información de tipo relacionada. Es una herramienta comercial, lo que implica que hay que pagar para tenerla, es usada por empresas de gran envergadura, multinacionales.

    _SQL Server:

    Microsoft SQL Server ( Estructured Query Languaje ó Lenguaje de Consulta Estructurada), es un manejador de Bases de Datos relacionales diseñado por Microsoft. Es una herramienta que brinda una plataforma gratuita, la cual es suficiente para el diseño de aplicaciones en pequeñas y medianas empresas. Tiene como característica importante la optimización de tiempos de respuesta en comparación con otras herramientas como Acces.

    _MySQL:

    Es un sistema de tipo relacional con código abierto. Es de tipo multiplataforma o dual, ya que se puede usar en Sistemas Operativos tales como Windows, Linux o Mac. Es un manejador de base de datos gratuito, el cual es muy parecido a SQL Server. Es una herramienta fácil de instalar y configurar.

    _PostgreSQL:

    Es un manejador de base de datos de filosofía dual, ya que puede contener bases de datos relacionales y orientadas a objetos. Es desarrollado bajo código abierto. Se usa en aplicaciones de Data Warehouse, permite emplear sentencias y comandos de SQL, es de uso gratuito.

    _DB2:

    Es una plataforma que comprende varios productos, diseñado por IBM, el cual puede ser usado en diferentes sistemas operativos. Tiene una capacidad híbrida ya que trabaja con bases de datos relacionales y orientadas a objeto.

    Función de sistemas de caché, índices, y optimización general

    Los sistemas de Cacheo o Caché tienen gran importancia, ya que si se cuenta con un buen sistema de caché, contribuye a aumentar el rendimiento de la velocidad de consulta de información, disminuyendo en gran manera el tiempo de carga de las páginas e información consultada.

    El sistema de memoria caché está basado por supuesto en la capacidad de rendimiento de la memoria caché del procesador, cuya función principal es proveer mayor velocidad al proceso de lectura y escritura de datos, para permitir de esta manera una mayor velocidad en el performance de las aplicaciones.

    Otro aspecto importante es el diseño y uso de Índices, visto como una herramienta diseñada sobre una o varias columnas en una tabla de la base de datos, esto permite poder ubicar de forma rápida la información almacenada en las filas de cada tabla de la base de datos.

    El objetivo de esta estructura de datos, es permitir un mayor rendimiento y performance al momento de ejecutar consultas en las bases de datos.

    Los índices contribuyen de acuerdo a su diseño y programación, a facilitar la búsqueda y ubicación de información minimizando a su vez la cantidad de operaciones de Entrada/Salida en disco, además de reducir el uso de recursos de los sistemas.

    Otro proceso que contribuye a mejorar el uso y performance de las bases de datos, es la Optimización de dichas bases de datos y los datos almacenados en ellas. Así, se pretende depurar o modificar su diseño o contenido, para mejorar los tiempos de respuesta al momento de consultarlas.

    Algunas acciones que se deben verificar al momento de ejecutar un proceso de Optimización son:

    • Verificar que el diseño de la base de datos cumpla con los requerimientos necesarios, para los cuales fue diseñada.

    • Asegurarse de que las tablas estén particionadas.

    • En la medida de lo posible usar campos cortos, ya que son más rápidos.

    • Uso correcto y coherente de Índices.

    • Evitar el uso de campos NULL

    • Usar en lo posible campos con tamaños estáticos.

    ¿Por qué ocurren los hackeos a las bases de datos? ¿Error técnico o humano?

    Los delitos Cibernéticos se han llevado a cabo desde hace más de 30 años, generando pérdidas millonarias a la mayoría de las organizaciones víctimas de estos delitos.

    Algunos factores que contribuyen a este tipo de delito son:

    • Software vulnerable o deficiente a nivel de protocolos de seguridad.

    • Configuraciones equivocadas o erradas relacionadas con Firewall, servidores y Controles de Acceso.

    • Hábitos de Seguridad Incorrectos de los empleados, esto ocasiona que los hackers puedan entrar con facilidad a los sistemas y bases de datos empresariales, desde ubicaciones externas.

    • Celulares y otros Dispositivos móviles de uso personal en Empresas y Corporaciones

    Según la Revista española Byte, en un artículo de Mayo 2020, los errores humanos son los causantes de aproximadamente el 52% de los delitos de ciberseguridad a nivel de redes empresariales en el mundo.