Agregar, establecer, cambiar o quitar la clave principal

Todas las tablas de la base de datos deben tener una clave principal, un campo o un conjunto de campos con un valor único para cada registro que se almacena en la tabla. Puede usar la clave principal para identificar y hacer referencia a cada registro.

Access puede crear automáticamente un campo de clave principal cuando se crea una tabla, o puede especificar los campos que desea usar como clave principal. Este artículo describe cómo y por qué usar claves principales.

Uno de los motivos para crear una clave principal es para usarla para crear relaciones de tabla. Este tema no explica cómo crear relaciones. Para más información consulte la sección Vea también.

En este artículo:

Información general

Agregar una clave principal autonumérica

Especificar los campos que utilizar como clave principal

Quitar una clave principal

Usar SQL para crear o eliminar una clave principal

Para más información

Información general

Al diseñar una base de datos, se divide la información en tablas de modo que cada tabla se corresponda a un tema, como por ejemplo Clientes o Pedidos. Esto ayuda a evitar datos redundantes y contradictorios.

Por ejemplo, cada cliente puede tener muchos pedidos. En lugar de almacenar la dirección del cliente en cada registro de la tabla Pedidos, esa información se almacena una sola vez en un registro de la tabla Clientes. Para combinar la información del cliente con el resto de la información sobre el pedido, puede crear una relación entre las dos tablas, mediante el uso de campos de clave.

Claves principales

Una tabla solo puede tener una clave principal. Una clave principal es un campo o un conjunto de campos que:

  • Tiene un valor único para cada registro

  • Está indexada

  • Identifica el registro

Puede agregar la clave principal de una tabla a otra tabla para crear una relación entre ellas. En la otra tabla, se denomina clave externa.

Por ejemplo, suponga que usa la clave principal de la tabla Clientes en la tabla Pedidos. En la tabla Pedidos es una clave externa.

Clave principal y clave externa mostradas entre dos hojas de datos de Access

1. Clave principal

2. Clave externa

Claves externas

Una clave externa es, básicamente, la clave principal de otra tabla. Los valores de un campo de clave externa coinciden con los valores de la clave principal, lo que indica que los dos registros están relacionados, por ejemplo, un cliente y el pedido que haya realizado. A diferencia de las claves principales:

  • Una tabla puede tener más de una clave externa.

  • Una clave externa no siempre tiene valores únicos.

  • Una clave externa no puede identificar con fiabilidad un registro determinado. Por ejemplo, no siempre puede saber qué registro está viendo de la tabla Pedidos observando el Id. del cliente.

Puede crear una clave externa cuando usa el Asistente para búsquedas para crear un campo.

Claves candidatas

En ocasiones una tabla ya contiene un campo de clave principal correcto, como puede ser un número de serie o un código de producto. Estos campos se denominan claves candidatas.

Por ejemplo, si realiza el seguimiento de las salidas posteriores a la educación secundaria, es posible que tenga una tabla Universidades. Suponga que hay una base de datos oficial de universidades que proporciona un número de código para cada universidad, como por ejemplo en Estados Unidos, el Sistema integrado de datos de educación postsecundaria (IPEDS). Podría usar el código que proporciona el sistema como clave principal para la tabla Universidades.

Una buena clave candidata tiene las siguientes características:

  • Cada valor es único. No hay dos registros de la tabla que tengan el mismo valor para la clave.

  • Nunca debe estar vacía ni ser NULL: siempre debe contener un valor.

  • Una vez definida, cada valor es relativamente permanente. En el mejor de los casos, los valores del campo de clave no cambian nunca, solo se agregan o se quitan.

Un ejemplo de una mala elección para una clave principal es el nombre de un cliente. Aunque algunos nombres son únicos, otros no lo son. Como no puede estar seguro de que los valores serán exclusivos, los nombres no son claves candidatas.

Cuando crea una nueva tabla en la vista Hoja de datos, Access crea automáticamente una clave principal y le asigna el nombre de campo Id. y el tipo de datos Autonumeración. El campo está oculto de forma predeterminada en la vista Hoja de datos, pero se puede ver en la vista Diseño.

Campos Autonumeración

Si la tabla no tiene ninguna clave candidata adecuada y no ha creado la tabla en la vista Hoja de datos, considere la posibilidad de agregar un campo con el tipo de datos Autonumeración y después usarlo para la clave principal. Un campo Autonumeración obtiene de manera automática un nuevo valor único para cada registro que se agrega. Aunque elimine registros, no se reutilizan los valores. Por lo tanto, Autonumeración genera valores únicos para cada registro y constituye una clave principal correcta.

Imagen que muestra la tabla Productos con un campo de clave principal.

1. Una columna con el tipo de datos Autonumérico suele ser una buena clave principal, porque garantiza que no habrá dos Id. de producto iguales.

Claves compuestas

En algunos casos, es posible que desee usar dos o más campos combinados como clave principal para una tabla. Por ejemplo, una tabla Detalles del pedido que almacene artículos de línea para pedidos podría usar dos campos en su clave principal: Id. de pedido e Id. de producto. Una clave que tiene más de un campo se denomina clave compuesta.

Nota: No es posible crear una clave externa compuesta utilizando el Asistente para búsquedas. Puede crear una clave externa compuesta mediante una consulta de definición de datos para crear una restricción de varios campos. Para más información, consulte el tema Crear o modificar tablas o índices mediante una consulta de definición de datos.

Principio de página

Agregar una clave principal autonumérica

  1. En el panel de navegación, haga clic con el botón derecho en la tabla a la que desee agregar una clave principal y después haga clic en Vista Diseño en el menú contextual.

  2. En la primera fila vacía de la cuadrícula de diseño de tabla, en la columna Nombre de campo, escriba un nombre, como Id. de cliente.

  3. En la columna Tipo de datos, haga clic en la flecha desplegable y después en Autonumeración.

  4. En Propiedades del campo, en Nuevos valores, haga clic en Incremento para usar valores numéricos incrementales para la clave principal, o haga clic en Aleatorio para utilizar números aleatorios.

  5. En la ficha Diseño, en el grupo Herramientas, haga clic en Clave principal.

    Grupo Herramientas de la ficha Diseño

    Aparece un indicador de clave a la izquierda del campo Autonumeración.

    Presione CTRL+S para guardar los cambios.

Principio de página

Especificar los campos que utilizar como clave principal

  1. En el panel de navegación, haga clic con el botón derecho en la tabla para la que desee definir la clave principal y después haga clic en Vista Diseño en el menú contextual.

  2. Seleccione el campo o los campos que desea usar como clave principal.

    Sugerencia: Para seleccionar más de un campo, mantenga presionada la tecla CTRL mientras hace clic en los campos.

  3. En la ficha Diseño, en el grupo Herramientas, haga clic en Clave principal.

    Grupo Herramientas de la ficha Diseño

    Se muestra un indicador de clave a la izquierda del campo o los campos especificados como la clave principal.

    Presione CTRL+S para guardar los cambios.

Principio de página

Quitar una clave principal

Cuando se quita la clave principal de una tabla, el campo o campos que previamente servían como clave principal dejan de ofrecer la principal forma de identificación de un registro. Pero quitar la clave principal no elimina el campo o campos de la tabla. En su lugar, quita la designación de clave principal de esos campos.

Al quitar la clave principal se quita también el índice que se creó para ella.

  1. Antes de quitar una clave principal, debe asegurarse de que no interviene en ninguna relación de tabla. Si intenta quitar una clave principal para la que existe una relación, Access le advertirá de que primero debe eliminar la relación.

    Eliminar una relación de tabla

    1. Si las tablas que intervienen en las relaciones de tabla están abiertas, ciérrelas. No se puede eliminar una relación entre tablas abiertas.

    2. En el grupo Mostrar u ocultar de la ficha Herramientas de base de datos, haga clic en Relaciones.

      Imagen de la cinta de Access

    3. Si las tablas que participan en la relación de tabla no aparecen, en la ficha Diseño, en el grupo Relaciones, haga clic en Mostrar tabla. A continuación, seleccione las tablas que desea agregar en el cuadro de diálogo Mostrar tabla, haga clic en Agregar y luego en Cerrar.

    4. Haga clic en la línea de relación de tabla correspondiente a la relación que desea eliminar (la línea se mostrará en negrita al seleccionarla) y después presione la tecla SUPR.

    5. En la ficha Diseño, en el grupo Relaciones, haga clic en Cerrar.

      Grupo Relaciones de la ficha Diseño de la Cinta

  2. En el panel de navegación, haga clic con el botón derecho en la tabla de la que desea eliminar la clave principal y después haga clic en Vista Diseño en el menú contextual.

  3. Seleccione el campo de clave principal actual.

    Si la clave principal consta de varios campos, haga clic en el selector de filas de todos los campos de la clave principal.

  4. En el grupo Herramientas de la ficha Diseño, haga clic en Clave principal.

    Grupo Herramientas de la ficha Diseño

    El indicador de clave se quita del campo o los campos especificados previamente como clave principal.

Nota: Si guarda una tabla nueva sin definir una clave principal, Access le pide que cree una. Si elige , se crea un campo Id. con el tipo de datos Autonumeración para proporcionar un valor único para cada registro. Si la tabla ya incluye un campo Autonumeración, Access lo usa como clave principal.

Principio de página

Cambiar una clave principal

Para cambiar la clave principal de una tabla, siga estos pasos:

  1. Quite la clave principal existente siguiendo las instrucciones de la sección Quitar la clave principal.

  2. Cree una nueva clave principal siguiendo las instrucciones de la sección Especificar los campos que utilizar como clave principal.


Principio de página

Usar SQL para crear o eliminar una clave principal

En Access, una clave principal se implementa como un índice. Al usar la vista Diseño para crear una clave principal, Access crea el índice para usted. Si lo prefiere, puede usar una consulta de definición de datos para crear una clave principal. Puede volver a usar la consulta siempre que desee crear la misma clave principal. Esto puede ser útil si periódicamente anula y vuelve a crear una tabla.

Crear una clave principal mediante SQL

Para crear una clave principal para una tabla existente, utilice el comando CREATE INDEX.

Use el comando CREATE INDEX en una consulta de definición de datos.

  1. En la ficha Crear, en el grupo Otros, haga clic en Diseño de la consulta.

  2. Cierre el cuadro de diálogo Mostrar tabla.

  3. En la ficha Diseño, en el grupo Tipo de consulta, haga clic en Definición de datos.

    La consulta cambia a la vista SQL.

  4. Escriba o pegue la siguiente instrucción SQL en la consulta:

    CREATE INDEX 
    ON ( )
    WITH PRIMARY
  5. Al final de la primera línea, escriba un nombre para el índice.

    Sugerencia: Considere la posibilidad de iniciar el nombre con las letras cp para indicar que el índice es una clave principal. Si utiliza nombres de índices de clave principal coherentes le será más fácil distinguirlos de otros índices.

  6. En la segunda línea, después de la palabra clave ON pero antes de los paréntesis, escriba el nombre de la tabla.

  7. Dentro de los paréntesis, escriba los campos que desea usar como clave principal. Si escribe más de un campo, separe los campos mediante comas.

  8. Presione CTRL+G para guardar la consulta.

    Nota: No puede crear un índice que ya existe. Si desea volver a usar una consulta que crea una clave principal, primero debe quitar la clave principal existente.

Eliminar una clave principal mediante SQL

Para quitar una clave principal de una tabla, utilice el comando DROP INDEX.

Use el comando DROP INDEX en una consulta de definición de datos.

  1. En la ficha Crear, en el grupo Otros, haga clic en Diseño de la consulta.

  2. Cierre el cuadro de diálogo Mostrar tabla.

  3. En la ficha Diseño, en el grupo Tipo de consulta, haga clic en Definición de datos.

    La consulta cambia a la vista SQL.

  4. Escriba o pegue la siguiente instrucción SQL en la consulta:

    DROP INDEX 
    ON
  5. Al final de la primera línea, escriba el nombre del índice.

    Sugerencia: Si no sabe el nombre del índice, puede averiguarlo. En primer lugar, abra la tabla en la vista Diseño. Después, en la pestaña Diseño, en el grupo Mostrar u ocultar, haga clic en Índices.

  6. En la segunda línea, después de la palabra clave ON pero antes de los paréntesis, escriba el nombre de la tabla.

  7. Presione CTRL+G para guardar la consulta.

Para obtener más información

Para más información sobre el diseño de base de datos y cómo elegir una clave principal adecuada, consulte los artículos Conceptos básicos del diseño de base de datos y Crear una tabla.

Principio de página

¿Le ha sido útil esta información?

¿Cómo podemos mejorarlo?

¿Cómo podemos mejorarlo?

Para proteger su privacidad, no incluya información de contacto en sus comentarios. Revisar política de privacidad.

¡Gracias por sus comentarios!