Asignar Foreign Key a una tabla en una Base de Datos 2019 en Sql Server Management Studio

Fecha de Publicación: 2020-10-23

Introducción

En este ejercicio asignaremos una Foreign Key a una tabla en una Base de Datos 2019 con SQL Server Management Studio

Requisitos

  • SQL Server Management Studio



Resultado

La siguiente imagen muestra lo que obtendremos al realizar este ejercicio:





Codigo Fuente

  • Tabla Person
  • Tabla Detail Person


  • Ejercicio

    Comenzaremos abriendo Microsofot SQL Server Management Studio y haciendo Login para colocarnos despues en nuestra base de datos devel (en mi caso) todo se realiza desde Object Explorer .



    Creamos si no las tenemos nuestras tablas con las que trabajaremos (en la sección de codigo fuente en la parte superior de esta pagina puedes descargar los scripts para crearlas) que serán Person y PersonDetail.



    Daremos clic derecho en la tabla PersonDetail y despues daremos clic en Design.



    Nos posicionaremos en un campo cualquiera de la tabla, daremos clic derecho y seleccionaremos Relationships...



    Al mostrarnos la pantalla daremos clic en Add y se debe mostrar en la sección Selected Relationships una nueva linea.



    Buscamos Tables And Columns Spec en la parte derecha y damos clic en los puntos suspensivos ....



    Nos desplegara una pantalla donde seleccionaremos los campos que se relacionaran entre si, en la Foreign key table (parte derecha) es la tabla que contendra la llave foranea y la Primary key table (parte izquierda) es la tabla que contiene la llave primaria que sera parte de la tabla secundaria, en esta ultima es donde tenemos que seleccionar la tabla y el campo, al finalizar daremos clic en OK.

    Nota: Los campos seleccionados obligatoriamente deben tener ser llave primaria en su respectiva tabla para poder realizar este procedimiento.



    Ahora buscamos INSERT An UPDATE Spec para configurar el comportamiento de cuando se crea, actualiza o elimina un registro con el fin de mantener la integridad de los datos en la base de datos, depende de la necesidad del proyecto como se configurara este parametro, recomiento solo colocar la opción cuando se eliminan los registros.

    Para hacerlo desplegaremos el menu en la opción Delete Rule y buscaremos la opción Cascade, esto lo que nos asegura es que cuando un registro se elimine de la tabla principal, automaticamente se eliminara el registro de la o las tablas que contengan como llave foranea la llave primaria de la tabla principal.

    Al finalizar esta configuración damos clic en Close



    Guardamos los cambios y es posible que aparezca la siguiente pantalla. Damos clic en Yes.



    En este momento ya debemos tener creada la Foreign Key, para asegurar que se hayan guardado correctamente los cambios volvemos a repetir el paso de posicionarnos en un campo cualquiera de la tabla y dar clic derecho para seleccionar Relationships....

    Al mostrar la pantalla se debe observar que ya exista una linea en Selected Relationship como se observa en la imagen, ello indica que ya estan ligadas las tablas con las llaves definidas anteriormente.



    Referencias