Visão & Visão Materializada. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Documentos relacionados
SQL CREATE MATERIALIZED VIEW. Processamento Analítico de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. OLAP: Modelagem Multidimensional

Aula 05. Evandro Deliberal

Modelagem Multidimensional - Nível Físico -

Oracle Comandos para Processamento de Transações

Modelagem Multidimensional - Nível Físico -

Avisos. SQL: Visões. Roteiro SELECT. Suporte de SQL para OLAP SQL DML CONTINUAÇÃO CONSULTAS AVANÇADAS. Cronograma das próximas aulas

Roteiro. SQL: Visões. Suporte de SQL para OLAP SELECT. Detalhando GROUP BY SQL DML CONTINUAÇÃO CONSULTAS AVANÇADAS. Consultas Avançadas Visões

IMPLEMENTAÇÃO DE BANCO DE DADOS

Administração de Banco de Dados

Comandos de Manipulação

SQL Uma Visão mais Ampla

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;

Bancos de Dados IV. Visões Materializadas. Rogério Costa

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

ANÁLISE E PROJETO DE BANCO DE DADOS

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

SQL Uma Visão mais Ampla

MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

SQL BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

SQL DML. SQL Linguagem de Manipulação de Dados SELECT SELECT SELECT SELECT

As Instruções DML. As Instruções de manipulação de dados(dml) em SQL são representados por: Modificam o estado do banco de dados:

'%'! $!0" $ 8 ' %%! % '! $ $$% + ' %!%$/)!'4!+,"/)!)+,/)% *! +,"0''% * %$!*!$$ #!"%&%'%'%$! "94(# ' %'$%$$$%0%$%' *!% %%%'!**% > %% %%!31?

MySql. Introdução a MySQL. Andréa Garcia Trindade

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais

Ordenação de tuplos order by

SQL Uma Visão mais Ampla

SQL (Tópicos) Structured Query Language

SQL-99: Esquema de BD EMPRESA

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

Fundamentos de Programação ORACLE: SQL. Prof. Walter Gima

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva.

Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka

SQL. Prof. Roger Cristhian Gomes

A U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S )

Bases de Dados. DML Data Manipulation Language Parte 3

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.

L Q S m e g a u g n Li A

Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

Bases de Dados 2005/2006. Aula 5

Principais Instruções em SQL. Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados.

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 17. Escola Politécnica da Universidade de São Paulo

Conceitos básicos. Funcionario SIAPE Nome Lotacao Cargo Salario Admissao

SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO...

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Utilizando o Postgres - comandos SQL para a manipulação de dados

Rápida revisão do Modelo Relacional

Manipulação de Dados com SQL

CREATE TABLE AUTOR ( cod_autor int not null primary key, nome_autor varchar (60) )

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados.

Apresentação Modelo e SQL. André Luiz Montevecchi

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

Funções de Agregação, Subconsultas e Views

Sintaxe do comando SELECT

Marcelo Henrique dos Santos

Banco de Dados. Professora: Luciana Faria

Prova de Tecnologia da Informação

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

BCD29008 Banco de dados

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

EXEMPLOS DE COMANDOS NO SQL SERVER

Licenciatura em Informática

Visões ... Esquema Externo n. Esquema Externo 1. Esquema Lógico. Usuários finais/aplicações

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A

A cláusula order by permite ordenar tuplos exemplo: listar por ordem alfabética os nomes dos clientes com empréstimo na agência de Perryridge

Banco de Dados. Structured Query Language SQL. Prof. Walteno Martins Parreira Jr 1.

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Tarefa Orientada 16 Vistas

Introdução ao PostgreSQL

Banco de Dados - Senado


Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Revisão + Visões + Sub-Consultas + JOINS

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Banco de Dados. Prof. Antonio

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

Modelo Entidade-Relacionamento (E-R)

Sumário Introdução Breve História da Linguagem SQL l 0.3 Características da Linguagem SQL A Composição deste Livro 3

Linguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas

Triggers(Gatilhos) Tiago Alves de Oliveira

saída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única

Exercícios de Lógica Exercícios de Fixação 08

Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO.

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

Introdução ao Banco de Dados. Banco de Dados

Linguagem SQL - Structured Query Language

Disciplina: Banco de Dados Tema: SQL Parte 2

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

Planificação Anual. Departamento Expressões e Tecnologias

Transcrição:

Visão & Visão Materializada Laboratório de Bases de Dados

Em SQL Visão tabela simples que é derivada de outras tabelas não existe necessariamente em sua forma física: tabela virtual Utilidade forma de se especificar uma tabela que precisa ser acessada frequentemente, embora essa tabela não exista fisicamente facilita a escrita de consultas complexas

CREATE VIEW CREATE OR REPLACE VIEW nome_visão [(nome_atributo [, nome_atributo...])] AS <SELECT> [WITH [CHECK OPTION READ ONLY]] Especifica uma visão Características lista_de_atributos: opcional SELECT: especifica o conteúdo da visão

Exemplo Crie a visão emprega_araucaria, a qual recupera o primeiro nome e o sobrenome dos funcionários da empresa que contém Araucária em seu nome. CREATE OR REPLACE VIEW emprega_araucaria AS SELECT primeiro_nome, sobrenome FROM funcionario, empresa WHERE funcionario.emp_codigo = empresa.emp_codigo AND upper(emp_nome) LIKE upper ('%Araucaria%'); SELECT * FROM emprega_araucaria;

Operações sobre Visões Não atualizáveis: READ-ONLY seleção: SELECT Atualizáveis seleção: SELECT inserção: INSERT INTO remoção: DELETE atualização: UPDATE dados alterados: dados das relações base

Operações sobre Visões Visões inerentemente atualizáveis não possuem operadores de conjunto DISTINCT funções de agregação GROUP BY ORDER BY subconsulta aninhada JOIN stored procedures

Operações sobre Visões Visão somente leitura visão que permite somente a realização de operações de seleção Visão atualizável visão que permite as operações de seleção, inserção, remoção e atualização

Exemplo Insira os seguintes dados na visão emprega_araucária: (i) primeiro_nome: Prim_Teste ; (ii) sobrenome_nome: SobreNome_Teste. INSERT INTO emprega_araucaria VALUES ('Prim_teste', 'SobreNome_Teste'); Ø A inserção é realizada? Por quê? Qual tabela do BD é alterada?

Exemplo Crie a visão cliente_codigo1, a qual lista o código e o nome dos clientes, para aqueles clientes cujo código se inicia com 1. CREATE OR REPLACE VIEW cliente_codigo1 AS SELECT cli_codigo, cli_nome FROM cliente WHERE cli_codigo LIKE ('1%'); SELECT * FROM cliente_codigo1;

Exemplo Insira os seguintes dados na visão cliente_codigo1: (i) código: 100; (ii) nome: Teste Completo INSERT INTO cliente_codigo1 VALUES (100, 'Teste Completo'); Ø A inserção é realizada? Por quê? Qual tabela do BD é alterada?

Exemplo CREATE OR REPLACE VIEW cliente_codigo1 AS SELECT cli_codigo, cli_nome FROM cliente WHERE cli_codigo LIKE ('1%') WITH READ ONLY; INSERT INTO cliente_codigo1 VALUES (100, 'Teste Completo'); Ø A inserção é realizada? Por quê? Qual tabela do BD é alterada?

WITH CHECK OPTION Não permite que as operações violem a condição de seleção que define a visão CREATE OR REPLACE VIEW cliente_codigo1 AS SELECT cli_codigo, cli_nome FROM cliente WHERE cli_codigo LIKE ('1%') WITH CHECK OPTION; INSERT INTO cliente_codigo1 VALUES (300, 'Teste'); Ø A inserção é realizada? Por quê?

DROP VIEW DROP VIEW nome_visão Remove a definição de uma visão Observação: para se alterar uma visão, ela primeiramente deve ser excluída para depois ser criada novamente

Em SQL Visão Materializada tabela simples que é derivada de outras tabelas existe necessariamente em sua forma física: não é uma tabela virtual Discussão replicação dos dados armazenamento de dados agregados custo de consultas x custo de atualização

Visão Materializada CREATE MATERIALIZED VIEW nome_visão [BUILD [DEFERRED IMMEDIATE]] [REFRESH [COMPLETE FAST]] [ON COMMIT ON DEMAND]] [[ENABLE DISABLE] QUERY REWRITE] AS <SELECT> + diversas outras opções

CREATE MATERIALIZED VIEW BUILD quando a visão materializada é populada IMMEDIATE: imediatamente DEFERRED: primeiro REFRESH REFRESH como é feita a atualização da visão COMPLETE: atualiza completamente a visão, executando o comando SELECT FAST: somente considera as alterações realizadas (atualização incremental)

CREATE MATERIALIZED VIEW QUERY REWRITE se a visão materializada pode ser usada para reescrita de consultas ENABLE: sim DISABLE: não Diversas outras opções...

Exemplo CREATE MATERIALIZED VIEW conta_empresa (nome_empresa, nro_filiais) BUILD IMMEDIATE REFRESH COMPLETE AS SELECT emp_nome, count(*) FROM empresa LEFT JOIN filial ON empresa.emp_codigo = filial.emp_codigo GROUP BY emp_nome;