Buscar

Programação de Banco de Dados com SQL

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Copyright © 2019, Oracle e/ou suas empresas afiliadas. Todos os direitos reservados. Oracle e Java são marcas comerciais registradas da Oracle e/ou de suas empresas afiliadas. Outros 
nomes podem ser marcas comerciais de seus respectivos proprietários. 
 
 
 
Programação de Banco de Dados com SQL 
15-1: Criando Views 
Soluções dos Exercícios 
Vocabulário 
 
Instruções: Identifique a palavra do vocabulário correspondente a cada definição a seguir. 
 
View Um subconjunto de dados de uma ou mais tabelas gerados a 
partir de uma consulta e armazenados como uma tabela 
virtual 
VIEW_NAME Nome da view 
FORCE Cria uma view, independentemente de as tabelas de base 
existirem ou não 
View simples Deriva dados de uma tabela, não contém funções ou grupos e 
pode executar operações DML por meio da view 
NOFORCE Criará a view somente se a tabela de base existir 
CREATE VIEW Instrução usada para criar uma nova view 
Alias Especifica um nome para cada expressão selecionada pela 
consulta da view 
Subconsulta Uma instrução SELECT completa 
View complexa Deriva dados de uma ou mais tabelas, contém funções ou 
grupos de dados e nem sempre permite operações DML por 
meio da view 
REPLACE Criará novamente a view se ela já existir 
 
Tente/solucione 
 
1. Quais são os três usos de uma view da perspectiva de um DBA? 
 
Solução: 
Todos os três a seguir: 
 
• Restringir o acesso aos dados uma vez que a view pode exibir colunas seletivas da 
tabela. 
• Reduzir a complexidade da execução de consultas com base em instruções SELECT 
mais complicadas. 
• Recuperar dados de várias tabelas, fornecendo independência dos dados para os 
usuários. Os usuários podem exibir os mesmos dados de diversas maneiras. 
academy.oracle.com 
2 
 
Copyright © 2019, Oracle e/ou suas empresas afiliadas. Todos os direitos reservados. Oracle e Java são marcas comerciais registradas da Oracle e/ou de suas empresas afiliadas. Outros 
nomes podem ser marcas comerciais de seus respectivos proprietários. 
• Permitir que grupos de usuários tenham acesso aos dados de acordo com suas 
permissões ou critérios específicos. 
 
2. Crie uma view simples chamada view_d_songs que contenha o ID, o título e o artista da 
tabela da DJs on Demand para cada código do tipo “New Age”. Na subconsulta, use o 
alias “Song Title” para o título da coluna. 
 
Solução: 
CREATE VIEW view_d_songs 
AS SELECT id, title AS "Song Title", artist 
FROM d_songs 
WHERE type_code = 77; 
 
 
3. SELECT * FROM view_d_songs. Qual foi o resultado retornado? 
 
Solução: 
SELECT * 
FROM view_d_songs; 
 
 
4. REPLACE view_d_songs. Adicione type_code à lista de colunas. Use aliases para todas 
as colunas. 
 
Solução: 
CREATE OR REPLACE VIEW view_d_songs 
AS SELECT id AS "Identification", title AS "Song Title", artist AS "Recording Artist", 
type_code AS "Type Code" 
FROM d_songs 
WHERE type_code = 77; 
 
Ou use o alias após a instrução CREATE conforme mostrado. 
CREATE OR REPLACE VIEW view_d_songs(Identification, Song, Singer, " Type Code") 
AS SELECT id, title, artist, type_code 
FROM d_songs; 
 
 
5. Jason Tsang, o DJ da DJs on Demand, precisa de uma lista dos eventos passados e dos 
planejados para os próximos meses a fim de que possa tomar as providências 
necessárias para a preparação do equipamento de cada evento. Como gerente da 
empresa, você não quer que ele tenha acesso ao preço que os clientes pagaram pelos 
eventos. Crie uma view para ser usada por Jason que exiba o nome e a data do evento e 
a descrição do tema. Use aliases para cada nome de coluna. 
 
Solução: 
CREATE OR REPLACE VIEW view_events_dj ("Name of Event", "Event Date", "Theme 
Code", "Description") 
3 
 
Copyright © 2019, Oracle e/ou suas empresas afiliadas. Todos os direitos reservados. Oracle e Java são marcas comerciais registradas da Oracle e/ou de suas empresas afiliadas. Outros 
nomes podem ser marcas comerciais de seus respectivos proprietários. 
AS SELECT e.name, e.event_date, e.theme_code, t.description 
FROM d_events e, d_themes t 
WHERE e.theme_code = t.code; 
6. Segundo a política da empresa, somente a alta gerência tem permissão de acessar os 
salários de cada funcionário. Entretanto, os gerentes dos departamentos precisam saber 
os salários mínimo, máximo e a média salarial, agrupados por departamento. Use o 
banco de dados Oracle a fim de preparar uma view que exiba as informações necessárias 
para esses gerentes. 
 
Solução: 
CREATE VIEW dept_sum_vu (name, minsal, maxsal, avgsal) 
AS SELECT d.department_name, MIN(e.salary), MAX(e.salary),AVG(e.salary) 
FROM employees e, departments d 
WHERE e.department_id = d.department_id 
GROUP BY d.department_name; 
	Vocabulário
	Tente/solucione

Continue navegando