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 ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.