Buscar

ESTUDAR AV1- RESUMO

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)

Continue navegando