web-dev-qa-db-ja.com

連想エンティティと連想関係属性の違いは?

連想エンティティと連想関係属性の違いは何ですか?著書 『Modern Database Management(Hoffer、11th edition)』で、著者は2つの間に違いがあると述べています。ただし、違いがある理由は実際には説明されていませんが、違いの例を示しているだけです。

私が収集したものから、それに関連付けられたsingle属性を持つ関係は、関連性のある関係属性であり、その属性が長方形の内側にある角の丸い長方形に破線で示されています。一方、関連エンティティは1つ以上属性であり、関係を記述します。どちらもER図で多対多の関係にのみ使用できます。私の思考プロセスは正しいですか?

編集-また、連想エンティティでは、一意の識別子である属性も持つことを忘れていました。少なくとも、これは私が考えていることです。

6
rj2700

ERダイアグラムでは、M:N関係には関連エンティティOR関係を説明する単一の関連属性を含めることができます。違いは、関連エンティティには固有の識別子が必要であり、関連属性には含まれないことです。本、連想エンティティには以下が必要です。

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

関連エンティティ は、他の2つのテーブルを多対多の関係で関連付けるテーブルです。

連想関係属性は、多対多の関係のために存在する連想エンティティーの属性です。

ここに例があります。次のテーブルがあるとしましょう。

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

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

わかりました、ユーザーと権限の間には多対多の関係があります。ユーザーは複数の権限を持つことができ、権限は多くのユーザー間で共有できます。

そこで、関連エンティティを作成します。

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

タイムスタンプが付与された権限は、関連付けの属性です。 UserテーブルにもPermissionテーブルにも適合しません。それは関連の属性です。

14