Hay algunas diferencias más entre la clave principal y la clave de candidato que analizaré con la ayuda del cuadro de comparación que se muestra a continuación.
Gráfica comparativa
Bases para la comparación | Clave primaria | Llave candidata |
---|---|---|
BASIC | Solo puede haber una clave primaria en cualquier relación. | Puede haber más de una clave candidata en una relación. |
NULO | Ningún atributo de una clave principal puede contener un valor NULL. | El atributo de una clave de candidato puede tener un valor NULL. |
Especificar | Es opcional especificar una clave primaria para cualquier relación. | No puede haber una relación sin una clave candidata especificada. |
Característica | La clave primaria describe el atributo más importante para la relación. | Las claves de candidatos presentan candidatos que pueden calificar para la clave principal. |
Viceversa | Una clave principal es una clave candidata. | Pero no es obligatorio que cada clave candidata pueda ser una clave primaria. |
Definición de clave primaria
La clave principal es un atributo o un conjunto de atributos que identificarán de forma única cada tupla en una relación. Sólo puede haber una clave principal para cada relación. Debe tenerse cuidado de que una clave principal nunca debe contener un valor NULO, y debe tener el valor único para cada tupla en la relación. Los valores del atributo / s de la clave primaria deben ser estáticos, es decir, el valor del atributo nunca debe cambiarse o raramente.
Una de las claves de candidato se califica para convertirse en una clave principal. Las reglas que una clave candidata debe calificar para convertirse en primaria es que el valor de la clave nunca debe ser NULL y debe ser único para todas las tuplas.
Si una relación contiene un atributo que es una clave principal de alguna otra relación, entonces ese atributo se llama clave externa .
Se recomienda averiguar la clave principal de una relación antes de introducir otros atributos de una relación, ya que la clave primaria identifica cada tupla de forma única. Es mejor elegir un solo atributo o un pequeño número de atributos como clave principal, ya que facilita el manejo de las relaciones.
Ahora veamos un ejemplo de una clave principal.
Estudiante {ID, Nombre, Apellido, Edad, Dirección}
Aquí primero descubriremos las claves de los candidatos. He descubierto dos claves candidatas {ID} y {First_name, Last_name} ya que identificarán de forma única a cada estudiante en la relación de Estudiante. Ahora, aquí elegiré ID como mi clave principal porque a veces puede suceder que dos estudiantes tengan el mismo nombre y apellido, por lo que será fácil rastrear a un estudiante con su ID .
Definición de clave de candidato
Una clave candidata es un atributo o un conjunto de atributos que definen de forma única una tupla en una relación. Puede haber más de una clave candidata en una relación. Estas claves de candidato son los candidatos que pueden calificar para convertirse en una clave principal.
Aunque cada clave candidata califica para convertirse en una clave principal, solo una puede elegirse como clave principal. Las reglas que requiere una clave candidata para convertirse en clave principal son el valor de atributo de la clave que nunca puede ser NULL en ningún dominio de la clave, debe ser único y estático .
Si todas las claves candidatas califican para la clave principal, entonces un DBA experimentado debe tomar la decisión de averiguar la clave principal. Nunca puede haber una relación sin clave candidata.
Entendamos la clave candidata con un ejemplo. Si agregamos algunos atributos más a la relación de Estudiante, lo discutí anteriormente.
Estudiante {ID, First_name, Last_name, Age, Address, DOB, Department_name}
Aquí puedo encontrar dos claves candidatas que son {ID}, {First_name, Last_name, DOB} . Por lo tanto, puede comprender que las claves candidatas son aquellas que identifican de manera única una tupla en una relación.
Diferencias Clave Entre Clave Primaria y Candidata
- El punto básico que diferencia la clave primaria de la clave candidata es que solo puede haber una primaria para cualquier relación en un esquema. Sin embargo, puede haber múltiples claves candidatas para una sola relación.
- El atributo bajo la clave principal nunca puede contener un valor NULL, ya que la función principal de la clave principal es identificar de forma única un registro en relación. Incluso una clave principal se puede utilizar como clave externa en otra relación, y por lo tanto no debe ser NULL para que la relación de referencia pueda encontrar las tuplas en una relación de referencia. La clave candidata puede ser NULL a menos que se especifique la restricción del atributo no null.
- Es opcional especificar una clave principal, pero no puede haber una relación sin claves candidatas.
- La clave principal describe el atributo único y más importante de una relación, mientras que las claves candidatas proporcionan a los candidatos entre los cuales se puede seleccionar uno como clave principal.
- Cada clave principal es una clave candidata, pero viceversa no es cierta.
Conclusión:
Es opcional para una relación especificar una clave primaria. Por otro lado, si está declarando una relación, las claves candidatas deben estar presentes en esa relación para construir una buena relación.