Views can abstract you one layer from the physical data. But so can buffering tables. Views do not have access to indexes once the view is executed. Tables make use of indexes to gain optimized data access. Views can be indexed once they are executed and subsequently gain the advantage of optimization. Using views in code sets the stage for a scalable client server applications. Using tables sets the stage for limited file server or desktop applications.
Terry Rooks
Software Systems Architect
Microsoft Certified Solution Developer.Net
If at first you don't succeed, then skydiving definitely isn't for you.