key - términos - superclave modelo relacional
Diferencias entre tecla, superclave, superclave mínima, clave candidata y clave principal (9)
Soy nuevo en MySQL, y estoy realmente confundido acerca de los diferentes términos que he encontrado. Intenté buscar en Google la respuesta, pero los resultados son realmente confusos y, cuando intento entender, parece que son lo mismo.
¿Cuáles son exactamente las diferencias entre clave, superkey, superkey mínima, clave candidata y clave principal?
Clave candidata : la clave candidata se puede definir como un conjunto mínimo de atributos que puede identificar de forma única una tupla que se conoce como clave candidata. Por ejemplo, STUD_NO en la relación de abajo ESTUDIANTE.
- El valor de Candidate Key es único y no nulo para cada tupla.
- Puede haber más de una clave candidata en una relación. Por ejemplo, tanto STUD_NO como STUD_PHONE son claves candidatas para la relación ESTUDIANTE.
- La clave candidata puede ser simple (teniendo solo un atributo) o compuesta también. Por ejemplo, {STUD_NO, COURSE_NO} es un compuesto
clave candidata para la relación STUDENT_COURSE.
Súper clave : el conjunto de atributos que pueden identificar de forma única una tupla se conoce como Súper clave. Por ejemplo, STUD_NO, (STUD_NO, STUD_NAME) etc. Agregar cero o más atributos a la clave candidata genera una súper clave. Una clave candidata es una súper clave, pero viceversa no es verdadera. Clave principal: puede haber más de una clave candidata en una relación de la cual se puede elegir una clave principal. Por ejemplo, tanto STUD_NO como STUD_PHONE son claves candidatas para la relación ESTUDIANTE pero se puede elegir STUD_NO como clave principal (solo una de las muchas claves candidatas).
Clave alternativa : la clave candidata que no sea la clave principal se llama como clave alternativa. Por ejemplo, STUD_NO así como STUD_PHONE son dos claves candidatas para la relación ESTUDIANTE pero STUD_PHONE será la clave alternativa (solo una de las muchas claves candidatas).
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 hace referencia. La relación a la que se hace referencia se denomina relación de referencia y el atributo correspondiente se denomina atributo referenciado y la relación que se refiere a la relación referenciada se denomina relación de referencia y el atributo correspondiente se denomina atributo de referencia. El atributo referenciado del atributo de referencia debe ser la clave principal. Por ejemplo, STUD_NO en STUDENT_COURSE es una clave foránea para STUD_NO en relación con STUDENT.
Basado principalmente en la respuesta aceptada, pero con algunos ajustes para adaptarse mejor a las definiciones que se enseñan en algunos cursos:
- Clave : un conjunto de $ / ge1 $ columnas.
- Superkey : una clave que $ / supseteq $ una clave candidata.
- Por lo tanto, una superclave debe contener $> 1 $ columnas.
- Minimal Super key $ / equiv $ Candidate Key : Una clave que puede identificar de forma única cada fila en una tabla.
- Clave principal : la clave candidata elegida para hacer eso.
- Tecla secundaria / Tecla alternativa : Una clave candidata no elegida para hacer eso.
- Clave de búsqueda : una clave utilizada para localizar registros.
- Clave compuesta o clave de concatenación : una clave con $> 1 $ columnas.
- Por lo general, implica "clave primaria compuesta", aunque la "clave alternativa compuesta" también es una cosa.
- Tecla Sort o control : tecla utilizada para secuenciar físicamente los datos almacenados.
- Clave externa Una clave en una tabla que coincide con la clave principal de otra tabla.
- La tabla en la que reside la clave externa se denomina tabla dependiente.
- La tabla a la que se refiere la clave externa se conoce como tabla primaria.
La clave principal es un subconjunto de superclave. Cuál es la definición única y otro campo dependen de ello. En una tabla, pueden ser solo una clave principal y el subconjunto de descanso son claves candidatas o alternativas.
Siempre me ha resultado difícil recordar todas las llaves; así que mantengo las siguientes notas a mano, ¡espero que ayuden a alguien! Avíseme si puede mejorarse.
Clave : un atributo o combinación de atributos que identifica de manera única una entidad / registro en una tabla relacional.
PK : Una única clave que es única y no nula. Es una de las claves candidatas.
Clave externa : FK es una clave en una tabla (hijo) que identifica de manera única una fila de otra tabla (principal). Un FK no es único en la tabla secundaria. Es una clave candidata en la tabla padre. La integridad referencial se mantiene ya que el valor en FK está presente como un valor en PK en la tabla padre, de lo contrario es NULL.
Clave única : una clave única que puede o no ser NULL
Clave natural : PK en OLTP. Puede ser un PK en OLAP.
Clave sustituta : es la PK sustituta en OLAP que actúa como sustituto de PK en OLTP. Clave artificial generada internamente en OLAP.
Clave compuesta : PK formada por múltiples atributos
Súper clave: una clave que se puede usar de forma única para identificar un registro de base de datos, que puede contener atributos adicionales que no son necesarios para identificar registros de manera única.
Clave candidata : una clave candidata puede usarse de manera única para identificar un registro de la base de datos sin ningún dato extraño. No son nulos y únicos. Es una superclave mínima.
Clave alternativa : una clave candidata que no es la clave principal se denomina clave alternativa.
Clave / s candidato / s con datos extraños: considere que se puede usar para identificar un registro en la tabla Empleado, pero la clave candidata sola es suficiente para esta tarea. Entonces se convierte en información extraña.
Tenga en cuenta que PK, clave externa, clave única, clave natural, clave sustituta, clave compuesta se definen como objetos de base de datos; donde la clave natural es un PK en el OLTP y podría ser un PK en el OLAP objetivo. Para el resto de las claves, le corresponde al diseñador / arquitecto de DB decidir si las restricciones de integridad únicas / no nulas / referenciales deben aplicarse o no.
A continuación, he intentado utilizar la teoría de conjuntos para simplificar la representación de la membresía de las claves entre sí.
key = { All of the below keys }
PK = { PK }
Foreign Key = { Key with Not Null constraint }
Unique Key = { {Candidate Key/s}, {attributes containing NULL} }
Natural key = { PK }
Surrogate Key = { PK }
Composite Key = { PK }
Super Key = { {Candidate Key/s}, {Candidate Key/s with Extraneous data} }
Candidate Key = { PK, {Alternate Key/s} }
Alternate Key = { {Candidate Keys} - PK }
Candidate Key/s with Extraneous data = { }
Lo he resumido a continuación:
Notas: an-overview-of-the-database-keys-primary-key-composite-key-surrogate-key-et-al
Aquí copio y pego parte de la información que he recopilado
La tecla clave A es una sola o combinación de múltiples campos. Su propósito es acceder o recuperar filas de datos de la tabla de acuerdo con el requisito. Las claves se definen en tablas para acceder o secuenciar los datos almacenados de forma rápida y sin problemas. También se usan para crear enlaces entre diferentes tablas.
Tipos de llaves
Clave principal El atributo o combinación de atributos que identifica de manera única una fila o registro en una relación se conoce como clave principal.
Clave secundaria Un campo o combinación de campos que es la base para la recuperación se conoce como clave secundaria. La clave secundaria es un campo no exclusivo. Un valor clave secundario puede referirse a muchos registros.
Clave candidata o clave alternativa Una relación puede tener solo una clave principal. Puede contener muchos campos o combinación de campos que se pueden usar como clave principal. Un campo o combinación de campos se usa como clave principal. Los campos o la combinación de campos que no se utilizan como clave principal se conocen como clave candidata o alternativa.
Clave compuesta o clave de concatenación Una clave principal que consta de dos o más atributos se conoce como clave compuesta.
Clave de ordenación o control Campo o combinación de campos que se utiliza para secuenciar físicamente los datos almacenados denominados claves de clasificación. También se conoce la tecla de control s.
Una superclave es una combinación de atributos que se puede utilizar de forma única para identificar un registro de base de datos. Una tabla puede tener muchas superkeys. Las claves candidatas son un subconjunto especial de superkeys que no tienen ninguna información extraña en ellas.
Ejemplo de superclave : Imagine una tabla con los campos <Name>
, <Age>
, <SSN>
y <Phone Extension>
. Esta tabla tiene muchas superkeys posibles. Tres de estos son <SSN>
, <Phone Extension, Name>
y <SSN, Name>
. De los enumerados, solo <SSN>
es una clave candidata, ya que los demás contienen información que no es necesaria para identificar registros de manera única.
Clave externa Una clave externa es un atributo o combinación de atributo en una relación cuyo valor coincide con una clave primaria en otra relación. La tabla en la que se crea la clave externa se denomina tabla dependiente. La tabla a la que se refiere la clave externa se conoce como tabla principal.
Súper clave: Súper clave es un conjunto de uno o más atributos cuyos valores identifican tupla en la relación de manera única.
Clave del candidato: la clave del candidato se puede definir como un subconjunto mínimo de la súper clave. En algunos casos, la clave candidata no puede sola, ya que solo hay un atributo que es el subconjunto mínimo. Ejemplo,
Empleado (id, ssn, nombre, addrress)
Aquí la clave candidata es (id, ssn) porque podemos identificar fácilmente la tupla usando id o ssn. A través de, el subconjunto mínimo de la súper clave es id o ssn. pero ambos pueden considerarse claves candidatas.
Clave principal: la clave principal es una de la clave candidata.
Ejemplo: Estudiante (Id, Nombre, Departamento, Resultado)
aquí
Súper clave: {Id, Id + Nombre, Id + Nombre + Departamento} porque la superclase está configurada con atributos.
Clave candidata: Id porque Id solo es el subconjunto mínimo de la súper clave.
Clave principal: Id porque Id es una de las claves candidatas
SUPER LLAVE:
Atributo o conjunto de atributos utilizados para identificar tuplas de manera única en la base de datos.
LLAVE CANDIDATA:
- La súper clave mínima es la clave candidata
- Puede ser uno o muchos
- Potenciales claves primarias
- no nulo
- atributo o conjunto de atributos para identificar de manera única los registros en DB
CLAVE PRIMARIA:
una de las claves candidatas que se utiliza para identificar registros en DB de forma exclusiva
no nulo
Superkey : un atributo o conjunto de atributos que define de forma única una tupla dentro de una relación. Sin embargo, una superclave puede contener atributos adicionales que no son necesarios para una identificación única.
Clave candidata : una superclave tal que ningún subconjunto apropiado es una superclave dentro de la relación. Por lo tanto, básicamente tiene dos propiedades: cada clave candidata identifica de forma única a tupla en la relación; & ningún subconjunto adecuado de la clave compuesta tiene la propiedad de exclusividad .
Clave compuesta : cuando una clave candidata consta de más de un atributo.
Clave principal: la clave candidata elegida para identificar tuplas de forma única dentro de la relación.
Tecla alternativa: clave candidata que no es una clave principal.
Clave externa : un atributo o conjunto de atributos dentro de una relación que coincide con la clave candidata de alguna relación.
Superkey
A superkey is a combination of attributes that can be uniquely used to identify a
database record. A table might have many superkeys.Candidate keys are a special subset
of superkeys that do not have any extraneous information in them.
Examples: Imagine a table with the fields <Name>, <Age>, <SSN> and <Phone Extension>.
This table has many possible superkeys. Three of these are <SSN>, <Phone Extension, Name>
and <SSN, Name>.Of those listed, only <SSN> is a **candidate key**, as the others
contain information not necessary to uniquely identify records.