¿Qué diferencia hay entre la clave Súper y la Candidata en ERDB?Clave de Superkey vs. Candidato
Gracias.
¿Qué diferencia hay entre la clave Súper y la Candidata en ERDB?Clave de Superkey vs. Candidato
Gracias.
clave candidata es una superkey mínima
+1, además sería bueno definir "mínimo" aquí ya que no es intuitivo. Por ejemplo, en la tabla (a, b, c), siendo (a) únicos y además (b, c) únicos, tanto (a) como (b, c) deberían ser claves candidatas. – orip
Mínimo en el sentido de que si se elimina un atributo de la clave candidata, la fila ya no se puede identificar de manera única. – libjup
Para mí, una superclave generalmente presentaría ambigüedades sobre una clave candidata
Una clave candidata es una superclave mínima. Entonces, una superclave no es estrictamente "más amplia" porque una clave candidata también es una superclave. – sqlvogel
@david: ¿no es "superkey mínima" un oxímoron? – gbn
"generalmente introduce ambigüedades" - ¿Qué quieres decir? Por ejemplo, en esta respuesta (http://stackoverflow.com/questions/3938736/enforce-constraints-between-tables/3940708#3940708), la tabla EmployeeDepartments tiene una clave candidata '(employee_ID)' y una superclave '(employee_department_name, employee_ID) '. Ambos son necesarios para la integridad de los datos, ¿dónde está la ambigüedad? – onedaywhen
Una superclave es un conjunto de columnas que identifican de manera única ifies una fila. Una clave Candidato sería un conjunto MÍNIMO de columnas que identifica de manera única una fila. Entonces, esencialmente, una Superkey es una clave Candidata con columnas adicionales innecesarias.
"un SuperTecla es una clave candidata con columnas adicionales innecesarios" - - las columnas adicionales pueden ser realmente necesarias para hacer referencia a la tabla y garantizar la integridad de los datos, por ejemplo '(employee_ID)' es único, pero puede ser necesaria una clave en '(employee_ID, department_name)' para ciertas tablas que restringen a los empleados de acuerdo con su departamento. – onedaywhen
Vamos a mantenerlo simple
Supertecla - Un juego de llaves que define de forma exclusiva un row
.So de todos los atributos, si incluso uno solo es unique
entonces todos los subconjuntos que tienen ese atributo único cae bajo superkey
.
clave candidata - Un superkey
de los cuales no más lejos subconjunto se puede derivar que puede identificar el rows uniquely
, O simplemente podemos decir que es la minimal superkey
.
Clave de superclave y candidato son términos del modelo de base de datos relacional. ¿Qué significa "ERDB"? Tal vez se está refiriendo al modelo de relación de la entidad (ER), que es un conjunto de convenciones para dibujar imágenes sobre datos. El modelo ER es algo diferente del modelo relacional. – sqlvogel