Database
 sql >> Base de données >  >> RDS >> Database

SQL de clé étrangère :tout ce que vous devez savoir sur les opérations de clé étrangère

Dans le marché actuel où de nombreuses entreprises multinationales utilisent des bases de données relationnelles pour gérer les données, il est très important de comprendre comment chaque table peut être liée les unes aux autres. Ainsi, dans cet article sur Foreign Key SQL, je vais discuter de la clé étrangère dans les tables pour vous faire comprendre la relation entre les tables.

Les sujets suivants seront abordés dans cet article :

  1. Qu'est-ce qu'une contrainte de clé étrangère ?
  2. Règles pour la clé étrangère
  3. Opérations de clé étrangère :
    • Clé étrangère SQL lors de la création d'une table
    • Clé étrangère SQL sur Alter Table
    • Supprimer la clé étrangère

Qu'est-ce qu'une contrainte de clé étrangère ?

Une clé étrangère est un type de clé utilisé pour lier deux tables dans une base de données. Ainsi, une clé étrangère est un attribut ou une collection d'attributs dans une table qui fait référence à la clé primaire dans une autre table.

Par exemple, si la table A et la table B sont liées l'une à l'autre, alors si la table A se compose de la clé primaire, cette table sera appelée la table référencée ou la table parent. De même, si la table B consiste en une clé étrangère, cette table est appelée table de référence ou table enfant. Reportez-vous à l'image ci-dessous :

Maintenant que vous savez ce qu'est une clé étrangère, dans cet article sur la clé étrangère SQL, laissez-nous comprendre les règles de la clé étrangère.

Règles pour la clé étrangère

Les règles de la clé étrangère sont les suivantes :

  1. La table avec la clé étrangère est appelée la table enfant et la table référencée par la clé étrangère est appelée la table parent.
  2. Les valeurs nulles sont autorisées dans une clé étrangère
  3. Les clés étrangères peuvent être dupliquées
  4. Il peut y avoir plus d'une seule clé étrangère dans une table
  5. La relation établie entre les tables est connue sous le nom d'intégrité référentielle

Maintenant que vous savez quelles sont les règles d'une clé étrangère, dans cet article sur la clé étrangère SQL, voyons les opérations de la clé étrangère.

Opérations de clé étrangère :

Pour comprendre les différentes opérations présentes sur la clé étrangère, considérez les deux tableaux suivants :

Tableau des clients :

ID client Nom du client Numéro de téléphone
1 Rohan 9876543210
2 Sonali 9876567864
3 Ajay 9966448811
4 Geeta 9765432786
5 Shubham 9944888756

Tableau des cours :

ID de cours

CourseName

ID client

c01

DevOps

2

c02

Apprentissage automatique

4

c03

RPA

1

c04

Tableau

3

c05

AWS

2

Maintenant, si vous observez, la colonne customerID dans la table courses fait référence à la colonne customerID dans la table des clients. La colonne customerID de la table des clients est la clé primaire et la colonne customerID de la table des cours est la clé étrangère de cette table.

Commencer par la première opération :

Clé étrangère sur la création de table

Vous pouvez utiliser la syntaxe suivante pour créer une clé étrangère sur la colonne "customerID" lorsque vous créez la table "courses" :

#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)
);

Appliquer une clé étrangère sur plusieurs colonnes

Pour appliquer une clé étrangère sur plusieurs colonnes lors de la création d'une table, reportez-vous à l'exemple suivant :

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)
);

Ensuite, dans cet article sur Foreign Key SQL, voyons comment utiliser la clé étrangère sur Alter Table.

Clé étrangère sur Alter Table

Vous pouvez utiliser la syntaxe suivante pour créer une clé étrangère sur la colonne "customerID" lorsque la table "courses" est déjà créée et que vous souhaitez simplement modifier la table :

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

Si vous souhaitez ajouter un nom à la contrainte de clé étrangère et la définir sur plusieurs colonnes, utilisez la syntaxe SQL suivante :

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

Ensuite, dans cet article sur Foreign Key SQL, voyons comment supprimer une clé étrangère

Supprimer la clé étrangère

Pour supprimer la clé étrangère, vous pouvez vous référer à l'exemple suivant :

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

Avec cela, nous arrivons à la fin de cet article. J'espère que vous avez compris comment utiliser la clé étrangère dans SQL. Si vous souhaitez en savoir plus sur MySQL et découvrez cette base de données relationnelle open source, puis consultez notre Formation de certification MySQL DBA qui comprend une formation en direct dirigée par un instructeur et une expérience de projet réelle. Cette formation vous aidera à comprendre MySQL en profondeur et vous aidera à maîtriser le sujet.

Vous avez une question pour nous ? Veuillez le mentionner dans la section des commentaires de cet article sur "Foreign Key SQL" et je vous recontacterai.