2
respostas

[Dúvida] Nova tabela SALARIOSCARGO

Mesmo cirando a nova tabela SALARIOSCARGO, o campos DEPARTAMENTO e CARGO continuam sendo repetidos na tabela COLABORADORES.

O certo não seria criar um campo de ID (chave primária) na tabela SALARIOSCARGO e utilizar esse campo como FK na tabela COLABORADORES? E poderia ser criado um índice único para esses dois campos, assim não poderiam se repetir.

Essa tabela COLABORADORES, ainda possui o campo DEPENTENDES, que não atende a regra da primeira forma normal.

Estou muito engado? Alguém poderia me explicar melhor?

At.te, Carlos

2 respostas

Olá, Carlos!

Pelo que entendi da sua dúvida, você está questionando a repetição dos campos DEPARTAMENTO e CARGO na tabela COLABORADORES e também a presença do campo DEPENDENTES que não atende a primeira forma normal (1NF). Vou tentar esclarecer esses pontos para você.

Primeiramente, a repetição dos campos DEPARTAMENTO e CARGO na tabela COLABORADORES é esperada e não viola a normalização. Isso ocorre porque cada colaborador está associado a um departamento e a um cargo específico. Mesmo que esses campos sejam repetidos para diferentes colaboradores, isso é perfeitamente normal e aceitável em um banco de dados relacional.

Quanto à sua sugestão de criar um campo de ID (chave primária) na tabela SALARIOSCARGO e utilizar esse campo como chave estrangeira na tabela COLABORADORES, isso é uma prática comum e pode ser feita. No entanto, neste caso específico, a chave primária da tabela SALARIOSCARGO é composta pelos campos DEPARTAMENTO e CARGO. Isso significa que a combinação desses dois campos é única para cada registro, e é isso que garante a integridade dos dados.

Em relação ao campo DEPENDENTES na tabela COLABORADORES, você está correto em dizer que ele não atende à primeira forma normal (1NF). Isso porque a 1NF exige que cada campo de uma tabela contenha apenas valores atômicos, ou seja, indivisíveis. Se o campo DEPENDENTES está armazenando múltiplos valores para alguns colaboradores (por exemplo, se um colaborador tem mais de um dependente e todos eles estão sendo armazenados no mesmo campo), então isso viola a 1NF.

Uma possível solução para isso seria criar uma tabela separada para DEPENDENTES, onde cada dependente teria seu próprio registro e estaria associado a um colaborador específico através de uma chave estrangeira.

Espero ter entendido e conseguido ajudar, Qualquer coisa manda aqui. Bons estudos!

Bom dia Renan.

Obrigado pela explicação.

Somente ainda sobre a tabela SALARIOSCARGO, a PK é formada pelos dois campos DEPARTAMENTO e CARGO, por isso sugeri que fosse criado o índice único, caso a tabela fosse alterada com a minha sugestão de criar um campo ID novo como PK. Assim o índice único também não permitirá a repetição dos registros com valores repetidos nesses dois campos DEPARTAMENTO e CARGO.

Obrigado novamente.

At.te,

Carlos