An index of a base view is automatically propagated to its derived views. However there are exceptions to that. When your derived view is a flatten view or union view, the index is not propageted. Also when your derived view includes a GROUP BY statement, only the indexes whose fields are in the GROUP BY clause are propagated.
When creating a base view using the JDBC driver, you don't need to define your indexes as they are automatically imported from the data source. In any other case, you have to manually define the index in the base view. Note that defining an index in your base view does not create the index in the data source itself though there are three exceptions:
1. Remote tables
3. Cached views
To summarize: if you have an index in your oracle data base to which you connect via the JDBC driver, any base views you create will include your index. Your derived views might also have these indexes included, depending on the type of derived views.
You can find more information about indexes in Denodo and how to create them in the [Indexes of Views](https://community.denodo.com/docs/html/browse/8.0/en/vdp/administration/creating_derived_views/advanced_configuration_of_views/indexes_of_views) Section of the Virtual Dataport Administration Guide.
I hope this answer helps!