What would be a scenario when a virtual database would not have view models?
There is no requirement for VDB to have view models, it can just have single source model or multiple ones. Teiid is data virtualization system with two unique capabilities
1) Data Integration - Ability to integrate data from multiple disparate sources. i.e. if you have multiple sources, that have multiple tables, you can issue a SQL query across two or more data sources in joining the data for your application purpose. So, in this case, your application is intimately aware of each data source and its data structure such that application developer can write queries to join the data.
2) Data Abstraction - The view model tables. Here when you define a view and it integrates the data from multiple sources, the integration logic is encapsulated under the View definition. So, the application user does not have to have the knowledge of how the data is put together, only the developer of the VDB does. So, how the data is built under a view is like a black box, and that can be evolved over time to add more or less sources etc. It gives, both application layer and data layer to evolve independently of each other, as long as the definition is kept in sync in the VDB model. That is very core high-level benefit, there are many other.
Is it required for vdb to have source and view models?
Per above No.
Thank you so much for quick response.
Very much appreciated.