用存储过程和触发器当然是最可靠的。但是同时会有不同数据库有差别。你就不能直接移植数据库了。
在Java中可以这样做,所有访问数据库的操作必须通过实体beans。由beans来访问数据库。这样你就可以在程序中对用户进行限制访问!