SQL

¿Qué es PRIMARY KEY en SQL Server y cómo funciona?

Estrada Web Group
Estrada Web Group
¿Qué es PRIMARY KEY en SQL Server y cómo funciona?

En este tutorial de SQL Server, aprenderá a usar la restricción PRIMARY KEY de SQL Server para crear una llave primaria para una tabla.

Introducción a la restricción PRIMARY KEY de SQL Server

Una llave primaria o PRIMARY KEY es una columna o un grupo de columnas que identifica de forma exclusiva cada fila de una tabla. Puede crear una llave primaria para una tabla utilizando la restricción PRIMARY KEY.

Si la llave principal consta de solo una columna, puede definir el uso de la restricción PRIMARY KEY como una restricción de columna:

CREATE TABLE table_name (
    pk_column data_type PRIMARY KEY,
    ...
);

En caso de que la llave primaria tenga dos o más columnas, debe usar la restricción PRIMARY KEY como una restricción de tabla:

CREATE TABLE table_name (
    pk_column_1 data_type,
    pk_column_2 data type,
    ...
    PRIMARY KEY (pk_column_1, pk_column_2)
);

Cada tabla puede contener solo una clave primaria. Todas las columnas que participan en la llave primaria deben definirse como NOT NULL. SQL Server establece automáticamente la restricción NOT NULL para todas las columnas de llave primaria si la restricción NOT NULL no se especifica para estas columnas.

SQL Server también crea automáticamente un índice agrupado único (o un índice no agrupado si se especifica como tal) cuando crea una clave primaria.
 

Ejemplos de cómo utilizar la PRIMARY KEY de SQL Server

El siguiente ejemplo crea una tabla con una llave primaria que consta de una columna:

CREATE TABLE sales.actividades (
    actividad_id INT PRIMARY KEY IDENTITY,
    actividad_name VARCHAR (255) NOT NULL,
    actividad_date DATE NOT NULL
);

En esta tabla sales.actividades, la columna actividad_id es la columna de llave principal. Significa que la columna activity_id contiene valores únicos.

La propiedad IDENTITY se usa para que la columna actividad_id genere automáticamente valores enteros únicos.

La siguiente instrucción crea una nueva tabla denominada sales.participantes cuya llave principal consta de dos columnas:

CREATE TABLE sales. participantes(
    actividad_id int,
    cliente_id int,
    PRIMARY KEY(actividad_id, cliente_id)
);

En este ejemplo, los valores en la columna actividad_id o cliente_id pueden estar duplicados, pero cada combinación de valores de ambas columnas debe ser única.

Normalmente, una tabla siempre tiene una llave primaria definida en el momento de la creación. Sin embargo, a veces, una tabla existente puede no tener una llave primaria definida. En este caso, puede agregar una llave primaria a la tabla utilizando la instrucción ALTER TABLE. Considere el siguiente ejemplo:

La siguiente instrucción crea una tabla sin una llave primaria:

CREATE TABLE sales.eventos(
    evento_id INT NOT NULL,
    evento_name VARCHAR(255),
    start_date DATE NOT NULL,
    duration DEC(5,2)
);

Para hacer que la columna evento_id sea la llave principal, use la siguiente instrucción ALTER TABLE:

ALTER TABLE sales.eventos
ADD PRIMARY KEY(evento_id);

Ten en cuenta que si la tabla sales.eventos ya tiene datos, antes de modificar la columna evento_id como clave principal, debes asegurarte que los valores en evento_id sean únicos.

En este tutorial, has aprendido cómo usar la restricción PRIMARY KEY de SQL Server para crear una clave primaria para una tabla.

Compartir artículo:

Más artículos geniales

Tipos de datos CHAR de SQL Server

Tipos de datos CHAR de SQL Server

Resumen: en este tutorial, aprenderás a usar el tipo de datos CHAR de SQL Server para almacenar cadenas de caracteres no Unicode de longitud fija en la base de datos.

Ver artículo completo
Cómo crear índices en SQL Server con la instrucción CREATE INDEX

Cómo crear índices en SQL Server con la instrucción CREATE INDEX

Resumen: en este tutorial, aprenderás a usar la instrucción CREATE INDEX de SQL Server para crear índices para tablas.

Ver artículo completo
Tipo de datos Decimal y Numeric de SQL Server

Tipo de datos Decimal y Numeric de SQL Server

Resumen: en este tutorial, aprenderás sobre el tipo de datos DECIMAL de SQL Server y cómo usarlo para almacenar valores numéricos exactos.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla