Article de reference

Entité associative

Une entité associative est un terme utilisé dans la théorie relationnelle et entité-relation . Une base de données relationnelle nécessite l'implémentation d'une relation de bas...

Une entité associative est un terme utilisé dans la théorie relationnelle et entité-relation . Une base de données relationnelle nécessite l'implémentation d'une relation de base (ou table de base ) pour résoudre les relations plusieurs-à-plusieurs . Une relation de base représentant ce type d'entité est appelée, de manière informelle, une table associative .

Une entité associative (en utilisant la notation Chen )

Comme mentionné ci-dessus, les entités associatives sont implémentées dans une structure de base de données à l'aide de tables associatives, qui sont des tables pouvant contenir des références à des colonnes provenant de la même table de base de données ou de tables différentes au sein de la même base de données.

Concept d'une table de mappage
Concept d'une table de mappage

Une table associative (ou de jonction) mappe deux ou plusieurs tables ensemble en référençant les clés primaires (PK) de chaque table de données. En effet, elle contient un certain nombre de clés étrangères (FK), chacune dans une relation plusieurs-à-un de la table de jonction aux tables de données individuelles. La PK de la table associative est généralement composée des colonnes FK elles-mêmes.

Les tables associatives sont connues familièrement sous de nombreux noms, notamment table d'association , table de pont , table de références croisées , passage pour piétons , table intermédiaire , table d'intersection , table de jointure , table de jonction , table de liens , table de liaison , résolveur plusieurs-à-plusieurs , table de mappage , table de mappage , table de jumelage , table pivot (comme utilisé dans Laravel — à ne pas confondre avec l'utilisation de table pivot dans les feuilles de calcul ), ou table de transition .

Utilisation des tables associatives

Un exemple d'utilisation pratique d'une table associative serait d'attribuer des autorisations aux utilisateurs. Il peut y avoir plusieurs utilisateurs et chaque utilisateur peut se voir attribuer zéro ou plusieurs autorisations. Des autorisations individuelles peuvent être accordées à un ou plusieurs utilisateurs.

CRÉER UNE TABLE Utilisateurs ( UserLogin varchar ( 50 ) CLÉ PRIMAIRE , UserPassword varchar ( 50 ) NON NULL , UserName varchar ( 50 ) NON NULL );
CRÉER UNE TABLE Autorisations ( PermissionKey varchar ( 50 ) CLÉ PRIMAIRE , PermissionDescription varchar ( 500 ) NON NULL );
-- Il s'agit de la table de jonction. 
CREATE TABLE UserPermissions ( UserLogin varchar ( 50 ) REFERENCES Utilisateurs ( UserLogin ), PermissionKey varchar ( 50 ) REFERENCES Permissions ( PermissionKey ), PRIMARY KEY ( UserLogin , PermissionKey ) );
Une représentation visuelle du schéma de table décrit, avec les relations indiquées
Une représentation visuelle du schéma de table décrit, avec les relations indiquées

Une instruction SELECT sur une table de jonction implique généralement de joindre la table principale à la table de jonction :

SÉLECTIONNEZ * À PARTIR DES UTILISATEURS REJOIGNEZ LES PERMISSIONS D'UTILISATEUR EN UTILISANT ( UserLogin );

Cela renverra une liste de tous les utilisateurs et de leurs autorisations.

L'insertion dans une table de jonction implique plusieurs étapes : d'abord l'insertion dans la ou les tables principales, puis la mise à jour de la table de jonction.

-- Création d'un nouvel utilisateur 
INSERT INTO Users ( UserLogin , UserPassword , UserName ) VALUES ( 'SomeUser' , 'SecretPassword' , 'UserName' );
-- Création d'une nouvelle autorisation 
INSERT INTO Permissions ( PermissionKey , PermissionDescription ) VALUES ( 'TheKey' , 'Une clé utilisée pour plusieurs autorisations' );
-- Enfin, mise à jour de la jonction 
INSERT INTO UserPermissions ( UserLogin , PermissionKey ) VALUES ( 'SomeUser' , 'TheKey' );

À l'aide de clés étrangères, la base de données déréférencera automatiquement les valeurs de la table UserPermissions vers ses propres tables.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index