Each tool has its own capabilities . Your choice will depend on the nature of the application, its security requirements, performance and maneuverability.
Nowadays, many programmers use data access levels ( DALs ) for this kind of thing. Many DALs allow you to specify views and stored procedures to invoke. But you can also directly run table queries without having to store stored procedures or views.
If you are not using a database of objects, you will use tables , not objects. Most applications currently use table-based database systems because they are so common and you can use DAL to control object-relational impedance mismatch .
Stored procedures are used when high performance is required, and program things must be executed in the database itself (adding is possible, timestamp value or adding / subtracting child records). A good DAL will provide high performance without the need for stored procedures.
Views are used to control the interface between the database and the data consumer. In particular, data can be filtered for security purposes. In large database scenarios, the database administrator designs and creates tables, and manages the views and stored procedures that the user allows to use to access the data.
If you're looking for maximum flexibility, most of what you need to do can be done in DAL without the need for browsing or stored procedures. But then again, it depends on your application requirements. I would say that the larger your application and user base, the more likely that you will use views and stored procedures in your application.
source share