Un RDBMS – Sistema de Gestión de Bases de Datos Relacionales- es, literalmente, un sistema para gestionar bases de datos relacionales. Un sistema de gestión de bases de datos emite instrucciones al sistema operativo para facilitar el acceso a los datos y estructurar correctamente su almacenamiento. Modifica las bases de datos, las consulta para seleccionar los datos de interés y elabora informes para controlar las operaciones.
Índice de temas
Qué es RDBMS – Sistema de gestión de bases de datos relacionales
Las bases de datos relacionales se basan en el modelo lógico-matemático propuesto por el informático británico Edgar F. Codd, a partir del artículo “A Relational Model of Data for Large Shared Data Banks” publicado en 1970 en “Communication of the ACM”, la Asociación de Maquinaria Informática.
En este trabajo, Codd propuso el modelo relacional para permitir la independencia de los datos. Es decir, la independencia de las aplicaciones del crecimiento de los distintos tipos de datos y de los cambios en la base de datos. Había que resolver tres dependencias de la aplicación: la dependencia de la clasificación, la indexación y la ruta de acceso de los datos.
El término “relacional” se entiende matemáticamente: una relación es un conjunto formado por n-tuplas, o tuplas ordenadas, listas ordenadas de n cantidad de objetos. La relación se representa así como una tabla.
En un RDBMS, todos los datos se representan como relaciones. De ahí las tablas/matrices. Una matriz que representa una relación en el modelo de Codd tiene las siguientes propiedades: cada fila es una n-tupla. Todas las filas son distintas. El orden de las filas no es relevante, pero el de las columnas sí, porque corresponde a los dominios sobre los que se define la relación. Es decir, los “límites” dentro de los que existe. El significado de cada columna se transmite parcialmente a través de una etiqueta que coincide con el dominio correspondiente.
Álgebra relacional y el cálculo relacional
Los lenguajes que permiten actuar sobre matrices son el álgebra relacional y el cálculo relacional: el álgebra relacional examina las consultas en la base de datos y describe el procedimiento que debe aplicarse para obtener el resultado; el cálculo relacional, por su parte, es declarativo, no procedimental, es decir, hace explícito el resultado que debe obtenerse de la consulta, es decir, los datos necesarios, pero no cómo llegar a ellos.
El cálculo relacional actúa tanto sobre los elementos ordenados (las tuplas) como sobre los dominios de las relaciones. A partir del cálculo relacional formulado por Codd, se implementó el lenguaje SQL, el estándar para las bases de datos relacionales. Las bases de datos relacionales están diseñadas para aplicaciones transaccionales y OLTP – Procesamiento de transacciones en línea y también son válidas para OLAP – Procesamiento analítico en línea.
Cómo funciona un RDBMS
El modelo relacional se aplica en los SGBD reales desde 1981.
En 1985, Codd publicó dos artículos en la revista Computerworld: “¿Es su SGBD realmente relacional?” y “¿Su SGBD sigue las reglas?”, en los que definía los requisitos para que una base de datos fuera realmente relacional: las llamadas “12 reglas de Codd”.
Las 12 reglas de Codd
Regla cero
La regla cero establece que un sistema puede autodenominarse RDBMS si sólo utiliza funcionalidades relacionales para gestionar bases de datos.
Regla uno
La número uno, que la información de la base de datos debe representarse en forma de tabla.
Cada tabla/relación tiene una y solo una clave primaria, es decir, un conjunto de atributos que permiten identificar de forma unívoca una tupla o la posición de un dato.
Regla dos
La regla dos establece, por tanto, que cada dato debe ser accesible de forma inequívoca, especificando el nombre de la tabla que lo contiene, el nombre de la columna en la que se encuentra y el valor de la clave primaria.
Regla tres
La tercera regla se refiere al tratamiento de la representación de la información ausente o inadecuada: un RDBMS debe permitir al usuario dejar un campo vacío o con un valor NULL y tratar siempre la representación de esta información de la misma manera.
Regla cuatro y cinco
La norma 4 exige un diccionario de metadatos. Es decir, una descripción lógica de las bases de datos y los objetos accesible a los usuarios con el mismo lenguaje de consulta utilizado para acceder a los datos.
Datos que, según la regla 5, deben ser accesibles con un lenguaje relacional que tenga una sintaxis lineal (se pueda leer de izquierda a derecha), se pueda utilizar de forma interactiva o incrustado dentro de aplicaciones, y admita operaciones de definición y manipulación de datos.
Regla seis
La norma 6 trata de la actualización de las visiones, es decir, de las “formas de ver los datos” y de subconjuntos específicos: si el contenido de estas visiones es modificable conceptualmente, también debe ser modificable en la práctica.
Regla siete
La regla 7 establece que la base de datos relacional también debe manipularse por conjuntos de datos y no por piezas individuales de información.
Regla ocho y nueve
Las reglas 8 y 9 se refieren a la independencia de la representación física y lógica respectivamente: los modos de acceso a la base de datos no cambian aunque se modifiquen las estructuras físicas de almacenamiento; los cambios en el plan lógico no deben requerir cambios injustificados en las aplicaciones. Por lo tanto: en un RDBMS, la estructura lógica es independiente del almacenamiento físico; los cambios en la estructura lógica no deberían afectar a las aplicaciones del sistema operativo.
Regla diez
Concepto reiterado en la regla 10: las restricciones de integridad se almacenan en el diccionario de metadatos y se separan de las aplicaciones.
Regla once
La norma 11, en cambio, se refiere a la independencia de la ubicación: las aplicaciones deben poder seguir funcionando independientemente de dónde se encuentre físicamente la base de datos. La norma 12 establece la no subversión: las herramientas de acceso a los datos no pueden eludir las restricciones ni las normas de seguridad.
Para algunos, no se puede decir que una base de datos que no aplique las 13 reglas sea relacional, para otros esta postura es especialmente rígida.
¿Qué es MySql?
MySQL es la base de datos relacional de código abierto más utilizada en el mundo. La primera versión de MySQL Server fue lanzada en 1995 por la empresa sueca MySQL, que la lanzó en código abierto bajo la Licencia Pública General GNU en 2000. Al cabo de un año, el RDBMS contaba con más de dos millones de instalaciones activas. En 2008, MySQL fue adquirida por Sun Microsystems, que a su vez fue adquirida por Oracle al año siguiente.
MySQL cuenta así con más de dos décadas de desarrollo y corrección de errores por parte de la comunidad de código abierto, que lo ha adaptado e implementado para diversos casos de uso, desde sitios web hasta hardware y dispositivos integrados. Incluye utilidades como mysqldump, un programa de copia de seguridad; mysqladmin, un cliente administrativo; y MySQL Workbench, una interfaz gráfica de usuario para labores de gestión y migración.
MySOL cuenta con tablas de disco de árbol B
El árbol B es una estructuración de datos en la que cada nodo puede tener un gran número de derivaciones, lo que permite indexar eficazmente grandes cantidades de datos. Otras características son la compresión de índices, la asignación de memoria basada en hilos y las uniones optimizadas de bucles anidados. Una unión es la operación que combina las tuplas de matrices; las uniones de bucles anidados son los algoritmos que unen dos conjuntos de datos utilizando bucles anidados. En la práctica, el algoritmo lee las filas de la primera tabla de una en una en un bucle: cada fila se pasa al bucle anidado que procesa la siguiente tabla de la operación. No falta la verificación basada en host y la encriptación del tráfico de contraseñas.
SQL
MySQL es una evolución de SQL – Structured Query Language-, el lenguaje creado en 1974 por el informático Donald Chamberlin y que se convirtió en el estándar de los RDBMS.
SQL incluye varios sublenguajes relacionados con las funciones de gestión de bases de datos: Lenguaje de definición de datos para crear y modificar esquemas de bases de datos; Lenguaje de manipulación de datos para insertar y modificar datos; Lenguaje de consulta de datos para consultar datos almacenados; y Lenguaje de control de datos para herramientas de control y acceso a datos.
MySQL se basa en InnoDB, un motor de almacenamiento transaccional que se adhiere al modelo ACID – Atomicidad, Consistencia, Aislamiento y Durabilidad como propiedades lógicas de las transacciones. La atomicidad significa que la transacción es una unidad indivisible y que no se permiten ejecuciones parciales; la coherencia es el respeto de las restricciones de integridad para el conjunto de la transacción; el aislamiento es la condición requerida para cada transacción, de modo que el posible fallo de una no interfiera con las demás ejecutadas en paralelo; la durabilidad o persistencia se refiere a la imposibilidad de perder los cambios realizados como resultado de una transacción, gracias a los registros log.
¿Cuál es la diferencia entre RDBMS (base de datos relacional) y DBMS (base de datos no relacional)?
En los RDBMS, bases de datos relacionales, la estructuración del contenido es rígida: los datos se normalizan y se colocan en tablas, y luego se almacenan según un esquema preciso. El esquema define filas, columnas, índices, relaciones entre tablas y otros elementos e implementa la integridad referencial en las relaciones. El rendimiento depende del subsistema de disco, por lo que deben optimizarse las consultas, los índices y la estructura.
En los SGBD, bases de datos no relacionales, los datos se almacenan en documentos, guardados en colecciones, sin tablas ni esquemas únicos. Los DBMS NoSQL ofrecen modelos para clave-valor, documento y grafo.
Para tres datos sobre una persona, un RDBMS crea una tabla de tres columnas, un DBMS guarda tres datos en formato de texto.
En los SGBD, los datos se enlazan mediante incrustación, es decir, anidando un objeto dentro de otro, o referenciación, es decir, insertando el id de otro en un documento.
En los RDBMS, las solicitudes de almacenamiento y restauración de datos se gestionan mediante SQL y son ejecutadas por la propia base de datos; en cambio, los DBMS disponen de claves de partición que proporcionan a las aplicaciones la instrucción de búsqueda y permiten a los desarrolladores almacenar y restaurar datos.
Qué otros tipos de bases de datos existen
Además de las bases de datos relacionales, existen las bases de datos jerárquicas, de celosía y de objetos.
El modelo de base de datos jerárquica fue el primero en imponerse
Implica una organización de los datos en forma de árbol. El árbol consta de una raíz, también llamada segmento o padre, y uno o varios subárboles dependientes. La información se representa mediante relaciones entre “padres” e “hijos”, es decir, de uno a muchos: un padre, muchos hijos, pero no un hijo, muchos padres. Muy funcional para la información jerárquica, el modelo tiene dificultades para aplicarse en el caso de las relaciones de muchos a muchos: en este caso, es necesario duplicar los datos. Además, para obtener y utilizar un dato “hijo”, es necesario recorrer todo el camino desde la raíz.
El modelo de base de datos reticular o grafo
Se originó en la década de 1970 y su versión estándar es CODASYL. Se basa en un esquema lógico en el que los cuadrados representan registros, es decir, el conjunto de datos compuesto, y las flechas representan punteros, es decir, tipos de datos que representan la posición de los elementos. Los punteros unen los registros y se crean mediante el comando ‘set’. Entre dos registros solo puede crearse una relación de uno a muchos. Para cada tipo de registro, debe definirse la clave, bien explicitando los campos que la componen, bien a través de los punteros que la conectan.
El modelo de base de datos de objetos (ORDBMS)
Es un modelo híbrido, con elementos de base de datos relacional. En este modelo, existen diferentes tipos de bases de datos de objetos: predefinidas, construidas, definidas por el usuario a partir de las predefinidas.
Las ventajas de un RDBMS
Independencia de la representación física
La estructura lógica de un RDBMS está separada de las estructuras físicas de almacenamiento, de modo que el almacenamiento físico no comprometa el acceso a los datos. Por ejemplo, renombrar un archivo de base de datos no implica renombrar todas las tablas que contiene.
Independencia de la representación lógica
Los cambios en el plan lógico de un RDBMS no deben requerir cambios injustificados en las aplicaciones y no deben afectar al funcionamiento de las aplicaciones del sistema operativo.
Las operaciones lógicas permiten a la aplicación especificar el contenido requerido, las operaciones físicas determinan cómo acceder a los datos y realizar la tarea.
Ubicación Independiente
Las aplicaciones siguen funcionando independientemente de dónde se encuentre físicamente la base de datos.
Integridad y coherencia
Las restricciones de integridad inherentes a la base de datos relacional la convierten en un modelo ejemplar para la coherencia de datos entre aplicaciones y copias de la base de datos: varias instancias de la base de datos contienen siempre los mismos datos con variaciones en tiempo real. Esta es la razón por la que los RDBMS se utilizan en operaciones críticas como las transacciones de comercio electrónico. De hecho, las restricciones de integridad pueden impedir la duplicación de filas en la misma tabla, evitando así que se introduzca información incorrecta o redundante en la base de datos.
Atomicidad y conformidad
Las bases de datos relacionales son rígidas en la aplicación de una modificación permanente: no la ejecutan hasta estar seguras de que pueden ejecutarla para todas las partes que componen la sección a modificar. La atomicidad, es decir, considerar cada transacción como única, sin ejecuciones parciales, garantiza la precisión en la base de datos y el cumplimiento de las políticas de la empresa.
Desventajas de un RDBMS
Estructuración rígida
Un RDBMS está rígidamente estructurado: los datos se normalizan y luego se insertan según patrones precisos, lo que no favorece la flexibilidad en aplicaciones de baja latencia o el análisis de datos semiestructurados. No todos los tipos de datos pueden representarse en el esquema rígido de tablas bidimensionales interconectadas.
Segmentación de datos
La normalización de los datos, es decir, el tratamiento y la división de la información en tablas separadas, conduce a la segmentación de los datos: los datos relacionados no siempre se guardan juntos. Esto puede dar lugar a consultas más complejas, en más tablas, con tiempos de latencia más largos.
Configuración única de muchos a muchos
La estructura de las bases de datos relacionales no permite la creación de subtuplas o clases estructuradas jerárquicamente.
La Revolución de RDBMS en América Latina
Los sistemas de gestión de bases de datos relacionales (RDBMS) han revolucionado la forma en que las empresas y organizaciones en América Latina gestionan sus datos. Estos sistemas permiten a las empresas almacenar, organizar y recuperar datos de manera eficiente, lo que resulta en una mejor toma de decisiones y una mayor eficiencia operativa.
Gestión de grandes cantidades de datos
Un RDBMS permite a las empresas manejar grandes cantidades de datos y garantizar que estos sean precisos y consistentes. Esto es especialmente importante en la era actual, donde los datos se han convertido en un recurso valioso para las empresas. De esta forma, el sistema puede ayudar a las empresas a aprovechar al máximo este recurso.
Seguridad de los datos
Además, un RDBMS puede mejorar la seguridad de los datos. Estos tienen características incorporadas para proteger los datos, como el control de acceso y la encriptación, ayudando a las compañías a proteger su información y cumplir con las regulaciones de privacidad de datos.
Colaboración e intercambio de información
Finalmente, este sistema puede facilitar la colaboración y el intercambio de información dentro de una organización. Los empleados pueden acceder y compartir datos fácilmente, lo que puede mejorar la eficiencia y la productividad.
Escalabilidad
Además, son altamente escalables, lo que significa que pueden manejar un aumento en la carga de trabajo sin sacrificar el rendimiento. Esto es especialmente útil para las empresas que están experimentando un rápido crecimiento o que tienen fluctuaciones estacionales en su carga de trabajo.
Flexibilidad
Por otra parte, son altamente flexibles. Es decir, pueden manejar desde texto y números hasta imágenes y audio. Esto permite a las empresas almacenar y gestionar todos sus datos en un solo lugar, lo que simplifica su proceso de gestión.
Integración con otras tecnologías
Otra ventaja es su capacidad para integrarse con otras tecnologías. Por ejemplo, pueden hacerlo con herramientas de análisis de datos para proporcionar información valiosa sobre el rendimiento del negocio. También pueden integrarse con otras aplicaciones empresariales, como los sistemas de gestión de relaciones con los clientes (CRM) y los sistemas de planificación de recursos empresariales (ERP), para proporcionar una visión completa del negocio.
En conclusión, los sistemas RDBMS, al proporcionar una forma eficiente y segura de almacenar, organizar y recuperar datos, permiten a las empresas tomar decisiones más informadas y mejorar su eficiencia operativa. A medida que más empresas reconocen los beneficios de estos, es probable que su uso continúe creciendo en el futuro.
Casos de Éxito de RDBMS en América Latina
En América Latina, existen varias empresas e instituciones que han implementado con éxito sistemas de gestión de bases de datos relacionales (RDBMS) para mejorar su eficiencia y tomar decisiones basadas en datos. Entre estos se destacan:
Sector Bancario
Ualá, una aplicación argentina que brinda servicios financieros ha implementado con éxito un sistema RDBMS1. La aplicación otorga a cada nuevo usuario una tarjeta Mastercard de forma gratuita y sin la necesidad de tener una cuenta bancaria. Además, Ualá también tiene la opción de realizar transferencias de dinero, entre otras características1. En 2021 registró una valoración de US$ 3.500 millones y obtuvo ocho millones de nuevos clientes.
Sector Salud
Auth0, una empresa argentina fundada por Eugenio Pace y Matías Woloski en 2013, se dedica a la ciberseguridad y la autenticación de datos que piden las páginas web y aplicaciones antes de ingresar1. Esto permite autorizar y proteger los datos1. En mayo de 2021 fue adquirida por su competencia, Okta, por US$ 6.500 millones.
Sector Educación
MIT Media Lab ha desarrollado piezas de Lego para simular intervenciones urbanas2. Este proyecto innovador utiliza “big data” para un sistema integrado de transporte.
Sector Industrial
Bodegas DomaineBousquet es una vinícola localizada en la provincia de Mendoza, Argentina. Es líder en la exportación de vinos orgánicos y tiene una fuerte presencia comercial en más de 40 países. Además, cuentan con un restaurante y un hotel de primera para aproximar al turista a la experiencia de su marca.
Estos son solo algunos ejemplos del uso exitoso de RDBMS en América Latina. Estas empresas e instituciones han demostrado cómo los estos sistemas pueden mejorar la eficiencia operativa y ayudar a la toma de decisiones basadas en datos.
El Futuro de RDBMS en América Latina
El futuro de este sistema en América Latina es muy prometedor, ya que genera importantes beneficios en muchas industrias con relevancia en países latinoamericanos, entre los que se destacan:
Educación
Muchas escuelas y universidades almacenan información sobre sus estudiantes y registran datos como los resultados obtenidos por estos en una base de datos.
Bancos
Los bancos usan DBMS para almacenar información de clientes como sus actividades, posibles créditos que haya tomado, entre otros.
Líneas aéreas
Las aerolíneas suelen almacenar información relevante como las reservas de vuelos e información de programación en bases de datos.
Ventas y marketing
Las compañías suelen almacenar información crucial de clientes, tanto actuales como potenciales, los cuales deben poder accederse de forma inmediata.
Recursos humanos
Se aplica en los registros sobre los trabajadores, los salarios, contrato, deducciones, entre otra información que se mantiene en los sistemas de bases de datos de las empresas.
Telecomunicación
Las empresas de telecomunicaciones suelen utilizar bases de datos para almacenar archivos de llamadas, facturas mensuales, saldos retenidos y otra información relacionada con las llamadas.
Economía y Finanzas
Suele utilizarse para almacenar información sobre bonos, transacciones y adquisiciones de distintos activos como, por ejemplo, acciones de empresas.
En otras palabras, prácticamente todas las compañías necesitan, en menor o mayor medida, de este tipo de sistema. Teniendo en cuenta que el último informe elaborado por el CEPAL (Comisión Económica para América Látina y El Caribe) crecerá un 1,5% el producto bruto interno regional, podría ser una gran oportunidad para las empresas que comercializan este tipo de sistemas.
En cuanto al sistema que las empresas pueden elegir, desde Oracle señalan que todo depende de las necesidades de tu empresa. En este sentido señalan que cada empresa debe preguntarse “¿Necesitamos un gran nivel de precisión en los datos?”, “¿El almacenamiento y la precisión de los datos se basarán en la lógica empresarial?”, “¿Tenemos datos con requisitos estrictos de precisión (por ejemplo, datos financieros e informes gubernamentales)?”.
Otras preguntas, según la compañía, podrían ser “¿Necesitamos escalabilidad?”, “¿Cuál es la escala de los datos a gestionar y cuál es el crecimiento previsto?”, “¿Necesitaremos un modelo de base de datos compatible con copias de bases de datos reflejadas (como instancias separadas) para permitir la escalabilidad?” entre tantas otras posibles preguntas. De esta forma, podrás definir la mejor opción para tu compañía.
Artículo publicado originalmente en 25 Ene 2023