Fundamentos del Modelo Relacional en Bases de Datos: Conceptos y Restricciones de Integridad

Clasificado en Informática

Escrito el en español con un tamaño de 8,18 KB

El Modelo Relacional de Bases de Datos: Conceptos Fundamentales y Restricciones

El modelo relacional es el modelo de datos más utilizado para organizar y gestionar información en bases de datos. Se basa en la idea de representar los datos como colecciones de relaciones, que son esencialmente tablas.

Conceptos Fundamentales del Modelo Relacional

En el modelo relacional, una relación se define como una tabla compuesta por filas y columnas. Cada columna se denomina atributo o campo.

  • Una tupla representa una fila individual de la relación.
  • El grado de una relación es el número de atributos (columnas) que posee.
  • La cardinalidad de una relación es el número de tuplas (filas) que contiene.

Una base de datos relacional es un conjunto de relaciones interconectadas, idealmente normalizadas para asegurar la integridad y eficiencia de los datos.

Propiedades Fundamentales de las Relaciones

Para que una tabla sea considerada una relación válida en el modelo relacional, debe cumplir con las siguientes propiedades:

  • Cada relación debe tener un nombre único dentro de la misma base de datos.
  • Los valores de los atributos deben ser atómicos, es decir, contener un único valor indivisible.
  • Dentro de una misma relación, no puede haber dos atributos con el mismo nombre.
  • El orden de los atributos dentro de una relación no afecta su significado o estructura.
  • El orden de las tuplas (filas) dentro de una relación no tiene significado inherente.

Tipos de Claves en el Modelo Relacional

Las claves son conjuntos de atributos que permiten identificar de forma única las tuplas y establecer relaciones entre ellas.

Superclave

Un conjunto de atributos que identifica de forma única a cada tupla dentro de una relación. Si un conjunto de atributos es una superclave, cualquier superconjunto de este también lo será.

Clave Candidata

Una superclave mínima, es decir, una superclave de la cual no se puede eliminar ningún atributo sin perder la propiedad de unicidad.

Clave Primaria (Primary Key)

Una de las claves candidatas elegida para identificar de forma única cada tupla en una relación. Sus valores no pueden ser nulos y deben ser únicos. Es fundamental para la integridad de entidad.

Clave Alternativa

Cualquier clave candidata que no ha sido seleccionada como clave primaria.

Clave Ajena (Foreign Key)

Un atributo o conjunto de atributos en una relación que hace referencia a la clave primaria de otra relación (o de la misma relación). Establece un vínculo entre dos tablas, manteniendo la integridad referencial.

Esquema de una Base de Datos Relacional

Para representar el esquema de una base de datos relacional, es fundamental especificar la estructura de cada relación y sus interconexiones:

  • El nombre de cada relación.
  • El nombre y tipo de datos de cada atributo.
  • Las claves primarias de cada relación.
  • Las claves ajenas, incluyendo las relaciones a las que hacen referencia y los atributos correspondientes.

Restricciones de Integridad en Bases de Datos Relacionales

Las restricciones de integridad son reglas o condiciones que los datos deben cumplir para garantizar su validez, consistencia y fiabilidad al ser almacenados y manipulados en la base de datos.

Restricciones de Nulidad

Definen si un atributo puede o no contener la ausencia de valor:

  • NULL: Indica la ausencia de un valor para un atributo. No es equivalente a cero, a una cadena vacía o a un espacio en blanco.
  • NOT NULL: Especifica que un atributo debe contener siempre un valor; no se permite la ausencia de datos.

Regla de Integridad de Entidad (Integridad de Clave Primaria)

Establece que ninguno de los atributos que componen una clave primaria puede contener valores NULL. Esto asegura que cada tupla pueda ser identificada de forma única y que la clave primaria sea siempre válida.

Reglas de Integridad Referencial

Estas reglas se aplican a las claves ajenas y garantizan la coherencia entre relaciones. Establecen que los valores de una clave ajena deben:

  • Coincidir con un valor existente en la clave primaria a la que hace referencia en la tabla padre.
  • O ser completamente NULL (si el diseño de la base de datos lo permite y el atributo no es NOT NULL).

La integridad referencial define un "estado ilegal" (por ejemplo, una tupla que referencia a una tupla inexistente en la tabla padre), pero no especifica cómo evitarlo directamente. La pregunta clave es: ¿qué acción tomar cuando una operación (inserción, actualización, eliminación) podría llevar a un estado ilegal?

Existen dos enfoques principales:

  • Rechazar la operación: Impedir que la operación se complete si viola la integridad referencial.
  • Aceptar la operación y realizar acciones compensatorias: Permitir la operación y ejecutar acciones adicionales para restaurar la integridad referencial.

Acciones de Integridad Referencial (ON DELETE / ON UPDATE)

Cuando una tupla referenciada por una clave ajena es modificada o eliminada, se deben definir acciones para mantener la integridad referencial. Las opciones comunes son:

Acciones al Borrar (ON DELETE):
  • RESTRICT (Restringir): Rechaza la operación de borrado en la tabla padre si existen tuplas que la referencian en la tabla hija.
  • CASCADE (Propagar): Elimina la tupla referenciada en la tabla padre y propaga el borrado a todas las tuplas que la referencian en la tabla hija mediante la clave ajena.
  • SET NULL (Anular): Borra la tupla referenciada en la tabla padre y establece a NULL los valores de la clave ajena en las tuplas que la referenciaban en la tabla hija (si el atributo lo permite).
  • NO ACTION: Similar a RESTRICT, pero la verificación de la restricción se realiza al final de la transacción.
Acciones al Modificar (ON UPDATE):

De manera análoga a las acciones de borrado, se pueden aplicar las mismas políticas (RESTRICT, CASCADE, SET NULL, NO ACTION) cuando se intenta modificar el valor de una clave primaria referenciada por una clave ajena. Por ejemplo, ON UPDATE CASCADE actualizaría automáticamente los valores de la clave ajena en las tuplas hijas si la clave primaria en la tabla padre cambia.

Disparadores (Triggers)

Los disparadores (o triggers) son procedimientos almacenados que se ejecutan automáticamente en respuesta a eventos específicos en la base de datos, como operaciones de inserción (INSERT), modificación (UPDATE) o eliminación (DELETE) sobre una tabla. Permiten implementar lógica de negocio compleja o mantener la integridad de datos más allá de las restricciones estándar.

Otras Restricciones de Integridad

Restricciones de Dominio

Definen el conjunto de valores permitidos para un atributo, incluyendo su tipo de dato, longitud, formato y cualquier otra restricción específica sobre el rango de valores.

Restricciones de Verificación (CHECK Constraints)

Son condiciones que se aplican a los valores de uno o más atributos dentro de una tupla, asegurando que cumplan con una expresión lógica específica (por ejemplo, un valor numérico dentro de un rango, o una cadena que siga un patrón predefinido).

Reglas de Negocio (Business Rules)

Son restricciones específicas impuestas por los administradores o diseñadores de la base de datos, que reflejan la lógica y políticas operacionales de una organización. Pueden ser implementadas a través de diversas restricciones de integridad, disparadores, vistas o lógica de aplicación, y son cruciales para asegurar que la base de datos refleje fielmente los requisitos del negocio.

Entradas relacionadas: