SQL: clave principal

Una clave primaria es un campo en una tabla que identifica de forma única cada fila / registro en una tabla de base de datos. Las claves primarias deben contener valores únicos. Una columna de clave principal no puede tener valores NULL.

Una tabla solo puede tener una clave principal, que puede constar de uno o varios campos. Cuando se utilizan varios campos como clave principal, se denominan clave compuesta.

Si una tabla tiene una clave primaria definida en cualquier campo, no puede tener dos registros que tengan el mismo valor de ese campo.

Note - Utilizaría estos conceptos al crear tablas de base de datos.

Crear clave principal

Aquí está la sintaxis para definir el atributo ID como clave principal en una tabla CLIENTES.

CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25) ,
   SALARY   DECIMAL (18, 2),       
   PRIMARY KEY (ID)
);

Para crear una restricción PRIMARY KEY en la columna "ID" cuando la tabla CUSTOMERS ya existe, utilice la siguiente sintaxis SQL:

ALTER TABLE CUSTOMER ADD PRIMARY KEY (ID);

NOTE - Si usa la instrucción ALTER TABLE para agregar una clave primaria, las columnas de clave primaria ya deberían haber sido declaradas para no contener valores NULL (cuando se creó la tabla por primera vez).

Para definir una restricción PRIMARY KEY en varias columnas, utilice la sintaxis SQL que se indica a continuación.

CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25) ,
   SALARY   DECIMAL (18, 2),        
   PRIMARY KEY (ID, NAME)
);

Para crear una restricción PRIMARY KEY en las columnas "ID" y "NAMES" cuando la tabla CUSTOMERS ya existe, utilice la siguiente sintaxis SQL.

ALTER TABLE CUSTOMERS 
   ADD CONSTRAINT PK_CUSTID PRIMARY KEY (ID, NAME);

Eliminar clave principal

Puede borrar las restricciones de clave principal de la tabla con la sintaxis que se proporciona a continuación.

ALTER TABLE CUSTOMERS DROP PRIMARY KEY ;
sql-rdbms-conceptos.htm