You do not say what size your database or business environment is, so the answer is up to you, but the presumption is that your database administrator is right.
In a corporate environment, the main problem is usually data, not the application used to access it. Indeed, data will often have a longer lifespan than an application, and changing business considerations may dictate that the data is used and can be changed by different sources, not just your application. In this situation, it makes sense to build security at the database level, because you ensure the integrity of the database, regardless of how it will be available, now or in the future, legally or illegally.
For departmental applications, where access is limited to half or so users, data is not critical for business, and there will never be a need to use data outside the original application, the security level is usually more convenient, and the risks are often acceptable. I have clients who sell custom vertical application software for small businesses using this approach, and since there is no internal IT, itโs hard to imagine how else it would be convenient to do this without bringing a lot of overhead for maintenance.
However, one of the defining features of corporations, unlike the situation at the departmental level, is that the former will have a dedicated DBA, and the latter will probably not even focus on IT support, so you should almost certainly view the database as a corporate asset. and therefore, you should follow the recommendations of the database administrator. This works more by defining database objects and security, but the end result is that you can be sure of the integrity of your database and you will be safe to work when an inevitable update / extension occurs.
source share