sql >> Base de Datos >  >> RDS >> Database

SQL de clave externa:todo lo que necesita saber sobre las operaciones de clave externa

En el mercado actual, donde muchas empresas multinacionales utilizan bases de datos relacionales para manejar datos, es muy importante comprender cómo se pueden relacionar todas y cada una de las tablas entre sí. Entonces, en este artículo sobre SQL de clave externa, analizaré la clave externa en las tablas para que comprenda la relación entre las tablas.

Los siguientes temas se tratarán en este artículo:

  1. ¿Qué es la restricción de clave externa?
  2. Reglas para clave externa
  3. Operaciones de clave externa:
    • Clave foránea SQL en Crear tabla
    • Clave foránea de SQL en la tabla modificada
    • Soltar clave externa

¿Qué es la restricción de clave externa?

Una clave externa es un tipo de clave que se utiliza para vincular dos tablas en una base de datos. Entonces, una clave externa es un atributo o una colección de atributos en una tabla que hace referencia a la clave principal en otra tabla.

Por ejemplo, si la tabla A y la tabla B están relacionadas entre sí, entonces si la tabla A consta de la clave principal, esta tabla se llamaría tabla referenciada o tabla principal. De manera similar, si la tabla B consta de una clave externa, esa tabla se conoce como tabla de referencia o tabla secundaria. Consulte la siguiente imagen:

Ahora que sabe qué es una clave externa, a continuación en este artículo sobre SQL de clave externa, comprendamos las reglas de la clave externa.

Reglas para clave externa

Las Reglas de Clave Foránea son las siguientes:

  1. La tabla con la clave foránea se denomina tabla secundaria y la tabla a la que hace referencia la clave foránea se denomina tabla principal.
  2. Se permiten valores nulos en una clave foránea
  3. Las claves foráneas se pueden duplicar
  4. Puede haber más de una sola clave externa en una tabla
  5. La relación que se establece entre las tablas se conoce como integridad referencial

Ahora que sabe cuáles son las reglas de una clave externa, a continuación en este artículo sobre SQL de clave externa, veamos las operaciones de la clave externa.

Operaciones de clave externa:

Para comprender las diversas operaciones presentes en la clave externa, considere las siguientes dos tablas:

Tabla de clientes:

ID de cliente Nombre del cliente Número de teléfono
1 Rohan 9876543210
2 Sonali 9876567864
3 Ajay 9966448811
4 Geeta 9765432786
5 Shubham 9944888756

Tabla de cursos:

ID del curso

Nombre del curso

ID de cliente

c01

DevOps

2

c02

Aprendizaje automático

4

c03

RPA

1

c04

Tableau

3

c05

AWS

2

Ahora, si observa, la columna de ID de cliente en la tabla de cursos se refiere a la columna de ID de cliente en la tabla de clientes. La columna de ID de cliente de la tabla de clientes es la clave principal y la columna de ID de cliente de la tabla de cursos es la clave externa de esa tabla.

Empezando con la primera operación:

Clave foránea en Crear tabla

Puede usar la siguiente sintaxis para crear una clave externa en la columna "ID de cliente" cuando crea la tabla "cursos":

#For SQL Server/ MS Access/ Oracle
CREATE TABLE courses (
courseID varchar NOT NULL PRIMARY KEY,
courseName varchar NOT NULL,
customerID int FOREIGN KEY REFERENCES customers(customerID)
);
#For MySQL
CREATE TABLE courses (
courseID varchar NOT NULL PRIMARY KEY,
courseName varchar NOT NULL,
customerID int
PRIMARY KEY (courseID),
FOREIGN KEY (customerID) REFERENCES customers(customerID)
);

Aplicar clave externa en varias columnas

Para aplicar una clave externa en varias columnas al crear una tabla, consulte el siguiente ejemplo:

CREATE TABLE courses (
courseID varchar NOT NULL,
courseName varchar NOT NULL,
customerID int, PRIMARY KEY (courseID),
CONSTRAINT FK_CustomerCourse FOREIGN KEY (customerID)
REFERENCES customers(customerID)
);

A continuación, en este artículo sobre SQL de clave externa, veamos cómo usar la clave externa en Alter Table.

Clave foránea en Alter Table

Puede usar la siguiente sintaxis para crear una clave externa en la columna "customerID" cuando la tabla "cursos" ya está creada y solo desea modificar la tabla:

ALTER TABLE courses
ADD FOREIGN KEY (customerID) REFERENCES customers(customerID);

Si desea agregar un nombre a la restricción de clave externa y definirla en varias columnas, use la siguiente sintaxis SQL:

ALTER TABLE courses
ADD CONSTRAINT FK_CustomerCourse
FOREIGN KEY (customerID) REFERENCES Customers(customerID);

A continuación, en este artículo sobre SQL de clave externa, comprendamos cómo eliminar una clave externa

Soltar clave externa

Para eliminar la clave externa, puede consultar el siguiente ejemplo:

#For SQL Server/ MS Access/ Oracle
ALTER TABLE courses
DROP CONSTRAINT FK_CustomerCourse;
For MYSQL
ALTER TABLE courses
DROP FOREIGN KEY FK_CustomerCourse;

Con esto, llegamos al final de este artículo. Espero que hayas entendido cómo usar Foreign Key en SQL. Si desea obtener más información sobre MySQL y conozca esta base de datos relacional de código abierto, luego consulte nuestra Capacitación en certificación MySQL DBA que viene con capacitación en vivo dirigida por un instructor y experiencia en proyectos de la vida real. Esta capacitación lo ayudará a comprender MySQL en profundidad y lo ayudará a dominar el tema.

¿Tiene alguna pregunta para nosotros? Menciónelo en la sección de comentarios de este artículo sobre "SQL de clave externa" y me pondré en contacto con usted.