Fundamentos del Modelo Relacional: Esquemas, Claves y Restricciones de Integridad

Clasificado en Informática

Escrito el en español con un tamaño de 6,2 KB

Esquemas en Bases de Datos Relacionales

El diseño de una base de datos relacional se estructura en diferentes niveles de abstracción, cada uno con un propósito específico:

Esquema Conceptual: Representación de los recursos de información del sistema con independencia de usuarios o aplicaciones en particular y sin considerar cuestiones de eficiencia. Se apoya normalmente en el modelo E/R (Entidad/Relación).

Esquema Lógico Global/Externo: Transformación del esquema conceptual adaptándolo al modelo de datos en el que se apoya el Sistema Gestor de Bases de Datos (SGBD) que se va a utilizar, obteniendo un Esquema Lógico Global de Datos. El más habitual es el modelo relacional.

Esquema Interno o Físico: Instrumentación lo más eficiente posible del Esquema Lógico en función de los requisitos de los procesos, las especificaciones concretas del SGBD a usar, así como la configuración y características del equipo físico y del sistema operativo (SO).

Estructura del Modelo Relacional

En el modelo relacional, las tablas o relaciones poseen características fundamentales:

  • El número de atributos se denomina Grado.
  • Al número de tuplas (filas) se le denomina Cardinalidad.

La representación de una tabla o relación puede ser por extensión, expresando tabularmente todos los atributos y las filas de la tabla, o por intensión (forma más habitual), que describe la estructura de la tabla.

Tipos de Claves en el Modelo Relacional

Las claves son conjuntos de atributos que cumplen funciones específicas para identificar y relacionar datos:

  • Clave Candidata: Es el conjunto de atributos que identifica unívocamente cada fila (tupla) en una relación. Siempre hay, al menos, una clave candidata.
  • Clave Primaria: Es la clave candidata elegida para identificar de forma única las filas de la relación. Una clave primaria es compuesta cuando está formada por más de un atributo.
  • Clave Alternativa: Cada una de las claves candidatas que no fue elegida como clave primaria.
  • Clave Ajena: Es un conjunto de atributos cuyos valores deben coincidir con los de la clave primaria de otra tabla o relación. Debe tener el mismo dominio que la clave primaria de la que procede. Se utiliza para relacionar tablas entre sí.

Restricciones de Integridad

Las restricciones son reglas o condiciones que definen estructuras u ocurrencias no permitidas en una base de datos, asegurando la consistencia y validez de los datos. Se clasifican en:

Restricciones Propias del Modelo (Inherentes)

Son restricciones impuestas por el propio Modelo Relacional para mantener su estructura y coherencia:

  • No puede haber dos filas (tuplas) iguales en la tabla, lo que implica que la clave primaria es obligatoria (Not Null) y única (Unique).
  • El orden de las filas no es significativo.
  • El orden de los atributos no es relevante.
  • Cada atributo puede tomar un único valor de su Dominio (conjunto de valores homogéneos) sobre el que está definido, es decir, no puede haber grupos repetitivos. Si una tabla cumple esta condición, se dice que está en Primera Forma Normal (1FN).
  • Ningún atributo que forme parte de la clave primaria puede tomar valores nulos (Regla de Integridad de la Entidad).

Restricciones Establecidas por el Usuario (Semánticas)

Son restricciones definidas por el usuario o diseñador de la base de datos para reflejar la lógica de negocio y las relaciones entre los datos:

  • Todo valor de la Clave Ajena debe coincidir con un valor de la Clave Primaria a la que hace referencia o bien ser nulo (Integridad Referencial).
  • Para cada clave ajena, se deben definir las consecuencias de las operaciones de Borrado (Delete) y Actualización (Update). Estas opciones se especifican por separado y pueden ser:
    • Operación en Cascada (On Cascade): Al actualizar o borrar un valor de la clave primaria, se borran o actualizan automáticamente las filas de las claves ajenas correspondientes.
    • Operación Restringida (No Action): Solo se permite borrar o modificar un valor de clave si en la tabla relacionada no existen filas con ese valor en la clave ajena.
    • Operación con Puesta a Nulos (Set Null): Si se borra o modifica un valor de la clave primaria referenciada, se ponen a nulos los valores de las claves ajenas correspondientes (siempre y cuando se haya especificado que la clave ajena admite valores nulos).
    • Operación con Puesta a Valor por Defecto (Set Default): El borrado o modificación de un valor de la clave referenciada conlleva poner un valor por defecto en la clave ajena.
  • El usuario puede expresar restricciones adicionales mediante una serie de condiciones aplicadas a uno o varios atributos. Por ejemplo, en lenguaje SQL, estas restricciones pueden ser:
    • Check (Verificación): Al realizar una operación de actualización, el sistema comprueba si la condición dada se cumple. De no ser así, la operación es rechazada.
    • Assertion (Aserción): Cuando la condición afecta a más de un atributo o a múltiples tablas.
  • Algunos Sistemas Gestores de Bases de Datos (SGBD), como Oracle, admiten otro tipo de restricciones denominadas Disparadores (Trigger), en las cuales el usuario especifica una respuesta o acción ante una determinada condición o evento.

Entradas relacionadas: