My thought is that
you should put everything associated with accessing the database into your db package. That includes your interface and both the local and remote implementations of that interface. This accomplishes several things:
1. You get the desired de-coupling between your client and server packages.
2. If you need to swap out the database, it's as simple as replacing the db package, it's all encapsulated into one package.
3. Reusability, your db access classes should be generic so that other applications could conceivably use those objects as well. The client and server packages are application-specific.
That's just my opinion, I could be wrong.