The real world can always cause problems. Example: Places are connected to
places by bus routes. It is quite possible to get into a real mess when
trying to work out how to get from A to B. It is up to the designer to
forsee and cope with any difficulties.
No; as long as the relationships themselves (a) make sense and (b) don't
duplicate themselves.
Think of Students who have Registrations with Courses that are Supervised
by Tutors.
Studs -< Regist >- Courses -< Super >- Tutors
Now, Students may be allocated individual Tutors too
Studs >- Tutors
Now, there are two possible queries: <which students are allocated to
Tutor Eric?> and <which student attend courses supervised by Tutor
Eric?>. Both possible, both sensible, but only one of them correct in any
specific situation.