Baixe o app para aproveitar ainda mais
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
Compartilhar