none
Ajuda na estruturação da Base de Dados "sql server 2005" RRS feed

  • Pergunta

  •  

    Boa Noite

    Estou a estruturar uma base de dados mas como ainda nao me tinha aparecido nada do genero pra eu fazer, começaram as duvidas as seguir...

    O meu problema é na tabela Clientes, o programa que estou a desenvolver vai gerir pagamento de vencimento mensal...

    Entao a minha duvida está no que diz respeito aos campos "Vencimento Base", "Subsidido de alimentação", "Segurança Social".

    Onde é que estes campos devem ficar ? Na tabela Clientes?

    O Cliente que me encomendou o programa trouxe-me um recibo de vencimento pra servir de referencia que é este do link abaixo ..

    http://img293.imageshack.us/my.php?image=recibowe6.jpg

     

    Agora eu nao estou a perceber de onde vêm os codigos que sao atribuidos as estes campos....

     

    Espero ter sido claro com a minha duvida

     

    Um Abraço

     

    quarta-feira, 17 de setembro de 2008 21:37

Respostas

  • Bom Dia,

     

    Não acho que esses dados devam ficar na tabela de clientes. Os clientes terão vários pagamentos com valores diferentes (o valor do vencimento base irá se alterar mas o nome do Cliente permanecerá o mesmo) e se colocarmos esses dados na tabela de clientes estaremos violando a 1FN que diz que os atributos devem ser atômicos e livres dos grupos de repetição. Também não sei se Clientes seria o melhor nome já que a julgar pelos campos, me parecem mais ser empregados do que Clientes.

     

    Eu sugiro as seguintes tabelas:

     

    TblFuncionarios

    Coloque aqui os dados cadastrais dos funcionários como Nome, CPF, Data de Nascimento, etc.

    (IDFuncionario, Nome, CPF, <Outros Campos>)

     

    TblRubricas

    Coloque aqui as rubricas que aparecem no recibo de vencimento. Aqui que devem constar os campos que você citou. Não coloque os valores nessa tabela, apenas os nomes.

    (IDRubrica, NomeRubrica, <Outros Campos>)

     

    TblRubricasFuncionarios

    Coloque aqui uma FK para a tabela de Funcionários, uma FK para a tabela de Rubricas e uma coluna para o valor vigente daquela rubrica para aquele funcionário. Se houver um desconto padrão coloque-o aqui também.

    (IDFuncionario, IDRubrica, ValorVigente)

     

    TblRubricasPagas

    Coloque aqui a FK para RubricasFuncionarios e os valores pagos juntamente com os descontos. Inicialmente os valores pagos serão iguais aos valores vigentes, mas com o tempo isso ficará diferente (os valores vigentes irão se alterar e não podemos alterar os valores pagos, por isso duas tabelas).

    (IDFuncionario, IDRubrica, ValorPago, Desconto)

     

    Bom, de início eu acho que dá.

     

    [ ]s,

     

    Gustavo

    quinta-feira, 18 de setembro de 2008 12:07

Todas as Respostas

  • Bom Dia,

     

    Não acho que esses dados devam ficar na tabela de clientes. Os clientes terão vários pagamentos com valores diferentes (o valor do vencimento base irá se alterar mas o nome do Cliente permanecerá o mesmo) e se colocarmos esses dados na tabela de clientes estaremos violando a 1FN que diz que os atributos devem ser atômicos e livres dos grupos de repetição. Também não sei se Clientes seria o melhor nome já que a julgar pelos campos, me parecem mais ser empregados do que Clientes.

     

    Eu sugiro as seguintes tabelas:

     

    TblFuncionarios

    Coloque aqui os dados cadastrais dos funcionários como Nome, CPF, Data de Nascimento, etc.

    (IDFuncionario, Nome, CPF, <Outros Campos>)

     

    TblRubricas

    Coloque aqui as rubricas que aparecem no recibo de vencimento. Aqui que devem constar os campos que você citou. Não coloque os valores nessa tabela, apenas os nomes.

    (IDRubrica, NomeRubrica, <Outros Campos>)

     

    TblRubricasFuncionarios

    Coloque aqui uma FK para a tabela de Funcionários, uma FK para a tabela de Rubricas e uma coluna para o valor vigente daquela rubrica para aquele funcionário. Se houver um desconto padrão coloque-o aqui também.

    (IDFuncionario, IDRubrica, ValorVigente)

     

    TblRubricasPagas

    Coloque aqui a FK para RubricasFuncionarios e os valores pagos juntamente com os descontos. Inicialmente os valores pagos serão iguais aos valores vigentes, mas com o tempo isso ficará diferente (os valores vigentes irão se alterar e não podemos alterar os valores pagos, por isso duas tabelas).

    (IDFuncionario, IDRubrica, ValorPago, Desconto)

     

    Bom, de início eu acho que dá.

     

    [ ]s,

     

    Gustavo

    quinta-feira, 18 de setembro de 2008 12:07
  • Collito,

     

    Concordo com o Gustavo, neste caso você deve primeiramente fazer um desenho da sua Modelagem procurando identificar as possíveis redundâncias de informações e definir os relacinamentos.

     

    quinta-feira, 18 de setembro de 2008 12:37
  • Ola eu enganei-me quando disse tblClientes eu queria mesmo dizer tblEmpregados ...

    Quanto á sua resposta acho que melhor era impossivel, muito obrigado fiquei esclarecido....

     

    Um abraço

     

    quinta-feira, 18 de setembro de 2008 22:40