Primary key en SQL Server
Una llave primaria o primary key en SQL Server es una columna de identificación de la fila o registro con valores únicos.
Algunos puntos a considerar de las llaves primarias.
- No debe permitir valores nulos.
- Valores únicos.
- Solo una columna de una tabla puede ser primary key.
- Son esenciales para bases de datos relacionales (evita la redundancia de datos).
¿Para qué sirven?
La función principal es de identificador único de los registros de las tablas y permitir crear relaciones con otras tablas de la base de datos.
Al realizar las instrucciones de actualización, eliminación o consulta en ocasiones necesitas la información de un registro en específico. Para esta tarea utilizas la llave primaria para no afectar otros registros, como lo habíamos comentado la llave primaria es única por registro.
Podría interesarte Crear relaciones entre tablas SQL Server
Agregar primary key con T-SQL
Podemos establecer las llaves primarias al crear las tablas, con T-SQL es posible agregando la instrucción en la consulta.
CREATE TABLE dbo.Alumnos(
Id int PRIMARY KEY,
Nombre varchar(100) NOT NULL,
Edad int NOT NULL
)
En la columna de nombre Id agrego la instrucción PRIMARY KEY, de esta manera establecemos que la columna será la llave primaria.
Es recomendable que la primera columna se establezca como Primary key, aunque es posible estar en cualquiera otra posición de la tabla.
Agregar primary key en diseñador
Utilizando el SQL Server Management Studio también es posible agregar las llaves primarias al crear una tabla desde el diseño.
Voy a crear una tabla con las columnas: Id, Nombre y Edad; agregaremos al Id como primary key, damos clic derecho sobre él.
Seleccionamos la opción de Establecer llave primaria, inmediatamente aparecerá una llave junto al nombre de la columna.
De esta forma manera ya tenemos la llave primaria de la tabla, si ya todas las columnas están registradas guardamos la tabla.
Al intentar registrar otra llave primaria en la misma tabla, se elimina la anterior y se muestra la llave en la nueva asignación.
El propio diseñador tiene la restricción de una llave por tabla, haz la prueba para que lo veas en SQL.
Regularmente al utilizar llaves primarias, también se asigna a la columna como una identidad para el autoincremento.