/ / Relation plusieurs-à-plusieurs: un exemple dans Access, en SQL. Comment créer une relation plusieurs-à-plusieurs?

Relation plusieurs-à-plusieurs: un exemple dans Access, en SQL. Comment créer une relation plusieurs-à-plusieurs?

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.

Définition

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.

exemple de relation plusieurs-à-plusieurs

Quand peut-on utiliser une relation plusieurs-à-plusieurs?

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.

comment créer une relation 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.

Comment créer une relation plusieurs-à-plusieurs?

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.

Microsoft Access

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.

Exemple de relation plusieurs à plusieurs SQL

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.

Il y a deux tableaux.

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.

Schéma de données

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.

relation plusieurs-à-plusieurs dans les exemples d'accès

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.

SQL

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.

Combien de relations plusieurs à plusieurs sont créées

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".

exemples de relations plusieurs-à-plusieurs

Mise en œuvre de la communication

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.

Le rôle de la communication plusieurs-à-plusieurs

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.

relation plusieurs-à-plusieurs SQL

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.

Base de données du roi

Cet exemple de base de données fournit des informations sur King Corporation. Parmi les tableaux:

  • employés de l'entreprise - contient le codele salarié, son nom, prénom et initiale du deuxième prénom (focus sur les noms étrangers), également le code du patron et le poste occupé par le salarié, la date de son admission dans l'entreprise, le salaire qu'il perçoit et la commission stipulée , le code départemental;
  • départements de la société - parmi les champs du tableau, il y a le code et le nom du département, ainsi que le code de son emplacement;
  • l'emplacement des départements, ce qui implique la saisie d'informations sur le code d'emplacement et le nom de la ville;
  • positions dans l'entreprise - un petit tableau avec deux champs du code de position et son nom officiel;
  • entreprises acheteuses - domaines:code et nom du client, adresse, ville et état, indicatif postal et régional, téléphone, code du gestionnaire du service à la clientèle, crédit client et commentaires (notes et notes);
  • les contrats de vente, contenant le code et la date du contrat, le code de l'acheteur, la date de livraison et le montant total du contrat;
  • certificats de vente - code d'acte et code de contrat, qui comprend l'acte, le code du produit, son prix, la quantité achetée et le prix d'achat total;
  • marchandises - code et nom du produit;
  • prix - code produit, prix annoncé, prix minimum possible, date de fixation et date d'annulation du prix.

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.

type de relation plusieurs-à-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.

Nuances importantes

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.

J'ai aimé:
0
Messages populaires
Développement spirituel
Nourriture
yup