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