Fan trap and chasm trap - Database

Dembele picture Dembele · Jan 14, 2013 · Viewed 48.7k times · Source

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?

Answer

Vladimir Fadeev picture Vladimir Fadeev · May 7, 2013

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.