Les relations entre les tables de données
Les relations entre les tables de données
Les relations entre les tables de données sont utilisées pour lier les données stockées dans différentes tables. Les relations sont définies en utilisant des clés étrangères, qui sont des colonnes dans une table qui font référence à la clé primaire d’une autre table.
Il existe trois types de relations entre les tables de données: la relation un-à-un, la relation un-à-plusieurs et la relation plusieurs-à-plusieurs.
-
Relation un-à-un: Une relation un-à-un est une relation dans laquelle chaque enregistrement d’une table est associé à un seul enregistrement d’une autre table. Par exemple, supposons que vous ayez une table
employeeset une tableemployeeDetails. Chaque employé a des détails uniques stockés dans la tableemployeeDetails. Dans ce cas, vous pouvez utiliser une relation un-à-un pour lier les deux tables. -
Relation un-à-plusieurs: Une relation un-à-plusieurs est une relation dans laquelle chaque enregistrement d’une table peut être associé à plusieurs enregistrements d’une autre table. Par exemple, supposons que vous ayez une table
customerset une tableorders. Un client peut avoir plusieurs commandes, mais chaque commande ne peut être associée qu’à un seul client. Dans ce cas, vous pouvez utiliser une relation un-à-plusieurs pour lier les deux tables. -
Relation plusieurs-à-plusieurs: Une relation plusieurs-à-plusieurs est une relation dans laquelle plusieurs enregistrements d’une table peuvent être associés à plusieurs enregistrements d’une autre table. Par exemple, supposons que vous ayez une table
studentset une tablecourses. Un étudiant peut s’inscrire à plusieurs cours et chaque cours peut avoir plusieurs étudiants inscrits. Dans ce cas, vous pouvez utiliser une relation plusieurs-à-plusieurs pour lier les deux tables.
Pour créer des relations entre les tables de données, vous utilisez l’instruction FOREIGN KEY lors de la création des tables. Par exemple, pour créer une relation un-à-plusieurs entre les tables customers et orders, vous pouvez utiliser l’instruction suivante:
CREATE TABLE customers (
customerID INT PRIMARY KEY,
customerName VARCHAR(255)
);
CREATE TABLE orders (
orderID INT PRIMARY KEY,
orderDate DATE,
customerID INT,
FOREIGN KEY (customerID) REFERENCES customers(customerID)
);
Dans cet exemple, nous avons créé deux tables: customers et orders. La colonne customerID dans la table orders est définie comme clé étrangère qui fait référence à la colonne customerID dans la table customers. Cela crée une relation un-à-plusieurs entre les deux tables.

Dans cet exemple, nous avons deux tables: customers et orders. La table customers a deux colonnes: customerID et customerName. La table orders a trois colonnes: orderID, orderDate et customerID.
La colonne customerID dans la table orders est une clé étrangère qui fait référence à la colonne customerID dans la table customers. Cela crée une relation un-à-plusieurs entre les deux tables, où chaque client peut avoir plusieurs commandes, mais chaque commande ne peut être associée qu’à un seul client.
Exemples pour chaque type de relation entre les tables de données:
Relation un-à-un:
- Relation un-à-un: Supposons que vous ayez une entreprise avec des employés et que vous souhaitiez stocker des informations sur les employés et leurs détails personnels dans une base de données. Vous pouvez créer deux tables: une table
employeespour stocker les informations de base sur les employés, et une tableemployeeDetailspour stocker les détails personnels des employés. Chaque employé a un seul enregistrement dans la tableemployeeDetails, donc vous pouvez utiliser une relation un-à-un pour lier les deux tables. Voici comment vous pouvez créer ces tables en utilisant SQL:
CREATE TABLE employees (
employeeID INT PRIMARY KEY,
firstName VARCHAR(255),
lastName VARCHAR(255)
);
CREATE TABLE employeeDetails (
employeeID INT PRIMARY KEY,
address VARCHAR(255),
phoneNumber VARCHAR(255),
FOREIGN KEY (employeeID) REFERENCES employees(employeeID)
);
Dans cet exemple, nous avons créé deux tables: employees et employeeDetails. La colonne employeeID dans la table employeeDetails est définie comme clé étrangère qui fait référence à la colonne employeeID dans la table employees. Cela crée une relation un-à-un entre les deux tables.
Relation un-à-plusieurs:
- Relation un-à-plusieurs: Supposons que vous ayez une entreprise de vente en ligne et que vous souhaitiez stocker des informations sur les clients et leurs commandes dans une base de données. Vous pouvez créer deux tables: une table
customerspour stocker les informations sur les clients, et une tableorderspour stocker les informations sur les commandes. Un client peut avoir plusieurs commandes, mais chaque commande ne peut être associée qu’à un seul client, donc vous pouvez utiliser une relation un-à-plusieurs pour lier les deux tables. Voici comment vous pouvez créer ces tables en utilisant SQL:
CREATE TABLE customers (
customerID INT PRIMARY KEY,
customerName VARCHAR(255)
);
CREATE TABLE orders (
orderID INT PRIMARY KEY,
orderDate DATE,
customerID INT,
FOREIGN KEY (customerID) REFERENCES customers(customerID)
);
Dans cet exemple, nous avons créé deux tables: customers et orders. La colonne customerID dans la table orders est définie comme clé étrangère qui fait référence à la colonne customerID dans la table customers. Cela crée une relation un-à-plusieurs entre les deux tables.
Relation plusieurs-à-plusieurs:
- Relation plusieurs-à-plusieurs: Supposons que vous ayez une école et que vous souhaitiez stocker des informations sur les étudiants et les cours dans une base de données. Vous pouvez créer deux tables: une table
studentspour stocker les informations sur les étudiants, et une tablecoursespour stocker les informations sur les cours. Un étudiant peut s’inscrire à plusieurs cours et chaque cours peut avoir plusieurs étudiants inscrits, donc vous pouvez utiliser une relation plusieurs-à-plusieurs pour lier les deux tables. Cependant, contrairement aux relations un-à-un et un-à-plusieurs, vous ne pouvez pas créer directement une relation plusieurs-à-plusieurs entre deux tables en utilisant des clés étrangères. Au lieu de cela, vous devez créer une troisième table appelée table d’association pour lier les deux tables. Voici comment vous pouvez créer ces tables en utilisant SQL:
CREATE TABLE students (
studentID INT PRIMARY KEY,
studentName VARCHAR(255)
);
CREATE TABLE courses (
courseID INT PRIMARY KEY,
courseName VARCHAR(255)
);
CREATE TABLE studentCourses (
studentID INT,
courseID INT,
PRIMARY KEY (studentID, courseID),
FOREIGN KEY (studentID) REFERENCES students(studentID),
FOREIGN KEY (courseID) REFERENCES courses(courseID)
);
Dans cet exemple, nous avons créé trois tables: students, courses et studentCourses. La table studentCourses est la table d’association qui lie les deux autres tables. Elle a deux colonnes: studentID et courseID, qui sont toutes deux définies comme clés étrangères faisant référence aux colonnes studentID dans la table students et courseID dans la table courses, respectivement. Cela crée une relation plusieurs-à-plusieurs entre les deux tables.
Résumé:
Les relations entre les tables de données sont utilisées pour lier les données stockées dans différentes tables.
Il existe trois types de relations:
la relation un-à-un,
la relation un-à-plusieurs
et la relation plusieurs-à-plusieurs.
Pour créer des relations entre les tables, vous utilisez l’instruction FOREIGN KEY lors de la création des tables.