Questões de Banco de Dados - Visão (View) para Concurso
Foram encontradas 103 questões
A respeito de bancos de dados relacionais, julgue o item subsequente.
Uma visão (view) é derivada de uma ou mais relações e
armazena os dados em uma tabela física do banco de dados,
visando tornar ágeis as consultas.
Atenção: Para responder à questão, considere as informações abaixo.
Considere a existência de um banco de dados com as tabelas criadas pelos comandos abaixo.
Em um sistema gerenciador de banco de Postgres a coluna SALARIO da tabela COLABORADOR foi definida como NUMERIC(8,2) e a coluna JUROS foi definida como NUMERIC (2,2). Foi criada uma view com a seguinte expressão:
CREATE VIEW LISTA_VALOR_JUROS AS
SELECT NOME, SALARIO * JUROS as JUROS_MES
FROM COLABORADOR
Assinale a opção que apresenta o tipo de dado da coluna JUROS_MES criado na view resultante dessa expressão.
No contexto de bancos de dados, visão (view) é um objeto que consiste em uma lista organizada de todos os elementos de dados que são pertinentes para o sistema. A visão descreve entradas, saídas, composição de depósito de dados e cálculos intermediários.
Para criar tal view foi utilizada a instrução
View é um objeto que permite implementar a segurança em um banco de dados, omitindo dados irrelevantes para algum grupo de usuário. No entanto, não é permitido criar uma view com base na definição de outra view.
O uso de views materializadas permite aumentar o desempenho do banco de dados, pois minimiza o acesso às tabelas de dados e torna mais rápida a execução das consultas.
CREATE TABLE Loja (
idLoja INTEGER NOT NULL,
nomeLoja VARCHAR(45),
PRIMARY KEY(idLoja)
);
CREATE TABLE Filial (
idFilial INTEGER NOT NULL,
idLoja INTEGER NOT NULL,
cidadeFilial VARCHAR(45),
vendasFilial DOUBLE,
PRIMARY KEY(idFilial, idLoja),
FOREIGN KEY(idLoja)
REFERENCES Loja(idLoja)
);
Considere que na tabela Loja foram cadastrados os seguintes registros:
idLoja nomeLoja
1 A
2 B
3 C
Na tabela Filial, foram cadastrados os seguintes registros:
idFilial idLoja cidadeFilial vendasFilial
1 1 Campinas 120000
1 2 Campinas 35000
1 3 São Paulo 120000
2 1 Salvador 240000
2 2 Salvador 20000
3 1 Rio de Janeiro 60000
4 1 Curitiba 40000
Cidade Vendas
Campinas 155000
Curitiba 40000
Rio de Janeiro 60000
Salvador 260000
São Paulo 120000
Pode-se concluir corretamente que a view foi criada por meio da instrução
I. As visões fornecem segurança automática para dados ocultos, ou seja, dados não visíveis por uma determinada visão.
II. As visões não fornecem um recurso de abreviação para uma consulta.
III. As visões permitem que os mesmos dados sejam vistos por usuários diferentes de modos diferentes ao mesmo tempo.
IV. As visões podem fornecer independência de dados lógica.
Então, assinale a alternativa que contém todas as afirmações corretas.
Considere alguns tipos de construções SQL que podem ser empregadas na definição de uma coluna de uma view:
I. funções de agregação, tais como sum, avg
II. funções escalares, tais como sin, trim
III. expressões aritméticas
IV. expressões condicionais, tais como case
V. literais
VI. subconsultas
Está correto concluir que uma determinada coluna NÃO pode ser objeto de atualização quando resultar de qualquer dos tipos:
Um técnico de TI criou uma view e executou a instrução SELECT * FROM processos 2010;, que exibiu apenas os dados a seguir:
A instrução utilizada para criar a view foi:
Tabela Loja
Cidade_Loja Vendas Data
Canoas 1500 05-Jan-2015
Porto Alegre 250 07-Jan-2015
Canoas 300 08-Jan-2015
Fortaleza 700 08-Jan-2015
Tabela Regiao
Regiao_Nome Cidade_Loja
Nordeste Fortaleza
Nordeste Sobral
Sul Canoas
Sul Porto Alegre
Considere que foi digitada a instrução seguinte para criar uma view com informações de vendas
CREATE VIEW VENDAS_REGIAO
AS SELECT t1.Regiao_Nome REGIÃO, SUM(t2.Vendas) VENDAS
FROM REGIAO t1, LOJA t2
WHERE t1.Cidade_Loja = t2.Cidade_Loja
GROUP BY t1.Regiao_Nome;
Para exibir o conteúdo desta view deve-se digitar o comando SQL
EMPREGADO
PNOME UNOME SSN DATANASC ENDERECO SALARIO SUPERSSN DNO
DEPARTAMENTO
DNOME DNUMERO GERSSN
PROJETO
PJNOME PNUMERO PLOCALIZACAO DNUM
TRABALHA_EM
ESSN PNO HORAS
V1: CREATE VIEW TRABALHA_EM1
AS SELECT PNOME, UNOME, PJNOME, HORAS
FROM EMPREGADO, PROJETO, TRABALHA_EM
WHERE SSN=ESSN AND PNO=PNUMERO;
V2: CREATE VIEW DEPT_INFO(DEPT_NOME, NO_EMPS, TOTAL_SAL)
AS SELECT DNOME, COUNT(*), SUM(SALARIO)
FROM DEPARTAMENTO, EMPREGADO
WHERE DNUMERO=DNO
GROUP BY DNOME;
QV1: SELECT PNOME, UNOME
FROM TRABALHA_EM1
WHERE PJNOME=’ProjetoX’
Com base no conhecimento sobre o conceito de visão em SQL, considere as seguintes afirmativas.
I. V1 não especifica nenhum novo nome de atributo para a visão TRABALHA_EM1. Nesse caso, TRABALHA_EM1 receberá os nomes dos atributos das tabelas de definição EMPREGADO, PROJETO E TRABALHA_EM.
II. V2 explicita novos nomes para os atributos da visão DEPT_INFO, usando a correspondência um a um entre os atributos especificados na cláusula CREATE VIEW e os especificados na cláusula SELECT da consulta que define a visão.
III. A consulta QV1 não funciona porque, para recuperar o último e o primeiro nome de todos os empregados que trabalham no ‘ProjetoX`, é necessária a formulação de duas junções usando as relações básicas EMPREGADO, PROJETO E TRABALHA_EM.
Assinale a alternativa CORRETA.