stringtranslate.com

Superclave

En el modelo de datos relacionales, una superclave es cualquier conjunto de atributos que identifica de forma única cada tupla de una relación . [1] [2] Debido a que los valores de superclave son únicos, las tuplas con el mismo valor de superclave también deben tener los mismos valores de atributos no clave. Es decir, los atributos no clave dependen funcionalmente de la superclave.

El conjunto de todos los atributos es siempre una superclave (la superclave trivial). Las tuplas de una relación son únicas por definición y los duplicados se eliminan después de cada operación, por lo que el conjunto de todos los atributos siempre tiene un valor único para cada tupla. Una clave candidata (o superclave mínima) es una superclave que no se puede reducir a una superclave más simple eliminando un atributo. [3]

Por ejemplo, en un esquema de empleado con atributos employeeID, name, job, y departmentID, si employeeIDlos valores son únicos, entonces employeeIDcombinados con cualquiera o todos los demás atributos pueden identificar de forma única las tuplas en la tabla. Cada combinación, { employeeID}, { employeeID, name}, { employeeID, name, job}, etc., es una superclave. { employeeID} es una clave candidata, ya que ningún subconjunto de sus atributos es también una superclave. { employeeID, name, job, departmentID} es la superclave trivial.

Si el conjunto de atributos K es una superclave de la relación R , entonces en todo momento la proyección de R sobre K tiene la misma cardinalidad que R mismo.

Ejemplo

Primero, enumera todos los conjuntos de atributos:

• {}
• {Nombre del monarca}  
• {Número de Monarca}  
• {Casa Real}
• {Nombre de la monarca, Número de la monarca}
• {Nombre del monarca, casa real}
• {Número de Monarca, Casa Real}
• {Nombre del monarca, Número del monarca, Casa real}

En segundo lugar, elimine todos los conjuntos que no cumplan con el requisito de superclave. Por ejemplo, {Nombre del monarca, Casa real} no puede ser una superclave porque para los mismos valores de atributo (Eduardo, Plantagenet), hay dos tuplas distintas:

Finalmente, después de la eliminación, los conjuntos de atributos restantes son las únicas superclaves posibles en este ejemplo:

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 relaciones de instancia posibles de ese esquema de relación.

Véase también

Referencias

  1. ^ Date, Christopher (2015). "Codd's First Relational Papers: A Critical Analysis" (PDF) . warwick.ac.uk . Consultado el 4 de enero de 2020 . Nótese que el extracto permite que una "relación" tenga cualquier número de claves primarias y, además, que dichas claves puedan ser "redundantes" (mejor: reducibles). En otras palabras, lo que el artículo llama una clave primaria es lo que más tarde (y mejor) se conocería como una superclave, y lo que el artículo llama una clave primaria no redundante (mejor: irreducible) es lo que más tarde se conocería como una clave candidata o (mejor) simplemente una "clave".
  2. ^ Introducción a los sistemas de gestión de bases de datos . Tata McGraw-Hill. 2005. pág. 77. ISBN 9780070591196. no existen dos tuplas en ninguna relación jurídica
  3. ^ Saiedian, H. (1996-02-01). "Un algoritmo eficiente para calcular las claves candidatas de un esquema de base de datos relacional". The Computer Journal . 39 (2): 124–132. doi :10.1093/comjnl/39.2.124. ISSN  0010-4620.

Lectura adicional

Enlaces externos