Compartir a través de


Crear claves principales

Puede definir una clave principal en SQL Server 2012 mediante SQL Server Management Studio o Transact-SQL. Al crear una clave principal, se crea automáticamente un índice único, índice clúster o no clúster correspondiente.

En este tema

  • Antes de empezar:

    Limitaciones y restricciones

    Seguridad

  • Para crear una clave principal con:

    SQL Server Management Studio

    Transact-SQL

Antes de empezar

Limitaciones y restricciones

  • Una tabla solo puede incluir una restricción PRIMARY KEY.

  • Todas las columnas definidas en una restricción PRIMARY KEY se deben definir como NOT NULL. Si no se especifica nulabilidad, la nulabilidad de todas las columnas que participan en una restricción PRIMARY KEY se establece en NOT NULL.

Seguridad

Permisos

La creación de una tabla nueva con una clave principal requiere el permiso CREATE TABLE en la base de datos y el permiso ALTER en el esquema en el que se crea la tabla.

La creación de una clave principal de una tabla existente requiere el permiso ALTER en la tabla.

Icono de flecha usado con el vínculo Volver al principio[Top]

Usar SQL Server Management Studio

Para crear una clave principal

  1. En el Explorador de objetos, haga clic con el botón secundario en la tabla a la que desea agregar una restricción UNIQUE y, a continuación, haga clic en Diseño.

  2. En el Diseñador de tablas, haga clic en el selector de filas de la columna de base de datos que desea definir como clave principal. Si desea seleccionar varias columnas, mantenga presionada la tecla CTRL mientras hace clic en los selectores de fila de las otras columnas.

  3. Haga clic con el botón secundario en el selector de fila para la columna y seleccione Establecer clave principal.

Nota de advertenciaAdvertencia

Si desea volver a definir la clave principal, debe eliminar las relaciones establecidas con la clave principal existente antes de crear una nueva. Un mensaje le advertirá de que las relaciones existentes se eliminarán automáticamente durante este proceso.

Las columnas de clave principal se indican mediante un símbolo de clave principal en el selector de fila.

Si una clave principal consta de más de una columna, se admitirán valores duplicados en una columna, pero cada combinación de valores de todas las columnas de la clave principal debe ser única.

Si define una clave compuesta, el orden de las columnas de la clave principal coincide con el de las columnas mostradas en la tabla. Sin embargo, puede cambiar el orden de las columnas después de crear la clave principal. Para obtener más información, vea Modificar claves principales.

Icono de flecha usado con el vínculo Volver al principio[Top]

Usar Transact-SQL

Para crear una clave principal en una tabla existente

  1. En el Explorador de objetos, conéctese a una instancia de Motor de base de datos.

  2. En la barra de Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar. El ejemplo crea una clave principal en la columna TransactionID.

    USE AdventureWorks2012;
    GO
    ALTER TABLE Production.TransactionHistoryArchive 
    ADD CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID);
    GO
    

Para crear una clave principal en una nueva tabla

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra de Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar. El ejemplo crea una tabla y define una clave principal en la columna TransactionID.

    USE AdventureWorks2012;
    GO
    CREATE TABLE Production.TransactionHistoryArchive1
    (
       TransactionID int NOT NULL,
       CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIMARY KEY CLUSTERED (TransactionID)
    );
    GO
    

    Para obtener más información, vea ALTER TABLE (Transact-SQL), CREATE TABLE (Transact-SQL) y table_constraint (Transact-SQL).

Icono de flecha usado con el vínculo Volver al principio[Top]