rj2700
rj2700

Reputation: 1965

Difference between associative entity and associative relationship attribute?

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

Answers (2)

rj2700
rj2700

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:

  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

Upvotes: 4

Gilbert Le Blanc
Gilbert Le Blanc

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

Related Questions