En el modelo relacional de bases de datos , una superclave o superclave de un esquema de relación es un conjunto de atributos de tal manera que cada instancia de relación del esquema de relación no tiene dos distintas tuplas con los mismos valores para estos atributos. [1] [2] Define una restricción de dependencia funcional desde la superclave a todos los atributos del esquema de relación.
El conjunto de todos los atributos es una superclave trivial, porque en álgebra relacional no se permiten filas duplicadas: las filas son un conjunto (no duplicados), no un conjunto múltiple (se permiten duplicados). La superclave también se conoce como superclave .
Si el conjunto de atributos K es una superclave de la relación R , entonces en todo momento se da el caso de que la proyección de R sobre K tiene la misma cardinalidad que la propia R.
Una superclave es un conjunto de atributos dentro de una tabla cuyos valores se pueden usar para identificar de forma única una tupla. Una clave candidata es un conjunto mínimo de atributos necesarios para identificar una tupla; esto también se denomina superclave mínima. Dado un esquema de empleado que consta de los atributos employeeID, name, job y departmentID, donde nunca se repite ningún valor en el atributo employeeID, podríamos usar el employeeID en combinación con cualquiera o todos los demás atributos de esta tabla para identificar de forma única una tupla en la mesa. Ejemplos de superclaves en este esquema serían {employeeID, Name}, {employeeID, Name, job} y {employeeID, Name, job, departmentID}. El último ejemplo se conoce como superclave trivial, porque utiliza todos los atributos de esta tabla para identificar la tupla.
En una base de datos real, no necesitamos valores para todos esos atributos para identificar una tupla. Solo necesitamos, según nuestro ejemplo, el conjunto {employeeID}. Se trata de una superclave mínima , es decir, un conjunto mínimo de atributos que se puede utilizar para identificar una sola tupla. employeeID es una clave candidata .
Ejemplo
Nombre de la monarca | Número de monarca | Casa Real |
---|---|---|
Eduardo | II | Plantagenet |
Eduardo | III | Plantagenet |
Ricardo | III | Plantagenet |
Enrique | IV | Lancaster |
Primero, enumere todos los conjuntos de atributos:
- • {}
- • {Monarch Name}
- • {Número de monarca}
- • {Casa Real}
- • {Monarch Name, Monarch Number}
- • {Monarch Name, Royal House}
- • {Número Monarca, Casa Real}
- • {Monarch Name, Monarch Number, Royal House}
En segundo lugar, elimine todos los conjuntos que no cumplan con el requisito de superclave. Por ejemplo, {Monarch Name, Royal House} no puede ser una superclave porque para los mismos valores de atributo (Edward, Plantagenet), hay dos tuplas distintas:
- (Eduardo, II , Plantagenet)
- (Eduardo, III , Plantagenet)
Finalmente, después de la eliminación, los conjuntos de atributos restantes son las únicas superclaves posibles en este ejemplo:
- {Monarch Name, Monarch Number} (clave de candidato)
- {Monarch Name, Monarch Number, Royal House}
En realidad, las superclaves no se pueden determinar simplemente examinando un conjunto de tuplas en una relación. Una superclave define una restricción de dependencia funcional de un esquema de relación que debe cumplirse para todas las posibles relaciones de instancia de ese esquema de relación.
Si una relación contiene 'n' atributos, el número máximo de superclaves posibles es 2 n .
Una relación de grado n tiene 2 n superclaves siempre que ∅ sea una clave candidata para esa relación. Por ejemplo:
Nombre | Oficina asumida |
---|---|
Joe Biden | 2021-01-20 |
donde ∅ → {Nombre, cargo asumido} - lo que significa que solo una persona puede ser presidente. Hay cuatro superclaves en President:
- • {}
- • {Nombre}
- • {Oficina asumida}
- • {Nombre, oficina asumida}
Ver también
Referencias
- ^ Fecha, Christopher (2015). "Primeros artículos relacionales de Codd: un análisis crítico" (PDF) . warwick.ac.uk . Consultado el 4 de enero de 2020 .
Tenga en cuenta que el extracto permite que una "relación" tenga cualquier número de claves primarias y, además, que dichas claves pueden ser "redundantes" (mejor: reducible ). En otras palabras, lo que el artículo llama una clave primaria es lo que más tarde (y mejor) se conoció como una superclave , y lo que el artículo llama una clave primaria no redundante (mejor: irreducible ) es lo que más tarde se conoció como una clave candidata o (mejor ) solo una llave .
- ^ Introducción a los sistemas de gestión de bases de datos . Tata McGraw-Hill. 2005. p. 77. ISBN 9780070591196.
no hay dos tuplas en ninguna relación legal
Otras lecturas
- Silberschatz, Abraham (2011). Conceptos del sistema de base de datos (6ª ed.) . McGraw-Hill. págs. 45–46. ISBN 978-0-07-352332-3.
enlaces externos
- Términos de referencia de la base de datos de relaciones, claves : una descripción general de los diferentes tipos de claves en un RDBMS