Exercicio 7 - Normalização Atualizada 13 de mai de 2014 20:37
Exercicio 7 - Normalização
Considere a definição das tabelas abaixo e normalize-as até a terceira forma normal.
1 ) ALOCACAO_PROJETO {COD_PROJ, TIPO_PROJETO, DESCRICAO, COD_FUNC, NOME, COD_CARGO,
NOME_CARGO, SALARIO, DATA_INICIO_ALOCAO, TEMPO_ALOCACAO}
Um projeto pode ter varios funcionários alocados a partir de uma data inicial por um determinado
tempo de alocação. Os funcionários possuem um cargo e são remunerados em função do cargo. Um
funcionário pode ser alocado em mais de um projeto.
Resposta:
PROJETO( COD_PROJ, TIPO_PROJETO, DESCRICAO )
ALOCACAO( COD_PROJ, COD_FUNC, DATA_INICIO_ALOCACAO, TEMPO_ALOCACAO )
COD_PROJ referencia PROJETO
COD_FUNC referencia FUNCIONARIO
FUNCIONARIOS( COD_FUNC, NOME, COD_CARGO )
COD_CARGO referencia CARGO
CARGO( COD_CARGO, NOME_CARGO, SALARIO )
2 ) MOVIMENTO { COD_PRODUTO, NUMERO_ALMOXARIFADO, DATA_MOVIMENTO, TIPO_MOVIMENTO,
NOME-PRODUTO, VALOR_PRODUTO, LOCAL_ALMOXARIFADO,
COD_EMPREGADO_RESPONSÁVEL_SAÍDA, NOME_EMPREGADO_RESP_SAìDA,
COD_DEPARTAMENTO_EMPREG_RESP_SAIDA, NOME_DEPARTAMENTO, COD_FORNECEDOR_ENTRADA,
RAZAO_SOCIAL_FORNECEDOR, DATA_VENDA, NOM_CLIENTE, CPF, E_MAIL_CLIENTE, ENDER_CLIENTE,
TEL_CLIENTE}
Um Almoxarifado registra entrada e saída de produtos de uma empresa. A saída de um produto é
sempre para atender uma venda feita em uma data para um cliente que é identificada por uma nota
fiscal de venda. A entrada de um produto no almoxarifado é sempre em função de um fornecimento
feito por um fornecedor da empresa. A empresa tem interesse em manter informações dos clientes e
dos fornecedores.
DEPARTAMENTO( cod_departamento, nome )
EMPREGADO( cod_empregado, nome, cod_departamento )
cod_departamento referencia DEPARTAMENTO
ALMOXARIFADO(numero, local )
FORNCEDOR( cod_fornecedor, razao_social)
PRODUTO (cod_produto, nome, valor )
ENTRADA ( cod_fornecedor, data, cod_produto, numero )
cod_produto referencia PRODUTO
cod_fornecedor referencia FORNECEDOR
numero referencia ALMOXARIFADO
CLIENTE( cpf, nom_cliente, e_mail_cliente, ender_cliente, tel_cliente )
VENDA ( nota_fiscal, data_venda, cpf, cod_empregado, cod_produto, numero )
cpf referencia CLIENTE
cod_empregado referencia EMPREGADO
cod_produto referencia PRODUTO
numero referencia ALMOXARIFADO
3 ) CORRIDA_F1 { COD_CAMPEONATO, COD_PISTA, COD_PILOTO, DENOM_CAMPEONATO, NOME_PISTA,
TAMANHO_PISTA, COD_PAIS, COD_PAIS_DA_PISTA, NOME_PAIS, NOME_PILOTO,
COLOCACAO_CORRIDA, DATA_CORRIDA }
O campeonato de F1 será realizado em diferentes pistas, de tamanhos diferentes em países diferentes.
Serão realizadas corridas nas pistas onde se deseja registrar a data e o nome e colocacão de cada piloto
que participou da corrida. Um pais pode ter mais de uma pista.
CAMPEONATO( codigo, nome )
PAIS( cod_pais, nome )
PISTA( cod_pista, nome, tamanho, cod_pais )
cod_pais referencia PAIS
CORRIDA( data. cod_campeonato, cod_pista )
cod_campeonato referencia CAMPEONATO
cod_pista referencia PISTA
PILOTO( cod_piloto, nome )
COLOCACAO ( data, cod_piloto, posicao )
data referencia CORRIDA
cod_piloto referencia PILOTO
4 ) PALESTRA { DATA_PALESTRA, NOME_PALESTRANTE, TEMA, HORA, SALA, TEL_PALESTRANTE, BLOCO,
DURAÇÂO, CURSO, AREA-DE-ESTUDO, TIPO-CURSO, RA, NOME_ALUNO, EMAIL_PALESTRANTE }
O Reitor da Faculdade decidiu promover um ciclo de palestras para todos os cursos da faculdade. Deseja-
se ter um controle de cada aluno que assiste a palestra assim como o local e horario de realizacao das
palestras. É importante aproveitar para criar um cadastro de palestrantes que possam ser convidados
para lecionar na faculdade como professores caso surja uma oportunidade.
5 ) MULTA { DATA, LOCAL, COD_BAIRRO, CIDADE, CNH, NOME_INFRATOR, NOME_POLICIAL, BATALHAO,
PATENTE, HORA, ENDERECO-BATALHAO, TIPO-INFRACAO, NOME-TIPO-INFRACAO, NOME_BAIRRO,
NOME_CIDADE }
O Detran precisa ter um controle das multas emitidas e para isso criou o cadastro de multas com as
informações dos infratores, policiais que emitiram as multas e informações complementares de cada
multa. Os dados estão duplicados no cadastro e é preciso revisar o modelo de dados.
6 ) AVALIACAO_ESCOLAR { MATRICULA, NOME, COD_CURSO, NOTA1, NOM_PROFESSOR, NOTA2,
SITUACAO_FINAL, COD_DISC, NOM_DISCIPLINA, NOM_CURSO, TURNO, COD_PROFESSOR }
Uma escola criou um cadastro de avaliações feitas com os dados dos alunos, cursos, professores. Porem
há muitos problemas na atualização deste cadastro pois as informações estão duplicadas e consome
muito tempo atualizar tudo. É necessário rever este modelo.
AVALIACAO( matricula, cod_disciplina, nota1, nota2, situacao_final )
matricula referencia ALUNO
cod_disciplina referencia DISCIPLINA
ALUNO( matricula, nome, cod_curso )
cod_curso refencia CURSO
CURSO( cod_curso, nome, turno )
DISCIPLINA( cod_disciplina, nome, cod_curso, cod_professor )
cod_curso refencia CURSO
cod_professor referencia PROFESSOR
PROFESSOR( cod_professor, nome)