Reputation: 1965
What is the difference between an associative entity and an associative relationship attribute?
My book Modern Database Management (Hoffer, 11th edition) states that there is a difference between the two. It doesn't explain why there's a difference; it just gives examples of how they're different.
A relationship that has a single attribute associated with it is an associative relationship attribute and is denoted with a dashed line to a rounded-corner rectangle with that attribute inside that rectangle. Whereas an associative entity has more than one attribute that describes the relationship. Both can only be used for many-to-many relationships in ER diagramming.
Associative entities also have an attribute that is a unique identifier.
Is this correct?
Upvotes: 7
Views: 62239
Reputation: 1965
In ER diagramming, M:N relationships can have associative entities OR single associative attributes that describe the relationship. The difference is, associative entities have a unique identifier and associative attributes don't. According to the book, an associative entity requires that:
all the relationships for the participating entity types are M:N relationships
the resulting associative entity type has independent meaning to the end user and has an identifier
the entity has one or more attributes
the entity participates in 1 or more relationships independent of the entities related in the associated relationship
Upvotes: 4
Reputation: 51565
An associative entity is the table that associates two other tables in a many to many relationship.
An associative relationship attribute is an attribute of the associative entity that exists because of the many to many relationship.
Here's an example. Let's suppose we have the following tables.
User
----
User ID
User Login Name
User Name
User Password
Permission
----------
Permission ID
Permission Name
Permission Description
Ok, we have a many to many relationship between User and Permission. A user can have more than one permission, and a permission can be shared between many users.
So, we create an associative entity.
UserPermission
--------------
User ID
Permission ID
Permission Granted Time Stamp
The permission granted time stamp is an associative relationship attribute. It would not fit in the User table nor the Permission table. It's an attribute of the association.
Upvotes: 25