- Views are virtual tables derived from columns and rows from the base table.
- Views provide what data are needed by the users, saving the trouble for users to understand the complexity and abstraction of the base tables.
- Views are dynamic, updates in base tables will reflect on views.
- Due to views only have limited access to columns and rows defined for users, update to views do not entirely reflect on base tables
Consider the following example, RENTAL_CUSTOMER relation contains custno, name and phone number, however user who is smith only requires to know his contents, we shall define a view for Smith:
Original base table:
This is what Smith will see from smith_view view:
Grant read and update permission to smith:
GRANT SELECT,UPDATE ON SMITH_VIEW TO SMITH;