Depends on the application, I would say. If your application is highly data oriented, you should use an application design database; if your application is mainly related to business logic or computing, you probably want to support the design of the application.
Another consideration is the durability and availability of the application β as Jay says, itβs not uncommon for multiple applications to use the same database. Although I would suggest that this is the basis for providing a database interface based on a service or messages - I do not think that you want to allow several applications to have direct access to data. In this case, I think you focused on the level of service.
You might also consider comparing design with a business domain - ideally, you want your software to reflect business concepts (see Evans' Domain Managed Project). This is usually - but not always - easier when working with object technology, rather than with essential relationships (the classic question is how to inherit from a database model).
Finally, it is important to consider the teamβs skills and inclination β having a team of database guru developers, an object model usually leads to a steep learning curve (and vice versa).
source share