Estou com uma dúvida na construção de um relacionamento que gostaria da opiniao de vocês. Eu tenho as seguintes entidades:
Funcionario(Id, Nome);
Trabalho(Id, ResponsavelId, OperadorId, MotoristaId);
Os atributos ResponsavelId, OperadorId e MotoristaId são chaves estrangeiras para a mesma tabela Funcionario. Está correto ter 3 chaves estrangeiras para uma mesma tabela muito embora cada atributo seja atomico?
Então ta bom, e que quando estou fazendo o DER fica tres setas passando de um lado para outro dai achei que derepente essas setas fosse sinal de redundancia!
Não é.
Geralmente, desconfie de:
- Relacionamentos 1 para 1 (geralmente podem virar uma tabela só);
- Relacionamentos n para n (provavelmente há uma tabela de junção entre eles);
- Campos cujos valores se repetem demais, e não são chaves estrangeiras (devem estar ferindo a segunda forma normal);
- Campos cujos valores são calculados, a partir de outros campos (ferindo a terceira forma normal). Se forem otimizações, ok, se não forem, elimine-os e calcule no seu programa.