No hay resultados de la búsqueda

Su búsqueda no arrojó ningún resultado.

¿Qué es una base de datos relacional?

Una base de datos relacional es un tipo de base de datos que almacena y proporciona acceso a puntos de datos relacionados entre sí. Las bases de datos relacionales se basan en el modelo relacional: una forma intuitiva y directa de representar datos en tablas. En una base de datos relacional, cada fila de la tabla es un registro con un ID único llamado clave. Las columnas de la tabla contienen los atributos de los datos y cada registro tiene normalmente un valor para cada atributo, lo que permite establecer fácilmente las relaciones entre los puntos de datos.

Un ejemplo de base de datos relacional

Este es un ejemplo simple de dos tablas que una pequeña empresa puede usar para procesar pedidos de sus productos. La primera tabla es una tabla de información del cliente, por lo que cada registro incluye el nombre, la dirección, información de envío y facturación, el número de teléfono y otra información de contacto del cliente. Cada bit de información (cada atributo) está en su propia columna y la base de datos asigna un ID único (una clave) a cada fila. En la segunda tabla, una tabla de pedidos del cliente, cada registro incluye el ID del cliente que realizó el pedido, el producto solicitado, la cantidad, el tamaño y el color seleccionados, etc., pero no el nombre del cliente ni su información de contacto.

Estas dos tablas tienen una sola cosa en común: la columna de ID (la clave). Pero gracias a esa columna común, la base de datos relacional puede crear una relación entre las dos tablas. Entonces, cuando la aplicación de procesamiento de pedidos de la empresa envíe un pedido a la base de datos, la base de datos podrá examinar la tabla de pedidos del cliente, extraer la información correcta sobre el pedido de productos y usar el ID del cliente de esa tabla para buscar la información de facturación y envío del cliente en la tabla de información del cliente. A continuación, el almacén puede extraer el producto correcto, el cliente puede recibir el pedido a tiempo y la empresa puede recibir el pago.

Cómo se estructuran las bases de datos relacionales

El modelo relacional significa que las estructuras de datos lógicas (las tablas de datos, las vistas y los índices) están separadas de las estructuras de almacenamiento físicas. Esta separación significa que los administradores de bases de datos pueden administrar el almacenamiento de datos físico sin que el acceso a esos datos como una estructura lógica resulte afectado. Por ejemplo, al cambiar el nombre de un archivo de base de datos no se cambia el nombre de las tablas almacenadas en él.

La distinción entre lógico y físico se aplica también a las operaciones de base de datos, que son acciones claramente definidas que permiten a las aplicaciones manipular los datos y las estructuras de la base de datos. Las operaciones lógicas permiten que un aplicación especifique el contenido que necesita y las operaciones físicas determinan cómo se debe acceder a esos datos para luego realizar la tarea.

Para garantizar que los datos sean siempre precisos y estén accesibles, las bases de datos relacionales siguen algunas reglas de integridad. Por ejemplo, una regla de integridad puede especificar que no se permitan filas duplicadas en una tabla para eliminar la posibilidad de que se introduzca información errónea en la base de datos.

El modelo relacional

En los primeros años de las bases de datos, cada aplicación almacenaba los datos en su propia estructura única. Cuando los desarrolladores querían crear aplicaciones para usar esos datos, tenían que conocer muy bien esa estructura de datos en particular para encontrar los datos que necesitaban. Estas estructuras de datos eran ineficientes, difíciles de mantener y difíciles de optimizar para ofrecer un buen rendimiento de la aplicación. El modelo de base de datos relacional se diseñó para resolver el problema de múltiples estructuras de datos arbitrarias.

El modelo relacional proporcionó una forma estándar de representar y consultar datos que pudiera utilizar cualquier aplicación. Desde el principio, los desarrolladores reconocieron que la principal ventaja del modelo de base de datos relacional era el uso de tablas, que constituía una forma intuitiva, eficiente y flexible de almacenar información estructurada y acceder a ella.

Con el tiempo, surgió otra ventaja del modelo relacional cuando los desarrolladores comenzaron a usar el lenguaje de consulta estructurado (SQL) para escribir y consultar datos en una base de datos. Durante muchos años, SQL se ha utilizado ampliamente como el lenguaje para consultas de bases de datos. Basado en el álgebra relacional, SQL proporciona un lenguaje matemático coherente internamente que permite mejorar fácilmente el rendimiento de todas las consultas de la base de datos. Otros enfoques, por el contrario, deben definir consultas individuales.

Ventajas de las bases de datos relacionales

El modelo relacional simple pero eficaz lo utilizan organizaciones de todos los tipos y tamaños para una amplia variedad de necesidades de información. Las bases de datos relacionales se usan para rastrear inventarios, procesar transacciones de comercio electrónico y administrar grandes cantidades de información crítica de los clientes, entre otras cosas. Una base de datos relacional se puede usar para cualquier necesidad de información en la que los puntos de datos se relacionen entre sí y deban gestionarse de forma segura, en función de unas reglas y de forma coherente.

Las bases de datos relacionales existen desde la década de 1970. Hoy en día, gracias a las ventajas de este modelo, sigue siendo el más aceptado para las bases de datos.

Coherencia de datos

El modelo relacional es el mejor para mantener la coherencia de los datos entre aplicaciones y copias de base de datos (llamadas instancias). Por ejemplo, cuando un cliente deposita dinero en un cajero automático y luego consulta el saldo de la cuenta en un teléfono móvil, espera ver ese depósito reflejado inmediatamente en un saldo actualizado de la cuenta. Las bases de datos destacan por el modo en que gestionan esta coherencia de datos, al garantizar que varias instancias de base de datos tengan los mismos datos todo el tiempo.

Mantener este nivel de coherencia en todo momento con grandes cantidades de datos es difícil para otros tipos de bases de datos. Algunas bases de datos recientes, como NoSQL, solo pueden proporcionar “coherencia eventual”. De acuerdo con este principio, cuando la base de datos se escala o cuando varios usuarios acceden a los mismos datos al mismo tiempo, se requiere algún tiempo para “recuperar” los datos. La coherencia eventual es aceptable para algunos usos, como mantener listas en un catálogo de productos, pero para operaciones comerciales críticas como las transacciones del carro de la compra, la base de datos relacional sigue siendo la regla de oro.

Confirmación y atomicidad

Las bases de datos relacionales manejan las reglas y políticas de la empresa en un nivel muy detallado, con políticas estrictas sobre confirmación (es decir, hacer un cambio permanente en la base de datos). Suponga, por ejemplo, que tiene una base de datos de inventario para realizar un seguimiento de tres piezas que siempre se usan juntas. Cuando una pieza se extrae del inventario, las otras dos también deben extraerse. Si una de las tres piezas no está disponible, ninguna de las piezas debe extraerse: las tres piezas deben estar disponibles para que la base de datos realice una confirmación. Una base de datos relacional no confirmará ninguna pieza hasta que sepa que puede confirmar las tres. Esta capacidad de conformidad multifacética se denomina atomicidad. La atomicidad es la clave para mantener la precisión de los datos y garantizar que se cumplan las reglas, las normativas y las políticas de la empresa.

ACID y las bases de datos relacionales

Cuatro propiedades cruciales definen las transacciones de bases de datos relacionales: atomicidad, coherencia, aislamiento y durabilidad, que habitualmente reciben el nombre de ACID.

  • La atomicidad define todos los elementos que conforman una transacción completa de la base de datos.
  • La coherencia define las reglas para mantener los puntos de datos en un estado correcto después de una transacción.
  • El aislamiento mantiene el efecto de una transacción invisible para los demás hasta que se confirma, para evitar confusiones.
  • La durabilidad garantiza que los cambios en los datos sean permanentes una vez que se confirma la transacción.

Procedimientos almacenados y bases de datos relacionales

El acceso a los datos implica muchas acciones repetitivas. Por ejemplo, para obtener el resultado deseado, puede que sea necesario repetir cientos o miles de veces una consulta sencilla que obtenga información de una tabla. Estas funciones de acceso a los datos requieren algún tipo de código para acceder a la base de datos. Los desarrolladores de aplicaciones no quieren escribir código nuevo para estas funciones en cada nueva aplicación. Afortunadamente, las bases de datos relacionales permiten los procedimientos almacenados, que son bloques de código a los que se puede acceder con una simple llamada de la aplicación. Por ejemplo, un solo procedimiento almacenado puede proporcionar un etiquetado coherente de los registros para usuarios de varias aplicaciones. Los procedimientos almacenados también pueden ayudar a los desarrolladores a garantizar que determinadas funciones de datos de la aplicación se implementen de una manera específica.

Bloqueo y simultaneidad de las bases de datos

Pueden surgir conflictos en una base de datos cuando varios usuarios o aplicaciones intentan cambiar los mismos datos al mismo tiempo. Las técnicas de bloqueo y simultaneidad reducen la posibilidad de que se produzcan conflictos, además de mantener la integridad de los datos.

El bloqueo impide que otros usuarios y aplicaciones accedan a los datos mientras estos se actualizan. En algunas bases de datos, el bloqueo se aplica a toda la tabla, con lo que el efecto en el rendimiento de la aplicación es nulo. Otras bases de datos, como las bases de datos relacionales de Oracle, aplican bloqueos en el nivel de registro, dejando los demás registros de la tabla disponibles, lo que ayuda a garantizar un mejor rendimiento de la aplicación.

La simultaneidad se encarga de la actividad cuando varios usuarios o aplicaciones invocan consultas al mismo tiempo en la misma base de datos. Esta capacidad proporciona el acceso correcto a los usuarios y aplicaciones de acuerdo con las políticas definidas para el control de datos.

Qué se debe buscar al seleccionar una base de datos relacional

El software utilizado para almacenar, administrar, consultar y recuperar datos almacenados en una base de datos relacional se denomina sistema de gestión de bases de datos relacionales (RDBMSf). El RDBMS proporciona una interfaz entre los usuarios y las aplicaciones y la base de datos, así como funciones administrativas para gestionar el almacenamiento de datos, el acceso y el rendimiento.

Son varios los factores que pueden guiar su decisión a la hora de elegir entre tipos de bases de datos y productos de bases de datos relacionales. El RDBMS que elija dependerá de las necesidades de su empresa. Hágase las siguientes preguntas:

  • ¿Cuáles son nuestros requisitos de precisión de datos? ¿El almacenamiento y la precisión de los datos dependerán de la lógica empresarial? ¿Tienen nuestros datos requisitos estrictos de precisión (por ejemplo, datos financieros e informes gubernamentales)?
  • ¿Necesitamos escalabilidad? ¿Cuál es la escala de los datos que se deben gestionar y cuál es el crecimiento previsto? ¿Necesitará el modelo de base de datos admitir copias de base de datos simétricas (como instancias separadas) para la escalabilidad? Si es así, ¿se puede mantener la coherencia de los datos en esas instancias?
  • ¿Cómo de importante es la simultaneidad? ¿Necesitarán acceso simultáneo a los datos varios usuarios y aplicaciones? ¿Admite el software de base de datos la simultaneidad mientras protege los datos?
  • ¿Cuáles son nuestras necesidades de rendimiento y fiabilidad? ¿Necesitamos un producto de alto rendimiento y alta fiabilidad? ¿Cuáles son los requisitos de rendimiento de las respuestas a las consultas? ¿Cuáles son los compromisos del proveedor con respecto a los acuerdos de nivel de servicio (SLA) o el tiempo de inactividad imprevisto?

La base de datos relacional del futuro: la base de datos de autogestión

A lo largo de los años, las bases de datos relacionales han ido mejorado, volviéndose más rápidas, más robustas y más fáciles de usar. Pero también se han vuelto más complejas, y su administración ha sido durante mucho tiempo un trabajo a tiempo completo. En lugar de utilizar sus conocimientos para centrarse en desarrollar aplicaciones innovadoras que aporten valor al negocio, los desarrolladores han tenido que dedicar la mayor parte de su tiempo a la actividad de gestión necesaria para optimizar el rendimiento de la base de datos.

Hoy en día, la tecnología autónoma se basa en las ventajas del modelo relacional, que permite ofrecer un nuevo tipo de base de datos relacional. La base de datos de autogestión (denominada también base de datos autónoma) mantiene la potencia y las ventajas del modelo relacional, pero utiliza inteligencia artificial (IA), aprendizaje automático y automatización para monitorizar y mejorar el rendimiento de las consultas y las tareas de administración. Por ejemplo, para mejorar el rendimiento de las consultas, la base de datos de autogestión puede formular hipótesis y probar índices para agilizar las consultas, y luego incorporar los mejores en producción, todo ello de forma automática. La base de datos de autogestión realiza estas mejoras continuamente, sin necesidad de interacción humana.

La tecnología autónoma libera a los desarrolladores de las tareas mundanas de administrar la base de datos. Por ejemplo, ya no tienen que determinar de antemano los requisitos de infraestructura. Con una base de datos autónoma, pueden añadir recursos de almacenamiento y computación según sea necesario para respaldar el crecimiento de la base de datos. Con solo unos pocos pasos, los desarrolladores pueden crear fácilmente una base de datos relacional autónoma, con lo que pueden desarrollar aplicaciones más rápidamente.