Jump to content


Photo

Relacionamento Colaborador X Categorias


  • Faça o login para participar
4 replies to this topic

#1 Iron

Iron

    12 Horas

  • Usuários
  • 185 posts
  • Sexo:Não informado
  • Localidade:Campinas/Hortolândia - SP
  • Interesses:Tudo relacionado com informática. Curto muito rock também.

Posted 08/06/2008, 16:19

Olá pessoal,

Eu já dei uma pesquisada aqui e encontrei alguma coisa parecida. Prciso montar um cadastro de colaboradores, tipo aquelas fichas que preenchemos quando vamos preencher alguma vaga de TI, onde você especifica, por exemplo, sua experiência em Ligunagens de Programação. Faz de conta que tem uam área que é "Linguagens" e aí você escolhe algo do tipo ".net, Delphi, java, etc"

Eu tenho duas tabelas: a tb_colaborador e a tb_categoria que tem, resumidamente, os seguintes campos:


tb_colaborador
id_colborador
nome
endereco
telefone

tb_categoria
id_categoria
nome_cat
nespecialidade


Aí eu gostaria de cadastrar os colaboradores da empresa com o seus dados pessoais. Na tabela "tb_categoria" eu ia inserir as catagorias e a especialidades, como, por exemplo:

id_categoria:1
nome_cat: banco de dados
especialidade: Mysql


id_categoria:2
nome_cat: banco de dados
especialidade: Postgree

id_categoria:3
nome_cat: banco de dados
especialidade: SQLserver


Minhas dúvida são?

1- como eu faço uma terceira tabela que fosse Colaborador x Categoria?

2- Gostaria de uma terceira tabela que eu pudesse fazer a busca, por exemplo, de todos os colaboradores que tem o conhecimento na categoria banco de dados e que saiba "postgree".

3 - quando eu tiver cadastrando um colaborador, como eu consigo cadastrar seus dados pessoais e também suam categoria, pois um colborador pode ter mais que uma categoria, ele pode ter conhecimento em banco de dados, em linguagem de programação, em sistemas operacionais etc.

Quanta pergunta hein.

Obrigado desde já

Edição feita por: Iron, 08/06/2008, 16:27.

ICQ: 156678261
MSN: marcelowd@hotmail.com


#2 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 08/06/2008, 16:28

Depende do seu objetivo.

Se cada Colaborador pode ser de apenas uma Categoria, então você deve criar um campo na tabela de Colaborador para armazenar o ID da Categoria.

Se um Colaborador pode ter várias Categorias, então você deve criar uma entidade de relacionamento, que seria uma nova tabela, por exemplo, com os IDs de Categoria e Colaborador.

Para listar os itens relacionados você vai fazer um select, por exemplo:

select co.nome, ca.nome_cat from tb_colaborador co, tb_categoria ca where co.id_categoria=ca.id_categoria


ps.: isto é apenas um exemplo.
------
Mero mortal!

#3 Iron

Iron

    12 Horas

  • Usuários
  • 185 posts
  • Sexo:Não informado
  • Localidade:Campinas/Hortolândia - SP
  • Interesses:Tudo relacionado com informática. Curto muito rock também.

Posted 08/06/2008, 16:49

Oi Prog,

Obrigado pela dica. Eu entendi perfeitamente sua explicação. É isso mesmo, um colaborador pode estar ligado a várias categorias (banco de dados, Sist. Oprecionais, liguangens para web etc).

Mas aí, se eu tenho as categorias previamentes cadastradas na tabela, como eu faço para, ao inserir um novo colaborador, inserir informações das categorias que eles está relacionado?

Como que eu posso dizer no cadastro do colaborador que ele tem conhecimento na categoria "banco de dados", "redes" e "Sist. Opercional"?

Obrigado

ICQ: 156678261
MSN: marcelowd@hotmail.com


#4 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 08/06/2008, 18:33

A metodologia vai depender da linguagem utilizada.

Na hora de cadastrar você pode ter vários checkbox, por exemplo, aí o usuário marca aqueles que deseja e na hora de dar o comando de inserir na tabela, você verifica quais foram selecionados e insere na entidade de relacionamento.
------
Mero mortal!

#5 InSoNiA

InSoNiA

    Novato no fórum

  • Usuários
  • 20 posts
  • Sexo:Não informado

Posted 12/06/2008, 01:12

Olá Iron, se entendi bem o que deseja inclusive as colocações do amigo Prog, passei por uma situação semelhante na semana passada!

O que fiz foi o seguinte,

Listei os sistemas(por exemplo) em vários checkbox pegando o ID de cada uma e atribuindo ao VALUE e gravando em um único campo separando por "," as que fossem selecionadas na hora do cadastro.

Quando for selecionar pode explodir o resultado e cehcar no ARRAY ou fazer a seleção direto pela SQL para fazer a seleção!

Me corrija Prog se estiver falando bobagem!

Espero ter ajudado na compreensão do problema!

T+ :)
InSoNiA

Edição feita por: InSoNiA, 12/06/2008, 01:18.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq