Manejadores de base de datos (DBMS): Gestores de bases de datos (SGBD) relacionales

Manejadores de base de datos (DBMS): Gestores de bases de datos (SGBD) relacionales

by Juan Carlos García

15-En-2024

(3)

Suscribirme al canal:

Hola, bienvenido a EWebik, en este post te hablaré de los Manejadores de Bases de Datos más importantes, aprenderás, qué son y para qué sirven los diferentes Gestores de bases de datos que existen, quizá no veamos todos, pero, estoy seguro que esta introducción te será útil para cualquier tipo de sistema de gestión de base de datos relacionales que llegues a utilizar.

¡No te puedes perder las nuevas clases 🧐!

Base de datos

Base de datos

Curso gratuito de Bases de datos (DB): tipos, modelos y aplicaciones

Modelos de Base de Datos

Modelos de Base de Datos

Lista de los principales tipos y modelos de base de datos que existen

Modelo relacional

Modelo relacional

Modelo relacional: Base de datos relacional

Álgebra relacional

Álgebra relacional

Álgebra relacional: Fundamentos para la manipulación de datos

Normalización de base de datos

Normalización de base de datos

Normalización de base de datos: descripción y características de las 5 formas normales.

Modelo entidad relación

Modelo entidad relación

Modelo entidad relación: simbología y características del diagrama entidad relación.

SGBD

SGBD

Manejadores de base de datos (DBMS): Gestores de bases de datos (SGBD) relacionales

Servidor de Base de Datos

Servidor de Base de Datos

Servidores de Base de Datos: ¿Qué son? Tipos, características e instalación.

Backup y restaurar SQL Server

Backup y restaurar SQL Server

Backup SQL Server: ¿Cómo respaldar y restaurar una base de datos en SQL Server?

🧐 Autoevaluación: SGBD

¿Cuáles son los componentes de un manejador de base de datos?

¿Cuáles son los tipos de manejadores de base de datos?

¿Cuantas reglas de Codd existen?

¿Qué es un manejador de base de datos (DBMS)?

Un manejador de base de datos (DBMS) es un conjunto de programas, los cuales, tiene el objetivo de modificar, almacenar, eliminar y extraer la información que contenga una base de datos (DB).

Tu puedes acceder a la información de una base de datos (DB) utilizando herramientas de consulta, generadores de informes o por medio de aplicaciones especializadas.

Diferencia entre un manejador de base de datos y un gestor de base de datos

Realmente no existe una diferencia entre ambos términos, ya que, ambos conceptos significan los mismo, por ejemplo:

Las siglas DBMS provienen del término en inglés Database Management System, que si lo traducimos literalmente significa Sistema de Administración de Base de Datos.

Por lo tanto, en español es común que a un DBMS, lo llamemos:

  • Manejador de Base de Datos
  • O Sistema de gestión de Base de Datos (SGBD)

Por lo tanto, en este post usaremos ambos términos por igual.

Componentes principales de un manejador de base de datos

En esencia un SGBD cuenta con tres componentes principales:

Componentes principales de un manejador de base de datos

Datos (Data)

El manejador de base de datos es considerado el dueño de los datos, ya que es la única entidad capaz de manipularlos.

Motor de base de datos

Conjunto de programas que tienen la capacidad de acceder y manipular los datos.

Esquema de los datos (Metadata)

Es la representación de nuestro modelo lógico, el cual es prácticamente lo que hemos venido aplicando hasta este momento, y culmino con nuestro diagrama entidad relación. (Ver Diagramas entidad Relación).

Entonces, el manejador de base de datos, lleva a cabo:

  • La traducción de nuestro esquema a una representación física, donde serán almacenados los datos.
  • Y viceversa, traduce la representación física a nuestro modelo lógico, para que podamos comprender los datos almacenados.

¿Para qué sirve un gestor de base de datos?

Un manejador de base de datos tiene como función, ser un intermediario entre los componentes del DBMS y los usuarios y dispositivos que desean administrar los datos a través de un lenguaje común.

Funcionamiento de los manejadores de base de datos

Una de las características que se incluye hoy en día en los SGBD es la posibilidad de mantener la integridad de los datos, lo cual se obtiene controlando el acceso de los usuarios y creando respaldos de datos, por si llegase a dar el caso de que el sistema llega a corromperse.

En resumen, las funciones principales de un SGBD, serían:

  • Mantener la integridad de los datos.
  • Recuperación de los datos en caso de fallas gracias a la creación de respaldos.
  • Acceso concurrente de múltiples usuarios.
  • Control de acceso a los datos.

Además, estos sistemas pueden incluir herramientas que nos ayudan a optimizar la productividad, como:

  • Módulos gráficos.
  • Generadores de informes.
  • Y analizadores de datos.

Tipos de manejadores de base de datos

Bien, según la manera en que se estructuran los datos podemos encontrar algunos tipos de DBMS, por ejemplo:

  • Relacional.
  • Jerárquica.
  • De red.
  • Orientada a objetos.
  • Orientada a documentos.

Y para darle continuidad a este curso, nos centraremos en el tipo relacional.

Manejadores de bases de datos relacionales RDBMS

Ya conocemos los DBMS en su forma general, pero como en curso de base de datos (Ver Curso de Base de Datos), nos estamos centrando en las Bases de datos relacionales, tenemos que revisar aquellos gestores que nos permiten manipular los datos de una base relacional.

  • En un RDBMS, el lenguaje utilizado entre los usuarios y el gestor, es el lenguaje SQL, el cual veremos más adelante.
  • Y un RDBMS, debe cumplir con las 12 reglas de Codd.

Las 12 reglas de Codd que debe cumplir un RDBMS

Como vimos en capítulos anteriores, Edgar Frank Codd fue el creador del modelo relacional y, fue precisamente Codd, quien en la década de 1980 se da cuenta que ciertas bases de datos comerciales indicaban cumplir con el modelo relaciona.

Sin embargo, la información se guardaba en tablas que no necesariamente cumplían con el modelo relacional y las formas normales.

Ante este hecho, Codd publica 12 reglas (Aunque realmente son 13, ya que existe una regla cero), donde establece aquello que debe cumplir un sistema de administración de bases de datos relacionales.

No obstante, algunas reglas en la practica son difíciles de aplicar, lo que hoy en día indica que un RDBMS es más relacional en cuanto más reglas de Codd cumpla.

Las reglas son las siguiente:

️📌 Regla 0: regla de fundación

Indica que un RDBMS debe cumplir las siguientes reglas para poder ser considerado completamente relacional.

Ya que todo RDBMS debe ser capaz de administrar los datos de manera completamente relacionar, donde, los usuarios, tablas, índices, etc., deben estar almacenados dentro de la misma base de datos.

📌 Regla 1: regla de la información

Toda la información debe estar en tablas.

La regla 1 indica que en un RDBMS:

  1. Todo dato existente debe estar almacenado dentro de tablas.
  2. Dichas tablas deben cumplir con lo establecido por el modelo relacional.
  3. No podemos manipular los datos de otra manera.

📌 Regla 2: regla del acceso garantizado

No debe existir ambigüedad en los datos.

Un RDBMS debe garantizar que todos los datos de una DB deben ser accesibles de manera lógica e inequívoca, a través de:

  • Nombre de la tabla.
  • Valor de la llave primaria.
  • Nombre del atributo o columna.

📌 Regla 3: regla para el tratamiento de valores nulos

Soporte total de valores nulos.

Un RDBMS debe soportar en su totalidad el manejo de valores nulos, entiéndase como nulo, aquello que representa la información no disponible o inaplicable, por ejemplo, los valores distintos a:

  • Vacío
  • Blanco
  • Cero
  • O Cualquier otro dato numérico.

Aun cuando el RDBMS soporte valores nulos, es la experiencia de quien diseña y los requerimientos del sistema quien determina el utilizar o no este tipo de valores, en lo personal, evito la utilización de este tipo de datos.

📌 Regla 4: regla del diccionario dinámico en línea, basado en el modelo relacional

La metadata o esquema de datos debe ser representada como valores en tablas.

Un RDBMS debe contar con un catálogo en línea, el cual, representa la estructura misma de la base de datos.

Los usuarios con autorización podrán acceder a dicho catalogo a través del mismo lenguaje con el que se accede a los datos ordinarios.

En la mayoría de los gestores de base de datos a dicho catalogo se le conoce como esquema, y por lo regular:

  • En una tabla se almacena el nombre de las otras tablas.
  • Existe otra tabla con el nombre de los atributos.
  • Y otra para los índices.
  • Etc.

📌 Regla 5: regla comprensiva del sublenguaje de datos amplio

Debe haber al menos un lenguaje relacional.

Un RDBMS debe ser capaz de soportar al menos un lenguaje relacional, el cual debe contar con las siguientes características:

  • Una sintaxis bien definida y lineal: tal como las cadenas de caracteres.
  • Definición de datos: manejo de la metadata.
  • Definición de vistas.
  • Manipulación de datos: como vimos en la regla anterior, el mismo lenguaje que usamos para manipular la metadata, será el mismo para manipular los datos.
  • Integridad de los datos: el lenguaje debe garantizar la integridad de los datos, ya que es una premisa del RDBMS.
  • Control de acceso: el lenguaje debe establecer reglas para el controlar el acceso a los datos.
  • Manejo de transacciones: control de acceso concurrente.

📌 Regla 6: regla de actualización de vistas

Las vistas teóricamente actualizables, también pueden ser actualizadas por el sistema.

¿Qué es una vista en base de datos?

Bien lo primero que debemos comprender es el término vista, en una DB, una vista es el resultado de una operación, estas operaciones son similares a lo que vimos en el capítulo del álgebra relacional.

Dichas operaciones son conocidas también como consultas o querys, y son representadas a través de una tabla virtual, por ejemplo:

  • Una vista podría ser el resultado de la unión natural de dos tablas A y B.
  • Pero, también podría ser el resultado de la proyección de una tabla A.

Entonces, en un RDBMS existe la posibilidad de tener dos tipos de vistas:

  • Vista teóricamente actualizable.
  • Y vista teóricamente no actualizable.

Vista teóricamente actualizable

Supongamos que tenemos una tabla donde tenemos el pago de proveedores por solicitud:

Tabla original

No solicitudProveedorPagoMateriales
sol-1Proveedor 12000030
sol-1Proveedor 21050010
sol-2Proveedor 31100050
sol-2Proveedor 15000080
sol-3Proveedor 4100060
sol-3Proveedor 22500070
  • Nosotros podemos crear una vista, donde seleccionemos solo las solicitudes 1 y 2, y eliminemos la columna Materiales.

Vista

No solicitudProveedorPago
sol-1Proveedor 120000
sol-1Proveedor 210500
sol-2Proveedor 311000
sol-2Proveedor 150000
  • Ahora, si un usuario necesita actualizar el pago de una tupla, no habría problema, ya que el manejador de base de datos, a través de la combinación de No solicitud y Proveedor, puede identificar plenamente las tuplas en la tabla original.
  • A esto se le conoce como vista actualizable.

Vista teóricamente no actualizable

Ahora si lo que deseamos es exponer una vista con la totalización de los pagos por proveedor, tendríamos lo siguiente:

Vista

ProveedorPago
Proveedor 170000
Proveedor 235500
Proveedor 311000
Proveedor 41000
  • Ahora, si un usuario desea actualizar un dato, hay un problema, el manejador de base de datos no podría identificar la tupla original, ya que por ejemplo: Proveedor 1 y Proveedor 2 aparecen dos veces en la tabla original.
  • Cuando el gestor de base de datos no puede identificar las tuplas originales, se le conoce como vista no actualizable.

En resumen, si una vista es lógicamente actualizable, un gestor de base de datos debe permitirnos actualizarla, no obstante, algunos gestores caen en problemas en esta regla, ya que, a pesar de tener vistas actualizables el RDBMS manda error al realizar una modificación.

📌 Regla 7: regla de alto nivel de inserción, actualización y eliminación

Manipulación de datos en conjunto e individuales o registro por registro.

Un RDBMS debe permitir la inserción, actualización y eliminación de los datos tanto en un conjunto de registros como registro por registro, esto quiere decir que una tabla debe poderse manejar como un solo elemento, tanto en la consulta de datos como en la eliminación.

📌 Regla 8: regla de la independencia física de los datos

La organización física de los datos, no debe afectar a las aplicaciones externas.

En un RDBMS las aplicaciones externas no necesitan, ni deben, conocer la organización física de los datos, es por ello que, si la organización física de los datos cambia, las aplicaciones externas no deben verse afectadas.

📌 Regla 9: regla de la independencia lógica de los datos

Los cambios a nivel lógico, no modifican la estructura física de la base de datos.

En un RDBMS lograr una independencia lógica de los datos es mucho más difícil de conseguir que la independencia física, ya que, los cambios a nivel lógico como:

  • El cambio de nombres de tablas.
  • Cambio de nombre de columnas
  • O si modificamos los datos de una tupla.

Las aplicaciones externas no deben verse afectadas ni se requiere de un cambio en la estructura física de la DB.

📌 Regla 10: regla de la independencia de la integridad

Las reglas de integridad o restricciones, deben ser almacenadas en la base de datos.

Un RDBMS debe ser capaz de aplicar y almacenar las reglas que garantizan la integridad de los datos, dentro de la misma base de datos, esto quiere decir que, la integridad de nuestros datos no debe depender de aplicaciones externas.

Quizá algunos colegas difieran en esto, pero la integridad de los datos de una DB, debe ser responsabilidad, de quien diseña y administra la base de datos, y no, de los programadores o aplicaciones externas que tienen acceso a los datos.

📌 Regla 11: regla de la independencia de la distribución

No debe afectar a las aplicaciones externas y usuarios, si una base esta contenida en una sola localización o en varias localizaciones.

En un RDBMS, podemos dividir y separar una base de datos en varias pedazos, por ejemplo, podemos localizar cada porción en diferentes discos, no obstante, esta separación no debe afectar a los usuario conectados, ni a las aplicaciones externas que accedan a los datos.

📌 Regla 12: regla de la no subversión

La base de datos no debe permitir que exista una forma de acceso o lenguaje que pueda saltarse las reglas de seguridad relacional e integridad.

Si un RDBMS, cuenta con un lenguaje de bajo nivel que realiza operaciones registro por registro, dicho lenguaje de bajo nivel no puede subvertir o saltarse las reglas de integridad establecidas por el lenguaje de alto nivel. Todas las operaciones deben estar basada en la teoría de conjuntos y según lo establecido en las reglas anteriores.

En este punto ya conoces las reglas de Codd, ahora estoy seguro que comprendes el por qué los SGBD, operan y funciona de esta manera, más adelante utilizaremos algunos y estoy seguro que iras relacionando todo lo que vimos hoy.

😉 Ventajas de los manejadores de base de datos

Utilizar gestores de base de datos tiene sus ventajas, por ejemplo:

  • Nos permite administrar grandes conjuntos de datos.
  • Cuentan con una gran flexibilidad.
  • Proporcionan un acceso sencillo y eficaz a los datos.
  • Facilidad para controlar la integridad y consistencia de los datos.
  • Cuenta con una alta disponibilidad.

😥 Desventajas de los manejadores de base de datos

  • Algunos gestores no son gratuitos por lo que habrá que pagar licencia para acceder a ciertas características avanzadas.
  • Dado que es un conjunto de programas, requiere de cierta infraestructura para ser implementados, lo que da como resultado un costo extra.
  • Contratación de personal capacitados, tal como lo son, los administradores de bases de datos.
  • Centralización de datos, lo cual puede representar una vulnerabilidad.

Ejemplos: 16 manejadores de datos más populares

Existen una gran cantidad de manejadores de bases de datos y tipos, así que te dejo una tabla de los más populares que conozco, quizá tu también los conoces o has llegado a utilizar.

Manejador de base de datosTipo
Microsoft AccessRelacional
Microsoft SQL ServerRelacional
MySQLRelacional
Oracle DatabaseRelacional
OrientDBOrientado a documentos
CouchDBOrientado a documentos
Db2 de IBMRelacional
IMS de IBMJerárquico
IBM InformixRelacional
MariaDBRelacional
Sybase ASERelacional
MongoDBOrientado a documentos
PostgreSQLCombina relacional y orientado a objetos
FirebirdRelacional
InterSystemsCombina relacional y orientado a objetos
InterSystems IRISCombina relacional y orientado a objetos

Excelente, esto ha sido todo por este capítulo, en próximas entregas veremos el lenguaje SQL y pasaremos a realizar algunas practicas en un manejador de base de datos, así que no te pierdas ninguno de los siguientes post.

🧐 Autoevaluación: SGBD

¿Cuáles son los componentes de un manejador de base de datos?

¿Cuáles son los tipos de manejadores de base de datos?

¿Cuantas reglas de Codd existen?

Juan Carlos

Juan Carlos García

Desarrollador de software / SEO

Durante años he desarrollado plataformas dedicadas al rastreo satelital y varios sitios web que se encuentran en la primera página de Google, y hoy quiero compartir contigo lo que se en tecnologías como: Node JS, PHP, C# y Bases de datos.

Si quieres apoyarme sígueme en mis redes sociales y suscríbete a mi canal de YouTube.

EWebik

Diseño de páginas web y aplicaciones moviles.

© 2024 EWebik