I guess what you actually want is to access the closest application server, rather than database server which is never accessed directly from the client, but rather the client calls a service executing in the application server which accesses the database server, with data returning via the same path.
You could use Display Actions/Get Geolocation to determine your devices location and based on that decide which application server to access, then, use the optional <URL> trigger which can be added to any Service, to specify the full url (including hostname/ip address) of the service being called - see http://www.tersus.com/#Id=5585 (Strategy 2) for some additional details on the <URL> trigger.
With regards to the duplicate error on Insert, note that you can add a <Duplicate> exit to Insert (right-click Insert and add it from the Add Element menu), in which case Tersus will not display the error, but rather flow through that exit and perform whatever logic you modeled based on that flow.
Regarding the management vs. user question, there's no one-size fits all. You might decide that they are totally separate applications accessing the same database, or you might decide to model it all in a single application project with different permissions for different users (see http://www.tersus.com/#Id=324 and http://www.tersus.com/#Tag=Security), or varying combinations of the 2 with callable services thrown in for good measure.
For best results, use the Firefox browser..