Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
Servidor SQL: clave principal
Aprender cómo Crear, eliminar, deshabilitar y habilitar claves primarias Sintaxis y ejemplos en SQL Server (Transact-SQL).
¿Qué es una clave principal en SQL Server?
En SQL Server (Transact-SQL), una clave principal es un campo único o una combinación de campos que define un registro de forma única. Todos los campos que pertenecen a la clave principal no pueden contener valores nulos. Una tabla solo puede tener una clave primaria.
Las claves primarias se pueden definir en la sentencia CREATE TABLE o en la sentencia ALTER TABLE.
Cree una clave principal con la instrucción CREATE TABLE
Puede usar la instrucción CREATE TABLE para crear claves principales en SQL Server.
sintaxis
La sintaxis para crear una clave principal mediante la instrucción CREATE TABLE en SQL Server (Transact-SQL) es:
CREATE TABLE table_name ( column1 datatype [ NULL | NOT NULL ] [ PRIMARY KEY ], column2 datatype [ NULL | NOT NULL ], ... );
o
CREATE TABLE table_name ( column1 datatype [ NULL | NOT NULL ], column2 datatype [ NULL | NOT NULL ], ... CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n) );
ejemplo
Veamos un ejemplo de cómo crear una clave principal mediante la instrucción CREATE TABLE en SQL Server (Transact-SQL).
Por ejemplo:
CREATE TABLE employees ( employee_id INT PRIMARY KEY, last_name VARCHAR(50) NOT NULL, first_name VARCHAR(50) NOT NULL, salary MONEY );
En este ejemplo, hemos creado una clave principal en la tabla de empleados que consta de un solo campo: el campo employee_id.
También podemos crear claves primarias de la siguiente manera:
CREATE TABLE employees ( employee_id INT, last_name VARCHAR(50) NOT NULL, first_name VARCHAR(50) NOT NULL, salary MONEY, CONSTRAINT employees_pk PRIMARY KEY (employee_id) );
A continuación, veamos cómo crear una clave principal en SQL Server (Transact-SQL), donde una clave principal es una clave compuesta que consta de varios campos.
Por ejemplo:
CREATE TABLE employees ( last_name VARCHAR(50) NOT NULL, first_name VARCHAR(50) NOT NULL, salary MONEY, CONSTRAINT employees_pk PRIMARY KEY (last_name, first_name) );
En este ejemplo, hemos creado una clave principal que consta de dos columnas, las columnas last_name y first_name. Estos dos campos definirán de forma única los registros en la tabla de empleados.
Crear clave principal – usando la instrucción ALTER TABLE
Puede usar la declaración ALTER TABLE para crear una clave principal en SQL Server (Transact-SQL). Sin embargo, solo puede usar la declaración ALTER TABLE para crear una clave principal en una columna que se ha definido como NOT NULL. Si la columna permite valores NULL, no puede agregar una clave principal sin descartar y volver a crear la tabla.
sintaxis
La sintaxis para crear una clave principal mediante la instrucción ALTER TABLE en SQL Server (Transact-SQL) es:
ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n);
ejemplo
Veamos un ejemplo de cómo crear una clave principal mediante la instrucción ALTER TABLE en SQL Server (Transact-SQL).
Por ejemplo:
ALTER TABLE employees ADD CONSTRAINT employees_pk PRIMARY KEY (employee_id);
En este ejemplo, creamos una clave principal llamada employee_pk en la tabla de empleados existente. Consiste en un campo llamado employee_id. Una vez más, es importante tener en cuenta que employee_id debe haberse definido como un campo NOT NULL para que esta instrucción ALTER TABLE tenga éxito. Si la columna employee_id permite valores NULL, debe descartar y volver a crear la tabla de empleados y definir employee_id como el campo NOT NULL de la clave principal que se creará.
También podemos crear una clave principal con múltiples campos, como en el siguiente ejemplo:
ALTER TABLE employees ADD CONSTRAINT employees_pk PRIMARY KEY (last_name, first_name);
En este ejemplo, hemos creado una clave principal en la tabla de empleados que contiene los campos last_name y first_name. Para crear correctamente esta clave principal, los campos last_name y first_name deben definirse como NOT NULL en la tabla de empleados.
eliminar clave principal
Puede usar la declaración ALTER TABLE para colocar claves principales en SQL Server.
sintaxis
La sintaxis para descartar una clave principal mediante la instrucción ALTER TABLE en SQL Server (Transact-SQL) es:
ALTER TABLE table_name DROP CONSTRAINT constraint_name;
ejemplo
Veamos un ejemplo de cómo eliminar una clave principal mediante la instrucción ALTER TABLE en SQL Server (Transact-SQL).
Por ejemplo:
ALTER TABLE employees DROP CONSTRAINT employees_pk;
En este ejemplo, colocaremos la clave principal en la tabla de empleados denominada employee_pk.
Deshabilitar clave principal
Puede deshabilitar las claves principales mediante la declaración ALTER TABLE en SQL Server (Transact-SQL).
sintaxis
La sintaxis para deshabilitar una clave principal mediante la instrucción ALTER INDEX en SQL Server (Transact-SQL) es:
ALTER INDEX constraint_name ON table_name
DISABLE;
ejemplo
Veamos un ejemplo de cómo deshabilitar el nodo principal usando la instrucción ALTER INDEX en SQL Server (Transact-SQL).
Por ejemplo:
ALTER INDEX employees_pk ON employees
DISABLE;
En este ejemplo, deshabilitaremos la clave principal en la tabla de empleados denominada employee_pk.
habilitar la clave principal
Puede habilitar claves principales mediante la instrucción ALTER INDEX en SQL Server (Transact-SQL).
sintaxis
La sintaxis para habilitar una clave principal mediante la instrucción ALTER INDEX en SQL Server (Transact-SQL) es:
ALTER INDEX constraint_name ON table_name
REBUILD;
ejemplo
Veamos un ejemplo de cómo habilitar claves primarias usando la instrucción ALTER INDEX en SQL Server.
ALTER INDEX employees_pk ON employees
REBUILD;
En este ejemplo, habilitamos la clave principal en la tabla de empleados denominada employee_pk.