Na aula de Praticando visões materializadas o professor mostra um exemplo para criar a view materialized, mas na sua explicação sobre o conceito ele mostrou um exemplo com 3 tabelas, como fazer isso ?
Na aula de Praticando visões materializadas o professor mostra um exemplo para criar a view materialized, mas na sua explicação sobre o conceito ele mostrou um exemplo com 3 tabelas, como fazer isso ?
Oi Letícia! Como vai?
Para utilizar JOINs na materialized view, basta construir a consulta com as tabelas desejadas e explicitar todas as tabelas no log de materialização da tabela base, repetindo o comando a cada tabela.
Por exemplo:
CREATE MATERIALIZED VIEW mv_tabelas_summary
BUILD IMMEDIATE
REFRESH FAST ON COMMIT
AS
SELECT
t1.id,
t1.nome,
t1.data_criacao,
t2.id,
t2.descricao,
t2.valor
FROM
tabela1 t1
JOIN
tabela2 t2 ON t1.id = t2.tabela1_id;
Criamos uma materialized view com base em uma consulta com JOIN. Já para o log:
CREATE MATERIALIZED VIEW LOG ON tabela1
WITH ROWID, SEQUENCE (id, nome, data_criacao)
INCLUDING NEW VALUES;
CREATE MATERIALIZED VIEW LOG ON tabela2
WITH ROWID, SEQUENCE (id, tabela1_id, descricao, valor)
INCLUDING NEW VALUES;
Cada tabela tem um comando específico.
Espero ter ajudado :) Abraço.