You are on page 1of 1

Exerccio: Fundamentos de Banco de Dados.

Professor: Gilmar Carvalho Turma: CSGTI Nome: e-mail: Responda os exerccios nesta folha e envie para o endereo gilmar@cefetsc.edu.br, assunto: Exerccio FBD. S sero aceitos os mails que chegarem durante o perodo da aula. 1) Explique com um exemplo como obter a Primeira Forma Normal 1FN - Normalizao de dados. Pesquise na internet. R. Uma relao estar na Primeira forma normal 1FN, se e somente se todos os domnios bsicos contiverem somente valores atmicos (no contiver grupos repetitivos). 2) Exiba todos os empregados que possuem duas letras L em seus nomes e esto no departamento 30 e seu chefe seja o empregado de matricula igual a o 7782. (2.11) R. SELECT nome FROM empregado WHERE nome LIKE '%L%L' AND depto = 30 OR chefe=7782. 3) Exiba o nome, cargo e o salrio de todos os empregados cujos cargos seja ESCRITURARIO ou ANALISTA e que seus salrios no sejam iguais a 1000, 3000 ou 5000.(2.12) R. SELECT nome, cargo, salario FROM empregado WHERE cargo IN ('ESCRITURARIO', 'ANALISTA') AND salario NOT IN (1000,3000,5000). 4) Exibir o nome, o salrio e a comisso de todos os funcionrios cuja quantia da comisso seja maior que seus salrios com 10% de aumento.(2.13) R. SELECT nome, salario, comissao FROM empregado WHERE comissao > salario*1.1; 5) Crie uma consulta que exiba o nome do funcionrio com a primeira letra maiscula e todas as outras minsculas, bem como o tamanho de seus nomes, para todos os funcionrios cujo nome comea com J, A ou M. Fornea a cada coluna um label apropriado.(3.9) R. SELECT CONCAT(UPPER(SUBSTR(nome,1,1)),SUBSTR(nome,2,LENGTH(nome))), LENGTH(nome) FROM empregado WHERE nome LIKE 'J%' OR nome LIKE 'm%' OR nome LIKE 'a%'. 6) Exiba o nome, a data de admisso e o dia da semana em que o funcionrio comeou a trabalhar. Ordene os resultados por dia da semana, iniciando na Segunda.(3.10) R. SELECT nome, DAYNAME(datanas) FROM empregado ORDER BY DAYNAME(datanas) ASC. 7) Crie um consulta que exiba o nome, o cargo, o nome do departamento, o salrio e a classificao de todos os funcionrios.(4.9) R. SELECT e.nome, e.cargo, d.nome, e.salario, s.grade FROM empregado e, departamento d, gradesalario s WHERE e.depto =d.depto AND e.salario BETWEEN s.menorsalario AND s.maiorsalario. 8) Crie uma consulta para exibir o nome e a data de admisso de qualquer funcionrios admitido aps o funcionrio JOAO.(4.10) R. SELECT empregado.nome, empregado.datanas FROM empregado , empregado joao WHERE joao.nome = 'JOAO' AND JOAO.datanas < JOAO.datanas. 9) Crie uma consulta para exibir o nome do departamento, o nome do local, o nmero de funcionrios e o salrio mdio de todos os funcionrios nesse departamento.(5.10) R. SELECT d.nome, d.local, COUNT(*), ROUND(AVG(e.salario),2) FROM empregado e, departamento d WHERE e.depto = d.depto GROUP BY d.nome, d.local. 10) Crie uma consulta que exiba o nmero total de funcionrios e, desse total, o nmero total de funcionrios contratados em 2000, 2001, 2002, 2003, 2004.(5.11) R. SELECT COUNT(*) Total, SUM(YEAR(datanas = '2000') ) 2000, SUM(YEAR(datanas = '2001')), SUM(YEAR(datanas='2002')) 2003, SUM(YEAR(datanas = '2003')), SUM(YEAR(datanas='2004')) 2004,

You might also like