Considere uma relação de trabalho flexível e hipotética, ond...

Próximas questões
Com base no mesmo assunto
Q853964 Banco de Dados
Considere uma relação de trabalho flexível e hipotética, onde cada funcionário, que possui uma única Carteira de Trabalho e Previdência Social, pode trabalhar em diversas empresas ao mesmo tempo, e estas empresas podem manter inúmeros funcionários. Nessa relação estabelecida de forma correta em um Sistema Gerenciador de Banco de Dados Relacional, considere que a chave primária da tabela funcionario é matriculaFuncionario, da tabela empresa é idEmpresa e da tabela empresa_funcionario é uma composição de matriculaFuncionario e idEmpresa. Um Analista de Sistemas infringirá as regras da segunda forma normal (2FN) se colocar na tabela empresa_funcionario o campo
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito Comentado:

A alternativa correta é a E - numeroCarteiraTrabalho.

Vamos entender primeiramente o que é a Segunda Forma Normal (2FN). A 2FN é uma etapa do processo de normalização de banco de dados que visa reduzir a redundância de dados e evitar anomalias de atualização. Um dos requisitos para que uma tabela esteja na 2FN é que ela esteja na Primeira Forma Normal (1FN) e que todos os seus atributos não-chave sejam dependentes funcionalmente completos da chave primária. Isso significa que qualquer campo que não faça parte da chave primária deve depender de toda a chave primária para sua existência e unicidade na tabela.

No contexto da questão, a tabela empresa_funcionario tem uma chave primária composta por matriculaFuncionario e idEmpresa, indicando uma relação de muitos para muitos entre funcionários e empresas. Os campos cargo, salario, cargaHorariaMensal, e regrasDeTrabalho são apropriados para esta tabela porque podem variar para um mesmo funcionário em diferentes empresas ou para diferentes funcionários na mesma empresa - ou seja, eles dependem da combinação completa da chave primária.

Entretanto, o campo numeroCarteiraTrabalho refere-se a um atributo do funcionário que é único para ele e não varia independente da empresa em que trabalha. Portanto, incluir o numeroCarteiraTrabalho na tabela empresa_funcionario criaria uma dependência funcional parcial, pois este campo depende apenas de matriculaFuncionario, e não da chave primária completa. Isso violaria a 2FN, pois cada funcionário tem uma única Carteira de Trabalho e Previdência Social, logo este dado deveria estar somente na tabela funcionario, que seria referenciada pela sua chave primária matriculaFuncionario.

Com essa compreensão, fica claro que a alternativa correta é a E, pois colocar o numeroCarteiraTrabalho na tabela empresa_funcionario infringiria as regras da 2FN ao criar uma dependência funcional parcial, quando todos os atributos não-chave devem depender da totalidade da chave primária composta.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

O número da carteira de trabalho é uma informação do funcionário, independente da empresa. Assim, este atributo dependerá somente de parte da chave primária definida para empresa_funcionario.

LETRA E

Como proceder 2FN

a) Identificar os atributos que não são funcionalmente dependentes de toda a chave primária;
b) Remover da entidade todos esses atributos identificados e criar uma nova entidade com eles.

Basta analisarmos, conforme a empresa que o funcionário trabalhar podem ser diferentes: cargo, salario, cargaHorariaMensal e regrasDeTrabalho.
São dados pertencentes a Relação FuncionárioXEmpresa

Porém o numeroCarteiraTrabalho sempre será o mesmo e é um dado pertencente ao FUNCIONARIO.

Uma tabela está na Segunda Forma Normal 2FN se ela estiver na 1FN e todos os atributos não chave forem totalmente dependentes da chave primária (dependente de toda a chave e não apenas de parte dela).

 

Nesse caso numeroCarteiraTrabalho depende apenas da chave matriculaFuncionario

Tabela Funcionário: matricula_func (PK);

Tabela Empresa: id_empresa (PK)

Tabela Empresa_Funcionário: (matricula_func, id_empresa) (PK - composta)

 

Obs:.  Todas as opções, exceto letra E, dependem da chave primária composta da tabela Empresa_Funcionário, porém o numeroCarteiraTrabalho é dependente PARCIALMENTE da chave primária, ou seja, depende apenas de matricula_func.

 

 

Att,

 

Futura Militar!!!

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo