Data Sources, Connections and Views
What this domain tests
This domain tests whether you can connect a source, introspect it into a base view, shape it with derived views, and publish a stable interface view. You should know the difference between a data source, a connection, and a view, and how source capabilities constrain what the platform can delegate.
Core rules
- A data source is a named connection configuration: driver, URL, credentials, and options. It is not the data and not the view.
- A base view is created by introspection or by defining a query against the source. It exposes the source schema and is the wrapper that isolates consumers from source details.
- Derived views transform: selection (filter), projection, join, union, flatten, aggregation, and similar operations. They can reference base or other derived views.
- An interface view is the published contract. It hides physical names and can be granted to consumers without exposing the underlying sources.
- Source types include JDBC/ODBC databases, REST/JSON and XML services, delimited files, Excel, LDAP, SaaS connectors such as Salesforce, and SAP. Complex types may need flattening before relational use.
- Introspection discovers tables and columns; primary keys and metadata may need manual definition. Not every source supports the same SQL functions, so pushdown varies.
Worked example
A REST endpoint returns orders with a nested items array. Create a JSON data source with the URL and authentication. Introspect a base view for the order object, then add a Flatten view to turn items into rows. Add a selection view for status = 'SHIPPED' and an interface view exposing order_id, customer_id, item_sku, and amount. The base view preserves the source shape; flatten handles the complex type; selection reduces rows; the interface view gives consumers a stable schema. The reasoning is layered: connection, wrapper, transformation, contract.
Traps that cost marks
- Assuming a base view copies data; it is a wrapper unless cached.
- Forgetting that renaming source columns can break derived views unless an interface view protects consumers.
- Using source credentials as if they were VDP user credentials.
- Expecting nested JSON to appear as relational columns without flattening.
- Assuming a declared primary key is enforced by the source.