Clave compuesta
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
Encuadernación tardía
ALGOL 68S
Hacer bucle while
Alma-0