21

Can anyone tell me what is chasm trap? Perhaps fan trap too as I'm not too clear. Also, please provide easy to understand examples (via Chen notations).

My understanding thus far: I understand that Fan trap is M:1:1:M, which suggests the paths between entities is ambiguous.
I understand that. For example, if M represents Student and the other M represents School then it'll be ambiguous because we don't know which student studies at which school (that's what I understood so far).

However, I cannot grasp what is chasm trap.

Also, how can I identify the traps and then fix it?

Dembele
  • 963
  • 4
  • 10
  • 19

3 Answers3

50

Based on Conolly&Begg:

Fan trap occur in a situation when a model represents relationship between entity types however a path between certain entity occurrences is ambiguous.

Example: (Staff)-1:N-has-1:1-(Division)-1:1-operates-1:N-(Branch) Fan Trap in this model it may be impossible to determine the branch a staff belongs to, in the situation when staff belong to division having more than 1 branches.

Restructuring the model resolves trap (Division)-1:1-operates-1:N-(Branch)-1:1-has-1:N-(Staff) Not Fan Trap

Chasm trap occur when a model suggests relationship between entity types however a path between certain occurrences does not exist.

Example: (Branch)-1:1-has-1:N-(Staff)-0:1-oversees-0:N-(PropertyForRent) Chasm Trap

Because Staff relationship to PropertyForRent is with optional participation (0:1) for staff the path for Branch to PropertyForRent may not exist. Solution to this would be direct relationship between Branch and PropertyForRent with mandatory participation.

Sometowngeek
  • 597
  • 1
  • 6
  • 27
Vladimir Fadeev
  • 501
  • 4
  • 3
9

In simple word, for both the cases (FAN & CHASM) it will produce more line(result sets) than actual. How to identify

  • FAN -> 1-N-N means table relation from one -> many -> many
  • CHASM -> N-1-N means one row table to two or more table many relation
  • LOOP -> join all tables and when make loop like circle (In this case we will lose some rows absolutely)

Nothing to identify but when you create Universe than we have to keep our eyes open, if you see out of these situation while developing Universe than there will be a problem always. So rectify by applying aliases, context.

Once all problems solved at Universe level than we are good to go for reporting. By practice you will have excellent knowledge.

Evan Carroll
  • 78,363
  • 46
  • 261
  • 468
Raj Patel
  • 114
  • 1
  • Thanks for the reply. Sorry for late response, been busy with exams revision lately. – Dembele Jan 30 '13 at 14:27
  • 1
    @Raj Patel Your answer contradicts the answer from Vladimir Fadeev which is outlined in the textbook. And you confuse the two concepts. – Kevin Q Jun 17 '15 at 18:31
  • This answer is wrong, see this useful explanation https://www.youtube.com/watch?v=YKqJ_FjfyVM Your defininition for CHASM actually applies to the FAN TRAP. CHASM is called that because you lose rows as though they fell in to a "chasm". vladamir's answer below should be marked as the answer – Davos Sep 23 '15 at 06:15
0

I fan trap occurs when three tables joins in a fashion where there realtion to each other is 1 to many way. means table A B and C are in join as .. table A links to table B in one to many and table B to table C relates again one to main way A-->B-->C.

Senjai
  • 1,811
  • 3
  • 20
  • 40
BO fantrap
  • 17
  • 1