1. A method of refreshing a materialized view, comprising: creating a first materialized view based on a first result of a database query executed against a set of tables stored in a database; discovering a parent storage object; inserting, based on the discovering the parent storage object, a second entry into one or more tables of the set of tables, the second entry including the parent storage object; discovering a set of child storage objects associated with the parent storage object; wherein the discovering a set of child storage objects includes discovering the last child storage object of the set of child storage objects, and wherein the entry includes the last child storage object, the method further including: identifying a materialized view update timestamp for the second materialized view, the materialized view update timestamp indicating a last update time of the second materialized view; identifying an update timestamp of one or more tables of the set of tables, an update timestamp of a given table indicating a last update time of the given table; comparing the materialized view update timestamp to the update timestamp of one or more tables of the set of tables; and determining, based on the comparing, whether to refresh the second materialized view; inserting, based on the discovering a set of child storage objects, an entry into one or more tables of the set of tables, the entry including a child storage object of the set of child storage objects; wherein the parent storage object and the set of child storage objects are based on a storage hierarchy representing hardware and software resources for storing data at a storage system; updating a timestamp for the parent storage object with a timestamp of discovering a last of child storage object from among the set of child storage objects; delaying a refresh of the first materialized view based on the updated timestamp for the parent storage object and until after the entry is inserted into the one or more tables of the set of tables; and after the entry is inserted into the one or more tables of the set of tables, refreshing the first materialized view to determine a second materialized view, the second materialized view being based on a second result of the database query executed against the set of tables.