Надеюсь, мой ответ уместен, поскольку разработчики флеш-памяти сталкиваются с теми же проблемами безопасности ...
Единственный способ сделать это действительно безопасным («это» - соединения с базой данных из кода на стороне клиента) - это дать каждому пользователю доступ только к своим данным в базе данных только для чтения.
Как вы понимаете, нет никакого способа помешать пользователю отслеживать / изменять данные, которые вы отправляете обратно на сервер. Даже если вы зашифруете сообщение, пользователь все равно будет иметь доступ к коду, а в случае прошивки - к исходному коду из-за тривиальной декомпиляции.
Я не разработчик БД, но я провожу аудит безопасности вещей, которые вы часто спрашиваете, поэтому следующий совет может быть неправильным, но я просто погуглил, и, похоже, вы могли бы использовать представления для ограничения пользователей учетных данных) к конкретной информации.
Если нет, эта статья, кажется, имеет отношение к тому, что вы хотите:
http://technet.microsoft.com/en-us/library/cc966395.aspx