ER-Diagram: Ternary Relationship - How to read properly?

一个人想着一个人 提交于 2020-02-17 07:37:10

问题


Im not quite sure how to read ternary relationships within a ER-Diagram. Lets say this is the ternary relationship that is given. What can I interpret out of that?

It says that you have to put your hand on 2 entity sets and then read it like that.

Hand on Account and User: A pair of Account and User can be associated with M projects.

Hand on Account and Project: A pair of Account and Project can be associated with M users.

Hand on Project and User: A pair of Project and User can be associated with 1 Account.

Are the pairs always in a one to one relationship or how many pairs can there be?


回答1:


Late answer, but might serve future readers.

Assume the ternary relationship has participating entities A, B and C (for degree > 3 it gets pretty hairy).

The way to read the relationship is to always isolate 2 out of the 3 participating entities and see how they relate towards the third one. And you need to do this for all possible pairs.

More precisely: the 2 entities that you pair each time, need to be considered as "one of" for each one of them and the question to answer is "how many" of the third one can correspond to this pair.

Abstract example

"One of A and one of B can {have/associate with/belong to} X? of C". We need to use our knowledge of our business model to answer if X? should be 1 or N. This is the cardinality to assign to the ternary relationship on the edge that connects the ternary relationship with the entity C.

This phrase has to be reformed for all possible combinations (not permutations, since the order of pairing doesn't matter). So to answer the question How many pairs are there?, simple math dictates that the possible ways to combine 3 things in groups of 2 is:

3!/(2!*(3-2)!) = 3.

So all the possible phrases to answer using our business model are:

  • One of A and one of B can {have/associate with/belong to} ?X? of C
  • One of A and one of C can {have/associate with/belong to} ?Y? of B
  • One of B and one of C can {have/associate with/belong to} ?Z? of A

Specific example

I'm borrowing this image I found online.

The realities of our business model that led to this image are:

  • 1 Physician with 1 specific Patient can log M Treatments
  • 1 Physician logs 1 specific Treatment for N Patients
  • 1 Patient is logged 1 specific Treatment by 1 Physician

So the ternary relationship log is an M-N-1 relationship between the participating entities Treatment-Patient-Physician (in this order).




回答2:


Most likely it's a hierarchy and it's means there are many account and many users. It's also means account is smaller or equal to user. It means more users to account. Most likely I use ternary data structure with tries.




回答3:


Another late answer, but might serve future readers. But yes, you're correct @user2276094.

As you mentioned, multiplicities in ternary relationships are devised, by isolating one entity (a target entity) from the 2 other entities, and associating the target entity (say Staff) with a fixed pair of a single occurrence from the 2 other entities (say Client and Branch).

So, you can phrase those multiplicities in the relationship (says Staff register Client at a Branch) as,

For a fixed pair of a Staff occurrence, and a Branch occurrence, there may or may not be Clients (cause some staff may not register clients, they maybe involved in other duties).

For a fixed pair of a Branch occurrence, and a Client occurrence, there must be one and only Staff(cause a Client can be registered only once by one and only Staff member).

For a fixed pair of a Staff occurrence, and a Client occurrence, there must be one and only (assuming Client can be registered only at one branch).



来源:https://stackoverflow.com/questions/18365870/er-diagram-ternary-relationship-how-to-read-properly

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!