Since this is my BIGGEST pet peeve with TDM, I’ll chime in here.
For the most part, right-angled (or orthogonal, as they are called in ERwin) lines are sufficient without having to add additional breakpoints. What we need is the ability to use orthogonal lines AND relocate the generated breakpoints for those lines AND relocate the anchor (entry/exit) point of the relationship lines to the entities. That really would maximize flexibility with a minimum level of effort on the database developer’s part, and that’s what I want.
First, give me the ability to relocate the anchor position of the relationship to the entity. Then I’ll think about manually generating and locating breakpoints. Or first give me orthogonal lines where I can re-locate the breakpoints and keep the orthogonal lines and I’ll think about accepting the generated anchor points. However, with the hard attached anchor points, I can easily put relationships into and out of entites where I can not keep the relationship lines from crossing because I cannot move the anchor points. The problem that I have with the current implementation of breakpoints is that once they are set, they are locked to that spatial location on the workspace. If you move the entity, the anchor points of the relationships move, but the breakpoints are fixed in space so you have to go back and move those as well. It’s also really easy to get your breakpoints behind some other object on the workspace so you have to move that object to get to the breakpoint handle so you can move the breakpoint and then move the other object back which then moves those relationship lines and breakpoints. I sometimes move a breakpoint way off of the screen so that it takes the relationship name with it until I get the other objects where I want them. Then I move the break point back into view. There’s just to much moving that has to go on.
Actually, I have a problem with the term “breakpoint” for a relationship line. A “breakpoint” is a spot in a program where you want the debugger to stop and has nothing to do with a database model or a relationship line, but that’s another story for another day. I’m old and set in my ways.