¿Cómo crear una tabla con varias claves externas en SQL?

Cuando una columna de atributo no principal en una tabla hace referencia a la clave principal y tiene la misma columna que la columna de la tabla que es el atributo principal, se denomina clave externa. Establece la relación entre las dos tablas, lo que ayuda en gran medida a la normalización de las tablas. Una tabla puede tener varias claves externas según el requisito.

En este artículo, veamos cómo crear una tabla con varias claves externas en MSSQL.

 Sintaxis:

column_name(non_prime) data_type REFERENCES table_name(column_name(prime)

Paso 1: crear una base de datos

Usamos el siguiente comando para crear una base de datos llamada GeeksforGeeks:

Consulta:

CREATE DATABASE GeeksforGeeks

Paso 2: Uso de la base de datos

Para usar la base de datos GeeksforGeeks, use el siguiente comando:

Consulta:

USE GeeksforGeeks

Paso 3: Creación de 3 tablas. La tabla detalles_estudiante contiene dos claves externas que hacen referencia a las tablas detalles_sucursal_estudiante y dirección_estudiante.

Consulta:

CREATE TABLE student_details(
  stu_id VARCHAR(8) NOT NULL PRIMARY KEY,
  stu_name VARCHAR(20),
  stu_branch VARCHAR(20) FOREIGN KEY REFERENCES student_branch_details(stu_branch),
  stu_pin_code VARCHAR(6) FOREIGN KEY REFERENCES student_address(stu_pin_code)
  );
CREATE TABLE student_branch_details(
  stu_branch VARCHAR(20) PRIMARY KEY,
  subjects INT,
  credits INT
);
CREATE TABLE student_address(
  stu_pin_code VARCHAR(6) PRIMARY KEY,
  stu_state VARCHAR(20),
  student_city VARCHAR(20)
);

Producción:

El número y el tipo de claves se pueden verificar en la sección de tablas del explorador de objetos en el lado izquierdo de la interfaz de usuario.

Paso 4: Insertar datos en la tabla  

Insertar filas en las tablas student_branch_details y student_address usando la siguiente consulta SQL:

Consulta:

INSERT INTO student_branch_details VALUES
  ('E.C.E',46,170),
  ('E.E.E',47,178),
  ('C.S.E',44,160)

INSERT INTO student_address VALUES
  ('555555', 'xyz','abc'),
  ('666666', 'yyy','aaa'),
  ('777777','zzz','bbb'),
  ('888888','www','ccc'),
  ('999999','vvv','ddd')

Insertar filas en student_details

Consulta:

INSERT INTO student_details VALUES
('1940001','PRATHAM','E.C.E','555555'),
('1940002','ASHOK','C.S.E','666666'),
('1940003','PAVAN KUMAR','C.S.E','777777'),
('1940004','SANTHOSH','E.C.E','888888'),
('1940005','THAMAN','E.C.E','999999'),
('1940006','HARSH','E.E.E','888888')

Paso 5: Verificación de los datos insertados 

Ver las tablas detalles_del_estudiante, detalles_de_la_sucursal_del_estudiante, dirección_del_estudiante después de insertar filas usando la siguiente consulta SQL:

Consulta:

SELECT * FROM student_details
SELECT * FROM student_branch_details
SELECT * FROM student_address

Producción:

Publicación traducida automáticamente

Artículo escrito por lokeshpotta20 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *