Compartir a través de


Modificar relaciones de claves externas.

Puede modificar el lado de clave externa de una relación en SQL Server 2012 mediante SQL Server Management Studio o Transact-SQL. Modificar los cambios de clave externa de una tabla cuyas columnas están relacionadas con las columnas de la tabla de clave principal.

En este tema

  • Antes de empezar:

    Limitaciones y restricciones

    Seguridad

  • Para modificar una clave externa con:

    SQL Server Management Studio

    Transact-SQL

Antes de empezar

Limitaciones y restricciones

La nueva columna de clave externa debe tener el mismo tipo de datos y el mismo tamaño que la columna de clave principal con la que está relacionada, con las siguientes excepciones:

  • Se puede asociar una columna de tipo char o sysname a una columna de tipo varchar.

  • Se puede asociar una columna de tipo binary a una columna de tipo varbinary.

  • Se puede asociar un tipo de datos de alias a su tipo básico.

Seguridad

Permisos

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 modificar una clave externa

  1. En el Explorador de objetos, expanda la tabla con la clave externa y luego expanda Claves.

  2. Haga clic con el botón secundario en la clave externa que se va a modificar y seleccione Modificar.

  3. En el cuadro de diálogo Relaciones de clave externa, puede realizar las siguientes modificaciones.

    • Relación seleccionada
      Muestra las relaciones existentes. Seleccione una relación para mostrar sus propiedades en la cuadrícula situada a la derecha. Si la lista está vacía, no se han definido relaciones para la tabla.

    • Agregar
      Crea una nueva relación. Debe definir Especificación de tablas y columnas para que la relación sea válida.

    • Eliminar
      Elimina la relación seleccionada en la lista Relación seleccionada. Para cancelar la adición de una relación, utilice este botón para eliminar la relación.

    • Categoría General
      Se expande para mostrar Comprobar datos existentes al crear o al habilitar de nuevo y Especificación de tablas y columnas.

    • Comprobar datos existentes al crear o al habilitar de nuevo
      Comprueba con la restricción todos los datos que había en la tabla antes de crear o habilitar de nuevo la restricción.

    • Especificación de tablas y columnas (Categoría)
      Se expande para mostrar qué columnas actúan como clave externa y principal (o única) en la relación y a qué tablas pertenecen. Para editar o definir estos valores, haga clic en el botón de puntos suspensivos () situado a la derecha del campo de propiedad.

    • Tabla base de clave externa
      Muestra la tabla que contiene la columna que actúa como clave externa en la relación seleccionada.

    • Columnas de clave externa
      Muestra la columna que actúa como clave externa en la relación seleccionada.

    • Tabla base de claves Primary/Unique
      Muestra la tabla que contiene la columna que actúa como clave principal (o única) en la relación seleccionada.

    • Columnas de clave Primary/Unique
      Muestra la columna que actúa como clave principal (o única) en la relación seleccionada.

    • Categoría Identidad
      Se expande para mostrar los campos de propiedades de Nombre y Descripción.

    • Nombre
      Muestra el nombre de relación. Cuando se crea una nueva relación, se le da un nombre predeterminado que se basa en la tabla de la ventana activa del Diseñador de tablas. Este nombre se puede cambiar en cualquier momento.

    • Descripción
      Describe la relación. Para escribir una descripción más detallada, haga clic en Descripción y, a continuación, haga clic en los puntos suspensivos (…) que aparecen a la derecha del campo de propiedad. De este modo, obtendrá un área más grande en la que escribir el texto.

    • Categoría Diseñador de tablas
      Se expande para mostrar la información de Comprobar datos existentes al crear o al habilitar de nuevo y Exigir para replicación.

    • Exigir para replicación
      Indica si se exigirá la restricción cuando un agente de replicación realice una inserción, actualización o eliminación en esta tabla.

    • Exigir restricción de clave externa
      Especifica si se pueden modificar los datos de las columnas de la relación y si estos cambios pueden invalidar la integridad de la relación de clave externa. Elija si no desea permitir esos cambios y No si desea permitirlos.

    • Especificación de INSERT y UPDATE (Categoría)
      Se expande para mostrar la información de Regla de eliminación y Regla de actualización de la relación.

    • Regla de eliminación
      Especifica lo que sucede si un usuario intenta eliminar una fila con datos que están implicados en una relación de clave externa:

      • Sin acción   Un mensaje de error indica al usuario que no se permite la eliminación y, a continuación, se revierte la eliminación.

      • Cascada   Elimina todas las filas que contengan datos implicados en la relación de clave externa. No especifique CASCADE si la tabla se va a incluir en una publicación de mezcla que utiliza registros lógicos.

      • Establecer en Null   Establece el valor en NULL si todas las columnas de clave externa de la tabla aceptan valores NULL.

      • Establecer predeterminado   Establece el valor predeterminado definido para la columna cuando todas las columnas de clave externa de la tabla tienen definidos valores predeterminados.

    • Regla de actualización
      Especifica lo que sucede si un usuario intenta actualizar una fila con datos que están implicados en una relación de clave externa:

      • Ninguna acción   Un mensaje de error indica al usuario que no se permite la actualización y, a continuación, se revierte la actualización.

      • Cascada   Actualiza todas las filas que contengan datos implicados en la relación de clave externa. No especifique CASCADE si la tabla se va a incluir en una publicación de mezcla que utiliza registros lógicos.

      • Establecer en Null   Establece el valor en NULL si todas las columnas de clave externa de la tabla aceptan valores NULL.

      • Establecer predeterminado   Establece el valor predeterminado definido para la columna si todas las columnas de clave externa de la tabla tienen valores predeterminados definidos.

  4. En el menú Archivo, haga clic en Guardar table name.

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

Usar Transact-SQL

Para modificar una clave externa

Para modificar una restricción FOREIGN KEY mediante Transact-SQL, primero debe eliminar la restricción FOREIGN KEY existente y, a continuación, vuelva a crearla con la nueva definición. Para obtener más información, vea Eliminar relaciones entre claves externas. y Crear relaciones de clave externa.

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