web-dev-qa-db-fra.com

Différence entre entité associative et attribut de relation associative?

Quelle est la différence entre une entité associative et un attribut de relation associative? Dans mon livre intitulé Modern Database Management (Hoffer, 11e édition), l'auteur affirme qu'il existe une différence entre les deux. Bien que cela n'explique pas vraiment pourquoi il y a une différence, cela donne simplement des exemples de différences.

D'après ce que je comprends, une relation à laquelle un attribut single est associé est un attribut de relation associative et est indiquée par une ligne pointillée menant à un rectangle à coins arrondis avec cet attribut à l'intérieur de ce rectangle. Alors qu'une entité associative est plus d'un attribut qui décrit la relation. Les deux ne peuvent être utilisés que pour des relations plusieurs à plusieurs dans un diagramme ER. Est-ce que mon processus de pensée est correct?

Edit - De plus, j’ai oublié de mentionner que les entités associatives ont également un attribut qui est un identifiant unique, du moins, c’est ce que je pense.

5
rj2700

Dans un diagramme ER, les relations M: N peuvent avoir des entités associatives OR attributs associatifs uniques décrivant la relation. La différence est que les entités associatives doivent avoir un identifiant unique, contrairement aux attributs associatifs. Selon le livre, une entité associative doit avoir: 

1-all the relationships for the participating entity types are M:N relationships 

2-the resulting associative entity type has independent meaning to the end user and has an identifier 

3- the entity has one or more attributes 

4-the entity participates in 1 or more relationships independent of the entities related in the associated relationship.
2
rj2700

Une entité associative est la table qui associe deux autres tables dans une relation plusieurs à plusieurs.

Un attribut de relation associative est un attribut de l'entité associative qui existe en raison de la relation plusieurs à plusieurs.

Voici un exemple. Supposons que nous ayons les tables suivantes.

User
----
User ID
User Login Name
User Name
User Password

Permission
----------
Permission ID
Permission Name
Permission Description

Ok, nous avons beaucoup de relations entre utilisateur et autorisation. Un utilisateur peut avoir plusieurs autorisations et une autorisation peut être partagée entre plusieurs utilisateurs.

Nous créons donc une entité associative.

UserPermission
--------------
User ID
Permission ID
Permission Granted Time Stamp

La permission accordée est un attribut de relation associative. Cela ne rentre ni dans la table utilisateur ni dans la table des autorisations. C'est un attribut de l'association.

13
Gilbert Le Blanc