The outside layers are the applications trying to get data from the tables in our database. They must first call your stored procedures. For a multitude of reasons, you never want an applications programmer making a direct select to the database. Again, we attempt to keep the table access out of our packages. We favor views because they may be shared between packages and procedures.
Views are easier to maintain.
This speeds up development. Managing the objects This may seem obvious, but organization is sometimes overlooked. The heart and soul of our packages is the use of cursors. As we mentioned, we'll be sending all results to our users packaged in cursors. Using cursors allows us the convenience of not having to update our package every time someone wants to add or remove an item.