software significado management google examples database

database - significado - ¿Cuáles son las diferencias entre una superclave y una clave candidata?



database sql (9)

¿Cuáles son las diferencias entre una superclave y una clave candidata? Ya me he referido a wiki, dotnet spider y también al libro 4th Edition de Database Concepts. Pero no puedo entender el concepto. ¿Alguien puede explicarlo con el ejemplo adecuado?


Básicamente, una Clave candidata es una Súper clave de la que no se puede eliminar más Atributo.

Una Súper clave identifica únicamente filas / tuplas en una tabla / relación de una base de datos. Está compuesto por un conjunto de atributos que combinados pueden asumir valores únicos sobre las filas / tuplas de una tabla / relación. Una Clave candidata se crea mediante una Súper clave, eliminando / podando iterativamente atributos que no son clave, manteniendo un invariante: la clave recién creada todavía necesita identificar de manera única las filas / tuplas.

Una Clave candidata podría verse como una Superclave mínima , en términos de atributos.

Candidate Keys se puede utilizar para hacer referencia únicamente a filas / tuplas, pero desde la perspectiva del motor RDBMS, la carga de mantener índices sobre ellos es mucho más pesada.


Súper clave: superclave es un conjunto de atributos en una relación (tabla). Que puede definir cada tupple en la relación (tabla) de forma única.

Clave candidata: podemos decir que la súper clave mínima es la clave candidata. Candidato es el subconjunto más pequeño de la súper clave. Y puede definir de forma única cada tupple.


Superkey: conjunto de atributos o combinación de atributos que identifican de manera única a la tupla en una relación determinada. Superkey tiene dos propiedades unicidad y conjunto reducible

Clave candidata: conjunto mínimo de superkey que tienen las siguientes dos propiedades: unicidad y conjunto irreductible o atributo


Una Súper clave es un conjunto o una de más columnas para identificar de manera única las filas en una tabla.

Las claves candidatas se seleccionan del conjunto de superclaves , lo único que tenemos cuidado al seleccionar la clave candidata es: no debe tener ningún atributo redundante. Esa es la razón por la que también se denominan superclaves mínimas.

En la tabla Employee hay tres columnas: Emp_Code,Emp_Number,Emp_Name

Súper llaves:

Todos los siguientes conjuntos pueden identificar de manera única las filas de la tabla de empleados.

{Emp_Code} {Emp_Number} {Emp_Code, Emp_Number} {Emp_Code, Emp_Name} {Emp_Code, Emp_Number, Emp_Name} {Emp_Number, Emp_Name}

Claves candidatas:

Como mencioné anteriormente, son las súper claves mínimas sin atributos redundantes.

{Emp_Code} {Emp_Number}

Clave primaria:

La clave principal se selecciona de los conjuntos de claves candidatas por el diseñador de la base de datos. Entonces, {Emp_Code} o {Emp_Number} pueden ser la clave principal.


Una clave candidata se elige como la clave principal. Otras claves candidatas se llaman teclas alternativas .


Una súper clave es cualquier combinación de columnas que identifica de manera única una fila en una tabla. Una clave candidata es una súper clave que no puede tener ninguna columna eliminada sin perder la propiedad de identificación única. Esta propiedad a veces se conoce como minimización o (mejor) irreductibilidad.

Una súper clave ≠ una clave principal en general. La clave principal es simplemente una clave candidata elegida para ser la clave principal. Sin embargo, en la teoría de la dependencia, las claves candidatas son importantes y la clave principal no es más importante que cualquiera de las otras claves candidatas. Las claves candidatas no primarias también se conocen como claves alternativas.

Considera esta tabla de Elementos:

CREATE TABLE elements ( atomic_number INTEGER NOT NULL PRIMARY KEY CHECK (atomic_number > 0 AND atomic_number < 120), symbol CHAR(3) NOT NULL UNIQUE, name CHAR(20) NOT NULL UNIQUE, atomic_weight DECIMAL(8,4) NOT NULL, period SMALLINT NOT NULL CHECK (period BETWEEN 1 AND 7), group CHAR(2) NOT NULL -- ''L'' for Lanthanoids, ''A'' for Actinoids CHECK (group IN (''1'', ''2'', ''L'', ''A'', ''3'', ''4'', ''5'', ''6'', ''7'', ''8'', ''9'', ''10'', ''11'', ''12'', ''13'', ''14'', ''15'', ''16'', ''17'', ''18'')), stable CHAR(1) DEFAULT ''Y'' NOT NULL CHECK (stable IN (''Y'', ''N'')) );

Tiene tres identificadores únicos: número atómico, nombre del elemento y símbolo. Cada uno de estos, por lo tanto, es una clave candidata. Además, a menos que esté tratando con una tabla que solo puede contener una fila de datos (en cuyo caso el conjunto vacío (de columnas) es una clave candidata), no puede tener una clave candidata menor que una columna, por lo que las claves candidatas son irreductibles.

Considere una clave compuesta de {número atómico, nombre del elemento, símbolo}. Si proporciona un conjunto coherente de valores para estos tres campos (digamos {6, Carbono, C}), identificará de manera única la entrada de un elemento: Carbono. Sin embargo, esta es una superclave que no es una clave candidata porque no es irreductible; puede eliminar dos de los tres campos sin perder la propiedad de identificación única.

Como otro ejemplo, considere una clave compuesta de {número atómico, período, grupo}. Nuevamente, este es un identificador único para una fila; {6, 2, 14} identifica carbono (nuevamente). Si no fuera por Lanthanoids y Actinoids, entonces la combinación de {period, group} sería única, pero debido a ellos, no lo es. Sin embargo, como antes, el número atómico por sí solo es suficiente para identificar un elemento de manera única, por lo que esta es una súper clave y no una candidata.


superclave es la combinación de campos mediante los cuales la fila se identifica de manera única y la clave candidata es la súper clave mínima.


Candidate key es una super key de la que no puede eliminar ningún campo.

Por ejemplo, una versión de software puede identificarse ya sea por versión mayor / menor, o por la fecha de compilación (suponemos construcciones nocturnas).

Almacenar la fecha en tres campos no es una buena idea, por supuesto, pero supongamos que es para fines de demostración:

year month date major minor 2008 01 13 0 1 2008 04 23 0 2 2009 11 05 1 0 2010 04 05 1 1

Entonces (year, major, minor) o (year, month, date, major) son súper claves (ya que son únicas) pero no claves candidatas, ya que puede eliminar el year o el major y el conjunto restante de columnas seguirá siendo un super llave.

(year, month, date) y (major, minor) son claves candidatas, ya que no puede eliminar ninguno de los campos sin romper la exclusividad.


Súper clave: una superclave es cualquier conjunto de atributos para los cuales se garantiza que los valores serán únicos para todos los posibles conjuntos de tuplas en una tabla en todo momento.

Clave de candidato: Una clave candidata es una "súper clave" mínima que significa el subconjunto más pequeño del atributo de superclave que es único.