Какая связь между материализованным представлением и одноименной таблицей?

У меня есть БД оракула с материализованным представлением, которое заполняется из другой БД оракула и обновляется каждые 2 минуты с использованием DBMS_REFRESH.REFRESH().

Я только что заметил, что у меня есть таблица с таким же именем.

  1. Содержит ли эта таблица те же данные, что и материализованное представление?
  2. Эта таблица также обновляется каждый раз, когда обновляется материализованное представление?
  3. Есть ли официальная документация Oracle для этого?

Спасибо


person Roland    schedule 13.11.2014    source источник


Ответы (1)


Если вы видите как MV, так и TABLE с одинаковым именем в представлении словаря данных user_objects, то это нормальное поведение. Вот как работают материализованные представления. Когда вы создаете материализованное представление, Oracle создает таблицу, которая будет содержать данные MV и спецификацию MV (запрос и параметры). У них обоих одинаковое имя. Так что не удивляйтесь.

Не хватает только ссылки на официальные документы оракула. :)

Я не думаю, что в документации это указано явно - в основе MV лежит TABLE. Однако делает это неявно.

Цитата из концепции:

Материализованное представление — это результат запроса, который был сохранен или «материализован» заранее в виде объектов схемы.

Более того, материализованное представление можно создать для уже существующей таблицы в вашей схеме с помощью предложения on prebuilt table оператора create materialized view — имена должны быть одинаковыми.

person Nick Krasnov    schedule 13.11.2014