Tipos de Claves en Modelo Relacional (Candidata, Súper, Primaria, Alternativa y Foránea) – Part 1

 

SGBD | Introducción al modelo relacional y reglas de Codd 

Diferentes tipos de claves en el modelo relacional 

Clave candidata: el conjunto mínimo de atributos que pueden identificar de forma única una tupla se conoce como clave candidata. Por ejemplo, STUD_NO en la relación ESTUDIANTE. 

  • Es una superclave mínima.
  • Es una súper clave sin datos repetidos que se denomina clave candidata.
  • El conjunto mínimo de atributos que pueden identificar de forma única un registro.
  • Debe contener valores únicos.
  • No puede contener valores NULL.
  • Cada tabla debe tener al menos una única clave candidata.
  • Una tabla puede tener varias claves candidatas pero solo una clave principal (la clave principal no puede tener un valor NULL, por lo que la clave candidata con valor NULL no puede ser la clave principal).

Por ejemplo: Studid, Roll No y email son claves candidatas.

  • El valor de la clave candidata es único y no nulo para cada tupla.
  • Puede haber más de una clave candidata en una relación. Por ejemplo, STUD_NO es la clave candidata para la relación ESTUDIANTE.
  • La clave candidata puede ser simple (con un solo atributo) o compuesta también. Por ejemplo, {NO_ESTUDIANTE, NO_CURSO} es una clave candidata compuesta para la relación ESTUDIANTE_CURSO.
  • No, las claves candidatas en una relación son nC(suelo(n/2)), por ejemplo, si una relación tiene 5 atributos, es decir, R(A,B,C,D,E), entonces el número total de claves candidatas es 5C(suelo (5/2))=10.

Nota: En SQL Server, una restricción única que tiene una columna anulable, permite el valor ‘ null ‘ en esa columna solo una vez . Es por eso que el atributo STUD_PHONE es un candidato aquí, pero no puede ser un valor ‘nulo’ en el atributo de clave principal. 

Super Clave: El conjunto de atributos que pueden identificar de forma única una tupla se conoce como Super Clave. Por ejemplo, STUD_NO, (STUD_NO, STUD_NAME), etc. 
 O Una superclave es un grupo de claves únicas o múltiples que identifica filas en una tabla. Admite valores NULL. Ejemplo: SNO+TELÉFONO es una súper clave.

  • Agregar cero o más atributos a la clave candidata genera la superclave.
  • Una clave candidata es una súper clave, pero viceversa no es cierto.

Clave principal: puede haber más de una clave candidata en relación con la cual se puede elegir una como clave principal. Por ejemplo, STUD_NO, así como STUD_PHONE, son claves candidatas para la relación ESTUDIANTE, pero STUD_NO se puede elegir como clave principal (solo una de muchas claves candidatas).  

Clave primaria:

  • Es una clave única.
  • Puede identificar solo una tupla (un registro) a la vez.
  • No tiene valores duplicados, tiene valores únicos.
  • No puede ser NULL.
  • Las claves primarias no deben ser necesariamente una sola columna; más de uno 
    la columna también puede ser una clave principal para una tabla.
  • Por ejemplo:- tabla ESTUDIANTE SNO es una clave principal
    SNO SNAME DIRECCIÓN TELÉFONO 

Clave alternativa: la clave candidata distinta de la clave principal se denomina clave alternativa. Por ejemplo, STUD_NO, así como STUD_PHONE, son claves candidatas para la relación ESTUDIANTE, pero STUD_TELÉFONO será una clave alternativa (solo una de muchas claves candidatas). es una llave secundaria

  • Todas las claves que no son claves primarias se denominan claves alternativas.
  • Contiene dos o más campos para identificar dos o más registros.
  • Estos valores se repiten.
    Por ejemplo:- SNAME, DIRECCIÓN son teclas alternativas 

Clave externa: si un atributo solo puede tomar los valores que están presentes como valores de algún otro atributo, será una clave externa para el atributo al que se refiere. La relación a la que se hace referencia se llama relación referenciada y el atributo correspondiente se llama atributo referenciado y la relación que se refiere a la relación referenciada se llama relación referencial y el atributo correspondiente se llama atributo referenciador. El atributo al que se hace referencia de la relación a la que se hace referencia debe ser la clave principal. Por ejemplo, STUD_NO en STUDENT_COURSE es una clave externa para STUD_NO en la relación ESTUDIANTE.  

  • Es una clave que actúa como clave principal en una tabla y actúa como 
    clave secundaria en otra tabla.
  • Combina dos o más relaciones (tabla) a la vez.
  • Actúan como una referencia cruzada entre las tablas.
  • Por ejemplo, DNO es una clave principal en la tabla DEPT y no clave en EMP

Puede valer la pena señalar que, a diferencia de la clave principal de cualquier relación dada, la clave externa puede ser NULL y puede contener tuplas duplicadas, es decir, no necesita seguir la restricción de unicidad. Por ejemplo, STUD_NO en la relación STUDENT_COURSE no es único. Se ha repetido para la primera y tercera tupla. Sin embargo, STUD_NO en la relación ESTUDIANTE es una clave principal y debe ser siempre única, y no puede ser nula. 

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *