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

Cómo cambiar el nombre de una columna de una tabla de SQL Server

Cómo cambiar el nombre de una columna de una tabla de SQL Server

Resumen: en este tutorial, aprenderás a cambiar el nombre de una columna de una tabla de SQL Server.

Ver artículo completo
Uso de la función PATINDEX de SQL Server para encontrar la posición de un patrón en una cadena

Uso de la función PATINDEX de SQL Server para encontrar la posición de un patrón en una cadena

Resumen: en este tutorial, aprenderás a usar la función PATINDEX() de SQL Server para encontrar la posición de un patrón en una cadena.

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