# data[].attributes.attachment_link.readable_text
El manejo y la consulta de una base de datos se ha convertido en una herramienta esencial para el desarrollo y el progreso de cualquier empresa o compañía en la época actual. Resultaría casi imposible evaluar pérdidas o ganancias financieras, de igual modo que sería muy complicado mantener una óptima relación de clientes o consultar la cantidad de mercancía disponible en un almacén. Por eso, usted debe conocer todo lo relacionado con la gestión de base de datos por ser absolutamente necesario.

Qué es un sistema de gestión de base de datos

La gestión de base de datos es una labor ya antigua pero que se ha vuelto imprescindible debido a la gran cantidad de información y datos que se maneja hoy en día. La adopción del concepto de base de datos se dio con los primeros sistemas electrónicos computacionales.

Ahora bien, un gestor de base de datos o sistema de gestión de base de datos (SGBD) hace referencia al software que manipula esta base de datos y es la interfaz de acceso de parte del usuario para poder trabajar con esta información en diferentes niveles: consulta, análisis, almacenamiento y modificación.

Para que un SGBD pueda operar adecuadamente es necesario que los datos almacenados tengan un hilo conductor de relación, estructura y organización para crear ecosistemas que faciliten el acceso y la gestión. Esto último es de gran importancia para permitir la óptima operación, independientemente tanto del software como de los datos.

También debe entenderse que el gestor de datos o SGBD será el mecanismo que brindará las herramientas adecuadas para controlar la base de datos por parte del usuario (herramientas como generación de informes o sistemas de búsqueda). Incluso sistemas más acabados permiten tener perspectivas de aplicación o definición de la información obtenida. Por tanto, los datos siempre se mantienen seguros, íntegros y consistentes (sin ningún tipo de modificación).

Cuántos tipos de base de datos existen

Los tipos de SGBD existentes se agrupan de acuerdo con la relación de criterios del modelo de los datos. En relación con si se es propietario o no y dependiendo de la cantidad de usuario o sitios, así los tipos de bases de datos son:

Relacionales. Modelo más empleado por empresas en el que, como el nombre indica, los datos mantienen cierta relación.

Jerárquico. Un modelo con una estructura de estilo de árbol. Sin embargo, este tipo no ofrece flexibilidad y hay redundancia de datos, aunque gestiona gran cantidad de datos.

De red. Modelo similar al jerárquico, pero su diferenciación se debe a una mayor complejidad. Así, los registros pueden mantener relación por distintas vías.

Multidimensionales. Este es un tipo similar al relacional, pero en lugar de mantener una relación bidimensional, entre columna y fila, se presenta un número indeterminado de columnas y filas para presentar una indeterminada cantidad de dimensiones y relaciones.

De objetos. Un modelo más reciente cuyo principal objetivo es intentar almacenar en la base de datos objetos completos, integrando además conceptos del paradigma. Así, este tipo puede almacenar voz, texto, imágenes y hasta gráficos.

Transaccionales. Modelo cuya principal finalidad es el correcto y rápido traslado de datos para envió y recepción. Y un claro ejemplo son las transacciones bancarias.

Documentales. Un modelo específico para indexación completa de texto cuyo objetivo es almacenar grandes cantidades de información (como acervos históricos).

Deductivas. Modelo que se diferencia del resto al obtener deducciones a partir de ciertas inferencias y cuya función depende de algunas reglas y hechos que se almacenan en la base de datos.

Programas de base de datos

Los SGBD se presentan en distintos softwares que se adaptan a las condiciones y necesidades de cada proyecto y usuario. Estos programas de base de datos deben clasificarse en dos tipos: SQL (para bases de datos relacionales) y NoSQL (para las demás).

Así, con esta clasificación podemos listar los siguientes programas de base de datos como ejemplos SQL:

MySQL. Ofrece la capacidad de tener múltiples hilos y usuarios. Este es el sistema de base de datos más utilizado y sus principales cualidades son la sencillez de uso y su gran rendimiento, aunque no puede manejar gran volumen de datos.

MariaDB. Sistema que se presenta como derivación del MySQL, por lo cual extiende las limitaciones del sistema MySQL.

SQLite. Este, aunque se presenta como sistema, más bien es una biblioteca y su particularidad es la facilidad de transacción.

PostgreSQL. Sistema orientado al uso de objetos. Sin embargo, debido a que ha sido pensado para gran cantidad de datos, se muestra lento ante una base pequeña.

Por tanto, algunos ejemplos de sistemas NoSQL son: MongoDB (empleado por empresas como Adobe, Google, Cisco, Facebook o eBay), Redis, Casandra (utilizado por Twitter, Netflix, Facebook, Spotify e Instagram), Azure Cosmo DB, ObjectDB y RavenDB (solo por mencionar algunos).

Pero no olvide que para el uso y manejo de estos sistemas de gestión de datos se requiere la debida formación. Por eso, desde aquí le animamos a contactar con nosotros para ponerse al día en esta delicada materia de la gestión de una base de datos.

# data[].attributes.attachment_link.title
Qué es la gestión de base de datos | Universidad UNADE

# data[].attributes.attachment_link.description
El manejo y la consulta de una base de datos se ha convertido en una herramienta esencial para el desarrollo y el progreso de cualquier empresa o compañía en la época actual. Resultaría casi imposible evaluar pérdidas o ganancias financieras, de igual modo que sería muy complicado mantener una óptima relación de clientes o consultar la cantidad de mercancía disponible en un almacén.

# data[].attributes.attachment_link.readable_text
¿Quieres saber qué es un sistema gestor de bases de datos? ¿Cuáles son las funciones y componentes de los sistemas gestores de bases de datos? ¿Qué tipos de sistemas gestores existen? Pues adelante, sigue leyendo que te voy a contar todo en detalle.

Esto es todo lo que vas a encontrar en este artículo:

¿Qué es un sistema gestor de bases de datos?

Un sistema gestor de bases de datos o SGBD es una aplicación que permite a los usuarios definir, crear y mantener la base de datos y proporciona acceso controlado a la misma.

Básicamente, podríamos decir que actúa como interfaz entre el usuario y las bases de datos.

Fíjate en el siguiente esquema. La base de datos es el centro de todo y no interactua de forma directa ni con las aplicaciones ni con los usuarios finales.

Imagina una situación real, por ejemplo una tienda online. En ese escenario los usuarios interactuan de forma directa con la web que, en este caso, sería la aplicación. Los productos de la tienda están almacenados en la base de datos, por tanto la aplicación necesita acceder a ellos, pero no lo hace de forma directa, es el SGBD el encargado de realizar esta tarea. Actúa como capa intermedia entre la base de datos y la aplicación.

Existen otros escenarios en los que los usuarios también interactuan de forma directa con el SGBD, por ejemplo el administrador de la base de datos.

Niveles de abstracción

Los sistemas gestores cumplen con el estándar de 3 niveles de abstracción (externo, lógico y físico) establecidos por el ANSI-SPARC:

El nivel físico es el más interno. En este nivel se describe la estructura física de la base de datos: ficheros, directorios, discos, etc.

En el nivel lógico se describe la estructura de la base de datos de una forma conceptual centrándose en componentes como las tablas, atributos, restricciones, etc.

Por último, el nivel externo es el que está en contacto directo con los usuarios y las aplicaciones. Describe como son los esquemas externos o vistas correspondientes a cada grupo de usuarios.

La arquitectura en tres niveles garantiza la independencia física y lógica de los datos de forma que si se modifica el esquema en uno de los 3 niveles no afectará a los otros dos.

Objetivos

Todos los sistemas gestores tienen los mismos objetivos:

Agrupar los tres niveles de abstracción: físico, lógico y externo.

Permitir la independencia física y lógica de los datos.

Garantizar la consistencia de los datos.

Ofrecer seguridad de acceso.

Gestión de transacciones: conjunto de operaciones relacionadas tratadas como una sola.

Permitir la concurrencia de usuarios garantizando la integridad de datos.

Funciones del sistema gestor de bases de datos (SGBD)

A pesar de la gran variedad de sistemas gestores que existen en el mercado, podemos identificar una serie de funciones comunes a todos ellos:

Recuperar y modificar los datos almacenados en los ficheros internos de la base de datos de forma trasparente para el usuario.

Proporcionar un catálogo o diccionario de datos

Garantizar la integridad de los datos

Gestionar los accesos concurrentes

Recuperación de datos

Estas funciones deben garantizar que se cumplen los objetivos indicados en el apartado anterior.

Proporcionar un catálogo o diccionario de datos

El diccionario de datos almacena las descripciones de los datos (metadatos) y debe estar disponible para los usuarios.

En la siguiente sección te explico qué es un diccionario de datos con más detalle.

Garantizar la integridad de los datos

Una de las funciones que permiten al sistema gestor garantizar la integridad de los datos es la gestión de transacciones.

El sistema gestor debe disponer de un mecanismo que garantice que todas las operaciones de una transacción se realicen o que, en caso de fallo, no se realice ninguna.

Imagina este escenario: Tenemos una base de datos con viviendas y clientes. Supongamos que un cliente compra una vivienda. La transacción completa implica que el cliente pasa a ser propietario de la vivienda (esa sería una operación) y por otro lado, la vivienda deja de estar disponible para la venta (esa sería otra operación). Supongamos que la primera operación se realiza, pero algo falla y la segunda no. El usuario quedaría registrado como propietario de la vivienda, pero esta seguiría estando disponible para que otro usuario la pueda comprar.

Si falla una operación de una transacción y el resto se realizan, la base de datos queda en un estado inconsistente. Hay que deshacer todas las operaciones que sí se han efectuado.

Otra de las funciones que permite al sistema gestor garantizar la integridad de los datos es cumplir las restricciones. Garantizar que los datos almacenados y los cambios que se realizan sobre los mismos cumplen con ciertas reglas (Ej: un equipo no puede tener más de 20 jugadores).

Gestionar los accesos concurrentes

Los accesos concurrentes a la base de datos son muy comunes. Es posible que muchos usuarios intenten realizar operaciones de forma simultanea.

Si se trata de operaciones de lectura no debería suponer un problema, pero cuando se trata de operaciones de escritura pueden surgir conflictos. Es indispensable gestionar estas situaciones para garantizar la consistencia de los datos.

Recuperación de datos

Deben existir mecanismos que permitan recuperar la base de datos en caso de que ocurra algún suceso imprevisto: un fallo hardware o software, transacciones abortadas por el usuario, pérdida de datos, etc.

Si se diese alguna de estas situaciones, un sistema de backup podrá devolver la base de datos a un estado previo estable y consistente .

Componentes de un sistema gestor de bases de datos

Los componentes que conforman el SGBD son los encargados de realizar las funciones indicados en el apartado anterior.

Lenguajes de datos

Diccionario de datos

Objetos

Herramientas de administración

Optimizador de consultas

Gestor de transacciones

Planificador (scheduler)

Copias de seguridad

Lenguajes de datos

Todo sistema gestor debe disponer de lenguajes para la manipulación de datos, tanto a nivel de acceso y modificación, como a nivel de control y seguridad.

Hay tres tipos de lenguaje según su funcionalidad: Lenguaje de definición de datos, lenguaje de control de datos y lenguaje de manipulación de datos.

DDL (Lenguaje de definición de datos): Permite crear, eliminar y modificar las estructuras de la base de datos (tablas, índices, relaciones y restricciones)

DCL (Lenguaje de control de datos): Permite especificar los permisos sobre los objetos de la base de datos así como la creación y eliminación de usuarios.

DML (Lenguaje de manipulación de datos): Permite la inserción, actualización, eliminación y consulta de los datos en las tablas.

El lenguaje SQL engloba los tres lenguajes. Te hablaré de él más adelante en otro artículo.

Diccionario de datos

El diccionario de datos está compuesto por un conjunto de esquemas que describen el contenido del SGBD, incluyendo los distintos objetos y sus propiedades:

Nombre, tipo y tamaño

Relaciones entre datos

Restricciones de integridad

Usuarios autorizados

Estadísticas de utilización

Como ya mencioné anteriormente el diccionario de datos es accesible por los usuarios.

Objetos

Todos los sistemas gestores disponen de una serie de objetos que permiten la definición y manipulación de los datos:

Tablas base y vistas

Consultas

Dominios y tipos definidos de datos

Restricciones de tabla y dominio y aserciones

Funciones y procedimientos almacenados

Disparadores (triggers)

Herramientas de administración

Todo sistema gestor dispone de un conjunto de herramientas (algunas integradas y otras de terceros) que permiten cubrir diferentes tareas:

Seguridad

Integridad

Control de concurrencia

Control de recuperación

Gestión de diccionario de datos

Programación de aplicaciones

Importación y exportación de datos

Distribución de datos

Replicación

Sincronización

Optimizador de consultas

El lenguaje de manipulación de datos (DML) es el que nos permite realizar operaciones sobre los datos almacenados en la base de datos. A este tipo de operaciones se las conoce como consultas.

El optimizador de consultas es el encargado de determinar la estrategia más óptima para la ejecución de dichas consultas.

Gestor de transacciones

Como ya mencioné en la sección anterior, a un conjunto de operaciones relacionadas que se ejecutan como una unidad se le conoce con el nombre de transacción. O se ejecutan todas las operaciones o no se ejecuta ninguna.

Vimos que es imprescindible gestionar las transacciones de forma correcta para garantizar la integridad de los datos. Pues de eso se encarga el gestor de transacciones.

Planificador (scheduler)

Imagina que tienes una tienda online y quieres que todos los días a las 00:00 se calcule el importe total de todos los productos vendidos durante el día. ¿Harías esta tarea a mano cada día?

El SGBD dispone de una herramienta que permite programar y automatizar la ejecución de ciertas tareas. Simplemente hay que especificar qué queremos hacer y cuando y el planificador se encarga de ejecutarlo.

Copias de seguridad

Gracias al sistema de backup se pueden realizar copias de seguridad periódicas para devolver la base de datos a un estado consistente en caso de fallo.

Usuarios de un sistema gestor de bases de datos

Administradores

Trabajan en el nivel físico relacionado con el almacenamiento.

Se puede distinguir entre administradores del sistema y administradores de la base de datos.

Administradores del sistema: Instalación, configuración, control de acceso, seguridad, monitorización y optimización.

Administradores de la base de datos: Diseño físico, implementación y mantenimiento de la base de datos.

Diseñadores

Realizan el diseño lógico de la base de datos.

Identifican los datos, las relaciones entre ellos y las restricciones.

Debe tener conocimiento sobre los datos de la empresa y sus reglas de negocio.

El diseño lógico es independiente del SGBD, de los lenguajes de programación y de las aplicaciones.

Programadores

Implementan aplicaciones, rutinas almacenadas o disparadores que interactúan directamente con la base de datos y sirven de interfaz para los usuarios finales.

Usuarios finales

Interactúan en el nivel externo a través de vistas.

No tienen conocimiento sobre el funcionamiento ni sobre la organización interna de la base de datos.

Pueden no tener conocimientos sobre informática.

Tipos de sistemas gestores de bases de datos (SGBD)

Existen muchas formas de clasificar los sistemas gestores de bases de datos: en función del modelo lógico, por el número de usuarios, por los tipos de datos almacenados, etc.

En la siguiente tabla puedes consultar diferentes tipos de SGBD en función de un criterio de clasificación concreto:

Sistemas gestores de bases de datos comerciales y libres

Existen en el mercado gran variedad de SGBD tanto comerciales como libres.

A la hora de elegir entre comercial o libre debes tener en cuenta cuál se adapta mejor a las necesidades del proyecto y si dispones de personal cualificado.

Comerciales

El código de los mismos no está disponible libremente. Pertenecen a una empresa y hay que pagar por ellos, aunque suelen estar disponibles versiones express gratuitas con funcionalidades limitadas que permiten su evaluación.

Mucho más cerrados y rígidos.

Algunos ejemplos son Oracle o SQL Server.

Libres

Alternativa técnicamente viable y económicamente sostenible.

Libre no significa gratis. El código está disponible, pero algunas empresas ofrecen servicios de mantenimiento y soporte de pago.

Mucho más flexibles.

Existen comunidades de usuarios que generan grandes cantidades de documentación constantemente actualizada.

Algunos ejemplos son MySQL o PostgreSQL.

# data[].attributes.attachment_link.description
¿Quieres saber qué es un sistema gestor de bases de datos? ¿Cuáles son las funciones y componentes de los sistemas gestores de bases de datos? ¿Qué tipos de sistemas gestores existen? Pues adelante, sigue leyendo que te voy a contar todo en detalle.

# data[].attributes.attachment_link.title
Componentes de un sistema de gestión de base de datos

# data[].attributes.headline
¿Que es un sistema de gestión de base de datos.?

# data[].attributes.subject
¿Que es un sistema de gestión de base de datos.?

# data[].attributes.body
Un SGBD es un conjunto de programas que nos permiten gestionar bases de datos. Es decir, realiza las funciones de modificar, extraer y almacenar información de una base de datos, además de poseer herramientas con funciones de eliminar, modificar, analizar, etc… datos de estas.

# data[].attributes.attachment_link.title
Un sistema de gestión de base de datos consta de varios componentes, todos los cuales contribuyen al buen funcionamiento del software. (1)

# data[].attributes.attachment_link.title
Un sistema de gestión de base de datos consta de varios componentes, todos los cuales contribuyen al buen funcionamiento del software. (2)

# data[].attributes.attachment_link.title
Un sistema de gestión de base de datos consta de varios componentes, todos los cuales contribuyen al buen funcionamiento del software. (3)

# data[].attributes.attachment_link.title
Un sistema de gestión de base de datos consta de varios componentes, todos los cuales contribuyen al buen funcionamiento del software. (5)

# data[].attributes.attachment_link.title
Un sistema de gestión de base de datos consta de varios componentes, todos los cuales contribuyen al buen funcionamiento del software. (4)

# data[].attributes.attachment_link.title
Un sistema de gestión de base de datos consta de varios componentes, todos los cuales contribuyen al buen funcionamiento del software. (6)

# data[].attributes.body
Gracias al sistema de backup se pueden realizar copias de seguridad periódicas para devolver la base de datos a un estado consistente en caso de fallo.

# data[].attributes.attachment_link.title
Un sistema de gestión de base de datos consta de varios componentes, todos los cuales contribuyen al buen funcionamiento del software. (7)