¿Qué es una clave principal?

Una mujer escribe en un teclado mientras mira un gran monitor de computadora.

Autores

Alice Gomstyn

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

¿Qué es una clave principal?

Una clave principal es una columna o columnas en una tabla de bases de datos con valores que identifican de forma única cada fila o registro. Por ejemplo, una columna de ID de empleado podría ser una clave principal en una tabla de información de empleados.
 

Las claves principales desempeñan un papel importante en las bases de datos relacionales al reforzar la integridad de los datos y permitir una recuperación de datos exitosa. Además, las claves principales pueden ser referenciadas por otro tipo de clave para definir relaciones entre tablas en bases de datos relacionales.

Los ejemplos citados a menudo de claves principales que se encuentran en varias bases de datos incluyen:

  • Números de licencia de conducir
  • Números de identificación de empleados
  • Números de ID de producto
  • Números de Seguro Social
  • Números de identificación de los estudiantes
Diseño 3D de pelotas rodando en una pista

Las últimas novedades e insights sobre IA

Descubra insights y noticias de expertos sobre IA, la nube y mucho más en el boletín semanal Think. 

Comprender las claves y las bases de datos relacionales

Antes de explorar los detalles de las claves principales, es útil comprender los sistemas de bases de datos relacionales y los roles que desempeñan las claves, como las claves principales, dentro del diseño de bases de datos.

Las bases de datos relacionales albergan datos estructurados en varias tablas, con puntos de datos relacionados en diferentes tablas. Dichas bases de datos se gestionan a través de sistemas de gestión de bases de datos relacionales (RDBMS) como IBM Db2, Oracle Database, Microsoft SQL Server y sistemas de bases de datos de código abierto como PostgreSQL y mySQL.

El lenguaje de consulta estructurado (SQL) es un lenguaje de programación común que se utiliza para las interacciones con bases de datos, aunque algunos sistemas de gestión de bases de datos admiten otros lenguajes.

En el contexto de las bases de datos, una clave es una columna o una colección ordenada de columnas que se emplea para identificar filas de datos en una tabla. Las claves ayudan a organizar las bases de datos mostrando relaciones entre tablas relacionadas, identificando registros únicos y garantizando la precisión e integridad de los datos. Estos beneficios soportan consultas exitosas y eficientes de SQL database.

Mixture of Experts | 12 de diciembre, episodio 85

Decodificación de la IA: Resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el revuelo de la IA para ofrecerle las últimas noticias e insights al respecto.

¿Cuáles son las características de una clave principal?

Una clave principal, también conocida como clave principal de SQL, proporciona un identificador único a cada registro asociado con un valor de clave principal. Las características importantes de las claves principales incluyen:

  • Sin valores nulos
  • Sin valores duplicados
  • Puede tomar la forma de una columna existente en una tabla (clave natural) o agregarse como una nueva columna (clave sustituta)
  • Puede incluir una sola columna o varias columnas (como clave principal compuesta)

Una clave principal puede ser una columna existente dentro de una sola tabla, en cuyo caso se conoce como clave natural. Sin embargo, a veces no hay una sola columna en la tabla que cumpla la restricción de clave principal, la regla de clave principal que indica que los valores deben ser únicos y no nulos.

En tales circunstancias, puede generar una nueva columna de valores únicos, no derivada de los datos existentes de la tabla, para que sirva de clave principal. Esta clave principal generada artificialmente se conoce como clave sustituta.

Los sistemas de gestión de bases de datos relacionales suelen tener la capacidad de generar valores únicos para una columna, que luego se pueden utilizar como clave sustituta. Un ejemplo es la función de incremento automático de mySQL.

Las claves principales también pueden ser claves compuestas, lo que significa que constan de más de una sola columna de valores.

Las claves principales compuestas (combinaciones únicas de columnas que pueden usar para identificar registros) pueden servir como alternativa a la generación de claves sustitutas. Por ejemplo, una columna de apellidos de clientes podría combinar con una columna que contenga fechas de nacimiento para formar una clave principal compuesta.

¿Qué tipos de datos se utilizan en las claves principales?

SQL admite una variedad de tipos de datos, que van desde marcas de tiempo (representaciones de fechas y horas) hasta varchar (cadenas de caracteres de longitud variable). Pero no todos los tipos de datos son una buena opción para las claves principales.

A menudo se recomienda que las columnas que contienen valores numéricos, especialmente enteros, se utilicen como claves principales, ya que los sistemas de gestión de bases de datos relacionales suelen procesarlas más rápidamente.

¿Cuáles son otros tipos importantes de claves?

Otras claves utilizadas en la gestión de bases de datos incluyen:

  • Claves únicas
  • Claves candidatas
  • Súper teclas
  • Claves foráneas

Claves únicas

Las claves principales son un subconjunto de claves únicas. Las claves únicas siguen lo que se conoce como restricción única: la regla de que los valores de una clave son válidos solo si son únicos. Si bien todas las claves principales son claves únicas, no todas las claves únicas son claves principales. Esto se debe a que, a diferencia de las claves principales, las claves únicas pueden incluir valores nulos.

Claves candidatas

Las claves candidatas son claves que podrían servir como claves principales porque contienen valores únicos y no valores nulos. La diferencia entre claves principales y claves candidatas es que una tabla existente puede tener varias claves candidatas, pero solo una clave principal.

Súper teclas

Las superclaves son similares a las claves principales compuestas en que pueden incluir varias columnas y utilizarse para identificar registros. Sin embargo, las superclaves también pueden incluir más columnas o información de la estrictamente necesaria para identificar de forma única un registro, mientras que las claves principales compuestas no incluyen más columnas o datos de los necesarios.

Claves externas

Una clave externa en una tabla se refiere a una clave principal específica en otra tabla para definir una relación entre las tablas. Por ejemplo, una clave externa en una tabla con información de pedidos de clientes puede hacer referencia a una columna de clave principal de ID de clientes únicos que forma parte de otra tabla que contiene datos de clientes. De esta manera, un pedido de un cliente determinado puede vincularse a información importante sobre ese cliente, como su dirección de correo electrónico y fecha de nacimiento.

La importancia de las restricciones de integridad referencial al definir las relaciones de tablas

Para comprender cómo las claves principales y las claves externas definen las relaciones entre tablas en bases de datos relacionales, es útil considerar las restricciones de integridad referencial.

Las restricciones de integridad referencial, también conocidas como restricciones referenciales o restricciones de clave externa, son reglas que requieren que los valores de clave externa en una tabla coincidan con los valores de clave principal en otra tabla.

Por ejemplo, en una base de datos de empleados, una restricción de integridad referencial puede especificar que cada empleado de la tabla EMPLOYEE debe ser afiliada a un departamento de la compañía existente enumerado en la tabla DEPARTMENT.

En este caso, la clave principal de la tabla DEPARTMENT es una columna que almacena números de departamento únicos, mientras que la clave externa de la tabla EMPLOYEE es una columna que almacena los mismos números de departamento únicos. Estas columnas coincidentes significan que las tablas se adhieren a la restricción de clave externa.

Dado que la tabla DEPARTMENT alberga la clave principal a la que hace referencia la clave externa de la tabla EMPLOYEE, se considera que la clave EMPLOYEE tiene una dependencia de la tabla DEPARTMENT. A su vez, la tabla DEPARTMENT se considera la "tabla principal" en esta relación de tabla.

Las restricciones de integridad referencial pueden bloquear la inserción de datos erróneos en las bases de datos. Estas restricciones, por ejemplo, impedirían que un usuario agregara un registro de empleado a la tabla EMPLEADO (como se muestra a continuación) si el número de departamento de ese registro de empleado no existiera en la TABLA DEPARTAMENTO.

Diagrama que muestra cómo las restricciones de clave principal y clave externa pueden impedir la inserción de un registro no válido en una tabla.

¿Qué otros conceptos y prácticas se relacionan con las claves principales?

Índices

Los sistemas de gestión de bases de datos relacionales pueden crear o requerir la creación de un índice único que corresponda a cada clave principal de la base de datos. En el contexto del diseño de bases de datos, un índice es un conjunto de punteros que hacen referencia a filas de una tabla. Los índices se pueden emplear para mejorar el rendimiento, incluida la optimización de la recuperación de datos.

Modelado de datos

El modelado de datos proporciona una representación visual de un esquema de base de datos, o un proyecto técnico para las relaciones de datos entre las tablas de una base de datos. Los modelos de datos pueden incluir información sobre las claves principales y las claves externas que se emplean para mantener esas relaciones.

Sentencias SQL

Las sentencias SQL son comandos que se emplean para interactuar con bases de datos relacionales. Bajo la sintaxis SQL, las claves principales para las tablas se pueden asignar o agregar mediante instrucciones CREATE TABLE o ALTER TABLE.

Por ejemplo, considere una declaración CREATE TABLE para una tabla de nombres de empleados llamada EMP utilizando Db2 de IBM. Los nombres de las columnas son ID (para ID de empleado), FIRSTNME y LASTNAME (con máximos de 15 caracteres para cada uno). Cuando se selecciona ID como clave principal, la declaración podría verse así:

CREATE TABLE EMP
    (ID INT NOT NULL,
    FIRSTNME VARCHAR (15) NOT NULL,
    LASTNAME VARCHAR (15) NOT NULL,
  PRIMARY KEY (ID));

 

En las sentencias ALTER TABLE (para tablas existentes) en Db2, una cláusula empleada para agregar una clave principal es ADD PRIMARY KEY, mientras que las claves foráneas se agregan a través de ADD CONSTRAINT en combinación con una referencia a la tabla principal.

Soluciones relacionadas
Software y soluciones de bases de datos

Utilice las soluciones de bases de datos de IBM para satisfacer las distintas necesidades de carga de trabajo en la nube híbrida.

Explore las soluciones de bases de datos
Base de datos nativa de la nube con IBM Db2

Explore IBM Db2, una base de datos relacional que ofrece alto rendimiento, escalabilidad y fiabilidad para almacenar y gestionar datos estructurados. Está disponible como SaaS en IBM Cloud o para autoalojamiento.

Descubra Db2
Servicios de consultoría en datos y analytics

Desbloquee el valor de los datos empresariales con IBM Consulting y cree una organización impulsada por insights que ofrezca ventajas empresariales.

Descubra los servicios de analytics
Dé el siguiente paso

Utilice las soluciones de bases de datos de IBM para satisfacer las distintas necesidades de carga de trabajo en la nube híbrida.

Explore las soluciones de bases de datos Descubra IBM Db2