Soy nuevo en DBMS y todavía estoy aprendiendo la teoría.
Estoy realmente confundido con este negocio clave y después de buscar en Google lo reduje a solo 2 teclas que no obtengo (clave principal y superclave).
Tengo algunas preguntas sobre DBMS. Le agradecería que me las pueda responder.
1) ¿Cuál es la diferencia entre la clave primaria y la súper clave en DBMS? Lo agradecería mucho si puede usar un ejemplo completo para explicar adecuadamente
2) ¿Pueden la clave primaria y la súper clave ambas tener múltiples columnas combinadas para formar la clave primaria y la súper clave?
3) ¿Es la clave primaria un subconjunto de la superclave o viceversa?
Respuestas:
Una Superclave es simplemente una Clave de candidato no mínima , es decir, una con columnas adicionales no estrictamente necesarias para garantizar la unicidad de la fila.
Una clave primaria es una clave mínima de candidato , es decir, todas las columnas constituyentes son estrictamente necesarias para garantizar la unicidad.
Como desarrollador / diseñador de bases de datos con 30 años de experiencia, nunca había escuchado el término Super Key hasta que vi esta pregunta y la busqué. El concepto de Súper clave parece más relacionado con el tema del rendimiento y el diseño del esquema físico, ya que se asigna directamente al concepto de un índice único no agrupado con columnas adicionales para una mejor cobertura de consultas.
fuente
Super Keys: Super key significa superconjunto de una clave. Una Superclave es un conjunto de uno o más atributos que se toman colectivamente y pueden identificar todos los demás atributos de manera única.
Por ejemplo, estamos teniendo mesa
Entonces en esta tabla podemos tener
Como nuestra superclave. Cada superclave puede identificar de forma única cada tupla (registro).
Claves candidatas Las claves candidatas son una súper clave que no tiene atributos redundantes. En otras palabras, las claves candidatas son superclaves mínimas. Por ejemplo, en la ilustración de arriba
Estas dos claves pueden ser claves candidatas, ya que las claves restantes tienen atributos redundantes. El registro de medias en superclave (BookId, BookName) se puede identificar de forma exclusiva con solo bookid y, por lo tanto, Bookname es un atributo redundante
Clave primaria: es una clave candidata elegida por el diseñador de la base de datos para identificar entidades en un conjunto de entidades. O Una clave que se utiliza para identificar de forma exclusiva cada registro se conoce como clave primaria.
De las claves candidatas anteriores, cualquiera puede ser la clave principal. Y el otro que no se elija como clave principal se conocerá como clave alternativa
fuente
alternative key
essecondary key
son los mismos. ¡Gran respuesta!De esta respuesta mía de stackoverflow.com :
De esta respuesta de stackoverflow.com mía en relación con una tabla dada:
(Como comenté allí, "Las cuatro oraciones en negrita para FD, hold, superkey y CK habrían sido suficientes").
(Una tabla con un CK vacío está restringido a contener como máximo una fila. Un conjunto de columnas determinado por el conjunto vacío está obligado a tener el mismo valor subrow en cada fila).
fuente
Clave Una clave 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 utilizan para crear enlaces entre diferentes tablas.
Tipos de claves Las siguientes tablas o relaciones se utilizarán para definir diferentes tipos de claves.
Clave primaria El atributo o combinación de atributos que identifica de forma exclusiva una fila o registro en una relación se conoce como clave primaria.
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 único. Un valor de clave secundaria puede referirse a muchos registros.
Clave candidata o clave alternativa Una relación solo puede tener una clave primaria. Puede contener muchos campos o una combinación de campos que se pueden usar como clave principal. Un campo o combinación de campos se utiliza como clave principal. Los campos o la combinación de campos que no se utilizan como clave principal se conocen como clave candidata o clave alternativa.
Clave compuesta o clave concatenada Una clave primaria que consta de dos o más atributos se conoce como clave compuesta.
Clave de clasificación o control Un campo o combinación de campos que se utiliza para secuenciar físicamente los datos almacenados llamados clave de clasificación. También se conoce como clave de control.
Una superclave es una combinación de atributos que se pueden usar de forma exclusiva para identificar un registro de base de datos. Una mesa puede tener muchas superclaves. Las claves candidatas son un subconjunto especial de superclaves que no contienen información extraña.
Ejemplo de superclave: imagine una tabla con los campos Nombre, Edad, SSN y <Extensión de teléfono>. Esta tabla tiene muchas posibles superclaves. Tres de estos son SSN, extensión de teléfono y nombre. De los enumerados, solo el SSN es una clave candidata, ya que los otros contienen información que no es necesaria para identificar registros de forma exclusiva.
Clave externa Una clave externa es un atributo o combinación de atributos 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 primaria.
para la clave Super mínima, consulte este enlace, es más claro allí http://www.answers.com/topic/superkey-1
fuente