Table des matières:
- Définition - Que signifie la relation plusieurs-à-plusieurs?
- Techopedia explique la relation plusieurs-à-plusieurs
Définition - Que signifie la relation plusieurs-à-plusieurs?
Une relation plusieurs à plusieurs fait référence à une relation entre des tables dans une base de données lorsqu'une ligne parent dans une table contient plusieurs lignes enfants dans la deuxième table, et vice versa. Les relations plusieurs-à-plusieurs sont souvent délicates à représenter.
La relation plusieurs-à-plusieurs est généralement un miroir de la relation réelle entre les objets que les deux tables représentent.
Techopedia explique la relation plusieurs-à-plusieurs
Une base de données utilisée par une application scolaire peut être prise comme exemple. Deux des tableaux qu'il contient sont "Student" et "Subject". Dans la vie réelle, un étudiant suivra plusieurs sujets simultanément, tandis qu'un sujet sera étudié par plusieurs étudiants à la fois. Il s'agit d'une relation plusieurs-à-plusieurs.
Dans une base de données, une telle relation doit être décomposée en tables intermédiaires. Dans notre exemple d'école, cela peut prendre la forme d'un troisième tableau qui contient les colonnes "Student_ID", "Subject_ID", "Semester" et "Year". Pour chaque étudiant qui suit une certaine matière dans un certain semestre dans une certaine année, une ligne peut être entrée dans ce tableau. Le Student_ID est lu dans la table maître Student, tandis que le Subject_ID est lu dans la table maître Subject. De cette façon, de nombreux étudiants peuvent être liés à de nombreuses matières.
Un autre exemple peut être une relation entre les employés et les services. Chaque département peut avoir un nombre illimité d'employés travaillant sur une tâche spécifique. De même, un employé peut également travailler pour plusieurs services à la fois. Par conséquent, un nombre illimité de services ou d'employés peut être lié simultanément les uns aux autres en créant une table intermédiaire qui les relie à l'aide de Employee_ID et Department_ID.