I had a client a who wanted to write the ETL subsystem and the query subsystems directly against the database tables. No matter how much material I presented to them that this was not a good idea they went ahead anyway.
And just today I was reading the Microsoft Data Warehouse Toolkit...and on page 165 there is a section called "Create Table Views".
It says:
"All business-user access to the relational data warehouse should come through views."
Can't be any plainer than that.....
We were taught to use views in the late 80s when designing relational systems and to never, ever allow access to physical tables even in operational systems. The database vendors have made the performance penalty to access a table through a view so small as to be inconsequential.
So, if you are considering writing ETL or queries to physical tables, take my advice, take Joy and Warrens advice, and do everything through views....and save yourself some real headaches!!
Best Regards
Peter