Oh there are many differences you will need to consider
Views for selection:
- Views provide abstraction over tables. You can add/remove fields easily in a view without modifying your underlying schema
- Views can model complex joins easily.
- Views can hide database-specific stuff from you. E.g. if you need to do some checks using Oracles SYS_CONTEXT function or many other things
- You can easily manage your GRANTS directly on views, rather than the actual tables. It’s easier to manage if you know a certain user may only access a view.
- Views can help you with backwards compatibility. You can change the underlying schema, but the views can hide those facts from a certain client.
Views for insertion/updates:
- You can handle security issues with views by using such functionality as Oracle’s “WITH CHECK OPTION” clause directly in the view
Drawbacks
- You lose information about relations (primary keys, foreign keys)
- It’s not obvious whether you will be able to insert/update a view, because the view hides its underlying joins from you