Introduction aux relations de base de données
termes de la base de données en relation et relation Décrit comment les données de la table sont jointes. Une base de données relationnelle consiste en une série de deux ou plusieurs tables liées par des clés spécifiques. Les bases de données relationnelles diffèrent des bases de données non structurées, qui sont courantes dans les initiatives de mégadonnées. Les bases de données relationnelles ont tendance à exiger des règles strictes sur la façon dont les tables sont définies et ce qui constitue une relation valide entre les tables.
Images de héros/Getty Images
Types de relations de base de données
Les relations vous permettent de décrire les connexions entre les tables de la base de données de manière puissante. Ces relations peuvent ensuite être exploitées pour effectuer de puissantes requêtes croisées appelées JOIN.
Il existe trois types de relations de base de données, chacune nommée en fonction du nombre de lignes de table impliquées dans la relation. Chacun de ces trois types de relations existe entre deux tables.
- relation un à un Cela se produit lorsque chaque entrée de la première table a exactement une entrée correspondante dans la seconde table. Les relations un à un sont rarement utilisées car il est généralement plus efficace d’avoir toutes les informations dans une seule table. Certains concepteurs de bases de données tirent parti de cette relation en créant une table qui contient un sous-ensemble de données d’une autre table.
- relation un-à-plusieurs est le type de relation de base de données le plus courant. Lorsque chaque enregistrement de la table A correspond à un ou plusieurs enregistrements de la table B, il apparaît que leur base de données peut être une relation un-à-plusieurs, car chaque élève n’a qu’un seul enseignant, mais chaque enseignant a plusieurs élèves. Cette conception un-à-plusieurs permet d’éliminer les données en double.
- relation plusieurs à plusieurs Se produit lorsque chaque enregistrement de la table A correspond à un ou plusieurs enregistrements de la table B et chaque enregistrement de la table B correspond à un ou plusieurs enregistrements de la table A. Par exemple, la relation entre la table Enseignants et la table Classes peut être plusieurs à plusieurs, puisque chaque enseignant peut enseigner plus d’un cours et chaque cours peut avoir plus d’un instructeur.
Les relations autoréférentielles : un cas particulier
Une relation auto-référentielle se produit lorsqu’une seule table est impliquée. Un exemple courant est la table Employés, qui contient des informations sur le superviseur de chaque employé. Chaque superviseur est également un employé et a un superviseur. Dans ce cas, il existe une relation autoréférentielle un-à-plusieurs car chaque employé a un superviseur, mais chaque superviseur peut avoir plusieurs employés.
Créer des relations à l’aide de clés étrangères
Vous pouvez créer des relations entre les tables en spécifiant des clés étrangères. Cette clé indique à la base de données relationnelle comment la table est liée. Dans de nombreux cas, les colonnes de la table A contiennent des clés primaires référencées à partir de la table B.
Prenons l’exemple d’une table d’enseignants et d’une table d’élèves. Le tableau Enseignants contient un ID, un nom et une colonne de cours :
numéro de professeur | le nom de l’enseignant | cours |
001 | anonyme | Anglais |
002 | Jane Shimo | math |
La table Students comprend les colonnes ID, Name et clé étrangère :
carte d’étudiant | nom d’étudiant | professeur_FK |
0200 | lowell smith | 001 |
0201 | Brian Court | 001 |
0202 | Corky Mendès | 002 |
0203 | monica jones | 001 |
colonne professeur_FK La valeur de clé primaire de l’enseignant dans la table des enseignants est référencée dans la table des étudiants. Les concepteurs de bases de données utilisent souvent PK ou FK dans les noms de colonne pour identifier les colonnes de clé primaire ou de clé étrangère.
Ces deux tableaux illustrent une relation un-à-plusieurs entre les enseignants et les élèves.
Relations et intégrité référentielle
Après avoir ajouté la clé étrangère à la table, créez une contrainte de base de données qui applique l’intégrité référentielle entre les deux tables. Cette étape garantit que les relations entre les tables restent cohérentes. Lorsqu’une table a une clé étrangère vers une autre table, l’intégrité référentielle exige que toute valeur de clé étrangère dans la table B fasse référence à un enregistrement existant dans la table A.
relation de mise en œuvre
Selon votre base de données, vous implémenterez différemment les relations entre les tables. Microsoft Access fournit un assistant qui vous permet de lier des tables et d’appliquer l’intégrité référentielle.
Si vous écrivez SQL directement, créez d’abord la table Teachers et déclarez une colonne ID comme clé primaire :
CREATE TABLE INSTRUCTOR(InstructorID INT AUTO_INCREMENT PRIMARY KEY,
Nom_enseignant VARCHAR(100),
classe VARCHAR(100)
); type de données = « code »>
Lors de la création de la table Student, déclarez la colonne Teacher_FK en tant que clé étrangère référençant la colonne InstructorID dans la table Teacher :
CREER TABLE ETUDIANT(
Clé primaire StudentID INT AUTO_INCREMENT,
Student_Name VARCHAR(100), Teacher_FK INT,
Clé étrangère (Teacher_FK) RÉFÉRENCES Enseignant (InstructorID) )
); type de données = « code »>
Joindre des tables à l’aide de relations
Après avoir créé une ou plusieurs relations dans la base de données, exploitez leur puissance en utilisant des requêtes SQL JOIN pour combiner les informations de plusieurs tables. Le type de jointure le plus courant est SQL INNER JOIN, qui est une jointure simple. Ce type de jointure renvoie tous les enregistrements d’une ou plusieurs tables qui satisfont la condition de jointure.
Par exemple, cette condition JOIN renvoie Student_Name, Teacher_Name et Course, où la clé étrangère de la table Students correspond à la clé primaire de la table Teachers :
Sélectionnez Étudiants.Nom_Étudiant, Enseignants.Nom_Enseignant, Enseignants.Cours
d’un étudiant
INNER JOIN enseignant
ON Students.Teacher_FK=Teachers.InstructorID ; DataType= »Code »>
Cette instruction produit le tableau suivant :
nom d’étudiant | le nom de l’enseignant | cours |
lowell smith | anonyme | Anglais |
Brian Court | anonyme | Anglais |
Corky Mendès | Jane Shimo | math |
monica jones | anonyme | Anglais |
Merci de nous en informer!
Recevez chaque jour les dernières actualités technologiques
abonnement
Dites-nous pourquoi !
D’autres ne sont pas assez détaillés pour comprendre
Lorsque vous visitez ce site Web, Dotdash Meredith et ses partenaires peuvent stocker ou récupérer des informations sur votre navigateur, principalement sous la forme de cookies. Les cookies collectent des informations sur vos préférences et votre appareil et sont utilisés pour faire fonctionner le site Web comme vous le souhaitez, pour comprendre comment vous interagissez avec le site Web et pour afficher des publicités adaptées à vos intérêts. Vous pouvez en savoir plus sur notre utilisation, modifier vos paramètres par défaut et retirer votre consentement à tout moment en visitant les paramètres des cookies, également présents dans le pied de page du site Web.
Paramètres des cookiesRejeter toutAccepter tout