Clave compuesta

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Candidato clave con dos o más atributos en una base de datos

En el diseño de bases de datos, una clave compuesta es una clave candidata que consta de dos o más atributos (columnas de tabla) que juntos identifican de forma única una ocurrencia de entidad (fila de tabla).

Una clave compuesta es una clave compuesta para la cual cada atributo que constituye la clave es una clave externa por derecho propio.

Ventajas

Las claves compuestas tienen ventajas similares a las de una clave natural, ya que a menudo se componen de múltiples atributos de clave natural.

Almacenamiento

Las claves compuestas utilizan menos espacio en disco en comparación con la definición de una columna de clave sustituta, esto se debe a que la clave compuesta ya existe como atributos en la tabla y no es necesario definirla en la tabla solo con el propósito de una identificación única. Esto simplifica la mesa y también ahorra espacio.

Más fácil de implementar y usar

Las claves compuestas son fáciles de implementar en un esquema de base de datos ya que sus componentes ya son elementos con nombre en la base de datos. Cuando también son claves naturales, suelen ser intuitivas para escenarios del mundo real. A menudo se utilizan cuando una clave no compuesta no siempre identifica de forma única un registro. Por ejemplo, un nombre personal puede a menudo, pero no siempre, ser único en una base de datos determinada, y se puede agregar algún otro campo, como la fecha de nacimiento, para que la unicidad sea mucho más probable.

Desventajas

Cambios de requisitos

Los requisitos y reglas comerciales pueden cambiar, lo que puede cambiar el formato de ciertas entidades del mundo real. Las claves compuestas están formadas por múltiples claves naturales que están relacionadas con el mundo real y con el cambio de su formato en el mundo real, también cambiará su formato en la base de datos. Esto es un inconveniente ya que la cantidad de atributos de la clave compuesta cambiará y sería necesario actualizar todas las claves externas.

Complejidad y almacenamiento

Una clave compuesta consta de múltiples atributos y se hará referencia a la clave compuesta en varias tablas como clave externa; esto utiliza mucho espacio en disco ya que se almacenan varias columnas como clave externa en lugar de posiblemente solo una. Esto hace que el esquema sea complejo y las consultas se vuelven más costosas para la CPU, ya que para cada unión, el DBMS necesitará comparar tres atributos en lugar de posiblemente uno en el caso de una única clave natural.

Ejemplo

Un ejemplo es una entidad que representa los módulos a los que asiste cada estudiante en la Universidad. La entidad tiene un studentID y un moduleCode como clave principal. Cada uno de los atributos que componen la clave primaria es una clave simple porque cada uno representa una referencia única al identificar a un estudiante en una instancia y a un módulo en la otra, por lo que esta clave es una clave compuesta.

Por el contrario, usando el mismo ejemplo, imaginemos que identificamos a un estudiante por su nombre + apellido (asumiendo que las personas deben tener nombres diferentes). En una tabla que represente a los estudiantes, nuestra clave principal ahora sería nombre + apellido. Debido a que los estudiantes pueden tener el mismo nombre o el mismo apellido, estos atributos no son simples claves. La clave principal nombre + apellido para los estudiantes es una clave compuesta.

Contenido relacionado

ALGOL Y

ALGOL Y fue el nombre dado a un sucesor especulado del lenguaje de programación ALGOL 60 que incorporaba algunas características radicales que fueron...

Encuadernación tardía

En informática, el enlace tardío o enlace dinámico es un mecanismo de programación informática en el que el método que se invoca en un objeto, o la...

ALGOL 68S

ALGOL 68S es un lenguaje de programación diseñado como un subconjunto de ALGOL 68, para permitir la compilación mediante un compilador de un solo paso. Fue...

Hacer bucle while

En muchos lenguajes de programación de computadoras, un bucle do while es una declaración de flujo de control que ejecuta un bloque de código y luego...

Alma-0

Alma-0 es un lenguaje de programación informática multiparadigma. Este lenguaje es una versión aumentada del lenguaje imperativo Modula-2 con...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save