Dans tous les SGBD (systèmes de gestion de bases de données)il existe plusieurs types de relations entre les tables. Ceux-ci incluent un-à-un, un-à-plusieurs, plusieurs-à-un (certains ont tendance à identifier les deux comme un) et plusieurs-à-plusieurs. Un exemple de ce dernier, son explication et son application dans divers SGBD, tels qu'Access ou SQL, seront abordés dans cet article.
Une relation plusieurs à plusieurs est définie commecorrespondant à l'une des instances de l'une des entités de toutes les instances de l'autre. En d'autres termes, chaque champ de la première (deuxième) table est associé à tous les champs de la deuxième (première).
Le diagramme présenté reflète clairement l'essence de cette relation.
Un exemple de relation plusieurs-à-plusieurs est étudiantgroupe et groupe d'enseignants. Chacun des étudiants étudie avec plusieurs professeurs à la fois, qui, à leur tour, donnent des conférences à plusieurs étudiants. L'image montre la différence entre les relations un-à-plusieurs et plusieurs-à-plusieurs.
La communication plusieurs-à-plusieurs est souvent nécessaire lorsquecompilant des bases de données à grande échelle, de petits exemples illustratifs sont généralement utilisés uniquement à des fins éducatives, dans la pratique, il s'avère que plus il y a d'entités dans la base de données et plus il y a de relations entre elles, plus il est probable de se référer fréquemment aux -de nombreuses relations.
Des exemples de la relation en question seront toujoursajouté au cours de l'article, mais il est important non seulement de comprendre ce que c'est, mais aussi comment vous pouvez le mettre en œuvre. Les détails de ce processus dépendent directement du SGBD choisi pour le travail, alors que le principe reste le même pour tout le monde.
Produit logiciel de bureau de Microsoftest connu sur le marché des logiciels depuis un certain temps. Il est livré avec l'éditeur de texte Worfd, le processeur de feuilles de calcul Excel et d'autres dans la ligne «bureau». L'accès (lu comme «accès», traduction littérale - «accès») peut être acheté séparément de ses «collègues». Il est recommandé d'acheter, bien sûr, des logiciels sous licence, mais personne ne sait combien de repacks piratés peuvent être trouvés sur Internet, sous la forme de fichiers réguliers ou de distributions torrent. Microsoft Access est même disponible dans une version portable. Elle, qui ne nécessite pas d'installation et des compétences particulières pour travailler avec un PC, est la mieux placée pour choisir si le logiciel ne sera pas utilisé pendant longtemps et souvent.
Il ressort clairement du contexte que Microsoft Access estsystème de gestion de base de données. Et l'un des plus populaires. Il est relationnel, ce qui signifie qu'il est basé sur un modèle de données logique, qui au cours de ses travaux se réfère à la théorie des ensembles et à la logique du premier ordre. Les relations plusieurs-à-plusieurs dans Access (des exemples seront donnés pendant l'explication) sont très, très simples à implémenter. Considérez-la.
Afin de ne rien inventer de nouveau, prenons déjàdonné afin de clarifier la relation plusieurs à plusieurs, l'exemple sur le corps étudiant. Vous devez créer un tableau "Etudiants" et un tableau "Enseignants". Le premier et le second ont tous deux des clés primaires. Pour combiner des instances de ces deux entités, une autre table est également requise, dont les champs sont les clés des première et deuxième tables.
Considérant un autre exemple:Par exemple, les joueurs et les équipes (en tenant compte du fait qu'au moins un des joueurs a joué pour différentes équipes et que chaque équipe a onze joueurs), l'essence de la création d'une connexion ne changera pas. Trois tables seront également nécessaires. Parmi ceux-ci, «Footballeurs» et «Équipes» comme principaux, et un intermédiaire.
Relations entre les tables dans le SGBD Microsoft Accesssont implémentés à l'aide de l'onglet Schéma de données. Toutes les entités nécessaires sont ajoutées au panneau apparu (dans notre cas, les trois tableaux). La relation plusieurs-à-plusieurs sera créée en utilisant deux relations un-à-plusieurs entre le principal («étudiants» et «enseignant») et une table intermédiaire. Pour ce faire, les clés primaires correspondantes doivent être liées entre elles.
L'illustration ci-dessus montre à quoi ressemble l'onglet Relathionships. Le nombre de tables ajoutées au panneau est illimité. L'emplacement est entièrement réglable par l'utilisateur.
La conception de bases de données SQL est un défiplus difficile que sur "Access". Si un produit Microsoft est entièrement adapté à un environnement de bureau, a une énorme et, avec chaque version et mise à jour, toutes les fonctionnalités extensibles, mais en même temps, une interface pratique pour un simple utilisateur, alors SQL est un non-procédural distinct langage de programmation à l'aide duquel sur différentes plates-formes, vous pouvez travailler avec des bases de données. Logiciel connu pour cette tâche: Oracle MySQL et DB2 (populaire, mais pas unique). Bien que chacun d'eux ait ses propres subtilités et nuances, le langage SQL les «unit». Ayant appris à travailler avec au moins l'un d'entre eux, il sera beaucoup plus facile de traiter avec l'autre.
Création, remplissage et actions directessur une base de données existante en SQL dont vous avez besoin via des codes ou des scripts spéciaux. Cependant, ceux qui ont déjà accédé à la section "Relations plusieurs-à-plusieurs", dont un exemple dans ce langage de programmation sera fourni ci-dessous, devraient connaître au moins les commandes de base et les principes d'utilisation du langage SQL.
Une longue introduction peut être quelque peu déroutante et"obscurcir", mais en fait le principe de mise en œuvre de la connexion reste le même. Pour que le type de relation plusieurs-à-plusieurs soit implémenté dans la pratique, non seulement dans "Access", mais aussi en SQL, il est nécessaire de créer initialement deux tables de base et une table intermédiaire. La situation est similaire avec les clés: les entités principales ont des champs principaux, dont chacun est enregistré dans une table de jonction. Ce qui signifie que la relation plusieurs-à-plusieurs SQL n'est pas fondamentalement différente de l '"accès".
Pour implémenter une communication plusieurs-à-plusieurs dans des scriptsSQL utilise FOREIGN KEY de la même manière que les clés source des tables principales. Ils sont enregistrés avec tous les champs lorsqu'ils sont créés et / ou modifiés.
Généralement relations entre les entités dans les bases de donnéesutilisé pour l'intégrité des informations qui y sont stockées. Seule une base de données bien conçue avec toutes les connexions nécessaires garantit la sécurité du stockage, la facilité d'utilisation et constitue une structure résistante aux influences et aux changements externes. En règle générale, si une base de données contient des données sur une organisation, une entreprise ou une entreprise dans son ensemble, elle contient de nombreuses entités avec des instances différentes.
Cela signifie que lors de l'élaboration d'un schéma de données (dans"Access") ou de script (dans "Oracle" ou "DiBiTu"), il y aura au moins une relation plusieurs-à-plusieurs. Un exemple de SQl souvent utilisé dans le cours Organisation de base de données est King's Database.
Cet exemple de base de données fournit des informations sur King Corporation. Parmi les tableaux:
Les petites tables ne comportant pas plus de deux ou trois champs sont associées à au plus une table dans une relation un-à-un ou un-à-plusieurs.
Tables d'échelle, telles que "employésles entreprises ", les" entreprises acheteuses ", les" contrats de vente "et les" actes de vente "sont liés à plusieurs entités à la fois, et avec certaines - avec l'aide des" intermédiaires "une relation plusieurs-à-plusieurs. Le tableau" entreprises-acheteurs "est lui-même un intermédiaire, en tant que tel, car il a de nombreux champs empruntés à d'autres tables et sont des clés étrangères. De plus, l'échelle et l'interconnexion de la base de données de King's Corporation sont telles que toutes les relations sont inextricablement corrélées les unes aux autres et s'influencent mutuellement L'un d'eux entraînera la destruction de l'intégrité de l'ensemble de la base de données.
Lors de la mise en œuvre d'une relation plusieurs-à-plusieurs, à l'extérieurselon le SGBD utilisé, il est très important de déterminer correctement les clés avec lesquelles la relation sera compilée. Une connexion mal implémentée ne remplira pas son objectif principal, à savoir assurer l'intégrité de la table, et par conséquent, au lieu du confort attendu, l'utilisateur recevra au contraire des inconvénients et des problèmes supplémentaires, en particulier lors du remplissage. tableaux et en éditant les données.