Diferencia entre claves en SQL

sql-keys-8787306-7363551-jpg

Introducción

¡SQL Keys es la clave de su éxito en Analytics!

Los datos están creciendo a un ritmo exponencial, al igual que la demanda de profesionales que estén bien familiarizados con las bases de datos.

Las organizaciones de todo el mundo están buscando científicos y analistas de datos que puedan extraer información significativa de la gran cantidad de datos. Y uno de los lenguajes más importantes para manejar bases de datos es SQL. Es por eso que aquellos profesionales con experiencia en SQL tienen una ventaja sobre sus pares cuando se trata de trabajar con bases de datos.

sql-keys-4058737

Un aspecto importante de trabajar con bases de datos es crear una. La creación de una base de datos es un juego de pelota completamente diferente en comparación con la recuperación de datos de bases de datos. ¿Porque? Bueno, la creación de una base de datos requiere un conocimiento profundo de cómo las tablas se relacionan entre sí dentro de una base de datos y cómo manejar los registros para que no haya datos duplicados.

Un aspecto muy importante de la creación de bases de datos es comprender el concepto de claves en SQL. Estos no son más que un grupo de columnas que pueden ayudarlo a identificar filas en una tabla de manera única. Pero como cualquier otra entidad, existen muchos tipos de claves en SQL.

En este artículo, discutiré algunas de las claves SQL más comunes que cualquier científico de datos o analista debería conocer antes de comenzar a trabajar con bases de datos.

Sugiero revisar el Curso de SQL para ciencia de datos si es nuevo en SQL.

Tabla de contenido

  • ¿Qué son las claves en DBMS?
  • Super llave
  • Llave candidata
  • Clave primaria
  • Clave alternativa o secundaria
  • Clave externa
  • Clave compuesta

¿Qué son las claves en DBMS?

Las bases de datos se utilizan para almacenar cantidades masivas de información que se almacena en varias tablas. Cada tabla puede tener miles de filas. No hace falta decir que habrá muchas filas duplicadas con información redundante. ¿Cómo podemos hacer frente a eso? ¿Cómo gestionamos los registros para almacenar solo datos únicos? Y, ¿cómo relacionamos las múltiples tablas que están presentes en la base de datos?

Las claves SQL son la respuesta a todas estas consultas.

Una clave SQL es una sola columna (o atributo) o un grupo de columnas que pueden identificar de forma única filas (o tuplas) en una tabla.

Las claves SQL garantizan que no haya filas con información duplicada. No solo eso, sino que también ayudan a establecer una relación entre varias tablas en la base de datos. Por lo tanto, es imperativo conocer las diferentes claves en SQL.

¿Qué es una superclave en SQL?

La superclave es una sola clave o un grupo de varias claves que pueden identificar de forma única las tuplas en una tabla.

La superclave puede contener varios atributos que pueden no ser capaces de identificar de forma independiente las tuplas en una tabla, pero cuando se agrupan con determinadas claves, pueden identificar las tuplas de forma única.

Permítanme tomar un ejemplo para aclarar la declaración anterior. Eche un vistazo a la siguiente tabla.

sql9-2590067

Considere eso Identificación El atributo es único para cada empleado. En ese caso, podemos decir que el Identificación El atributo puede identificar de forma única las tuplas de esta tabla. Entonces, Identificación es una super clave de esta tabla. Tenga en cuenta que también podemos tener otras Super Keys en esta tabla.

Por ejemplo – (Id, nombre), (Id, correo electrónico), (Id, nombre, correo electrónico), etc., pueden ser Super claves, ya que todas pueden identificar de forma única las tuplas de la tabla. Esto es así debido a la presencia del Identificación atributo que es capaz de identificar de forma única las tuplas. Los otros atributos de las claves son innecesarios. Sin embargo, todavía pueden identificar tuplas.

¿Qué es una clave de candidato?

La clave candidata es una clave única o un grupo de varias claves que identifican de forma exclusiva las filas de una tabla.

Una clave candidata es un subconjunto de súper claves y carece de atributos innecesarios que no son importantes para identificar tuplas de forma única.

El valor de la clave de candidato es único y no nulo para todas las tuplas. Y cada mesa debe tener al menos una clave de candidato. Pero también puede haber más de una clave de candidato.

Por ejemplo, en el ejemplo que tomamos anteriormente, tanto Identificación y Correo electrónico puede actuar como candidato para la tabla, ya que contienen valores únicos y no nulos.

sql13-2255016

Por otro lado, no podemos usar atributos como Ciudad o Género para recuperar tuplas de la tabla, ya que no tienen valores únicos.

sql14-6008125

Mientras que al consultar la tabla en el Identificación El atributo nos ayudará a recuperar tuplas únicas.

sql15-8154420

Clave principal en SQL

La clave principal es la clave candidata seleccionada por el administrador de la base de datos para identificar de forma exclusiva las tuplas en una tabla.

De todas las claves candidatas que pueden ser posibles para una tabla, solo puede haber una clave que se utilizará para recuperar tuplas únicas de la tabla. Esta clave candidata se denomina clave principal.

Solo puede haber una clave principal para una tabla. Dependiendo de cómo se construya la clave candidata, la clave principal puede ser un atributo único o un grupo de atributos. Pero el punto importante a recordar es que la clave principal debe ser un atributo único y no nulo.

Puede haber dos formas de crear una clave principal para la tabla. La primera forma es alterar una ya creada para agregar la restricción de clave primaria en un atributo. Esto se muestra a continuación:

sql4-5859234

Ahora, si intento agregar una nueva fila con un valor de Id duplicado, me dará un mensaje de error.

sql5-9283779

La segunda forma de agregar una clave principal es durante la creación de la tabla. Todo lo que tiene que hacer es agregar la restricción de clave principal al final después de definir todos los atributos en la tabla.

sql6-9652268

Para definir una restricción de clave principal en varios atributos, puede enumerar todos los atributos entre paréntesis como se muestra a continuación.

sql7-1792270

Pero recuerde que estos atributos deben definirse como valores no nulos, de lo contrario, todo el propósito de usar la clave principal para identificar tuplas se vence de forma única.

Claves alternativas o secundarias en SQL

Las claves alternativas son aquellas claves candidatas que no son la clave principal.

Solo puede haber una clave principal para una tabla. Por lo tanto, todas las claves candidatas restantes se conocen como claves alternativas o secundarias. También pueden identificar tuplas de forma única en una tabla, pero el administrador de la base de datos eligió una clave diferente como clave principal.

Si miramos la tabla de Empleados una vez más, ya que he elegido Identificación como clave principal, la otra clave candidata (Correo electrónico), se convierte en la clave alternativa de la tabla.

sql16-9063177

Clave externa en SQL

La clave externa es un atributo que es una clave principal en su tabla principal, pero se incluye como un atributo en otra tabla de host.

Una clave externa genera una relación entre la tabla principal y la tabla principal. Por ejemplo, además del Empleado tabla que contiene los datos personales de los empleados, podríamos tener otra tabla Departamento que contiene información relacionada con el departamento del empleado.

sql11-8275180

La clave principal en esta tabla es el Departamento Identificación. Podemos agregar este atributo al empleado convirtiéndolo en la clave externa en la tabla. Podemos hacer esto cuando estamos creando la tabla o podemos modificar la tabla más tarde para agregar la restricción de clave externa. Aquí he alterado la tabla, pero la creación de una clave externa durante la creación de la tabla es similar a la de la clave principal.

sql10-6949261

Aquí, Dep_Id es ahora la clave externa en la tabla Empleado, mientras que es una clave principal en la tabla Departamento.

La clave externa le permite crear una relación entre dos tablas en la base de datos. Cada una de estas tablas describe datos relacionados con un campo en particular (empleado y departamento aquí). Usando la clave externa podemos recuperar fácilmente datos de ambas tablas.

sql17-8670396

Nota: Para operar con claves externas, necesita conocer las uniones, que puede encontrar en detalle en Este artículo.

El uso de claves externas facilita la actualización de la base de datos cuando sea necesario. Esto es así porque solo tenemos que hacer los cambios necesarios en filas limitadas. Por ejemplo, si el Márketing el departamento cambia de Calcuta para Pune, en lugar de actualizarlo para todas las filas relevantes en el Empleado tabla, simplemente podemos actualizar la ubicación en el Departamento mesa. Esto asegura que solo haya unos pocos lugares para actualizar y menos riesgo de tener diferentes datos en diferentes lugares.

¿Qué son las claves compuestas?

Una clave compuesta es una clave candidata o clave principal que consta de más de un atributo.

A veces es posible que ningún atributo tenga la propiedad de identificar tuplas de forma única en una tabla. En tales casos, podemos utilizar un grupo de atributos para garantizar la singularidad. La combinación de estos atributos identificará de forma exclusiva las tuplas en la tabla.

Considere la siguiente tabla:

sql12-6888563

Aquí, ninguno de los atributos contiene valores únicos para identificar las tuplas. Por lo tanto, podemos combinar dos o más atributos para crear una clave que pueda identificar de forma única las tuplas. Por ejemplo, podemos agrupar ID de transacción y Identificación de producto para crear una clave que pueda identificar de forma única las tuplas. Se denominan claves compuestas.

Diferencia clave entre claves SQL

  • Claves SQL se utilizan para identificar filas de forma exclusiva en una tabla.
  • Las claves SQL pueden ser una sola columna o un grupo de columnas.
  • Super llave es una clave única o un grupo de varias claves que pueden identificar de forma exclusiva las tuplas en una tabla.
  • Super llaves puede contener atributos redundantes que pueden no ser importantes para identificar tuplas.
  • Claves candidatas son un subconjunto de Super llaves. Contienen solo aquellos atributos que son necesarios para identificar tuplas de forma única.
  • Todos Claves candidatas están Super llaves. Pero lo contrario no es cierto.
  • Clave primaria es un Llave candidata elegido para identificar de forma exclusiva las tuplas en la tabla.
  • Clave primaria los valores deben ser únicos y no nulos.
  • Puede haber varios Super llaves y Claves candidatas en una mesa, pero solo puede haber una Clave primaria en una mesa.
  • Llaves alternativas son esos Claves candidatas que no se eligieron para ser la clave principal de la tabla.
  • Clave compuesta es un Llave candidata que consta de más de un atributo.
  • Clave externa es un atributo que es un Clave primaria en su tabla principal, pero se incluye como un atributo en la tabla principal.
  • Llaves extranjeras puede aceptar valores nulos y no únicos.

Notas finales

En este artículo, cubrimos las claves más comunes y ampliamente utilizadas que cualquier profesional que busque trabajar con bases de datos debe conocer.

Si es alguien que busca trabajar con SQL en Python, le sugiero que lea este artículo. O si usted es alguien que está buscando algunas técnicas SQL para emplear para un mejor análisis de datos, entonces no debe perderse este gran artículo.

Espero que hayas disfrutado de este artículo y te conectes en los comentarios si tienes alguna duda sobre este tema.