Buscar

EXERCICIO AULA -07

Prévia do material em texto

Atividade 
Questão 1 
Para esta atividade, utilize o banco de dados da seguradora, que conta com o 
seguinte modelo lógico: 
 
As tabelas contêm os seguintes dados: 
proprietário 
 
Modelo 
 
Veículo 
 
1. Insira uma linha na tabela de proprietários com os seguintes dados: 
 
Observe que o veículo inserido deverá ter Proprietário nulo, ou seja, não estará 
associado a nenhum proprietário. 
 
Gabarito 
Gabarito sugerido: 
 
2. Insira uma linha na tabela de proprietários com os seguintes dados: 
Dê um comando de junção que produza o resultado da figura: 
 
 
Gabarito 
Gabarito sugerido: 
 
3. Dê um comando de junção que produza o resultado da figura: 
 
 
Gabarito 
Gabarito sugerido: 
 
4. Dê um comando de junção que produza o resultado da figura: 
 
 
Gabarito 
Gabarito sugerido: 
 
Questão 2 
Utilizando o SGBD. 
1. Crie um banco de dados chamado Supersport. 
 
Gabarito 
Gabarito sugerido: 
 
Utilizando o SGBD. 
2. Utilizando o script disponível aqui, crie e popule as tabelas da Supersport. 
 
Gabarito 
Gabarito sugerido: 
https://stecine.azureedge.net/webaula/estacio/GRA302/galeria/aula7/anexo/SUPERSPORT.sql.zip
 
Questão 3 
Utilizando o SGBD. 
Utilizando o banco de dados da Supersport, escreva os comandos de junção 
exterior solicitados. 
1. Mostrar os nomes de todos os clientes e a identificação e o último nome do 
representante de vendas que atende cada um, ordenados pelo nome do cliente. 
Existem clientes que não têm um representante de vendas os atendendo. 
Retorno esperado: 
 
 
Gabarito 
Gabarito sugerido: 
https://stecine.azureedge.net/webaula/estacio/GRA302/galeria/aula7/anexo/MODELOSUPERSPORT.doc
 
2. Mostrar os nomes de todos os clientes e os números de suas faturas. Existem 
clientes que não têm faturas. 
Retorno esperado: 
 
 
Gabarito 
Gabarito sugerido: 
 
3. Mostrar os nomes e as situações de crédito dos clientes que não têm faturas. 
Retorno esperado: 
 
 
Gabarito 
Gabarito sugerido: 
 
Questão 4 
Utilizando o banco de dados da Supersport, escreva os comandos de autojunção 
solicitados. 
1. Mostrar a hierarquia da SuperSports, apresentando o último nome de cada 
gerente e de seu subordinado direto, incluindo os cabeçalhos Gerente e 
Subordinado, utilizando a sintaxe ANSI. 
Retorno esperado: 
 
 
Gabarito 
Gabarito sugerido: 
 
2. Produzir o mesmo resultado da atividade 1, utilizando a sintaxe tradicional. 
 
Gabarito 
Gabarito sugerido: 
 
3. Mostrar o último nome de cada empregado e de seu gerente, ordenados pelo 
último nome dos empregados, incluindo os cabeçalhos Empregado e Empregado-
Gerente, utilizando a sintaxe ANSI. 
Retorno esperado: 
 
 
Gabarito 
Gabarito sugerido: 
 
4. Produzir o mesmo resultado da atividade 3, utilizando a sintaxe tradicional. 
 
Gabarito 
Gabarito sugerido: 
 
5. Mostrar o último nome de todos empregados e de seus gerentes, ordenados 
pelo último nome dos empregados, incluindo os cabeçalhos Empregado e 
Empregado-Gerente, utilizando a sintaxe ANSI. Um empregado pode não ter 
gerente. 
Retorno esperado: 
 
 
Gabarito 
Gabarito sugerido: 
 
Questão 5 
Utilizando o banco de dados da Supersport, escreva os comandos de junção 
solicitados, nas sintaxes ANSI e tradicional. 
1. Mostrar identificador, último nome, código do departamento e nome do 
departamento de todos os empregados. 
Retorno esperado: 
 
 
Gabarito 
Gabarito sugerido: 
ANSI 
SELECT E.ID, E.ULT_NOME, E.ID_DEPTO, D.NOME 
FROM C_EMPR E INNER JOIN C_DEPTO D 
ON E.ID_DEPTO = D.ID 
TRADICIONAL 
SELECT E.ID, E.ULT_NOME, E.ID_DEPTO, D.NOME 
FROM C_EMPR E, C_DEPTO D 
WHERE E.ID_DEPTO = D.ID 
Utilizando o banco de dados da Supersport, escreva os comandos de junção 
solicitados, nas sintaxes ANSI e tradicional. 
2. Mostrar código do departamento, código da região e nome da região de todos 
os departamentos. Chamar as colunas de Departamento, Região e Nome da 
região. 
Retorno esperado: 
 
 
Gabarito 
Gabarito sugerido: 
ANSI 
SELECT D.ID AS "DEPARTAMENTO", R.ID AS "REGIÃO", R.NOME AS 
"NOME REGIÃO" 
FROM C_DEPTO D INNER JOIN C_REGIAO R 
ON D.ID_REGIAO = R.ID 
TRADICIONAL 
SELECT D.ID AS "DEPARTAMENTO", R.ID AS "REGIÃO", R.NOME AS 
"NOME REGIÃO" 
FROM C_DEPTO D, C_REGIAO R 
WHERE D.ID_REGIAO = R.ID 
3. Mostrar identificador, último nome, código e nome do departamento do 
empregado com último nome Pires. 
Retorno esperado: 
 
 
Gabarito 
Gabarito sugerido: 
ANSI 
SELECT E.ID, E.ULT_NOME, E.ID_DEPTO, D.NOME 
FROM C_EMPR E INNER JOIN C_DEPTO D 
ON E.ID_DEPTO = D.ID 
WHERE UPPER(ULT_NOME) = 'PIRES' 
TRADICIONAL 
SELECT E.ID, E.ULT_NOME, E.ID_DEPTO, D.NOME 
FROM C_EMPR E, C_DEPTO D 
WHERE (E.ID_DEPTO = D.ID) AND UPPER (ULT_NOME) = 'PIRES' 
4. Mostrar identificador e nome de todos os departamentos situados na região de 
nome América do Norte. 
Retorno esperado: 
 
 
Gabarito 
Gabarito sugerido: 
ANSI 
SELECT D.ID, R.NOME 
FROM C_DEPTO D INNER JOIN C_REGIAO R 
ON D.ID_REGIAO = R.ID 
WHERE UPPER (R.NOME) = 'AMERICA DO NORTE' 
TRADICIONAL 
SELECT D.ID, R.NOME 
FROM C_DEPTO D, C_REGIAO R 
WHERE (D.ID_REGIAO = R.ID) AND UPPER (R.NOME) = 'AMERICA DO 
NORTE') 
5. Mostrar nome do cliente, código da região e nome da região de todos os 
clientes das regiões 4 e 5. Atribuir apelidos às tabelas referenciadas. 
Retorno esperado: 
 
 
Gabarito 
Gabarito sugerido: 
ANSI 
SELECT C.NOME, R.ID, R.NOME 
FROM C_CLIENTE C INNER JOIN C_REGIAO R 
ON C.ID_REGIAO = R.ID 
WHERE R.ID IN (4,5) 
TRADICIONAL 
SELECT C.NOME, R.ID, R.NOME 
FROM C_CLIENTE C, C_REGIAO R 
WHERE (C.ID_REGIAO = R.ID) AND (R.ID IN (4,5)) 
6. Mostrar o último nome, nome do departamento e nome da região de todos os 
empregados que recebem comissão. 
Retorno esperado: 
 
 
Gabarito 
Gabarito sugerido: 
ANSI 
SELECT E.ULT_NOME, D.NOME, R.NOME 
FROM C_EMPR E INNER JOIN C_DEPTO D ON E.ID_DEPTO = D.ID 
INNER JOIN C_REGIAO R ON D.ID_REGIAO = R.ID 
WHERE E.PERC_COMISSAO IS NOT NULL 
TRADICIONAL 
SELECT E.ULT_NOME, D.NOME, R.NOME 
FROM C_EMPR E, C_DEPTO D , C_REGIAO R 
WHERE (E.ID_DEPTO = D.ID AND D.ID_REGIAO = R.ID) 
AND (E.PERC_COMISSAO IS NOT NULL) 
7. Mostrar nome do produto, código do produto e quantidade faturada dos itens 
da fatura de número 101. 
Retorno esperado: 
 
 
Gabarito 
Gabarito sugerido: 
ANSI 
SELECT P.ID, P.NOME, I.QTDE 
FROM C_PRODUTO P INNER JOIN C_ITEM_FAT I 
ON I.ID_PRODUTO = P.ID 
WHERE I.ID_FAT = 101 
TRADICIONAL 
SELECT P.ID, P.NOME, I.QTDE 
FROM C_PRODUTO P, C_ITEM_FAT I 
WHERE (I.ID_PRODUTO = P.ID) AND (I.ID_FAT = 101) 
8. Mostrar nome do cliente, código do produto e quantidade faturada dos clientes 
cujas faturas totalizaram mais que 100000. 
Retorno esperado: 
 
 
Gabarito 
Gabarito sugerido: 
ANSI 
SELECT C.NOME, P.ID, I.QTDE 
FROM C_CLIENTE C INNER JOIN C_FATURA F ON C.ID = 
F.ID_CLIENTE 
INNER JOIN C_ITEM_FAT I ON I.ID_FAT = F.ID 
INNER JOIN C_PRODUTO P ON I.ID_PRODUTO = P.ID 
WHERE F.TOTAL > 100000 
TRADICIONAL 
SELECT C.NOME, P.ID, I.QTDE 
FROM C_CLIENTE C, C_FATURA F, C_ITEM_FAT I, C_PRODUTO P 
WHERE (C.ID = F.ID_CLIENTE AND I.ID_FAT = F.ID AND 
I.ID_PRODUTO = P.ID) 
AND (F.TOTAL > 100000)

Continue navegando

Outros materiais