with demo of associations habtm(physician patient appointment) and self join (manager developer)