Entonces, tener la tabla y la vista materializada con el mismo nombre es normal. El MV necesita almacenar los datos en algún lugar, por lo que tener una tabla tiene sentido; el propio MV define cómo se mantienen los datos de la tabla.
Puede usar ON PREBUILT TABLE
cláusula
para crear una vista sobre una tabla existente, que supongo que es a lo que se refiere "tenían una tabla temporal antes... y cambiaron a la vista materializada más tarde".
También puede ir al revés, con DROP MATERIALIZED VIEW ... PRESERVE TABLE
opción
, lo que deja atrás la tabla subyacente.
Cuando SELECT * FROM TEMP_DATA;
está consultando la tabla subyacente, pero la distinción no es realmente importante ya que se refieren al mismo objeto combinado.
Según la definición que se agregará a la pregunta más adelante, se actualizará todos los días a la medianoche.