Like I always to run my database server on the loopback device or on the private network. But sometimes I feel a strong urge to have access to the staging database from the local machine, be it for development o debugging purpose.
Maybe you need your multi tenant application database to partition horizontally (shard). Probably you want to store different customers data in different tables.
A poorly designed database can make your life hell as a dev while optimizing an app. On the other hand, A good design can speedup your development process along with the performance of the app.