Baixe o app para aproveitar ainda mais
Prévia do material em texto
BANCO DE DADOS PARA REDE (AV1) Faça o diagrama explicativo das várias fases do projeto de um banco de dados. Mostre qual o produto em cada etapa do processo de desenvolvimento. Quais sãos os componentes de um sistema de banco de dados? Faça um desenho esquemático mostrando a interligação entre estes componentes. Dado o modelo lógico abaixo, resolva as seguintes questões usando a linguagem SQL. PROJETO (NUMPROJ, NOMEPROJ, LOCAL, NUMDEPTO) DEPARTAMENTO (NUMDEPTO, NOMEDEPTO, MATGER) ALOCADO (MATEMP, NUMPROJ, HORASTRAB) EMPREGADO (MAT, NOMEMP, DTNASC, SALARIO, END, NUMDEPTO, MATGER) Selecione o nome, endereço e a data de nascimento dos empregados cujo nome inicia por JOÃO; SELECT NAME, END,DTNASC FROM EMPREGADOR WHERE NOME LIKE‘%JOÃO%’ Selecione o número e o nome dos projetos dos locais SÃO GONÇALO, NITEROI, MAGÉ: SELECT NUMPROJ, NOMEPROJ FROM PROJETO WHERE (LOCAL=’SÃO GONÇALO, NITEROI, MAGÉ’) Selecione o nome e o salário líquido (80% do salário) dos empregados gerenciados pelo empregado 50 em ordem alfabética descendente de nome. SELECT NOME, (SALARIO *0.85) FROM EMPREGADO WHERE MATGER=50 ORDER BY 1 DESC Atualize o salário dos empregados do departamento 5, concedendo um aumento de 30%. UPDATE EMPREGADO SET SALARIO = *0.30 WHERE NUMDEPTO=5 Selecione o número do projeto e o total de horas trabalhadas em cada projeto. Apresente a coluna de total de horas como TOTAL. SELECT NUMPROJ, SUM (HORAS TRAB) AS TOTAL FROM ALOCADO GROUP BY NUMPROJ CORREÇÃO DO EXERCÍCIO PAG 45 DO CAP2 EXERCÍCIO SELECT SIMPLES Nome e salário dos funcionários do departamento 5 SELECT NOME, SALARIO FROM FUNC WHERE NRO_DEPTO=5 Nome e salário dos funcionários do departamento 5, com salário na faixa entre 1000 e 2000 SELECT NOME, SALARIO FROM FUNC WHERE NRO_DEPTO=5 AND SALARIO BETWEEN 1000 AND 2000 Todas as informações sobre projetos do departamento 5 SELECT * FROM PROJETO WHERE NRO_DEPTO=5 Salário líquido (85% do salário bruto) dos funcionários supervisionados pelo funcionário 2 SELECT NOME, (SALARIO *0.85) AS SAL-LIQ FROM FUNC WHERE COD_SUPERV=23 Código dos funcionários que são supervisores SELECT DISTINCT COD_SUPERV FROM FUNC Código dos funcionários que não têm supervisores SELECT COD_FUNC FROM FUNC WHERE COD_SUPERV IS NULL Nome completo, em ordem alfabética, dos funcionários que têm “Felipe” no nome SELECTNOME FROM FUNC WHERE NOME LIKE‘%MAR%’ // CLAUSULA LIKE SÓ PODE SER USADA EM CARACTER NUNCA EM NUMERO Nome, duração e depto dos projetos “Shopping1”, “Edifício Toriba”, “Fac COC” e “Anel Viário” SELECT NOME, DURAÇÃO,NRO_DPTO FROM PROJETO WHERE NOME IN (‘FATURAMENTO’,’INTRANET’,’NOVOS PRODUTOS’) CORREÇÃO DO EXERCÍCIO PAG 50 DO CAP2 O maior e o menor salário da empresa SELECT MAX(SALARIO) MAIOR, MIN(SALARIO) MENOR FROM FUNC O maior e o menor salário de cada Depto SELECT NRO_DEPTO, MAX(SALARIO), MIN(SALRIO) FROM FUNC GROUP BY NRO_DEPTO 3. O maior e o menor salário dos deptos cuja média salarial é maior ou igual a2000 SELECT NRO_DEPTO, MAX(SALARIO), MIN(SALRIO) FROM FUNC GROUP BY NRO_DEPTO HAVING AVG(SALARIO)>=2000 Total de horas trabalhadas de cada projeto SELECT COD_PROJ, SUM(HORAS-TRAB) FROM PARTICIPA GROUP BY COD_PROJET CHAVE ESTRANGEIRA CHAVE PRIMÁRIASELECT – Junção FUNC MAT NOME SALARIO CODCARGO MATGER 10 JOÃO 3000 TE 20 20 MARIA 4000 AS - 50 PEDRO 3500 TE 20 60 PAULO 5000 - 50 CHAVE PRIMÁRIA CARGO CODCARGO DESC TE TECNICO AN ANALISTA AS ASSESSOR Ex1: nome do funcionário e descrição do seu cargo. SELECT F.NOME, C.DESC FORM FUNC F, CARGO C WHERE F.CODCARGO= C.CODCARGO OU SELECT F.NOME, C.DESC FROM FUNC F INNER JOIN CARGO C ON F.CODCARGO = C.CODCARGO Ex2: nome do funcionário e descrição do seu cargo, inclusive para os funcionários sem cargo. SELECT F.NOME, C.DESC FROM FUNC F LEFT OUTER JOIN CARGO C ON F.CODCARGO = C.CODCARGO OU SELECT F.NOME, C.DESC FROM FUNC F FULL OUTER JOIN CARGO C ON F.CODCARGO = C.CODCARGO SELECT – Auto-Junção Ex5: nome dos funcionários e o nome dos seus gerentes. SELECT F.NOME FUNCIONARIO, G.NOME GERENTE FROM FUNC F, FUNC G WHERE F.MATGER =G.MAT Exercícios 57e 58 Nomes dos deptos e nomes dos respectivos gerentes SELECT D.NOME DEPTO, F.NOME GERENTE FROM DEPTO D, FUNC F WHERE D.COD_GER=F.COD_FUNC Nomes dos funcionários que participaram de projetos e respectivos códigos dos projetos e horas trabalhadas, somente das participações que excederam 10h select F.nome, cod_proj, horas_trab from Func F, PARTICIPA P where F.COD_FUNC=P.COD_FUNC AND HORAS_TRAB>50 OU SELECT F.NOME, COD_PROJ,HORAS_TRAB FROM FUNC F INNER JOIN PARTICIPA P ON F.COD_FUNC= P.COD_FUNC WHERE HORAS_TRAB > 50 Nomes dos funcionários que participaram de projetos e respectivos totais de horas trabalhadas select nome, SUM (HORAS_TRAB) FROM FUNC F, PARTICIPA P WHERE F.COD_FUNC = P.COD_FUNC GROUP BY NOME Nomes de todos os funcionários e respectivos totais de horas trabalhadas SELECT NOME, SUM (HORAS_TRAB) FROM FUNC F LEFT OUTER JOIN PARTICIPA P ON F.COD_FUNC = P.COD_FUNC GROUP BY NOME Nomes dos funcionários que participaram de projetos e nomes dos respectivos projetos SELECT F.NOME, P.NOME PROJETO FROM FUNC F, PROJETO P, PARTICIPA PA WHERE F.COD_FUNC = PA.COD_FUNC AND P.COD_PROJ = PA.COD_PROJ OU SELECT F.NOME, P.NOME PROJETO FROM FUNC F INNER JOIN PARTICIPA PA ON F.COD_FUN = PA.COD_FUNC INNER JOIN PROJETO P ON P.COD_PROJ = PA.COD_PROJ Nomes dos funcionários e nomes dos respectivos supervisores SELECT F.NOME, S.NOME SUPERVISOR FROM FUNC F, FUNC S WHERE F.COD_SUPERV = S.COD_FUNC Pares de deptos que possuem o mesmo gerente SELECT D1.NOME, D2.NOME FROM DEPTO D1, DEPTO D2 WHERE D1.COD_GER = D2.COD_GER AND D1.NRO_DEPTO <> D2.NRO_DEPTO Exercícios 65 Lista com nome e salário dos func cujo salário é maior que a média salarial da empresa. select nome,avg(salario) from func; Códigos dos projetos onde trabalharam juntos os func 5, 6 e 13. select cod_proj from Participa where cod_func in ('5','6','13'); Nomes dos func que não são gerentes. select nome from Func where cod_superv <> '0' Códigos dos projetos cuja duração foi menor que a duração de todos os projetos do depto5. Select cod_proj from Projeto where nro_depto = '5' and duracao < sum(duracao) Códigos dos func que são supervisores e são gerentes de depto. select cod_func,nro_depto from Func where cod_superv = '1' and cod_ger = '1' conceitos de bancos de dados 2- arquitetura de 3 níveis 3- etapas de um projeto num banco de dados ( mundo real, prj logico, proj fisic...) 4- é dividido em 3 conjuntos de linguagem (ddl) - (dml) 5- select e suas variações (select simples) 6- ordenação ( order by) 7- agrupamento, funções(sum,max,min,avg,group by,having, join) 50% provas(SQL)
Compartilhar